The Distributed Genetic Programming Framework is a scalable Java genetic programming environment. It comes with an optional specialization for evolving assembler-syntax algorithms. The evolution can be performed in parallel in any computer network.
Be the first to post a text review of Genetic Programming Framework. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Many new features added. - A graphical cluster management interface. org.dgpf.gui - A deamon to control servers org.dgpf.search.control - A graphical sudoku-solver (a japanese logic game) examples.search.sudoku - A new abstraction for algorithms org.dgpf.gp.vm, org.dgpf.gp.netvm - a distributed symbolic regression tool for aggregation protocols org.dgpf.gp.regression Many bugfixes and improvements for existing classes.
All Packages Change Log http://sourceforge.net/projects/dgpf/ http://dgpf.sourceforge.net/ Version 3.4.0 - 2006-10-04: Many new features added. - A graphical cluster management interface. org.dgpf.gui - A deamon to control servers org.dgpf.search.control - A graphical sudoku-solver (a japanese logic game) examples.search.sudoku - A new abstraction for algorithms org.dgpf.gp.vm, org.dgpf.gp.netvm - a distributed symbolic regression tool for aggregation protocols org.dgpf.gp.regression Many bugfixes and improvements for existing classes. Version 3.3.0 - 2006-06-22: Now a third search algorithm has been added: Simulated Annealing, with all the four possible distribution flavors is now available. Simulated Annealing is an algorithm which is very close to Hill Climbing, but other than that it not just takes the better individuals into account but also, with a given probability, the weaker ones. This probability decreases over time, following one of the dynamic adaptation strategies provided. You can find all the source in the package org.dgpf.search.algorithms.sa. Credit for the implementation of Simulated Annealing goes to Stefan Niemczyk and Marc Kirchhoff. A code loader api which allows you to load and unload jar-archives or class files dynamically, to specify and override the resources or classes in an archive and even to create a hierarchy of class loaders where it is possible to load classes and archives with different class loaders while still allowing them to mutually access their code has been added. Furthermore, the IO classes have been extended and enhanced: a multiplexing writer multiplexes its output to multiple destination writers while another writer is prints its contents to a swing text control. The IWindow interface has been improved as well as the collection support. New and better, bugfixed collection types are now available. The examples for Simulated Annealing, the new search algorithm implemented have been added. Version 3.2.4 - 2006-06-04: Service Release - minor enhancements and bugfixes. Version 3.2.3 - 2006-05-30: Bugfix: non-domination list printed always only the first individual to the output. Version 3.2.2 - 2006-05-28: A new class has been added to the sfc's gui components: the DocumentWriter provides a Writer-interface to swing's JTextComponents. Therefore you can now redirect the EventOutputs and TextWriters used to print information to stdout directly to a graphical text component. The new NonDominatedList has been introduced. It is a fixed-sized buffer keeping the non-dominated individuals discovered during the evolution. All SearchEngines now provide such a list which is why they all got a new parameter in their constructors: the predefined list size. You can browse the non-dominated individual list using the java collection api. The examples have been modified to take the new NonDominatedList into account and print it after the searches have been terminated. Version 3.2.1 - 2006-05-28: The meta api has been improved and greatly extended. The collection api of sfc has been extended, new collections were introduced, following our good old immutable-on-the-outside but mutable-from-somewhere-else principle. The id system has been revisited and extended to also support the java collection api using the new collection classes of our collection api. The Genetic Algorithms layer has been enhanced, new selection algorithms like NPGA are included. By separating the sorting scheme from the GeneticEngine and the SelectionAlgorithm as well, putting it in a strategy compartment, the count of possible selection methods has increased and some selection methods needing further stochastic help became possible in the first. The IndividualComparator class has been extended to also be able to compute a scalar floating point difference between individuals, enabling search algorithms like Simulated Annealing. A new example has been introduced: mutual exclusion on distributed critical sections. Here an algorithm shall be evolved that allows the automata to grant a proper usage of a critical section by using communication. Version 3.2.0 - 2006-05-12: This release features the integration of a whole new search algorithm: Hill Climbing is now provided. Hill Climbing can be performed following the same distribution paradigms as Genetic Algorithms: locally, on a client/server basis, in a p2p network or in a hybrid form, using both, p2p and client/server distribution. You can find the Hill Climbing implementation in the org.dgpf.search.algorithms.hc package. Both currently implemented search algorithms (GA and Hill Climbing) of the DGPF can interact directly if applied in the p2p or hybrid form. Furthermore, some parts of the Common Search API have been simplified and bugfixed. The examples package now also contains examples for the new search algorithm provided (Hill Climbing) by the search package. These start usually with the prefix HC_ while the examples for Genetic Algorithms start with GA_. The GP package has been aligned to the package changes in the search package. The Activity base class has been overhauled and improved. The start, abort and shutdown routines are now non-blocking in case that they're called twice, which provides more security against deadlocks. In general, the parallelization utils have been improved and bugfixed. Version 3.1.2 - 2006-05-09: Small Bugfix. Version 3.1.1 - 2006-05-09: Small Bugfix. Version 3.1.0 - 2006-05-08: The TextWriter class has been enhanced, it now supports indentation. Therefore, the class IndentWriter is no longer needed and has been removed. A new meta-api has been introduced. With that api, we are able to create virtual properties which can be obtained and set (internally using java reflection). We merged the Genetic Algorithms package and the original search api package. The new package contains both, the search api and the ga and other search algorithms implementations in its sub-packages. The new package structure is: org |-org.dgpf |-org.dgpf.search |-org.dgpf.search.api <- the former org.dgpf.search package |-org.dpgf.search.algorithms |-org.dpgf.search.algorithms.ga <- the former org.dgpf.ga package Also, the meta-api which was newly introduced into the sfc package, has fully been incorporated into the search api and the ga implementation. This allows us to print logging information for example automatedly by using meta access. A small ant build script has been included in the auxiliaries. Version 3.0.5 - 2006-05-03: The example collection has been resorted and extended. The former examples.ga package has been renamed to examples.search, since in future it will contain not only examples concerning GA and distributed GA but also examples for other search algorithms. A whole new example has been added: We are now able to solve WSC Semantic Web Service Discovery and Composition problems with our Search Engines (tested for GA). See the WSC challenge home page (http://insel.flp.cs.tu-berlin.de/wsc06/) for details. The Randomizer class has been improved: other than its ancestor, the Random class it is now no longer thread-safe. It therefore executes faster. You thus can create random number up to three times faster. On the other hand, you may use one instance of Randomizer only in one single thread. Version 3.0.4 - 2006-04-26: Minor Bugfix. Version 3.0.3 - 2006-04-26: The peer-to-peer functionality has been moved from the ga package (genetic algorithms) into the search api. This now allows you to let searches of different kind cooperate: Genetic Algorithms could work together with Simulated Annealing by exchanging individuals. Well, if Simulated Annealing was implemented yet :-) Some minor other changes have been performed to the org.sfc package. Version 3.0.2 - 2006-04-19: Small bugfix regarding the startup time of searches. Bug Requests resolved : 1472735, 1455190 Version 3.0.1 - 2006-04-18: Minor changes, updates and bugfixes. Version 3.0.0 - 2006-04-10: This milestone release features important and far-reaching changes in the whole DGPF. A whole new layer has been introduced, the Search Algorithms Layer. You are now not longer bound to Genetic Algorithms to automatically create programs - you can use any possible search algorithm, like simulated annealing or such and such. Therefore, large changes in the whole package hierarchy were incorporated: The genetics package is now called ga, the automaton and the netautomaton package are now both hosted in the gp package. This release touches almost all components of the DGPF and retrofits even some sfc classes. Version 2.2.0 - 2006-03-23: The release 2.2.0 features multiple improvements. We try to find a replacement for the deprectated hysteresis mechanism by introducing a diversity factor that, theoretically, should increase individual diversity when evolution converges. Another improvement is to find in the instruction set. SendMessage and ReceiveWord are now blocking instructions, which means that they are repeated and repeated again, until they can proceed. Bug Requests tackled : 1455190 This Bug Request deals with the now deprectated hysteresis. We try to resolve it, but if the "diversity factor" works or not remains to be seen. Until then, the Bug Request stays open. Version 2.1.0 - 2006-03-19: Selection algorithms are now direct comparision based. This allows multi-objective genetic programming to the fullest. All packages have been updated to support this change in the Genetics package. Version 2.0.4 - 2006-03-16: Version 2.0.4 comes with minor bugfixes. There was a problem with the circular buffer, the CanSend command of networked automata has been enhanced and such and such. Nothing really important. Version 2.0.3 - 2006-03-14: Some minor changes have been performed mainly in the "Genetics"-package. We have removed the Hysteresis-Manager because the function of hysteresis is too closely coupled to other parameters to be separated. Also, the AdvancedGeneticParameters-class has been improved a lot. It still uses hysteresis, but is also able to restart the evolution if nothing has happened for too long. It also adjusts the crossover and mutation rates to match the efficiency of these operators. By doing so, a bug in the Genetic Engine's mutation/crossover rate change mechanism was discovered and has been immediately resolved. Bug Requests resolved : 1449399 Version 2.0.2 - 2006-03-08: A bug has been discovered and immediately resolved. The second generation always discards all individuals of the first generation and creates a whole new population. This is due to a typo in the routine where the crossover/mutation-rates are updated. Also, some minor improvements have been made. A CSV-output has been added for generation-events. Bug Requests resolved : 1445402 Version 2.0.1 - 2006-03-07: The package hierarchy of the DGPF-project has been improved according to feature-request 1444604. There is now a common root package ("org") for all functional components of the framework. The packages "genetics", "automaton" and "netautomaton" have been moved into the new package "org.dgpf". This package will contain all future components of the DGPF framework. The sfc package has moved to "org.sfc", since it is more or less independent of the DGPF framework. Feature Requests resolved : 1444604 Version 2.0.0 - 2006-03-02: This release marks a major milestone in the development of the DGPF project. We transcent from our old client-server-single-population approach to the "island hopping" model, which is faster and scales better. Using the new peer-to-peer technology introduced in the SFC-package, different nodes in the network/internet can run a genetic engine and exchange individuals. The new genetic engine comes with many new features and settings. You can now change the population size at runtime, you receive even more sophisticated statistics and can adjust the count of elements to emigrate or to imigrate every generation. It is also possible to perform snapshots of the current evolution on each node whenever wanted, so one can halt the engine and restart it later. The already known genetic halt parameters now distinguish between local and global shutdown: if one engine reaches its maximum generation count, it shuts down itself. Since the network of engines runs asynchronously, other engines might still continue to run. If an engine however finds an individual with at least the maximum specified fitness, the whole peer-to- peer network will shutdown. Feature Requests resolved : 1435105 Version 1.1.2 - 2006-02-01: Some complex changes have been done to the automaton package, the genetics package has also been modified severely. The sfc package's functionality has been extended by graphical components and a small interpreter utility. Feature Requests resolved : 1424946, 1414301 Feature Requests abandoned: 1408724 Version 1.1.1 - 2006-02-01: Some minor changes. One mathematical example added that serves as a simple multi- objective Genetic Algorithm demonstration. Feature Requests resolved: 1417450, 1416219 Version 1.1.0 - 2006-01-23: The whole Distributed Genetic Programming Framework has been overhauled. The foundation for multi-object Genetic Algorithms has been laid. Many changes have been performed concerning efficiency, statistic data gathering and functionality. The examples collection has been sorted and its documentation has been improved. See the change logs for the single packages for details. Feature Requests resolved: 1406588, 1403937 Bug Requests resolved : 1410935 Version 1.0.2 - 2006-01-11: Minor changes. Version 1.0.1 - 2006-01-10: Improved genetic operators for automata/netautomata. Version 1.0.0 - 2006-01-09: Initial version.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?