fmII
Fri, Dec 05th home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop 11:08 UTC
in
Section
login «
register «
recover password «
[Project] add release | add branch | add screenshot | broken links | change owner | email subscribers | update project | update branch (urls) [Project]

 genCore - Default branch
Section: Unix

 

Added: Mon, May 24th 2004 14:31 UTC (4 years, 6 months ago) Updated: Wed, Jul 7th 2004 20:01 UTC (4 years, 5 months ago)


About:
genCore is a part of GAF (Genetic Algorithms Framework), which is a cross-platform framework for using Genetic Algorithms for solutions. It is written in Java and uses convenient plug-in features for every phase in the genetic development, while maintaining an easy-to-use API for easy integration into applications. The genCore module is the heart of GAF, as it is the engine for the GA itself.

Author:
aviadbd [contact developer]

Rating:
(not rated)

Homepage:
http://sourceforge.net/projects/ga-fwork
Tar/GZ:
http://prdownloads.sourceforge.net/ga-fwork/genCore_0.7.0.tar.gz?download
CVS tree (cvsweb):
http://ga-fwork.cvs.sourceforge.net/

Trove categories: [change]
[Development Status]  4 - Beta
[Environment]  No Input/Output (Daemon)
[Intended Audience]  Developers
[License]  OSI Approved :: BSD License (revised)
[Operating System]  OS Independent
[Programming Language]  Java
[Topic]  Scientific/Engineering :: Artificial Intelligence, Software Development

Dependencies: [change]
No dependencies filed

 
Project admins: [change]
» aviadbd (Owner)

» Rating: (not rated)
» Vitality: 0.00% (Rank 18747)
» Popularity: 0.39% (Rank 14836)

project statsdownload stats
(click to enlarge graphs)
   Record hits: 4,053
   URL hits: 750
   Subscribers: 11

Other projects from the same categories:
Anthill Pro Build and Release Management Server
jmark
myXTree
GNU Automake
The Golly Game of Life Simulator

Users who subscribed to this project also subscribed to:
ANTLR
Cut The Crap Software
JRuby
tkdiff
RubyScript2Exe


Add comment · Rate this project · Subscribe to new releases · Ignore this project · Email this project to a friend · Project record in XML

 Branches

Branch Version Last release License URLs
Default 0.7.0 08-Jul-2004 BSD License (revised) Homepage Tar/GZ Hosted on SourceForge.net

 Comments

[»] Circuits in genCore
by aviadbd - Jun 22nd 2004 12:26:33


Circuits is a concept I intend to add to genCore as of genCore 0.7 . This will Definetly break code. However, noone promised a stable API (until genCore 1.x anyway).

To begin with, I'll just say that this is an entire new approach to the way the genotypes in the genCore engine move around in the "circle of life". If up until now a life of a genotype was to be born, to be pushed into a pool of other genotypes, then evaluated, selected, breeded, mutated and matured and then back into the pool till the pool converges, the circuits approach is about determining the process the genotype must go through in its life.

Since the idea is being implemented using modules and connectors, it really reminded me of chips and their legs connecting them to other chips, trasferring pulses of information through them. Hence the term, "circuit-of-life", which defines the process which a genotype goes through from creation to re-evaluation.

Circuits mean that the user will determine what "stations" the genotype will pass - Be it the selection station, be it the crossover station, be it the mutation station - And how will these station aggregate the resulting genotype forward in the circuit. Meaning, if up until now I had a crossover -> mutate -> mature process, I could now make the genotype resulting from the crossover go through two different mutators, and then crossover the two resulting genotypes again and only then mutate them in a third mutator and re-evaluate them back into the pool of genotypes - And thats only one example out of many.

Now, for some real benefits code-wise. With Circuits:

* Monitoring the progress of the genetic algorithm process is made easy: By registering as a listener to the stations in the circuit, and getting events on the arrival of new objects to them or the release of a resulting object, or even on the progress of the change while inside the station.
* The decoupling between the genotypes and their respective operators is complete now: Crossover, Mutate, Mature, Fitness and Probability are no longer part of the genotype structure; The same goes for the Selection operator in the population structure.
* The Cycle operators in the nature structure and population structure are now represented by the circuit-of-life, hence made obsolete. In fact, the entire nature structure is now made obsolete, as it is now represented fully by the Circuit.
* Each station is initialized with the data it needs and is pushed with the values needed to be calculated (be it the Genotype to be mutated or the Population to be selected from). This makes the GenotypeDescriptor and SolutionDescriptor structures obsolete.
* The way circuits are constructed is very generic. Because of that, XML and XSD files are actually "crying" to be used here. Using XML files instead of Descriptor classes would simplify the code and reduce the need for rebuilds when changes occur in the stations (today, every change to the Descriptors or Solver requires a rebuild).
* Using XML could be even simplified by creating a common GUI which would use reflection to know the additional initialization parameters needed for each station, and which could monitor a genotype as it passes through the circuit-of-life, and eventually create an XML file to describe that circuit.

If any question rise about this subject, I'd be happy to answer them. Please, post them in the forums.

AviadBD.

[reply] [top]




© Copyright 2008 SourceForge, Inc., All Rights Reserved.
About freshmeat.net •  Privacy Statement •  Terms of Use •  Trademark Guidelines •  Advertise •  Contact Us • 
ThinkGeek •  Slashdot  •  Linux.com •  SourceForge.net  •  Jobs