20.4.15

Robocode - generate robots automagically with JGAP

Let Genetic Algorithms (more specific: Genetic Programmic) do the work for you.
Here you will find more information about that and how to obtain the source code (of course you can try for yourself).

Another article covers some general overview of RobocodeJGAP (written in German).

Have fun creating robots in Java with RobocodeJGAP and Genetic Algorithms!
Try to go for the higher ranks on the Robocode website RoboRumble@Home or on the Robocode Repository!

3.2.09

JGAP 3.4.1 released (Java Genetic Algorithms Package)

JGAP is a sophisticated Genetic Algorithms and Genetic Programming package written in Java.

JGAP version 3.4.1 fine-tunes Genetic Programming capabilities that have been advanced in the previous major release 3.4.
The tuning includes:

  • Enhanced GP evolution cycle by avoiding dead ends
  • Better support of GP mutation
  • Improved Mona Lisa Painting Problem example
  • Some bug fixes
  • Javadoc-enhancements

This release can be downloaded here:
http://sourceforge.net/project/showfiles.php?group_id=11618&package_id=48940

For more information visit the JGAP homepage.

JGAP 3.4 released (Java Genetic Algorithms Package)

JGAP is a sophisticated Genetic Algorithms and Genetic Programming package written in Java.

JGAP version 3.4 is an enhancement release, driving Genetic Programming capabilities to a new level. Among the extensions are:

  • A new popular example: Mona Lisa Painting Problem, available for GA as well as for GP
  • Enhancement of evolution cycle of Genetic Programming
  • Javadoc-enhancements and new JUnit tests
  • Some bug fixes

This release can be downloaded here:
http://sourceforge.net/project/showfiles.php?group_id=11618&package_id=48940

For more information visit the JGAP homepage.

9.5.08

JGAP 3.3.3 released (Java Genetic Algorithms Package)

JGAP is a sophisticated Genetic Algorithms and Genetic Programming package written in Java.

JGAP version 3.3.3 is an extensive release, featuring basically the following:

  • The evolution cycle has been revamped and simplified for a better understanding
  • A lot of smaller enhancements and architectural improvements, see the change log
  • Some bugs have been fixed
  • The basic MinimizingMakeChange example was simplified
  • Improved grid computing by adding new classes and features
  • Javadoc-enhancements
  • New JUnit tests

This release can be downloaded here:
http://sourceforge.net/project/showfiles.php?group_id=11618&package_id=48940

For more information visit the JGAP homepage.

13.12.07

JGAP 3.3.1 released - Java Genetic Algorithms and Genetic Programming Package

JGAP is a sophisticated Genetic Algorithms and Genetic Programming package written in Java.

JGAP version 3.3.1 is a feature enrichment release.

For the first time, the XStream library is used for serialization issues, making such much more convenient.
Besides, the fast and stable trove4j map implementation is utilized. With that, unit tests relying on maps now don't fail any longer due to specific Java 6 map implementations.
Genetic Programming capabilities have been enhanced a lot, including better cloning support for GA and GP entities.
Robocode 1.5 has been integrated with JGAP in the RobocodeJGAP sibling project.
Besides, some bugs have been fixed, some unit tests were added, Javadoc has been improved and naming conventions of test classes have been enforced for a better Maven support.

This release can be downloaded here.

For more information visit the JGAP homepage

11.11.07

RobocodeJGAP 0.2.5 released

Robocode is a game. There is a playfield in which two virtual robots fight against each other. A robot can perform certain actions, like moving around, scanning the environment, shooting and turning the gun. Robocode notified a robot if a significant event occurs, including: scanned the opponent, hit a wall, hit by a bullet or hit the opponent.

RobocodeJGAP enables JGAP to generate code for robots playing at Robocode. JGAP produces pure Java code by means of the so-called Genetic Programming. This new version enhances the evolution process and thus enables to find better robots. The newest Robocode version 1.4.9 is supported and integrated.

Check out details about RobocodeJGAP.

JGAP 3.3 released (Java Genetic Algorithms Package)

JGAP is a sophisticated Genetic Algorithms and Genetic Programming package written in Java.

JGAP version 3.3 is a stability release, it includes the following:

  • Integrated Robocode 1.4.8 with JGAP
  • Added persistent representations of GPPopulation,
    GPProgram, ProgramChromosome and CommandGene
  • Enhanced interface IProgramCreator
  • GPProgram: added a growOrFull method for initializing
    programs with given chromosomes
  • CommandGene: added service method ensureUniqueness
  • Now infinity is not accepted as a fitness value
  • New method getAssignableFromClass in BaseGPChromosome
  • New interface IComplexCommand for declaring GP commands
    as complex
  • Enhanced DefaultGPFitnessEvaluator: capable of handling
    IllegalStateException's (for wrong programs)
  • Enhanced GPProgram: capable of handling
    IllegalStateException's (for wrong programs)
  • Enhanced GPGenotype.outputSOlution()
  • Fixed serious bug with GP mutation of functions
  • Fixed bug with GP evolution (probability fix)
  • Fixed Java 6 bug with MathProblem
  • Fixed bug in GPProblem.createTree
  • Fixed bug in DynamicMutationExample
  • Enhanced logging of GP information
  • Enhanced Javadoc
  • Added some unit tests

This release can be downloaded here:
http://sourceforge.net/project/showfiles.php?group_id=11618&package_id=48940

For more information visit the JGAP homepage at http://jgap.sourceforge.net

Klaus Meffert for the JGAP team

13.9.07

LINQ is great but is 20 years too late

LINQ is the Language-Integrated Query. Microsoft has the LINQ project running for integrating database queries into C#. Sort of looks like this (example taken from DevelopMentor):

IEnumerable < Product > prodQuery =
from p in db.Products
where p.Category.CategoryName == "Beverages"
select p;


Sort of this is what I'm missing for long in Java!!!
Before getting to euphoric about the idea behind LINQ, one should consider a solid and very mature system as SAP (to be exact: the SAP base module, BC).
SAP' native language ABAP supports direct query code to be part of an original ABAP code. I think this is possible since about 20 years.

Congrats to Microsoft and others for not recognizing the need for language-integrated database queries earlier. At leats LINQ adds an additional benefit for querying collections in an SQL-like manner.

12.9.07

JGAP 3.2.2 released: Java Genetic Algorithms and Genetic Programming Package

JGAP is a Java Genetic Algorithms and Genetic Programming Package which allows to utilize evolutionary algorithms for solving complex problems.
Version 3.2.2 of the open source Java enginge is out now!

Many examples included as well as a cool Robocode sub project.

RobocodeJGAP 0.2.1 published

RobocodeJGAP is a genetic programming approach to evolve full-blown Java programs, acting as virtual robots on the popular Robocode platform.

RobocodeJGAP utilizes the genetic algorithms enginge JGAP.

For more information on RobocodeJGAP see http://jgap.sourceforge.net/doc/robocode/robocode.html

Or see further information about Robocode