-
ANNEvolve Releases the Meta-Evolver
Are you working with a computer program for which you don't know the best values for some numbers in the configuration file? You may be able to use our Meta-Evolver to systematically search for them.
Metavolv.py is a computer program that searches for a better set of parameters for some other program. (the target Program) The target program determines what "better" means, and it writes a merit value to the screen. The parameters appear in a configuration file for the target program. Although metavolv.py is written in Python, the target program can be any executable file that meets two conditions: It must read a configuration file to get values for parameters, and it must eventually write a result to the screen. Metavolv will repeatedly execute the target program, each time re-writing the configuration file with new parameter values. Metavolv.py will use two other Python files, modify.py and editThis.py. The three files together comprise the program. Metavolv is primarily designed for stochastic target programs, and also for those that require significant execution time. For such programs we cannot be sure of finding a global optimum in a reasonable time span; we are primarily interested in improving the set of parameters that we start with. Hence we are primarily attempting to move toward a local optimum.
2006-06-10 01:55:21 UTC by zenguyuno
-
EvSail-3.2 released - Unifies linux, Windows versions
EvSail demonstrates the ability of neuroevolution to create a "virtual
yachtsman" capable of navigation & guidance of a simulated sailboat. It is
written in standard C. All source code is included, along with ample
documentation. This version has an interface to gnuplot, and makes graphs of
trajectories during evolution.
EvSail consists of the following principal components:
- A mathematical model of sailboat physics, involving lift & drag of the keel &
sails, and vector resolution of relative wind and water flows. The virtual
sailboat moves under the influence of wind with controlling inputs of sail
and keel angle of attack.
- An Artificial Neural Network (ANN) which takes as input the relative wind
hitting the boat, the boat's speed through the water, and the relative position
of a target point. There are seven input numbers. The output of the ANN is
the angle of attack of the keel, and the angle of attack of the sail.
-A fitness function which measures the degree of success of the ANN in
navigating the boat all the way around a circular island.
-A population of ANNs, each of which attempts to circumnavigate the island.
Each ann is characterized by a set of several hundred weights. The weights are
in an array which we call a chromosome. Hence the population consists of an
array of pointers to the chromosomes.
-Evolution software based on the Genetic Algorithm (GA) approach which modifies
the population of ANNs through many generations. It seeks to increase the
fitness values by replacing those of low fitness with offspring of those with
higher fitness.
-An optional stochastic wind model so that the wind is unsteady in strength and
direction.
More detailed explanations will be found in the source code files.
2006-04-27 03:05:51 UTC by zenguyuno
-
SailChallenge 2.0 Released
SailChallenge 2.0 for Unix and Windows is available for download, from the
Files section of the ANNEvolve Sourceforge project:
http://sourceforge.net/project/showfiles.php?group_id=78946
SailChallenge consists of:
* A selection of 'chromosome' files each specifying an Artificial Neural
Network (ANN).
* C sources and Makefile for the executables: the ANN controller, and the
hand-coded alternative.
* An initial settings file, specifying the ANN to run, number of runs, etc.
* The Python graphic interface program, which communicates via pipe with the
controller executables; plus .PNG files for the program.
* Simple documentation for running SailChallenge. (Details on creation of the
ANN chromosomes are available in our EvSail package.)
SailChallenge is the view-and-controller interface for displaying the
performance of ANNs evolved to pilot a sailboat around a circular island. It
is also an open invitation to match alternative sailboat controller
algorithms against ANNEvolve's neural networks. Take your best shot!
Since our last release, SailChallenge has been upgraded with the Python GUI
and animation of the simulation, and with the alternative 'manual'
controller.
The ANN steers the sailboat by varying the keel angle of attack (relative to
the boat's velocity) and the sail angle of attack (relative to the vector
difference between the wind and boat velocities). The resulting boat velocity
and distance from the island, and a fluctuating wind velocity are fed back to
the ANN for the next loop iteration. The underlying physics model, which
computes velocity change from the wind and the sailing angles, is coded in
subroutines to be called from either the ANN or manual programs.
In the manual sailing program, a hand-written controller function is
substituted for the ANN loop controller, as an example to make it relatively
easy to write your own. Or else, you can download and compile the EvSail-3.0
source (EvSail-3.1 for *nix), and generate your own ANN chromosomes.
ANNEvolve team members have created ANN controllers that sail around the
island better than 90% of the time. We know this figure can be improved upon,
so show us your stuff and start creating your own virtual yachtsman. Any
method can be used: hand-coded algorithms, general-purpose optimization
frameworks, genetic programming or other computational evolution techniques.
We are intererested in comparing the performance of our evolved ANNs with
other approaches.
The Python front end uses only standard modules. Graphics is via Tkinter,
which is included with the standard Python releases. The Python language can
be downloaded from http://www.python.org.
A screenshot of SailChallenge-2.0 in operation is on:
http://sourceforge.net/project/screenshots.php?group_id=78946&ssid=29842
SailChallenge is our demonstration that capable neural networks can be created
by a simple evolutionary process. We are looking forward to applying the
technique to more demanding problems.
2006-04-07 03:06:06 UTC by jonathan_burns
-
ANNEvolve Updates EvNim, its First Release
EvNim is a program that evolves an ANN that can play the game of NIM. It is an example of machine learning. It is unsupervised learning because the program is given no strategy advice whatsoever. In fact the individual ANNs don't learn anything. There is a population of ANNs, and the population learns, even though the individuals do not. The learning is due to removing the worst players from the population, and allowing the others to breed. This is repeated through many generations. Eventually perfect players of Nim are produced. The details are explained in the documentation supplied with the package.
This is a bug-fix release. EvNim-1.09 fixes a bug in earlier versions. Credit to Nataraj Chakraborty for finding the bug.
2006-03-24 16:10:04 UTC by zenguyuno
-
Graphic Neural Net Demonstrator (VizANN-2.0) Released
ANNEvolve Releases Graphic Neural Net Demonstrator (VizANN-2.0)
VizANN is a program to graphically demonstrate the operational details
of two types of ANN (Artificial Neural Network). The program is 100%
GUI, meaning that there is no line-by-line input nor output. The program is
very easy to use with no programming experience required. It runs on
Windows, linux, Unix & Mac systems.
To use the program you must have Python installed on your computer. (A free
download from http://www.python.org) The program is written in Python, and supplied
as source code.
VizANN.py is a free download from http://sourceforge.net/projects/annevolve
VizANN-2.0 is the package name, and it includes the necessary documentation.
You can get it as a .zip or a .tar.gz file.
Comments and questions about VizANN may be posted to the ANNEvolve mailing
list by sending email to annevolve-devel@lists.sourceforge.net. You may post
without subscribing, but anyone may subscribe to this mailing list. The list
archives may be viewed at:
http://sourceforge.net/mailarchive/forum.php?forum_id=32765.
The ANNEvolve team experiments with the Evolution of Artificial Neural
Networks (ANNs). They are combining the two fields of Evolutionary Computation
and Artificial Neural Networks. Find out more about other ANN evolution
programs at the Annevolve project at: http://annevolve.sourceforge.net
2006-03-21 21:59:38 UTC by zenguyuno