What's new in JGAP 3.6.1
Jan 11, 2012
- Corrected classpath for the example .bat-files
- Removed obsolete .bat files
- New class SeededRandomGenerator
- Added test cases
New in JGAP 3.6 (Jan 11, 2012)
- Fixex bug in GABreeder.evolve (fitness calculation)
- GP: made distributed math example working
- GP: Enhanced TicTacToe example a lot
- GP: Matrix commands: Enhanced usability
- GP: optimized crossing over
- GP: Introduced ISingleNodeValidator for node validation
- during GP program creation
- New example for MapGene: MapGeneExample
- GP: Made class Variable cloneable
- GPConfiguration: fixed clone (variables now considered)
- Added Island example for GP, see examples.gp.island
- GP evolution: Enhanced Garbage Collection to avoid heap
- overflow
- GP evolution: warning message for prototype program
- reusage now only displayed once
- JGAPClientGP: now considering isEvolutionFinished also
- for fragmented results
- Some GP commands: added convenience constructors
- Some GP commands: added guard to avoid invalid operation
- GP: Constant: Support for cloning
- Added guard to ADF.getArity
- Fibonacci GP example: Beautified output of free memory
- Speedup of ProgramChromosome.isPossible
- Enhanced Javadoc
- Added test cases
- Fixed some existing test cases
New in JGAP 3.5 (Jan 11, 2012)
- Added Island Model example
- Addes symbolic regression a la Eureqa
- Added simple GP example, (KarubProblem)
- Updated XStream library to version 1.3.1
- Added new GP example: examples.gp.SimpleExample
- Improved monitoring of evolution progress a lot
- Added monitoring support to all genetic operators
- Added new interface iUniqueKey, introduced it to
- IChromosome and Gene
- Added new class PopulationContext: stores pop. data
- together with context data (for monitoring)
- Added new class MultipleIntegerGene
- Introduced method hashCode() for class Population
- Support cloning of application data of sample chromosome
- Avoid stack overflow in DoubleGene.mapValueToWithinBounds
- Optimized growOrFullNode
- Fixed PersistableObject.save
- Fixed bug in grid example for distributed fitness
- calculation
- Fixed AbstractSupergene's newGeneInternal
- Fixed AbstractSupergene's applyMutation
- Enhanced Chromosome's clone-method
- Added listeners that fire before and after genetic
- operators are being applied (see class BreederBase)
- Fixed AveragingChrossoverOperator: added cloning
- Fixed GP functions CountMatrix and ResetMatrix
- Fixed toString of GP function ADF
- Fixed constructor of NaturalSelector
- GP function If: Fixed clone, extended functionality
- GP function IfElse: extended functionality
- Added JGAPFactory.getUniqueKey
- Improved class PopulationHistory
- Added SystemKit.getGUID
- Added test cases
- Fixed existing test cases
- Enhanced Javadoc
New in JGAP 3.4.4 (Jan 11, 2012)
- Better support for custom Chromosome classes:
- replaced new Chromosome(..) statement where appropriate
- Fixed issue in GABreeder with call of BulkFitnessFunction
- Fixed bug 2562266: cloning now considers fitness value
- Fixed crossover bug for CompositeGenes
- Optimized GP program creation runtime (see method
- ProgramChromosome.selectNode)
- Introduced evolve(IEvolutionMonitor) to Genotype
- Added cloning of multi-objective object in Chromosome
- GPGenotype: added utility functions like verifyChildNodes
- Added interface IEvolutionMonitor
- Added monitor implementations: ChainedMonitors,
- TimedMonitor, FitnessImprovementMonitor
- Added method execute_boolean to GP terminal Argument
- Enhanced MinimizingMakeChange audit example
- Enhanced ADF.toString()
- Enhanced Javadoc
New in JGAP 3.4.3 (Jan 11, 2012)
- GPConfiguration: added support for matrices
- Introduced option for disabling cloning of command genes
- during creation of GP programs in Programchromosome
- Added matrix-centric GP commands: WriteToMatrix,
- ReadFromMatrix, CountMatrix, ReplaceInMatrix, ResetMatrix
- Added GP commands: Tupel, CharacterProvider
- Intruduced getCommandType for CommandGenes
- Added constant CharacterClass to CommandGene
- Added deleteDirectory to FileKit
- Added a second deleteFile method to FileKit
- Noughts and Crosses example: added matrix commands
- Fixed bug in IfElse.clone. Thanx to szabolcs
- Fixed clone-bug in LesserThan, GreaterThan, Equals,
- Push. Thanx to Frank Pape
- Enhanced Javadoc
New in JGAP 3.4.2 (Jan 11, 2012)
- Corrected cloning of alleles in Chromosome.clone()
- Fixed the Salesman problem: use real coordinates instead
- of city indices only; skip acceptable cost option (did
- not work); removed shuffle (done with JGAP itself)
- Fixed about box in GA version of Mona Lisa example,
- increased polygon number in resource file
- Added a mathematical example, see package examples.math
- Fixed the MultiObjective example: fixed MO evaluator and
- comparator, enhanced output
- Enhanced Javadoc
New in JGAP 3.4.1 (Jan 11, 2012)
- Enhanced GP evolution cycle by avoiding dead ends
- Enhanced the Mona Lisa Painting Problem (GP version)
- Added constructor for SUbProgram to control minimum and
- maximum arity
- Reintroduced mutation in BranchTypingCross
- Added convenience constructor in Terminal
- Worked over the multi-objective example
- Fixed maxTries-bug in GPGenotype.evolve()
- Fixed Terminal.clone()
- Fixed Subprogram.clone()
- Fixed Terminal.applyMutation(..)
- Fixed bug in BranchTypingCross with option for simple
- chromosome selection
- Fixed bug in BranchTypingCross with fallback-decision
- of crossing over
- Fixed bug in GP functions Min and Max
- Enhanced Javadoc
New in JGAP 3.4 (Jan 11, 2012)
- Added the Mona Lisa painting problem (GA and GP version).
- Thanx to Yann for his great contribution
- Enhanced Javadoc
- Added some unit tests
- CommandGene, ProgramChromosome: added support for
- dynamization of the arity of nodes
- GPConfiguration: added parameter for dynamization of
- nodes' arities
- GPPopulation: enhanced creation of new programs
- ProgramChromosome
- CommandGene: added new versions of method
- ensureUniqueness
- ProgramChromosome, GPProgram: implemented interface
- IBusinessKey (method getBusinessKey)
- ProgramChromosome.growOrFullNode: Added logging in case
- of an ignored problem
- GP-command terminal now supports primitive class types
- Made some GP-commands cloneable: True, False, If, IfElse,
- Equals, Add, Subtract, Multiply, Divide, Exp, Increment,
- IncrementMemory, IfDyn, Loop, Or, Xor, Not, Multiply3,
- ReadTerminalIndexed, ReadTerminal, Push, Pop, Pow, Max,
- Min, RandomGenerator, Modulo, Round, Sine, StoreTerminal,
- StoreTerminalIndexed, Tangent, TransferMemory, Abs, Add3,
- Add4, AddAndStore, ArcCosine, ArcSine, ArcTangent,
- Ceil, ExchangeMemory, Floor, ForLoop, ForXLoop, Log,
- GreaterThan, LesserThan
- Enhanced compareTo of several GP commands
- Added option in BranchTypingCross to plainly select a
- chromosome
- Added constructors for GP-command NOP, False, True, And
- Fixed bug in ForLoop.clone
- Made GP commands of TicTacToe example cloneable
- Replaced System.out's in examples with call to logger
- (but kept them in AntTrailProblem due to formatting
- issues)
- Added interface IUniqueCommand for GP commands, optimized
- GP program creation
- Add setTournamentSize in TournamentSelector
- Output of command's class when violating uniqueness
- constraint via CommandGene.ensureUniqueness
- GPFitnessFunction: added exception logging
- Made inner class TournamentSelectorConfigurable of
- org.jgap.impl.TournamentSelector serializable
- Simplified GP class IncrementMemory by removing an
- obsolete constructor
- GPProgram: extracted statement into new method
- putToCache, removed two todos
- GPTestCase: added method getRandomGenerator
New in JGAP 3.3.4 (Jan 11, 2012)
- Extended GP documentation a lot
- Added 12 new GP functions
- Improved error handling in JGAPClientGP
- Fittest individual is always preserved in GP evolution
- Strongly Improved functionality of grid computing
- Added new classes XStreamPassThruConverter and
- JGAPGPXStream for easing XStream usage
- Enhanced interface IGridConfigurationGP
- Added a new GP-command, Add4 (addition of 4 numbers)
- Added FitnessAgeValueComparator to NaturalSelector
- Added painted desert example (package examples.gp)
- Added SystemKit.printHelp(..)
- Enhanced interface IGridClientMediator and implementing
- class GridClientMediator
- FileKit: added some service methods
- GridKit: added method writeTextFile
- Added default constructor to GP classes (for dynamic
- instantiation)
- Introduced DefaultClientFeedback
- New class DefaultClientFeedback
- New class ResultData
- New class ResultVerification
- corrected AgeFitnessValueComparator in NaturalSelector,
- thanx to Eran for pointing that out
- Replaced AgeFitnessValueComparator with
- FitnessAgeValueComparator in BestChrom.Selector, thanx to
- Eran
- Optimized UniqueRandomGenerator.nextInt()
- Fixed bug in NumberKit.niceDecimalNumber
- Fixed bug in GP terminal False
- Fixed bug in ColtRandomGenerator.nextInt()
- Improved Javadoc
- Added test cases
New in JGAP 3.3.3 (Jan 11, 2012)
- Simplified the MinimizingMakeChange example
- Added new class DummyGridClientMediator
- Added new class MessageContext
- Added new class BasicContext
- Added new class PersistableObject
- Added new base class NaturalSelectorExt
- Added new class DateKit
- Added default constructor for class NaturalSelector
- Did a lot of architectural improvements in JGAPClientGP
- Added a bunch of attributes to JGAPResultGP
- Added a bunch of attributes to JGAPRequestGP
- JGAPWorkerGP: measure duration of work
- Added methods to IGridClientMediator
- Considered age in BestChromosomesSelector
- Inherited BestChromosomesSelector from NaturalSelectorExt
- Inherited WeightedRouletteSelector from
- NaturalSelectorExt
- Inherited TournamentSelector from NaturalSelectorExt
- Inherited ThresholdSelector from NaturalSelectorExt
- Enhanced Configuration.clone()
- Fixed bug in GPConfiguration.clone()
- Fixed bug in class MathProblem, avoiding evolution
- Fixed bug in GPPopulation.determineFittestProgram()
- GPConfiguration: added method setFitnessEvaluator
- Improved GP TournamentSelector
- Introduced new class StaticPopulationCreator
- GPProgramBase: Replaced -1 with constant
- GPPopulation: added methods setGPPrograms and
- copyGPPrograms
- GPFitnessFunction: caught exception in fitness
- determination that could result from ensureUniqueness
- Enhanced conf. settings in CrossoverOperator
- Enhanced conf. settings in DefaultConfiguration
- Refactored GABreeder to better design
- Fixed bug in BreederBase with multiple selectors
- JGAPResultGP: added support for generic data
- MasterInfo: added preset constructor; added username,
- GUID
- FileKit: added getTemDir()
- Enhanced Javadoc, fixed spelling errors
- Added some package.html description files
- Added a note about Xerces in lib/readme.txt