Share

Evolution of Artificial Neural Networks

Project News for Evolution of Artificial Neural Networks

  • 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