| org.dgpf.search.api | |||
| ├[adaptation] | 2012-05-02 03:11:04 GMT+0000 | ||
| ├[comparators] | 2012-05-02 03:11:04 GMT+0000 | ||
| ├[cs] | 2012-05-02 03:11:05 GMT+0000 | ||
| │ └[events] | 2012-05-02 03:11:05 GMT+0000 | ||
| ├[events] | 2012-05-02 03:11:05 GMT+0000 | ||
| ├[halt] | 2012-05-02 03:11:05 GMT+0000 | ||
| ├[p2p] | 2012-05-02 03:11:05 GMT+0000 | ||
| │ └[adaptation] | 2012-05-02 03:11:05 GMT+0000 | ||
| ├[utils] | 2012-05-02 03:11:06 GMT+0000 | ||
| ├AdaptationStrategy.java | 2.121 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├Assigner.java | 2.717 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├CacheManager.java | 4.649 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├FitnessAccessor.java | 4.208 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├FitnessData.java | 3.499 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├FitnessFunction.java | 10.100 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├HaltParameters.java | 3.840 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├Individual.java | 11.543 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├IndividualComparator.java | 5.663 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├NonDominatedList.java | 18.832 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├package.html | 5.166 KB | 2012-05-02 03:11:04 GMT+0000 | |
| ├SearchAdaptable.java | 2.867 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├SearchCache.java | 5.169 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├SearchContext.java | 33.678 KB | 2012-05-02 03:11:02 GMT+0000 | |
| ├SearchData.java | 14.735 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchData2.java | 9.600 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchData3.java | 4.995 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchDefinition.java | 2.688 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchEngine.java | 21.245 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchEngineActivity.java | 2.145 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchEngineThread.java | 2.136 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchParameters.java | 10.392 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchState.java | 27.027 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchStateBag.java | 5.170 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchTask.java | 8.529 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchTaskQueue.java | 8.151 KB | 2012-05-02 03:11:03 GMT+0000 | |
| ├SearchTaskThread.java | 4.344 KB | 2012-05-02 03:11:04 GMT+0000 | |
| ├SearchThreadGroup.java | 1.956 KB | 2012-05-02 03:11:04 GMT+0000 | |
| ├SearchUtils.java | 12.856 KB | 2012-05-02 03:11:04 GMT+0000 | |
| ├SearchWorkerThread.java | 3.809 KB | 2012-05-02 03:11:04 GMT+0000 | |
| ├StatefulAdaptationStrategy.java | 2.846 KB | 2012-05-02 03:11:04 GMT+0000 | |
| └UpdateThread.java | 2.234 KB | 2012-05-02 03:11:04 GMT+0000 |
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.
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.
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.
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.
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.
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