Distributed Genetic Programming Framework
print print

Package org.dgpf.search.api

Here you can find all the information about the org.dgpf.search.api 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
  ├[comparators]2018-01-07 12:03:43 GMT+0000
  ├[cs]2018-01-07 12:03:43 GMT+0000
  │  └[events]2018-01-07 12:03:43 GMT+0000
  ├[events]2018-01-07 12:03:43 GMT+0000
  ├[halt]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
  ├[utils]2018-01-07 12:03:43 GMT+0000
  ├AdaptationStrategy.javadownload download2.121 KB2018-01-07 12:03:35 GMT+0000
  ├Assigner.javadownload download2.717 KB2018-01-07 12:03:35 GMT+0000
  ├CacheManager.javadownload download4.649 KB2018-01-07 12:03:35 GMT+0000
  ├FitnessAccessor.javadownload download4.208 KB2018-01-07 12:03:35 GMT+0000
  ├FitnessData.javadownload download3.499 KB2018-01-07 12:03:35 GMT+0000
  ├FitnessFunction.javadownload download10.100 KB2018-01-07 12:03:35 GMT+0000
  ├HaltParameters.javadownload download3.840 KB2018-01-07 12:03:35 GMT+0000
  ├Individual.javadownload download11.543 KB2018-01-07 12:03:35 GMT+0000
  ├IndividualComparator.javadownload download5.663 KB2018-01-07 12:03:35 GMT+0000
  ├NonDominatedList.javadownload download18.832 KB2018-01-07 12:03:35 GMT+0000
  ├package.htmldownload download5.166 KB2018-01-07 12:03:35 GMT+0000
  ├SearchAdaptable.javadownload download2.867 KB2018-01-07 12:03:35 GMT+0000
  ├SearchCache.javadownload download5.169 KB2018-01-07 12:03:35 GMT+0000
  ├SearchContext.javadownload download33.678 KB2018-01-07 12:03:35 GMT+0000
  ├SearchData.javadownload download14.735 KB2018-01-07 12:03:35 GMT+0000
  ├SearchData2.javadownload download9.600 KB2018-01-07 12:03:35 GMT+0000
  ├SearchData3.javadownload download4.995 KB2018-01-07 12:03:35 GMT+0000
  ├SearchDefinition.javadownload download2.688 KB2018-01-07 12:03:35 GMT+0000
  ├SearchEngine.javadownload download21.245 KB2018-01-07 12:03:35 GMT+0000
  ├SearchEngineActivity.javadownload download2.145 KB2018-01-07 12:03:35 GMT+0000
  ├SearchEngineThread.javadownload download2.136 KB2018-01-07 12:03:35 GMT+0000
  ├SearchParameters.javadownload download10.392 KB2018-01-07 12:03:35 GMT+0000
  ├SearchState.javadownload download27.027 KB2018-01-07 12:03:35 GMT+0000
  ├SearchStateBag.javadownload download5.170 KB2018-01-07 12:03:35 GMT+0000
  ├SearchTask.javadownload download8.529 KB2018-01-07 12:03:35 GMT+0000
  ├SearchTaskQueue.javadownload download8.151 KB2018-01-07 12:03:35 GMT+0000
  ├SearchTaskThread.javadownload download4.344 KB2018-01-07 12:03:35 GMT+0000
  ├SearchThreadGroup.javadownload download1.956 KB2018-01-07 12:03:35 GMT+0000
  ├SearchUtils.javadownload download12.856 KB2018-01-07 12:03:35 GMT+0000
  ├SearchWorkerThread.javadownload download3.809 KB2018-01-07 12:03:35 GMT+0000
  ├StatefulAdaptationStrategy.javadownload download2.846 KB2018-01-07 12:03:35 GMT+0000
  └UpdateThread.javadownload download2.234 KB2018-01-07 12:03:35 GMT+0000

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

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-20 11:36:42 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo