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

21.6.07

URLEncoder/URLDecoder way too slow

As I recently found out by trying, the methods encode in java.net.URLEncoder and decode in java.net.URLDecoder are way too slow.
Following an advice, I replaced these calls with encode and decode from class org.apache.commons.codec.net.URLCodec which is part of the Apache Commons Codec library.

Running the same application with Java's built in coding logic and another time with Apache's, showed me that Apache's solution is about 10 times faster (round about, this is not an official statistic, but should give a quite good estimation).

In my project JGAP (Java Genetic Algorithms Package) the versions up to 3.2 RC2 run with the slower mechanism, while the currently available CVS version uses the improved solution.

If you like JGAP I would be grateful if you voted on Sourceforge for JGAP as the project with the best user support. Please try out yourself by posting a (hopefully qualified) question. Also see the myriads of unit tests JGAP offers as well as the near-to-complete Javadoc and the many examples!

13.2.07

Java Genetic Algorithms Package 3.2RC1 released

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

JGAP version 3.2 Release Candidate 1 represents major feature enhancements, including:
  • Genetic Programming enhancements
  • A complex Robocode GP example for evolving pure Java code
  • Improvements in the grid logic (especially concerning the architecture)
  • A lot of new unit tests (currently we count over 1300 unit tests)

This version is quite mature. It is a prerelease before the final version will be published. The intention of this release is to make the new functionality available as soon as possible. Feedback from you is always welcome and necessary to still raise the quality of JGAP in the future!

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

Feedback is always welcome.

31.1.07

JGAP goes Robocode

Newest developments and a great user feedback made JGAP play together with Robocode.
Robocode is a platform for letting compete programs (robots) by moving around, scanning the environment and shooting each other virtually.
JGAP is a Genetic Algorithms and Genetic Programming (GP) Package for Java and is open-source.
It is used to evolve a robot program code as good as possible by using the GP functionality of JGAP. This is time-consuming but results are quite impressive! In the future, the JGAP Grid functionality will enable distributed evolution of complex and thus hopefully successful robocode's :-)

14.1.07

Sourceforge CVS is stuck with WinCVS

For several weeks now I noticed great difficulties when trying to access the sourceforge CVS of my project with WinCVS (any version!). Don't get me wrong, it worked for years! But since a while I even get a long delay on WinCVS startup. Not to mention the really long time it takes checking in something.

OK, it could be that my system's configuration is not playing together with sf's CVS. But why, then, does Tortoise CVS work great on my system?

Some forum posts in the internet recommend removed the tcl84.dll reference but this is not a problem on my computer! Another post talked about a sf IP address of the blacklist. However, can anybody tell me what's going on there?

3.1.07

JGAP 3.1 released

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

JGAP version 3.1 is a quality improvement release.
It considers multiple user feedback by consolidating the grid functionality, fixing several bugs, introducing a lot of new unit tests, and enhancing the logic of many classes.

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

For more information visit http://jgap.sourceforge.net

Klaus Meffert for the JGAP team

Technorati tags: