devolve
所属分类:人工智能/神经网络/深度学习
开发工具:D
文件大小:47KB
下载次数:0
上传日期:2014-04-09 21:59:10
上 传 者:
sh-1993
说明: D中的遗传编程库
(A genetic programming library in D)
文件列表:
LICENSE (1336, 2014-04-10)
Makefile (799, 2014-04-10)
devolve (0, 2014-04-10)
devolve\baseGA.d (5607, 2014-04-10)
devolve\bstring (0, 2014-04-10)
devolve\bstring\bitset.d (21195, 2014-04-10)
devolve\bstring\bstringGA.d (2159, 2014-04-10)
devolve\bstring\crossover.d (2420, 2014-04-10)
devolve\bstring\generator.d (1527, 2014-04-10)
devolve\bstring\mutator.d (1261, 2014-04-10)
devolve\bstring\package.d (331, 2014-04-10)
devolve\list (0, 2014-04-10)
devolve\list\crossover.d (3961, 2014-04-10)
devolve\list\generator.d (1612, 2014-04-10)
devolve\list\listGA.d (2821, 2014-04-10)
devolve\list\mutator.d (997, 2014-04-10)
devolve\list\package.d (275, 2014-04-10)
devolve\net (0, 2014-04-10)
devolve\net\crossover.d (1789, 2014-04-10)
devolve\net\generator.d (5858, 2014-04-10)
devolve\net\mutator.d (470, 2014-04-10)
devolve\net\netGA.d (4999, 2014-04-10)
devolve\net\network.d (5196, 2014-04-10)
devolve\net\package.d (341, 2014-04-10)
devolve\package.d (234, 2014-04-10)
devolve\selector.d (7721, 2014-04-10)
devolve\simpleGA.d (2314, 2014-04-10)
devolve\statistics.d (5453, 2014-04-10)
devolve\tree (0, 2014-04-10)
devolve\tree\crossover.d (1178, 2014-04-10)
devolve\tree\generator.d (8590, 2014-04-10)
devolve\tree\mutator.d (831, 2014-04-10)
devolve\tree\package.d (263, 2014-04-10)
devolve\tree\treeGA.d (5565, 2014-04-10)
devolve\utils.d (1485, 2014-04-10)
dub.json (209, 2014-04-10)
examples (0, 2014-04-10)
... ...
About
=======
devolve is a genetic programming library written in the D programming language.
The core goal of the project is to create a flexible, easy-to-use interface while
still maintaining performance. Inspiration for some of the interface design was
originally taken from [Pyevolve].
[Pyevolve]: http://pyevolve.sourceforge.net/
Documentation
===============
Below is a quick introduction to usage of the library. Documentation generated by
[bootDoc] may be found [here].
[bootDoc]: https://github.com/JakobOvrum/bootDoc
[here]: http://alschwalm.com/devolve/
Building
==========
The library may be built with `make`, for release builds. Alternatively, run
`make debug` for a debug build. The examples in `examples/` may be built with
`make examples`, and unittests may be built and run with `make unittest`.
Basic Usage
=====
Examples of usage can be found in the 'examples' folder. To use the library simply
`import devolve`. If only one genome representation is required, it may be sufficient
to `import devolve.tree`, for example.
The general usage of the library is as follows:
1. Select a genome representation (i.e., list, tree, etc.). These should typically be
able to represent a solution to your problem easily.
2. Choose from one of the existing generators / mutators / crossover functions. For
example, mutators for the `tree` representation live in `devolve.tree.mutators`.
3. Write a fitness function for your application. This function should accept an individual
of the type chosen in step 1. (so for a `list`, a static or dynamically sized array).
4. Construct a Genetic Algorithm using the parts chosen or written in the above steps.
These follow the convention of 'NameGA', so for `list`, the class is named `ListGA`.
5. Set additional information such as the mutation rate / population ordering (is a
larger or smaller number more or less fit) or termination criteria.
6. Call `evolve()`, specifying the maximum number of generations over which the
algorithm should run.
7. You're finished. Sit back and wait while the algorithm runs.
Contributing
============
Keeping in mind that devolve is still under heavy development, pull requests are
always welcome.
License
=======
This software is released under the Boost license. See [LICENSE] for more details.
[LICENSE]: https://raw.github.com/ALSchwalm/devolve/master/LICENSE
Acknowledgments
===============
The BitSet used in BStringGA was written by Per Nordlw and is used with only very
minor modifications.
近期下载者:
相关文件:
收藏者: