Distributed Genetic Programming Framework
print print

Package org.dgpf.search.algorithms.hc

Here you can find all the information about the org.dgpf.search.algorithms.hc package. You may explore the package using the directory listing below. This listing contains all the files contained directly in this package and all its sub-packages. There you can either download a file directly (by clicking on the "download"-link) or read it online (by clicking on its direct link left in the directoy listing. Further information about the package's contents is given at the bottom of this page.

Directory Listing

  ├[adaptation]2018-01-07 12:03:43 GMT+0000
  ├[cs]2018-01-07 12:03:43 GMT+0000
  ├[local]2018-01-07 12:03:43 GMT+0000
  ├[p2p]2018-01-07 12:03:43 GMT+0000
  │  └[adaptation]2018-01-07 12:03:43 GMT+0000
  ├HCEngine.javadownload download17.390 KB2018-01-07 12:03:35 GMT+0000
  ├HCParameters.javadownload download4.702 KB2018-01-07 12:03:35 GMT+0000
  ├HCState.javadownload download9.596 KB2018-01-07 12:03:35 GMT+0000
  ├HCStateBag.javadownload download2.943 KB2018-01-07 12:03:35 GMT+0000
  ├HCUtils.javadownload download1.874 KB2018-01-07 12:03:35 GMT+0000
  └package.htmldownload download5.080 KB2018-01-07 12:03:35 GMT+0000

This package includes the Hill Climbing Engines and all the interfaces and base classes needed for an Hill Climbing search.

Package Specification

This package includes the Hill Engines and all the interfaces and base classes needed for a Hill Climbing search.
The Hill Climbing (HCEngine) will perform all the work. There are different HCEngines available, for local or peer-to-peer-based evolution, for example.

This package provides the basic ability of searching solutions using the Hill Climbing algorithm for any type of problems. Multi-objective Hill Climbing algorithms are be implemented using different distribution schemes in this package which bases on the versatile search api provided by the Search-API-package.

Hill Climbing:

The idea behind searching problem solutions using Hill Climbing is the following: You have an idea on some qualities a thing should have, but you don’t know what this thing is or how it should be created. The Hill Climbing approach might answer this question. At first, a random thing is created. We modify it slightly and do this again and again, until we have found the ideal thing or we are close enough to what we want. Hill Climbing modifies a thing, and if the new thing better than the old, it is kept. Otherwise, we keep the old thing. For more information, visit the Genetic Programming Group at http://groups.google.de/group/geneticprogramming/.

Features of this package:

We support four different types of distribution of computational load for our Hill Climbing:

  1. local: The whole Hill Climbing runs local, no tasks are distributed.
  2. peer-to-peer: Differnt Hill Climbing search instances run in parallel on different machines, exchanging their best individuals.
  3. client-server/master-slave: A Hill Climbing Engine (client/master) uses different servers/slaves to perform the work of reproducing and evaluating individuals. This way, even complicated-to-evaluated individuals can be handled in reasonable time.
  4. p2p/cs-hybrid: P2P-networks of genetic engines using the client-server distribution approach can co-operate (event with pure p2p-Hill Climbing engines).

Additional Information

Search algorithms are executed by SearchEngines. The names of the search engines are formed like this: The distribution shortcut + the algorithm shortcut + Engine.java.

Current distribution shortcuts:

A search engine that runs locally, typically situated in a sub-package named local
A search engine that uses the client/server (= master/slave) distribution approach, typically situated in a sub-package named cs
A search engine that using the peer-to-peer distribution, typically situated in a sub-package named p2p
A search engine that using both, peer-to-peer and client server distribution, typically situated in a sub-package named p2p

Current search algorithm shortcuts:

A search engine that performes a Genetic Algorithms. It will be situated in a sub-package of org.dgpf.search.algorithms.ga
A search engine that performes a Hill Climbing. It will be situated in a sub-package of org.dgpf.search.algorithms.hc
A search engine that performes a Simulated Annealing. It will be situated in a sub-package of org.dgpf.search.algorithms.sa

This Open-Source research project is licensed under LGPL, a license even more liberate than the GPL.

One feature, especially important for developers, is the full documentation of the source code provided. Each method, class, package is fully documented down to privated declares. No parameter is undocumented. We are also happy about hints or request for more documentation, because we want that anyone can use our code and hopefully understand it. This project has also educational character.

You can find more information on the project's home page or on the project's page on SourceForge. The source code and examples can be downloaded at the downloads page. Useful information and news will frequently be published in the Genetic Programming Group.

statistics online since 2006-01-02.   RSS Feed
Contact us by sending an email to tweise@gmx.de to receive further information, to report errors, or to join our project.
All content on this site (http://dgpf.sourceforge.net/) is LGPL-licensed.
http://dgpf.sourceforge.net/scripts/source/source.php last modified at 2018-01-07 12:03:34 GMT+0000 served at 2018-05-24 22:58:36 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo