Distributed Genetic Programming Framework
print print

File org.dgpf.search.api.package.html

Here you can find all the information about the file org.dgpf.search.api.package.html. You may explore it here or download it onto your local disk.
This package contains the specification and base classes of the Search Algorithms Layer of the DGPF.

Package Specification

This package contains the specification and base classes of the Search Algorithms Layer of the DGPF. The Search Algorithms Layer provides easy-to-use tools to build various multi-dimensional search algorithms and to implement simulation cores that can be shared among all of them. You can thus compare search algorithms directly and select the one that suits the best for your problem.

Search Engine

The search engine utilities provide a basic abstraction for search algorithms. The SearchEngine defines the interface for starting, aborting, waiting for, and configuring a search as well as an event api allowing you to supervice the searches progress.

Search Context

A SearchContext defines how a Genotype, the data representation of the solution candidates, can be modified and simulated. The SearchContext is the hard core that performs the searches work. It might be useful to instantiate more than one SearchContext on one machine, one for each processor, for example. For one data type/problem domain, you will provide some basic methods in form of a class derived from SearchContext. Instances of that class then can be used by any search algorithm implementing our search api. Therefore, you only need to define your problem domain once and then can work on it using all algorithms available.

Fitness Utilities

All search algorithms that implement our api are multi-dimensional per default, meaning that an individual's fitness is determined not only by one single fitness function but by a finite set of them. We provide a blueprint how such fitness functions should look like. Having multi-dimensional fitnesses, you cannot compare individuals in the same manner as if the fitness was only a single value. Therefore, you can provide user-defined individual comparators (or pick them from the set of predefined comparators) to direct the search.

Adaptation Utilities

Searches implementing our search api are adaptable to the bone. They are round based (we call each round an "update"). For example, one update of a Genetic Algorithm is one generation. After each update, the parameters of a search can be modified manually or adapt automatically, according to the rich statistical data provided. Each search algorithm may provide additional adaptable functionality.

Statistics Utilities

The SearchEngine throws an event after each update, containing the current state of the search including nice statistical data. Each search algorithm may provide additional statistical data.

Parallelization/Distribution Utilities

Utilities such as tasks that can be distributed over a network and then access the SearchContext and queues that allow you to manage such tasks help implementing different parallel or distributed search algorithms. There also is a peer-to-peer extension that can be integrated into arbitrary search algorithms. It enables them to exchange individuals dynamically basing on a policy. Therefore, search algorithms of different kinds can now cooperate, creating a powerful heterogeneous search.

Implicite Tabu Search Backend

All search algorithms implemented using the Commmon Search API come automatically equipped with an implicite auto-adaptive, configurable Tabu Search backend. It uses a cache to check new individuals if they already have been created. If so, they're disposed right away and the creation is repeated. Since this backend may execute on a search server, it reduces network traffic and can improve search speed significantly by enforcing greater problem space examination.

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

See the rich example collection also available on the web for feature demonstrations.

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

File Information:

file name:package.html
qualified name:org.dgpf.search.api.package.html
file type:Website
download location:download http://dgpf.sourceforge.net/source/org/dgpf/search/api/package.html
size:5.166 KB (5290 B)
uploaded: 2018-01-07 12:03:35 GMT+0000
last update: 2006-05-12 13:17:22 GMT+0000
last access: 2018-04-25 06:37:35 GMT+0000

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-04-25 06:37:35 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo