6434 lines
236 KiB
HTML
6434 lines
236 KiB
HTML
|
<HTML>
|
|||
|
<HEAD>
|
|||
|
|
|||
|
<TITLE>
|
|||
|
GNU/Linux AI & Alife HOWTO
|
|||
|
</TITLE>
|
|||
|
</HEAD>
|
|||
|
<BODY BGCOLOR=white>
|
|||
|
|
|||
|
<HR>
|
|||
|
<H1>GNU/Linux AI & Alife HOWTO</H1>
|
|||
|
|
|||
|
<H2>by
|
|||
|
<A HREF="mailto:jae@zhar.net">John Eikenberry</A></H2>v3.1, 31 Mar 2013
|
|||
|
<HR>
|
|||
|
<EM>This howto mainly contains information about, and links to,
|
|||
|
various AI related software libraries, applications, etc.
|
|||
|
that work on the GNU/Linux platform. All of it is (at least)
|
|||
|
free for personal use.
|
|||
|
The new master page for this document is
|
|||
|
<A HREF="http://zhar.net/howto/">http://zhar.net/howto/</A></EM>
|
|||
|
<HR>
|
|||
|
<P>
|
|||
|
<H2><A NAME="toc1">1.</A> <A HREF="#s1">Introduction</A></H2>
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI><A NAME="toc1.1">1.1</A> <A HREF="#ss1.1">Purpose</A>
|
|||
|
<LI><A NAME="toc1.2">1.2</A> <A HREF="#ss1.2">What's New</A>
|
|||
|
<LI><A NAME="toc1.3">1.3</A> <A HREF="#ss1.3">Where to find this software</A>
|
|||
|
<LI><A NAME="toc1.4">1.4</A> <A HREF="#ss1.4">Updates and comments</A>
|
|||
|
<LI><A NAME="toc1.5">1.5</A> <A HREF="#ss1.5">Copyright/License</A>
|
|||
|
</UL>
|
|||
|
<P>
|
|||
|
<H2><A NAME="toc2">2.</A> <A HREF="#s2">Symbolic Systems (GOFAI)</A></H2>
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI><A NAME="toc2.1">2.1</A> <A HREF="#ss2.1">AI class/code libraries</A>
|
|||
|
<LI><A NAME="toc2.2">2.2</A> <A HREF="#ss2.2">AI software kits, applications, etc.</A>
|
|||
|
</UL>
|
|||
|
<P>
|
|||
|
<H2><A NAME="toc3">3.</A> <A HREF="#s3">Connectionism</A></H2>
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI><A NAME="toc3.1">3.1</A> <A HREF="#ss3.1">Connectionist class/code libraries</A>
|
|||
|
<LI><A NAME="toc3.2">3.2</A> <A HREF="#ss3.2">Connectionist software kits/applications</A>
|
|||
|
</UL>
|
|||
|
<P>
|
|||
|
<H2><A NAME="toc4">4.</A> <A HREF="#s4">Evolutionary Computing</A></H2>
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI><A NAME="toc4.1">4.1</A> <A HREF="#ss4.1">EC class/code libraries</A>
|
|||
|
<LI><A NAME="toc4.2">4.2</A> <A HREF="#ss4.2">EC software kits/applications</A>
|
|||
|
</UL>
|
|||
|
<P>
|
|||
|
<H2><A NAME="toc5">5.</A> <A HREF="#s5">Alife & Complex Systems</A></H2>
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI><A NAME="toc5.1">5.1</A> <A HREF="#ss5.1">Alife & CS class/code libraries</A>
|
|||
|
<LI><A NAME="toc5.2">5.2</A> <A HREF="#ss5.2">Alife & CS software kits, applications, etc.</A>
|
|||
|
</UL>
|
|||
|
<P>
|
|||
|
<H2><A NAME="toc6">6.</A> <A HREF="#s6">Agents & Robotics</A></H2>
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI><A NAME="toc6.1">6.1</A> <A HREF="#ss6.1">Software Agents</A>
|
|||
|
<LI><A NAME="toc6.2">6.2</A> <A HREF="#ss6.2">Robotics and Simulators</A>
|
|||
|
</UL>
|
|||
|
<P>
|
|||
|
<H2><A NAME="toc7">7.</A> <A HREF="#s7">Statistical & Machine Learning</A></H2>
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI><A NAME="toc7.1">7.1</A> <A HREF="#ss7.1">Libraries</A>
|
|||
|
<LI><A NAME="toc7.2">7.2</A> <A HREF="#ss7.2">Applications</A>
|
|||
|
</UL>
|
|||
|
<P>
|
|||
|
<H2><A NAME="toc8">8.</A> <A HREF="#s8">Missing & Dead</A></H2>
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI><A NAME="toc8.1">8.1</A> <A HREF="#ss8.1">MIA - Projects missing linkage.</A>
|
|||
|
<LI><A NAME="toc8.2">8.2</A> <A HREF="#ss8.2">Dead projects.</A>
|
|||
|
</UL>
|
|||
|
<HR>
|
|||
|
<H2><A NAME="Introduction"></A> <A NAME="s1">1.</A> <A HREF="AI-Alife-HOWTO.html#toc1">Introduction</A></H2>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss1.1">1.1</A> <A HREF="AI-Alife-HOWTO.html#toc1.1">Purpose</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>The GNU/Linux OS has evolved from its origins in hackerdom to a full
|
|||
|
blown UNIX, capable of rivaling any commercial UNIX. It now provides
|
|||
|
an inexpensive base to build a great workstation. It has shed its
|
|||
|
hardware dependencies, having been ported to DEC Alphas, Sparcs,
|
|||
|
PowerPCs, and many others. This potential speed boost along with its
|
|||
|
networking support will make it great for workstation clusters. As a
|
|||
|
workstation it allows for all sorts of research and development,
|
|||
|
including artificial intelligence and artificial life.</P>
|
|||
|
|
|||
|
<P>The purpose of this Howto is to provide a source to find out
|
|||
|
about various software packages, code libraries, and anything else
|
|||
|
that will help someone get started working with (and find resources
|
|||
|
for) artificial intelligence, artificial life, etc. All done with
|
|||
|
GNU/Linux specifically in mind.</P>
|
|||
|
|
|||
|
<H2><A NAME="ss1.2">1.2</A> <A HREF="AI-Alife-HOWTO.html#toc1.2">What's New</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>v3.1 -
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#SimpleAI">SimpleAI</A>
|
|||
|
.</P>
|
|||
|
|
|||
|
<P>Resurfaced MIA entry:
|
|||
|
<A HREF="#NuPIC">NuPIC</A>
|
|||
|
.</P>
|
|||
|
|
|||
|
<P>Deleted the section on "Programming languages". I moved the couple of
|
|||
|
agent-oriented domain specific languages,
|
|||
|
<A HREF="#2APL">2APL</A>
|
|||
|
and
|
|||
|
<A HREF="#APRIL">APRIL</A>
|
|||
|
, into the sections relevant to the work. I removed the rest as
|
|||
|
they were all just general purpose languages.</P>
|
|||
|
|
|||
|
<P>Changed my Copyright/License to
|
|||
|
<A HREF="http://creativecommons.org/publicdomain/zero/1.0/">CC0</A>. That
|
|||
|
is no copyright, it is Public Domain. I no longer wish to take part in
|
|||
|
copyright;
|
|||
|
<A HREF="http://questioncopyright.org/">http://questioncopyright.org/</A></P>
|
|||
|
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v3.0 -
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#ORTS">ORTS</A>
|
|||
|
,
|
|||
|
<A HREF="#FANN">FANN</A>
|
|||
|
,
|
|||
|
<A HREF="#OpenCV">OpenCV</A>
|
|||
|
,
|
|||
|
<A HREF="#CBR Microprograms">CBR Microprograms</A>
|
|||
|
,
|
|||
|
<A HREF="#ConceptNet">ConceptNet</A>
|
|||
|
,
|
|||
|
<A HREF="#FreeHAL">FreeHAL</A>
|
|||
|
,
|
|||
|
<A HREF="#2APL">2APL</A>
|
|||
|
,
|
|||
|
<A HREF="#Alchemy">Alchemy</A>
|
|||
|
,
|
|||
|
<A HREF="#plop">plop</A>
|
|||
|
,
|
|||
|
<A HREF="#evolver">evolver</A>
|
|||
|
,
|
|||
|
<A HREF="#PyIE">PyIE</A>
|
|||
|
,
|
|||
|
<A HREF="#Pyevolve">Pyevolve</A>
|
|||
|
,
|
|||
|
<A HREF="#txevolver">txevolver</A>
|
|||
|
,
|
|||
|
<A HREF="#python-dlp">python-dlp</A>
|
|||
|
,
|
|||
|
<A HREF="#CompLearn">CompLearn</A>
|
|||
|
,
|
|||
|
<A HREF="#dbacl">dbacl</A>
|
|||
|
,
|
|||
|
<A HREF="#Maximum Entropy Toolkit">Maximum Entropy Toolkit</A>
|
|||
|
,
|
|||
|
<A HREF="#pebl">pebl</A>
|
|||
|
,
|
|||
|
<A HREF="#FLiP">FLiP</A>
|
|||
|
,
|
|||
|
<A HREF="#Carmen">Carmen</A>
|
|||
|
,
|
|||
|
<A HREF="#Orca">Orca</A>
|
|||
|
,
|
|||
|
<A HREF="#ROS">ROS</A>
|
|||
|
,
|
|||
|
<A HREF="#YARP">YARP</A>
|
|||
|
,
|
|||
|
<A HREF="#Neuroph">Neuroph</A>
|
|||
|
,
|
|||
|
<A HREF="#MLAP book samples">MLAP book samples</A>
|
|||
|
,
|
|||
|
<A HREF="#Elefant">Elefant</A>
|
|||
|
,
|
|||
|
<A HREF="#Evocosm">Evocosm</A>
|
|||
|
,
|
|||
|
<A HREF="#Critterding">Critterding</A>
|
|||
|
,
|
|||
|
<A HREF="#MRPT">MRPT</A>
|
|||
|
,
|
|||
|
<A HREF="#PyBrain">PyBrain</A>
|
|||
|
,
|
|||
|
<A HREF="#peach">peach</A>
|
|||
|
,
|
|||
|
<A HREF="#brain">brain</A>
|
|||
|
,
|
|||
|
<A HREF="#FREVO">FREVO</A>
|
|||
|
,
|
|||
|
<A HREF="#Vowpal Wabbit">Vowpal Wabbit</A>
|
|||
|
,
|
|||
|
<A HREF="#ERESYE">ERESYE</A>
|
|||
|
,
|
|||
|
<A HREF="#Recast">Recast</A>
|
|||
|
,
|
|||
|
<A HREF="#EAP">EAP</A>
|
|||
|
,
|
|||
|
<A HREF="#GenePool">GenePool</A>
|
|||
|
,
|
|||
|
<A HREF="#Milk">Milk</A>
|
|||
|
,
|
|||
|
<A HREF="#OpenCog">OpenCog</A>
|
|||
|
,
|
|||
|
<A HREF="#Pattern">Pattern</A>
|
|||
|
,
|
|||
|
<A HREF="#CognitiveFoundry">CognitiveFoundry</A>
|
|||
|
,
|
|||
|
<A HREF="#clasp">clasp</A>
|
|||
|
,
|
|||
|
<A HREF="#timbl">timbl</A>
|
|||
|
,
|
|||
|
<A HREF="#MBT">MBT</A>
|
|||
|
,
|
|||
|
<A HREF="#scikits.learn">scikits.learn</A>
|
|||
|
,
|
|||
|
<A HREF="#NeuroLab">NeuroLab</A>
|
|||
|
,
|
|||
|
<A HREF="#Biogenesis">Biogenesis</A>
|
|||
|
,
|
|||
|
<A HREF="#brain-simulator">brain-simulator</A>
|
|||
|
.
|
|||
|
<A HREF="#Torch5">Torch5</A>
|
|||
|
,
|
|||
|
<A HREF="#Encog">Encog</A>
|
|||
|
,
|
|||
|
<A HREF="#Nengo">Nengo</A>
|
|||
|
,
|
|||
|
<A HREF="#DEAP">DEAP</A>
|
|||
|
and
|
|||
|
<A HREF="#Emergent">Emergent</A>
|
|||
|
.</P>
|
|||
|
|
|||
|
<P>Changed the name of the "Traditional" section to
|
|||
|
<A HREF="#Symbolic Systems (GOFAI)">Symbolic Systems (GOFAI)</A>
|
|||
|
. Added new section,
|
|||
|
<A HREF="#Statistical & Machine Learning">Statistical & Machine Learning</A>
|
|||
|
.</P>
|
|||
|
|
|||
|
<P>Seems someone has resuscitated
|
|||
|
<A HREF="#EMA-XPS">EMA-XPS</A>
|
|||
|
. Not very active, but
|
|||
|
enough to pull out of the dead projects area and place back amounst the
|
|||
|
living. I also fixed many links and moved quite a few dead projects to
|
|||
|
<A HREF="#Missing & Dead">Missing & Dead</A>
|
|||
|
.</P>
|
|||
|
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v2.4 -
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#Eprover">Eprover</A>
|
|||
|
,
|
|||
|
<A HREF="#Player">Player</A>
|
|||
|
,
|
|||
|
<A HREF="#Logfun">Logfun</A>
|
|||
|
,
|
|||
|
<A HREF="#Livingstone2">Livingstone2</A>
|
|||
|
,
|
|||
|
<A HREF="#Quackle">Quackle</A>
|
|||
|
,
|
|||
|
<A HREF="#LingPipe">LingPipe</A>
|
|||
|
,
|
|||
|
<A HREF="#GATE">GATE</A>
|
|||
|
,
|
|||
|
<A HREF="#Infon Battle Arena">Infon Battle Arena</A>
|
|||
|
,
|
|||
|
<A HREF="#CLARAty">CLARAty</A>
|
|||
|
,
|
|||
|
<A HREF="#Reverend">Reverend</A>
|
|||
|
,
|
|||
|
<A HREF="#Shogun">Shogun</A>
|
|||
|
,
|
|||
|
<A HREF="#Nanopond">Nanopond</A>
|
|||
|
,
|
|||
|
<A HREF="#Polyworld">Polyworld</A>
|
|||
|
,
|
|||
|
<A HREF="#Fluidiom">Fluidiom</A>
|
|||
|
,
|
|||
|
<A HREF="#NEAT">NEAT</A>
|
|||
|
,
|
|||
|
<A HREF="#Framsticks">Framsticks</A>
|
|||
|
,
|
|||
|
<A HREF="#URBI">URBI</A>
|
|||
|
,
|
|||
|
<A HREF="#RobotFlow">RobotFlow</A>
|
|||
|
,
|
|||
|
<A HREF="#Nero">Nero</A>
|
|||
|
,
|
|||
|
<A HREF="#ffnet">ffnet</A>
|
|||
|
, Alloy (removed),
|
|||
|
<A HREF="#Pyke">Pyke</A>
|
|||
|
,
|
|||
|
<A HREF="#NuPIC">NuPIC</A>
|
|||
|
,
|
|||
|
<A HREF="#Simbad">Simbad</A>
|
|||
|
,
|
|||
|
<A HREF="#Robodeb">Robodeb</A>
|
|||
|
,
|
|||
|
<A HREF="#Loom">Loom</A>
|
|||
|
,
|
|||
|
<A HREF="#PowerLoom">PowerLoom</A>
|
|||
|
,
|
|||
|
<A HREF="#tinygp">tinygp</A>
|
|||
|
, Curry (removed),
|
|||
|
<A HREF="#JGAP">JGAP</A>
|
|||
|
,
|
|||
|
<A HREF="#PyCLIPS">PyCLIPS</A>
|
|||
|
,
|
|||
|
and STELLA (removed).</P>
|
|||
|
|
|||
|
<P>I chopped the Agents section into two sub-sections, one for
|
|||
|
<A HREF="#Software Agents">Software Agents</A>
|
|||
|
and one for
|
|||
|
<A HREF="#Robotics and Simulators">Robotics and Simulators</A>
|
|||
|
. I
|
|||
|
play it a bit fast and loose in my deciding what goes into each category,
|
|||
|
but it is an improvement.</P>
|
|||
|
|
|||
|
<P>MIA found!
|
|||
|
<A HREF="#Cellular">Cellular</A>
|
|||
|
the cellular automata programming system.
|
|||
|
Fixed many bad links and cleaned out missing projects.</P>
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v2.3 -
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#Yampa">Yampa</A>
|
|||
|
,
|
|||
|
<A HREF="#pygene">pygene</A>
|
|||
|
, Push (removed),
|
|||
|
<A HREF="#ANNEvolve">ANNEvolve</A>
|
|||
|
,
|
|||
|
<A HREF="#dgpf">dgpf</A>
|
|||
|
,
|
|||
|
<A HREF="#Golly">Golly</A>
|
|||
|
,
|
|||
|
<A HREF="#IBAL">IBAL</A>
|
|||
|
,
|
|||
|
<A HREF="#3APL">3APL</A>
|
|||
|
,
|
|||
|
<A HREF="#OSCAR">OSCAR</A>
|
|||
|
, and
|
|||
|
<A HREF="#RobocodeNG">RobocodeNG</A>
|
|||
|
.</P>
|
|||
|
|
|||
|
<P>Updated information for some entries including
|
|||
|
<A HREF="#Yale">Yale</A>
|
|||
|
,
|
|||
|
<A HREF="#Joone">Joone</A>
|
|||
|
,
|
|||
|
<A HREF="#Drone">Drone</A>
|
|||
|
,
|
|||
|
<A HREF="#Biome">Biome</A>
|
|||
|
, ECLiPSe (removed),
|
|||
|
<A HREF="#Xtoys">Xtoys</A>
|
|||
|
,
|
|||
|
<A HREF="#GECO">GECO</A>
|
|||
|
,
|
|||
|
<A HREF="#Creatures Docking Station">Creatures Docking Station</A>
|
|||
|
and
|
|||
|
others.</P>
|
|||
|
|
|||
|
<P>I also changed the MIA section to
|
|||
|
<A HREF="#Missing & Dead">Missing & Dead</A>
|
|||
|
which now
|
|||
|
groups into subsections entries with bad links that I can't find
|
|||
|
replacements for and long dead projects.</P>
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v2.2 -
|
|||
|
|
|||
|
<P>Fixed a some bad links and was forced to move a few entries into
|
|||
|
the MIA (missing) section. I also removed one duplicate entry.</P>
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#MASON">MASON</A>
|
|||
|
,
|
|||
|
<A HREF="#spyse">spyse</A>
|
|||
|
,
|
|||
|
<A HREF="#AntWars">AntWars</A>
|
|||
|
,
|
|||
|
<A HREF="#OpenSteer">OpenSteer</A>
|
|||
|
,
|
|||
|
<A HREF="#Pyro">Pyro</A>
|
|||
|
,
|
|||
|
<A HREF="#Robocode">Robocode</A>
|
|||
|
,
|
|||
|
<A HREF="#Trend">Trend</A>
|
|||
|
and
|
|||
|
<A HREF="#Open BEAGLE">Open BEAGLE</A>
|
|||
|
.</P>
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v2.1 -
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#NLTK">NLTK</A>
|
|||
|
,
|
|||
|
<A HREF="#NEURObjects">NEURObjects</A>
|
|||
|
,
|
|||
|
<A HREF="#KANREN">KANREN</A>
|
|||
|
,
|
|||
|
<A HREF="#Neural Networks at your Fingertips">Neural Networks at your Fingertips</A>
|
|||
|
,
|
|||
|
<A HREF="#SimWorld">SimWorld</A>
|
|||
|
,
|
|||
|
<A HREF="#SimAgent">SimAgent</A>
|
|||
|
,
|
|||
|
<A HREF="#Fuzzy sets for Ada">Fuzzy sets for Ada</A>
|
|||
|
,
|
|||
|
<A HREF="#maxent">maxent</A>
|
|||
|
,
|
|||
|
<A HREF="#Evo">Evo</A>
|
|||
|
,
|
|||
|
<A HREF="#breve">breve</A>
|
|||
|
and
|
|||
|
<A HREF="#AJA">AJA</A>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v2.0 - Ran linkchecker and for any bad links I either found a new
|
|||
|
link or removed the item. See the new section MIA for a list of the removed
|
|||
|
entries (please let me know if you know of a new home for them).
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#Yale">Yale</A>
|
|||
|
,
|
|||
|
<A HREF="#DIET Agents">DIET Agents</A>
|
|||
|
,
|
|||
|
<A HREF="#JASA">JASA</A>
|
|||
|
,
|
|||
|
<A HREF="#Jason">Jason</A>
|
|||
|
,
|
|||
|
<A HREF="#Noble Ape">Noble Ape</A>
|
|||
|
, Maude (removed),
|
|||
|
ECLiPSe (removed), lush (removed), and
|
|||
|
<A HREF="#pygp">pygp</A>
|
|||
|
</P>
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v1.9 - One new entry (
|
|||
|
<A HREF="#Bond">Bond</A>
|
|||
|
) and fixed the link below
|
|||
|
to the dynamic list (now defunct).
|
|||
|
</LI>
|
|||
|
<LI>v1.8 - Cleaned up bad links, finding new ones where possible and
|
|||
|
eliminating those that seem to have disappeared. Quite a few new entries as
|
|||
|
well.
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#Torch">Torch</A>
|
|||
|
,
|
|||
|
<A HREF="#Aleph">Aleph</A>
|
|||
|
,
|
|||
|
<A HREF="#AI Kernel">AI Kernel</A>
|
|||
|
,
|
|||
|
<A HREF="#OpenCyc">OpenCyc</A>
|
|||
|
,
|
|||
|
<A HREF="#HTK">HTK</A>
|
|||
|
,
|
|||
|
<A HREF="#FFLL">FFLL</A>
|
|||
|
,
|
|||
|
<A HREF="#JCK">JCK</A>
|
|||
|
,
|
|||
|
<A HREF="#Joone">Joone</A>
|
|||
|
,
|
|||
|
<A HREF="#scnANNlib">scnANNlib</A>
|
|||
|
,
|
|||
|
<A HREF="#GAUL">GAUL</A>
|
|||
|
,
|
|||
|
<A HREF="#Cougaar">Cougaar</A>
|
|||
|
, and
|
|||
|
<A HREF="#RoboTournament">RoboTournament</A>
|
|||
|
</P>
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v1.7 - Another 9 new entries, a bunch of links fixed, and a few items
|
|||
|
removed that have vanished from the net.
|
|||
|
|
|||
|
<P>New entries:
|
|||
|
<A HREF="#SPASS">SPASS</A>
|
|||
|
,
|
|||
|
<A HREF="#CNNs">CNNs</A>
|
|||
|
,
|
|||
|
<A HREF="#JCASim">JCASim</A>
|
|||
|
,
|
|||
|
<A HREF="#Genetic">Genetic</A>
|
|||
|
,
|
|||
|
<A HREF="#CAGE">CAGE</A>
|
|||
|
,
|
|||
|
<A HREF="#AgentFarms">AgentFarms</A>
|
|||
|
,
|
|||
|
<A HREF="#MATREM">MATREM</A>
|
|||
|
,
|
|||
|
<A HREF="#OAA">OAA</A>
|
|||
|
, and
|
|||
|
<A HREF="#UTCS">UTCS Neural Nets Research Group Software</A></P>
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI>v1.6 - 9 new entries, a couple link fixes and one duplicate item
|
|||
|
removed.</LI>
|
|||
|
<LI>v1.5 - 26 new entries plus a couple link fixes.</LI>
|
|||
|
<LI>v1.4 - 10 new updates and fixed some lisp-related links.</LI>
|
|||
|
<LI>v1.3 - Putting a dent in the backlog, I added 30+ new entries today
|
|||
|
and submitted it to the LDP.</LI>
|
|||
|
<LI>Previous records were in a mixed format with site updates. See the
|
|||
|
<A HREF="http://zhar.net/howto/oldnotes/">old notes</A>
|
|||
|
section of the master site for them.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<H2><A NAME="ss1.3">1.3</A> <A HREF="AI-Alife-HOWTO.html#toc1.3">Where to find this software</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>All this software should be available via the net (ftp || http). The
|
|||
|
links to where to find it will be provided in the description of each
|
|||
|
package. There will also be plenty of software not covered on these
|
|||
|
pages (which is usually platform independent) located on one of the
|
|||
|
resources listed on the
|
|||
|
<A HREF="http://zhar.net/howto/ai_links/">links section</A> of the Master Site (given above).</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss1.4">1.4</A> <A HREF="AI-Alife-HOWTO.html#toc1.4">Updates and comments</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>If you find any mistakes, know of updates to one of the items below,
|
|||
|
or have problems compiling any of the applications, please mail me at:
|
|||
|
<A HREF="mailto:jae@zhar.net">jae@zhar.net</A>
|
|||
|
and I'll see what I can do.</P>
|
|||
|
|
|||
|
<P>If you know of any AI/Alife applications, class libraries,
|
|||
|
etc. <B>Please</B>
|
|||
|
<A HREF="mailto:jae@zhar.net"> email me</A>
|
|||
|
about them. Include your name, ftp and/or http sites where they can be
|
|||
|
found, plus a brief overview/commentary on the software (this info
|
|||
|
would make things a lot easier on me... but don't feel obligated ;).</P>
|
|||
|
|
|||
|
<P>I know that keeping this list up to date and expanding it will take quite
|
|||
|
a bit of work. So please be patient (I do have other projects). I hope you
|
|||
|
will find this document helpful.</P>
|
|||
|
|
|||
|
<H2><A NAME="ss1.5">1.5</A> <A HREF="AI-Alife-HOWTO.html#toc1.5">Copyright/License</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>
|
|||
|
<A HREF="http://creativecommons.org/publicdomain/zero/1.0/">CC0</A></P>
|
|||
|
|
|||
|
<P> To the extent possible under law, John Eikenberry has waived all copyright
|
|||
|
and related or neighboring rights to this work. This work is published from:
|
|||
|
United States.</P>
|
|||
|
|
|||
|
|
|||
|
<HR>
|
|||
|
<H2><A NAME="Symbolic Systems (GOFAI)"></A> <A NAME="s2">2.</A> <A HREF="AI-Alife-HOWTO.html#toc2">Symbolic Systems (GOFAI)</A> </H2>
|
|||
|
|
|||
|
|
|||
|
<P>Traditionally AI was based around the ideas of logic, rule systems,
|
|||
|
linguistics, and the concept of rationality. At its roots are programming
|
|||
|
languages such as Lisp and Prolog though newer systems tend to use more
|
|||
|
popular procedural languages. Expert systems are the largest successful
|
|||
|
example of this paradigm. An expert system consists of a detailed
|
|||
|
knowledge base and a complex rule system to utilize it. Such systems have
|
|||
|
been used for such things as medical diagnosis support and credit checking
|
|||
|
systems.</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss2.1">2.1</A> <A HREF="AI-Alife-HOWTO.html#toc2.1">AI class/code libraries</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>These are libraries of code or classes for use in programming within
|
|||
|
the artificial intelligence field. They are not meant as stand alone
|
|||
|
applications, but rather as tools for building your own applications.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="ACL2"></A> </P>
|
|||
|
<DT><B>ACL2</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cliki.net/ACL2">www.cliki.net/ACL2</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>ACL2 (A Computational Logic for Applicative Common Lisp) is a theorem
|
|||
|
prover for industrial applications. It is both a mathematical logic and
|
|||
|
a system of tools for constructing proofs in the logic. ACL2 works
|
|||
|
with GCL (GNU Common Lisp).</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="AI Kernel"></A> </P>
|
|||
|
<DT><B>AI Kernel</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://aikernel.sourceforge.net/">aikernel.sourceforge.net</A></LI>
|
|||
|
<LI>Sourceforge site:
|
|||
|
<A HREF="http://sourceforge.net/projects/aikernel/">sourceforge.net/projects/aikernel/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The AI Kernel is a re-usable artificial intelligence engine that uses
|
|||
|
natural language processing and an Activator / Context model to allow
|
|||
|
multi tasking between installed cells.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="AI Search II"></A> </P>
|
|||
|
<DT><B>AI Search II</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>WEB site:
|
|||
|
<A HREF="http://www.neiu.edu/~kwtracy/ooai-book/">http://www.neiu.edu/~kwtracy/ooai-book/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Basically, the library offers the programmer a set of search
|
|||
|
algorithms that may be used to solve all kind of different
|
|||
|
problems. The idea is that when developing problem solving software
|
|||
|
the programmer should be able to concentrate on the representation of
|
|||
|
the problem to be solved and should not need to bother with the
|
|||
|
implementation of the search algorithm that will be used to actually
|
|||
|
conduct the search. This idea has been realized by the implementation
|
|||
|
of a set of search classes that may be incorporated in other software
|
|||
|
through <B>C++</B>'s features of derivation and inheritance. The
|
|||
|
following search algorithms have been implemented:</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>depth-first tree and graph search.</LI>
|
|||
|
<LI>breadth-first tree and graph search.</LI>
|
|||
|
<LI>uniform-cost tree and graph search.</LI>
|
|||
|
<LI>best-first search.</LI>
|
|||
|
<LI>bidirectional depth-first tree and graph search.</LI>
|
|||
|
<LI>bidirectional breadth-first tree and graph search.</LI>
|
|||
|
<LI>AND/OR depth tree search.</LI>
|
|||
|
<LI>AND/OR breadth tree search.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>This library has a corresponding book, "
|
|||
|
<A HREF="http://www.neiu.edu/~kwtracy/ooai-book/">Object-Oriented Artificial Intelligence, Using C++</A>".</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Alchemy"></A> </P>
|
|||
|
<DT><B>Alchemy</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://alchemy.cs.washington.edu/">http://alchemy.cs.washington.edu/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Alchemy is a software package providing a series of algorithms for
|
|||
|
statistical relational learning and probabilistic logic inference,
|
|||
|
based on the Markov logic representation. Alchemy allows you to easily
|
|||
|
develop a wide range of AI applications, including:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>Collective classification</LI>
|
|||
|
<LI>Link prediction</LI>
|
|||
|
<LI>Entity resolution</LI>
|
|||
|
<LI>Social network modeling</LI>
|
|||
|
<LI>Information extraction</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Aleph"></A> </P>
|
|||
|
<DT><B>Aleph</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.ox.ac.uk/activities/machlearn/Aleph/">http://www.cs.ox.ac.uk/activities/machlearn/Aleph/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This document provides reference information on A Learning Engine for
|
|||
|
Proposing Hypotheses (Aleph). Aleph is an Inductive Logic Programming
|
|||
|
(ILP) system. Aleph is intended to be a prototype for exploring ideas.
|
|||
|
Aleph is an ILP algorithm implemented in Prolog by Dr Ashwin
|
|||
|
Srinivasan at the Oxford University Computing Laboratory, and is
|
|||
|
written specifically for compilation with the YAP Prolog compiler</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CBR Microprograms"></A> </P>
|
|||
|
<DT><B>Microprograms</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.indiana.edu/~leake/cbr/code/">http://www.cs.indiana.edu/~leake/cbr/code/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A collection of case-based reasoning "micro" versions of dissertation
|
|||
|
programs that were developed for pedagogical purposes. These programs
|
|||
|
are meant to distill key aspects of the original programs into a form
|
|||
|
that can be easily understood, modified, and extended.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Chess In List"></A> </P>
|
|||
|
<DT><B>Chess In Lisp (CIL)</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: *found as part of the CLOCC archive at:
|
|||
|
<A HREF="http://clocc.sourceforge.net/">clocc.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The CIL (Chess In Lisp) foundation is a Common Lisp
|
|||
|
implementaion of all the core functions needed for development
|
|||
|
of chess applications. The main purpose of the CIL project is
|
|||
|
to get AI researchers interested in using Lisp to work in the
|
|||
|
chess domain.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="clasp"></A> </P>
|
|||
|
<DT><B>clasp</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.uni-potsdam.de/clasp/">http://www.cs.uni-potsdam.de/clasp/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>clasp is an answer set solver for (extended) normal logic programs. It
|
|||
|
combines the high-level modeling capacities of answer set programming
|
|||
|
(ASP) with state-of-the-art techniques from the area of Boolean
|
|||
|
constraint solving. The primary clasp algorithm relies on
|
|||
|
conflict-driven nogood learning, a technique that proved very
|
|||
|
successful for satisfiability checking (SAT). Unlike other learning ASP
|
|||
|
solvers, clasp does not rely on legacy software, such as a SAT solver
|
|||
|
or any other existing ASP solver. Rather, clasp has been genuinely
|
|||
|
developed for answer set solving based on conflict-driven nogood
|
|||
|
learning. clasp can be applied as an ASP solver (on LPARSE output
|
|||
|
format), as a SAT solver (on simplified DIMACS/CNF format), or as a PB
|
|||
|
solver (on OPB format).</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ConceptNet"></A> </P>
|
|||
|
<DT><B>ConceptNet</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://conceptnet.media.mit.edu/">http://conceptnet.media.mit.edu/</A></LI>
|
|||
|
<LI>Old Web site:
|
|||
|
<A HREF="http://web.media.mit.edu/~hugo/conceptnet/">http://web.media.mit.edu/~hugo/conceptnet/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>ConceptNet aims to give computers access to common-sense knowledge, the
|
|||
|
kind of information that ordinary people know but usually leave
|
|||
|
unstated. The data in ConceptNet was collected from ordinary people who
|
|||
|
contributed it over the Web. ConceptNet represents this data in the
|
|||
|
form of a semantic network, and makes it available to be used in
|
|||
|
natural language processing and intelligent user interfaces.</P>
|
|||
|
<P>This API provides Python code with access to both ConceptNet 3 and the
|
|||
|
development database that will become ConceptNet 4, and the natural
|
|||
|
language tools necessary to work with it. It uses Django for
|
|||
|
interacting with the database.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ERESYE"></A> </P>
|
|||
|
<DT><B>ERESYE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/eresye/">http://sourceforge.net/projects/eresye/</A></LI>
|
|||
|
<LI>Tutorial:
|
|||
|
<A HREF="http://www.trapexit.org/Artificial_Intelligence_with_Erlang:_the_Domain_of_Relatives">http://www.trapexit.org/Artificial_Intelligence_with_Erlang:_the_Domain_of_Relatives</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>ERESYE means ERlang Expert SYstem Engine. It is a library to write
|
|||
|
expert systems and rule processing engines using the Erlang programming
|
|||
|
language. It allows to create multiple engines, each one with its own
|
|||
|
facts and rules to be processed.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="FFLL"></A> </P>
|
|||
|
<DT><B>FFLL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ffll.sourceforge.net/">ffll.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Free Fuzzy Logic Library (FFLL) is an open source fuzzy logic class
|
|||
|
library and API that is optimized for speed critical applications, such
|
|||
|
as video games. FFLL is able to load files that adhere to the IEC
|
|||
|
61131-7 standard.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="FLiP"></A> </P>
|
|||
|
<DT><B>FLiP</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://staff.washington.edu/jon/flip/www/">http://staff.washington.edu/jon/flip/www/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Flip is a logical framework written in Python. A logical framework is a
|
|||
|
library for defining logics and writing applications such as theorem
|
|||
|
provers. The checker can use different logics; Flip comes with several.
|
|||
|
You can add another logic, or add axioms and derived rules, by writing
|
|||
|
a module in Python. Python is both the object language and the
|
|||
|
metalanguage. Formulas, inference rules, and entire proofs are Python
|
|||
|
expressions. Prover commands are Python functions.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Fuzzy sets for Ada"></A> </P>
|
|||
|
<DT><B>Fuzzy sets for Ada</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.dmitry-kazakov.de/ada/fuzzy.htm">http://www.dmitry-kazakov.de/ada/fuzzy.htm</A></LI>
|
|||
|
<LI>Freshmeat:
|
|||
|
<A HREF="http://freshmeat.net/projects/fuzzy/">http://freshmeat.net/projects/fuzzy/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Fuzzy sets for Ada is a library providing implementations of confidence
|
|||
|
factors with the operations not, and, or, xor, +, and *, classical
|
|||
|
fuzzy sets with the set-theoretic operations and the operations of the
|
|||
|
possibility theory, intuitionistic fuzzy sets with the operations on
|
|||
|
them, fuzzy logic based on the intuitionistic fuzzy sets and the
|
|||
|
possibility theory; fuzzy numbers, both integer and floating-point with
|
|||
|
conventional arithmetical operations, and linguistic variables and sets
|
|||
|
of linguistic variables with operations on them. String-oriented I/O
|
|||
|
is supported.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="HTK"></A> </P>
|
|||
|
<DT><B>HTK</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://htk.eng.cam.ac.uk/">htk.eng.cam.ac.uk</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Hidden Markov Model Toolkit (HTK) is a portable toolkit for
|
|||
|
building and manipulating hidden Markov models. HTK consists of a set
|
|||
|
of library modules and tools available in C source form. The tools
|
|||
|
provide sophisticated facilities for speech analysis, HMM training,
|
|||
|
testing and results analysis. The software supports HMMs using both
|
|||
|
continuous density mixture Gaussians and discrete distributions and can
|
|||
|
be used to build complex HMM systems. The HTK release contains
|
|||
|
extensive documentation and examples.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JCK"></A> </P>
|
|||
|
<DT><B>JCK</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.pms.informatik.uni-muenchen.de/software/jack/">www.pms.informatik.uni-muenchen.de/software/jack/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>JCK is a new library providing constraint programming and search for
|
|||
|
Java.
|
|||
|
<UL>
|
|||
|
<LI>JCK consists of three components:</LI>
|
|||
|
<LI>- JCHR: Java Constraint Handling Rules.
|
|||
|
A high-level language to write constraint solvers.</LI>
|
|||
|
<LI>- JASE: Java Abstract Search Engine.
|
|||
|
A generic search engine for JCHR to solve constraint
|
|||
|
problems.</LI>
|
|||
|
<LI>- VisualCHR:
|
|||
|
An interactive tool to visualize JCHR computations.</LI>
|
|||
|
</UL>
|
|||
|
|
|||
|
Source and documentation available from link above.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="KANREN"></A> </P>
|
|||
|
<DT><B>KANREN</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://kanren.sourceforge.net/">kanren.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>KANREN is a declarative logic programming system with first-class
|
|||
|
relations, embedded in a pure functional subset of Scheme. The system
|
|||
|
has a set-theoretical semantics, true unions, fair scheduling,
|
|||
|
first-class relations, lexically-scoped logical variables, depth-first
|
|||
|
and iterative deepening strategies. The system achieves high
|
|||
|
performance and expressivity without cuts.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="LK"></A> </P>
|
|||
|
<DT><B>LK</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.utoronto.ca/~neto/research/lk/">www.cs.utoronto.ca/~neto/research/lk/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>LK is an implementation of the Lin-Kernighan heuristic for the
|
|||
|
Traveling Salesman Problem and for the minimum weight perfect matching
|
|||
|
problem. It is tuned for 2-d geometric instances, and has been applied
|
|||
|
to certain instances with up to a million cities. Also included are
|
|||
|
instance generators and Perl scripts for munging TSPLIB instances. </P>
|
|||
|
<P>This implementation introduces ``efficient cluster compensation'', an
|
|||
|
experimental algorithmic technique intended to make the Lin-Kernighan
|
|||
|
heuristic more robust in the face of clustered data.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="LingPipe"></A> </P>
|
|||
|
<DT><B>LingPipe</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://alias-i.com/lingpipe/">http://alias-i.com/lingpipe/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>LingPipe is a state-of-the-art suite of natural language processing
|
|||
|
tools written in Java that performs tokenization, sentence detection,
|
|||
|
named entity detection, coreference resolution, classification,
|
|||
|
clustering, part-of-speech tagging, general chunking, fuzzy dictionary
|
|||
|
matching.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Logfun"></A> </P>
|
|||
|
<DT><B>Logfun</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.irisa.fr/lande/ferre/logfun/">http://www.irisa.fr/lande/ferre/logfun/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Logfun is a library of logic functors. A logic functor is a
|
|||
|
function that can be applied to zero, one or several logics so as
|
|||
|
to produce a new logic as a combination of argument logics. Each
|
|||
|
argument logic can itself be built by combination of logic
|
|||
|
functors. The signature of a logic is made of a parser and a
|
|||
|
printer of formulas, logical operations such as a theorem prover
|
|||
|
for entailment between formulas, and more specific operations
|
|||
|
required by Logical Information Systems (LIS). Logic functors can
|
|||
|
be concrete domains like integers, strings, or algebraic
|
|||
|
combinators like product or sum of logics.</P>
|
|||
|
<P>Logic functors are coded as Objective Caml modules. A logic
|
|||
|
semantics is associated to each of these logic functors. This
|
|||
|
enables to define properties of logics like the consistency and
|
|||
|
completeness of the entailment prover, and to prove under which
|
|||
|
conditions a generated entailement prover satisfies these
|
|||
|
properties given the properties of argument logics.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Loom"></A> </P>
|
|||
|
<DT><B>Loom</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.isi.edu/isd/LOOM/">http://www.isi.edu/isd/LOOM/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>* Note: Loom has been succeeded by
|
|||
|
<A HREF="#PowerLoom">PowerLoom</A>
|
|||
|
.</P>
|
|||
|
<P>Loom is a language and environment for constructing intelligent
|
|||
|
applications. The heart of Loom is a knowledge representation system
|
|||
|
that is used to provide deductive support for the declarative portion
|
|||
|
of the Loom language. Declarative knowledge in Loom consists of
|
|||
|
definitions, rules, facts, and default rules. A deductive engine called
|
|||
|
a classifier utilizes forward-chaining, semantic unification and
|
|||
|
object-oriented truth maintainance technologies in order to compile the
|
|||
|
declarative knowledge into a network designed to efficiently support
|
|||
|
on-line deductive query processing.</P>
|
|||
|
<P>The Loom system implements a logic-based pattern matcher that drives a
|
|||
|
production rule facility and a pattern-directed method dispatching
|
|||
|
facility that supports the definition of object-oriented methods. The
|
|||
|
high degree of integration between Loom's declarative and procedural
|
|||
|
components permits programmers to utilize logic programming, production
|
|||
|
rule, and object-oriented programming paradigms in a single
|
|||
|
application. Loom can also be used as a deductive layer that overlays
|
|||
|
an ordinary CLOS network. In this mode, users can obtain many of the
|
|||
|
benefits of using Loom without impacting the function or performance of
|
|||
|
their CLOS-based applications.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="maxent"></A> </P>
|
|||
|
<DT><B>maxent</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Python/C++ version:
|
|||
|
<A HREF="http://homepages.inf.ed.ac.uk/lzhang10/maxent_toolkit.html">http://homepages.inf.ed.ac.uk/lzhang10/maxent_toolkit.html</A></LI>
|
|||
|
<LI>Java version:
|
|||
|
<A HREF="http://maxent.sourceforge.net/">maxent.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Maximum Entropy Toolkit provides a set of tools and library for
|
|||
|
constructing maximum entropy (maxent) models in either Python or C++.
|
|||
|
Maxent Entropy Model is a general purpose machine learning framework
|
|||
|
that has proved to be highly expressive and powerful in statistical
|
|||
|
natural language processing, statistical physics, computer vision and
|
|||
|
many other fields.</P>
|
|||
|
<P>It features conditional maximum entropy models, L-BFGS and GIS
|
|||
|
parameter estimation, Gaussian Prior smoothing, a C++ API, a Python
|
|||
|
extension module, a command line utility, and good documentation. A
|
|||
|
Java version is also available.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Nyquist"></A> </P>
|
|||
|
<DT><B>Nyquist</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www-2.cs.cmu.edu/~music/nyquist/">www-2.cs.cmu.edu/~music/nyquist/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Computer Music Project at CMU is developing computer music
|
|||
|
and interactive performance technology to enhance human musical
|
|||
|
experience and creativity. This interdisciplinary effort draws
|
|||
|
on Music Theory, Cognitive Science, Artificial Intelligence and
|
|||
|
Machine Learning, Human Computer Interaction, Real-Time Systems,
|
|||
|
Computer Graphics and Animation, Multimedia, Programming
|
|||
|
Languages, and Signal Processing. A paradigmatic example of
|
|||
|
these interdisciplinary efforts is the creation of interactive
|
|||
|
performances that couple human musical improvisation with
|
|||
|
intelligent computer agents in real-time.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="OpenCyc"></A> </P>
|
|||
|
<DT><B>OpenCyc</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.opencyc.org/">http://www.opencyc.org/</A></LI>
|
|||
|
<LI>Alt Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/opencyc/">http://sourceforge.net/projects/opencyc/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>OpenCyc is the open source version of Cyc, the largest and most
|
|||
|
complete general knowledge base and commonsense reasoning engine. An
|
|||
|
ontology based on 6000 concepts and 60000 assertions about them.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Pattern"></A> </P>
|
|||
|
<DT><B>Pattern</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.clips.ua.ac.be/pages/pattern">http://www.clips.ua.ac.be/pages/pattern</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Pattern is a web mining module for the Python programming language. It
|
|||
|
bundles tools for data retrieval (Google + Twitter + Wikipedia API, web
|
|||
|
spider, HTML DOM parser), text analysis (rule-based shallow parser,
|
|||
|
WordNet interface, syntactical + semantical n-gram search algorithm,
|
|||
|
tf-idf + cosine similarity + LSA metrics) and data visualization (graph
|
|||
|
networks).</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PowerLoom"></A> </P>
|
|||
|
<DT><B>PowerLoom</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.isi.edu/isd/LOOM/PowerLoom/">http://www.isi.edu/isd/LOOM/PowerLoom/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>PowerLoom is the successor to the
|
|||
|
<A HREF="#Loom">Loom</A>
|
|||
|
knowledge
|
|||
|
representation system. It provides a language and environment for
|
|||
|
constructing intelligent, knowledge-based applications. PowerLoom uses
|
|||
|
a fully expressive, logic-based representation language (a variant of
|
|||
|
KIF). It uses a natural deduction inference engine that combines
|
|||
|
forward and backward chaining to derive what logically follows from the
|
|||
|
facts and rules asserted in the knowledge base. While PowerLoom is not
|
|||
|
a description logic, it does have a description classifier which uses
|
|||
|
technology derived from the Loom classifier to classify descriptions
|
|||
|
expressed in full first order predicate calculus (see paper). PowerLoom
|
|||
|
uses modules as a structuring device for knowledge bases, and
|
|||
|
ultra-lightweight worlds to support hypothetical reasoning.</P>
|
|||
|
<P>To implement PowerLoom we developed a new programming language called
|
|||
|
STELLA, which is a Strongly Typed, Lisp-like LAnguage that can be
|
|||
|
translated into Lisp, C++ and Java. PowerLoom is written in STELLA and
|
|||
|
therefore available in Common-Lisp, C++ and Java versions.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PyCLIPS"></A> </P>
|
|||
|
<DT><B>PyCLIPS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://pyclips.sourceforge.net/web/">http://pyclips.sourceforge.net/web/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>PyCLIPS is an extension module for the Python language that embeds full
|
|||
|
CLIPS functionality in Python applications. This means that you can
|
|||
|
provide Python with a strong, reliable, widely used and well documented
|
|||
|
inference engine.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Pyke"></A> </P>
|
|||
|
<DT><B>Pyke</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://pyke.sourceforge.net/">http://pyke.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Pyke is a knowledge-based inference engine (expert system) written in
|
|||
|
100% python that can:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI> Do both forward-chaining (data driven) and backward-chaining
|
|||
|
(goal directed) inferencing.
|
|||
|
<UL>
|
|||
|
<LI> Pyke may be embedded into any python program.</LI>
|
|||
|
</UL>
|
|||
|
|
|||
|
</LI>
|
|||
|
<LI> Automatically generate python programs by assembling
|
|||
|
individual python functions into complete call graphs.
|
|||
|
|
|||
|
<UL>
|
|||
|
<LI> This is done through a unique design where the individual
|
|||
|
python functions are attached to backward-chaining rules.
|
|||
|
</LI>
|
|||
|
<LI> Unlike other approaches to code reuse (e.g. Zope adapters
|
|||
|
and generic functions), this allows the inference engine to ensure
|
|||
|
that all of the function's requirements are completely satisfied,
|
|||
|
by examining the entire call graph down to the leaves, before any
|
|||
|
of the functions are executed.
|
|||
|
</LI>
|
|||
|
<LI> This is an optional feature. You don't need to use it if you
|
|||
|
just want the inferencing capability by itself.
|
|||
|
</LI>
|
|||
|
</UL>
|
|||
|
</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="python-dlp"></A> </P>
|
|||
|
<DT><B>python-dlp</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://code.google.com/p/python-dlp/">http://code.google.com/p/python-dlp/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>python-dlp aims to be a contemporary expert system based on the
|
|||
|
Semantic Web technologies. Traditionally, expert systems are an
|
|||
|
application of computing and artificial intelligence with the aim
|
|||
|
of supporting software that attempts to reproduce the deterministic
|
|||
|
behavior of one or more human experts in a specific problem domain.
|
|||
|
It utilizes the efficient RETE_UL algorithm as the 'engine' for the
|
|||
|
expert system</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Reverend"></A> </P>
|
|||
|
<DT><B>Reverend</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/reverend/">http://sourceforge.net/projects/reverend/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Reverned is a general purpose Bayesian classifier written in Python. It
|
|||
|
is designed to be easily extended to any application domain.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Screamer"></A> </P>
|
|||
|
<DT><B>Screamer</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Latest version is part of CLOCC:
|
|||
|
<A HREF="http://clocc.sourceforge.net/">clocc.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Screamer is an extension of Common Lisp that adds support for
|
|||
|
nondeterministic programming. Screamer consists of two
|
|||
|
levels. The basic nondeterministic level adds support for
|
|||
|
backtracking and undoable side effects. On top of this
|
|||
|
nondeterministic substrate, Screamer provides a comprehensive
|
|||
|
constraint programming language in which one can formulate and
|
|||
|
solve mixed systems of numeric and symbolic
|
|||
|
constraints. Together, these two levels augment Common Lisp with
|
|||
|
practically all of the functionality of both Prolog and
|
|||
|
constraint logic programming languages such as CHiP and CLP(R).
|
|||
|
Furthermore, Screamer is fully integrated with Common
|
|||
|
Lisp. Screamer programs can coexist and interoperate with other
|
|||
|
extensions to Common Lisp such as CLOS, CLIM and Iterate.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SimpleAI"></A> </P>
|
|||
|
<DT><B>SimpleAI</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="https://github.com/simpleai-team/simpleai">https://github.com/simpleai-team/simpleai</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Python library that implements many of the artificial intelligence
|
|||
|
algorithms described on the book "Artificial Intelligence, a Modern
|
|||
|
Approach", from Stuart Russel and Peter Norvig. Emphasis on creating a
|
|||
|
stable, modern, and maintainable version. We are testing the majority
|
|||
|
of the lib, it's available via pip install, has a standard repo and lib
|
|||
|
architecture, well documented, respects the python pep8 guidelines,
|
|||
|
provides only working code (no placeholders for future things), etc.
|
|||
|
Even the internal code is written with readability in mind, not only
|
|||
|
the external API.</P>
|
|||
|
<P>There is also
|
|||
|
<A HREF="https://code.google.com/p/aima-python/">https://code.google.com/p/aima-python/</A>
|
|||
|
which implements these algorithms as well. Though it hasn't seen
|
|||
|
activity in a while.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SPASS"></A> </P>
|
|||
|
<DT><B>SPASS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.spass-prover.org/">http://www.spass-prover.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>SPASS: An Automated Theorem Prover for First-Order Logic with Equality</P>
|
|||
|
<P>If you are interested in first-order logic theorem proving, the formal
|
|||
|
analysis of software, systems, protocols, formal approaches to AI
|
|||
|
planning, decision procedures, modal logic theorem proving, SPASS may
|
|||
|
offer you the right functionality.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Torch"></A> </P>
|
|||
|
<DT><B>Torch</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.torch.ch/">www.torch.ch</A></LI>
|
|||
|
<LI>Successor:
|
|||
|
<A HREF="#Torch5">Torch5</A>
|
|||
|
</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Torch is a machine-learning library, written in C++. Its aim is to
|
|||
|
provide the state-of-the-art of the best algorithms. It is, and it
|
|||
|
will be, in development forever.</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>Many gradient-based methods, including multi-layered
|
|||
|
perceptrons, radial basis functions, and mixtures of experts. Many
|
|||
|
small "modules" (Linear module, Tanh module, SoftMax module, ...)
|
|||
|
can be plugged together.
|
|||
|
</LI>
|
|||
|
<LI>Support Vector Machine, for classification and regression.
|
|||
|
</LI>
|
|||
|
<LI>Distribution package, includes Kmeans, Gaussian Mixture
|
|||
|
Models, Hidden Markov Models, and Bayes Classifier, and classes for
|
|||
|
speech recognition with embedded training.
|
|||
|
</LI>
|
|||
|
<LI>Ensemble models such as Bagging and Adaboost.
|
|||
|
</LI>
|
|||
|
<LI>Non-parametric models such as K-nearest-neighbors, Parzen
|
|||
|
Regression and Parzen Density Estimator.
|
|||
|
</LI>
|
|||
|
<LI></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Torch is an open library whose authors encourage everybody to develop
|
|||
|
new packages to be included in future versions on the official website.</P>
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss2.2">2.2</A> <A HREF="AI-Alife-HOWTO.html#toc2.2">AI software kits, applications, etc.</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>These are various applications, software kits, etc. meant for research
|
|||
|
in the field of artificial intelligence. Their ease of use will vary,
|
|||
|
as they were designed to meet some particular research interest more
|
|||
|
than as an easy to use commercial package.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="ASA"></A> </P>
|
|||
|
<DT><B>ASA - Adaptive Simulated Annealing</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.ingber.com/#ASA-CODE">http://www.ingber.com/#ASA-CODE</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>ASA (Adaptive Simulated Annealing) is a powerful global
|
|||
|
optimization C-code algorithm especially useful for nonlinear and/or
|
|||
|
stochastic systems.</P>
|
|||
|
<P>ASA is developed to statistically find the best global fit of a
|
|||
|
nonlinear non-convex cost-function over a D-dimensional space. This
|
|||
|
algorithm permits an annealing schedule for 'temperature' T decreasing
|
|||
|
exponentially in annealing-time k, T = T_0 exp(-c k^1/D).
|
|||
|
The introduction of re-annealing also permits adaptation to changing
|
|||
|
sensitivities in the multi-dimensional parameter-space. This annealing
|
|||
|
schedule is faster than fast Cauchy annealing, where T = T_0/k,
|
|||
|
and much faster than Boltzmann annealing, where T = T_0/ln k.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Babylon"></A> </P>
|
|||
|
<DT><B>Babylon</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Archive:
|
|||
|
<A HREF="http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/expert/systems/babylon/">http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/expert/systems/babylon/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>BABYLON is a modular, configurable, hybrid environment for
|
|||
|
developing expert systems. Its features include objects, rules with
|
|||
|
forward and backward chaining, logic (Prolog) and constraints. BABYLON
|
|||
|
is implemented and embedded in Common Lisp.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="cfengine"></A> </P>
|
|||
|
<DT><B>cfengine</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.iu.hio.no/cfengine/">www.iu.hio.no/cfengine/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Cfengine, or the configuration engine is a very high level language for
|
|||
|
building expert systems which administrate and configure large computer
|
|||
|
networks. Cfengine uses the idea of classes and a primitive form of
|
|||
|
intelligence to define and automate the configuration of large systems
|
|||
|
in the most economical way possible. Cfengine is design to be a part of
|
|||
|
computer immune systems.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CLIPS"></A> </P>
|
|||
|
<DT><B>CLIPS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://clipsrules.sourceforge.net/">http://clipsrules.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>CLIPS is a productive development and delivery expert system tool
|
|||
|
which provides a complete environment for the construction of rule
|
|||
|
and/or object based expert systems.</P>
|
|||
|
<P>CLIPS provides a cohesive tool for handling a wide variety of
|
|||
|
knowledge with support for three different programming paradigms:
|
|||
|
rule-based, object-oriented and procedural. Rule-based programming
|
|||
|
allows knowledge to be represented as heuristics, or "rules of thumb,"
|
|||
|
which specify a set of actions to be performed for a given
|
|||
|
situation. Object-oriented programming allows complex systems to be
|
|||
|
modeled as modular components (which can be easily reused to model
|
|||
|
other systems or to create new components). The procedural
|
|||
|
programming capabilities provided by CLIPS are similar to capabilities
|
|||
|
found in languages such as C, Pascal, Ada, and LISP.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="EMA-XPS"></A> </P>
|
|||
|
<DT><B>EMA-XPS - A Hybrid Graphic Expert System Shell</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ema-xps.org/">http://ema-xps.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>EMA-XPS is a hybrid graphic expert system shell based on the
|
|||
|
ASCII-oriented shell Babylon 2.3 of the German National Research
|
|||
|
Center for Computer Sciences (GMD). In addition to Babylon's AI-power
|
|||
|
(object oriented data representation, forward and backward chained
|
|||
|
rules - collectible into sets, horn clauses, and constraint networks)
|
|||
|
a graphic interface based on the X11 Window System and the OSF/Motif
|
|||
|
Widget Library has been provided.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Eprover"></A> </P>
|
|||
|
<DT><B>Eprover</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.eprover.org/">http://www.eprover.org/</A></LI>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www4.informatik.tu-muenchen.de/~schulz/WORK/eprover.html">http://www4.informatik.tu-muenchen.de/~schulz/WORK/eprover.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The E Equational Theorem Prover is a purely equational theorem prover.
|
|||
|
The core proof procedure operates on formulas in clause normal form,
|
|||
|
using a calculus that combines superposition (with selection of negative
|
|||
|
literals) and rewriting. No special rules for non-equational literals
|
|||
|
have been implemented, i.e., resolution is simulated via paramodulation
|
|||
|
and equality resolution. The basic calculus is extended with rules for AC
|
|||
|
redundancy elemination, some contextual simplification, and
|
|||
|
pseudo-splitting. The latest version of E also supports simultaneous
|
|||
|
paramodulation, either for all inferences or for selected inferences.</P>
|
|||
|
<P>E is based on the DISCOUNT-loop variant of the given-clause algorithm,
|
|||
|
i.e. a strict separation of active and passive facts. Proof search in E
|
|||
|
is primarily controlled by a literal selection strategy, a clause
|
|||
|
evaluation heuristic, and a simplification ordering. The prover supports
|
|||
|
a large number of preprogrammed literal selection strategies, many of
|
|||
|
which are only experimental. Clause evaluation heuristics can be
|
|||
|
constructed on the fly by combining various parameterized primitive
|
|||
|
evaluation functions, or can be selected from a set of predefined
|
|||
|
heuristics. Supported term orderings are several parameterized instances
|
|||
|
of Knuth-Bendix-Ordering (KBO) and Lexicographic Path Ordering (LPO). </P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Fool-Fox"></A> </P>
|
|||
|
<DT><B>FOOL & FOX</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://rhaug.de/fool/">rhaug.de/fool/</A></LI>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://ftp.informatik.uni-oldenburg.de/pub/fool/">ftp.informatik.uni-oldenburg.de/pub/fool/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>FOOL stands for the Fuzzy Organizer OLdenburg. It is a result from
|
|||
|
a project at the University of Oldenburg. FOOL is a graphical user
|
|||
|
interface to develop fuzzy rulebases. FOOL will help you to invent
|
|||
|
and maintain a database that specifies the behavior of a
|
|||
|
fuzzy-controller or something like that.</P>
|
|||
|
|
|||
|
<P>FOX is a small but powerful fuzzy engine which reads this database,
|
|||
|
reads some input values and calculates the new control value.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="FreeHAL"></A> </P>
|
|||
|
<DT><B>FreeHAL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="https://freehal.net">https://freehal.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>FreeHAL is a self-learning conversation simulator which uses semantic
|
|||
|
nets to organize its knowledge.</P>
|
|||
|
<P>FreeHAL uses a semantic network, pattern matching, stemmers, part of
|
|||
|
speech databases, part of speech taggers, and Hidden Markov Models.
|
|||
|
Both the online and the download version support TTS.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="FUF-SURGE"></A> </P>
|
|||
|
<DT><B>FUF and SURGE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.bgu.ac.il/surge/index.html">http://www.cs.bgu.ac.il/surge/index.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>FUF is an extended implementation of the formalism of functional
|
|||
|
unification grammars (FUGs) introduced by Martin Kay specialized to
|
|||
|
the task of natural language generation. It adds the following
|
|||
|
features to the base formalism:
|
|||
|
<UL>
|
|||
|
<LI>Types and inheritance.</LI>
|
|||
|
<LI>Extended control facilities (goal freezing, intelligent
|
|||
|
backtracking).</LI>
|
|||
|
<LI>Modular syntax.</LI>
|
|||
|
</UL>
|
|||
|
|
|||
|
These extensions allow the development of large grammars which can be
|
|||
|
processed efficiently and can be maintained and understood more
|
|||
|
easily. SURGE is a large syntactic realization grammar of English
|
|||
|
written in FUF. SURGE is developed to serve as a black box syntactic
|
|||
|
generation component in a larger generation system that encapsulates a
|
|||
|
rich knowledge of English syntax. SURGE can also be used as a platform
|
|||
|
for exploration of grammar writing with a generation perspective.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GATE"></A> </P>
|
|||
|
<DT><B>GATE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://gate.ac.uk/">http://gate.ac.uk/</A></LI>
|
|||
|
<LI>Alt site:
|
|||
|
<A HREF="http://sourceforge.net/projects/gate">http://sourceforge.net/projects/gate</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GATE (General Architecture for Text Engineering) is an architecture,
|
|||
|
framework and development environment for developing, evaluating and
|
|||
|
embedding Human Language Technology.</P>
|
|||
|
<P>GATE is made up of three elements:
|
|||
|
<UL>
|
|||
|
<LI>An architecture describing how language processing systems are
|
|||
|
made up of components.</LI>
|
|||
|
<LI>A framework (or class library, or SDK), written in Java and
|
|||
|
tested on Linux, Windoze and Solaris.</LI>
|
|||
|
<LI>A graphical development environment built on the framework.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Grammar Workbench"></A> </P>
|
|||
|
<DT><B>The Grammar Workbench</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: ???
|
|||
|
<A HREF="http://www.cs.kun.nl/agfl/">www.cs.kun.nl/agfl/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Seems to be obsolete??? Its gone from the site, though its parent
|
|||
|
project is still ongoing.</P>
|
|||
|
<P>The Grammar Workbench, or GWB for short, is an environment for the
|
|||
|
comfortable development of Affix Grammars in the AGFL-formalism. Its
|
|||
|
purposes are:
|
|||
|
<UL>
|
|||
|
<LI>to allow the user to input, inspect and modify a grammar; </LI>
|
|||
|
<LI>to perform consistency checks on the grammar; </LI>
|
|||
|
<LI>to compute grammar properties; </LI>
|
|||
|
<LI>to generate example sentences; </LI>
|
|||
|
<LI>to assist in performing grammar transformations. </LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GSM Suite"></A> </P>
|
|||
|
<DT><B>GSM Suite</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Alt site:
|
|||
|
<A HREF="http://www.ibiblio.org/pub/Linux/apps/graphics/draw/">www.ibiblio.org/pub/Linux/apps/graphics/draw/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The GSM Suite is a set of programs for using Finite State
|
|||
|
Machines in a graphical fashion. The suite consists of programs
|
|||
|
that edit, compile, and print state machines. Included in the
|
|||
|
suite is an editor program, gsmedit, a compiler, gsm2cc, that
|
|||
|
produces a C++ implementation of a state machine, a PostScript
|
|||
|
generator, gsm2ps, and two other minor programs. GSM is licensed
|
|||
|
under the GNU Public License and so is free for your use under
|
|||
|
the terms of that license.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Isabelle"></A> </P>
|
|||
|
<DT><B>Isabelle</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://isabelle.in.tum.de/">isabelle.in.tum.de</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Isabelle is a popular generic theorem prover developed at Cambridge
|
|||
|
University and TU Munich. Existing logics like Isabelle/HOL provide a
|
|||
|
theorem proving environment ready to use for sizable applications.
|
|||
|
Isabelle may also serve as framework for rapid prototyping of deductive
|
|||
|
systems. It comes with a large library including Isabelle/HOL
|
|||
|
(classical higher-order logic), Isabelle/HOLCF (Scott's Logic for
|
|||
|
Computable Functions with HOL), Isabelle/FOL (classical and
|
|||
|
intuitionistic first-order logic), and Isabelle/ZF (Zermelo-Fraenkel
|
|||
|
set theory on top of FOL).</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Jess"></A> </P>
|
|||
|
<DT><B>Jess, the Java Expert System Shell</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://herzberg.ca.sandia.gov/jess/">herzberg.ca.sandia.gov/jess/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Jess is a clone of the popular CLIPS expert system shell written
|
|||
|
entirely in Java. With Jess, you can conveniently give your
|
|||
|
applets the ability to 'reason'. Jess is compatible with all
|
|||
|
versions of Java starting with version 1.0.2. Jess implements
|
|||
|
the following constructs from CLIPS: defrules, deffunctions,
|
|||
|
defglobals, deffacts, and deftemplates. </P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="learn"></A> </P>
|
|||
|
<DT><B>learn</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.ibiblio.org/pub/Linux/apps/cai/">www.ibiblio.org/pub/Linux/apps/cai/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Learn is a vocable learning program with memory model. </P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="LISA"></A> </P>
|
|||
|
<DT><B>LISA</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://lisa.sourceforge.net/">lisa.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>LISA (Lisp-based Intelligent Software Agents) is a production-rule
|
|||
|
system heavily influenced by JESS (Java Expert System Shell). It has at
|
|||
|
its core a reasoning engine based on the Rete pattern matching
|
|||
|
algorithm. LISA also provides the ability to reason over ordinary CLOS
|
|||
|
objects.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Livingstone2"></A> </P>
|
|||
|
<DT><B>Livingstone2</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ti.arc.nasa.gov/opensource/projects/livingstone2/">http://ti.arc.nasa.gov/opensource/projects/livingstone2/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Livingstone2 (L2) is a reusable artificial intelligence (AI) software
|
|||
|
system designed to assist spacecraft, life support systems, chemical
|
|||
|
plants or other complex systems in operating robustly with minimal
|
|||
|
human supervision, even in the face of hardware failures or unexpected
|
|||
|
events.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NICOLE"></A> </P>
|
|||
|
<DT><B>NICOLE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://nicole.sourceforge.net/">http://nicole.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>NICOLE (Nearly Intelligent Computer Operated Language Examiner) is a
|
|||
|
theory or experiment that if a computer is given enough combinations of
|
|||
|
how words, phrases and sentences are related to one another, it could
|
|||
|
talk back to you. It is an attempt to simulate a conversation by
|
|||
|
learning how words are related to other words. A human communicates
|
|||
|
with NICOLE via the keyboard and NICOLE responds back with its own
|
|||
|
sentences which are automatically generated, based on what NICOLE has
|
|||
|
stored in it's database. Each new sentence that has been typed in, and
|
|||
|
NICOLE doesn't know about, is included into NICOLE's database, thus
|
|||
|
extending the knowledge base of NICOLE.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Otter"></A> </P>
|
|||
|
<DT><B>Otter: An Automated Deduction System</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www-unix.mcs.anl.gov/AR/otter/">http://www-unix.mcs.anl.gov/AR/otter/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Our current automated deduction system Otter is designed to prove
|
|||
|
theorems stated in first-order logic with equality. Otter's
|
|||
|
inference rules are based on resolution and paramodulation, and it
|
|||
|
includes facilities for term rewriting, term orderings, Knuth-Bendix
|
|||
|
completion, weighting, and strategies for directing and restricting
|
|||
|
searches for proofs. Otter can also be used as a symbolic
|
|||
|
calculator and has an embedded equational programming system.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PVS"></A> </P>
|
|||
|
<DT><B>PVS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://pvs.csl.sri.com/">pvs.csl.sri.com/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>PVS is a verification system: that is, a specification language
|
|||
|
integrated with support tools and a theorem prover. It is
|
|||
|
intended to capture the state-of-the-art in mechanized formal
|
|||
|
methods and to be sufficiently rugged that it can be used for
|
|||
|
significant applications. PVS is a research prototype: it
|
|||
|
evolves and improves as we develop or apply new capabilities,
|
|||
|
and as the stress of real use exposes new requirements.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SNePS"></A> </P>
|
|||
|
<DT><B>SNePS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cse.buffalo.edu/sneps/">www.cse.buffalo.edu/sneps/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The long-term goal of The SNePS Research Group is the design and
|
|||
|
construction of a natural-language-using computerized cognitive
|
|||
|
agent, and carrying out the research in artificial intelligence,
|
|||
|
computational linguistics, and cognitive science necessary for
|
|||
|
that endeavor. The three-part focus of the group is on knowledge
|
|||
|
representation, reasoning, and natural-language understanding
|
|||
|
and generation. The group is widely known for its development of
|
|||
|
the SNePS knowledge representation/reasoning system, and Cassie,
|
|||
|
its computerized cognitive agent. </P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Soar"></A> </P>
|
|||
|
<DT><B>Soar</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sitemaker.umich.edu/soar">sitemaker.umich.edu/soar</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>Soar has been developed to be a general cognitive architecture.
|
|||
|
We intend ultimately to enable the Soar architecture to:
|
|||
|
<UL>
|
|||
|
<LI>work on the full range of tasks expected of an
|
|||
|
intelligent agent, from highly routine to extremely difficult,
|
|||
|
open-ended problems</LI>
|
|||
|
<LI>represent and use appropriate forms of knowledge, such as
|
|||
|
procedural, declarative, episodic, and possibly iconic</LI>
|
|||
|
<LI>employ the full range of problem solving methods</LI>
|
|||
|
<LI>interact with the outside world and</LI>
|
|||
|
<LI>learn about all aspects of the tasks and its performance on them. </LI>
|
|||
|
</UL>
|
|||
|
|
|||
|
In other words, our intention is for Soar to support all the
|
|||
|
capabilities required of a general intelligent agent.</P>
|
|||
|
<P>
|
|||
|
<A NAME="TCM"></A> </P>
|
|||
|
<DT><B>TCM</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://wwwhome.cs.utwente.nl/~tcm/">http://wwwhome.cs.utwente.nl/~tcm/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>TCM (Toolkit for Conceptual Modeling) is our suite of graphical
|
|||
|
editors. TCM contains graphical editors for Entity-Relationship
|
|||
|
diagrams, Class-Relationship diagrams, Data and Event Flow
|
|||
|
diagrams, State Transition diagrams, Jackson Process Structure
|
|||
|
diagrams and System Network diagrams, Function Refinement trees
|
|||
|
and various table editors, such as a Function-Entity table
|
|||
|
editor and a Function Decomposition table editor. TCM is easy
|
|||
|
to use and performs numerous consistency checks, some of them
|
|||
|
immediately, some of them upon request.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Yale"></A> </P>
|
|||
|
<DT><B>Yale</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://yale.sf.net/">yale.sf.net/</A></LI>
|
|||
|
<LI>Alt Web site:
|
|||
|
<A HREF="http://rapid-i.com/">rapid-i.com/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>YALE (Yet Another Learning Environment) is an environment for machine
|
|||
|
learning experiments. Experiments can be made up of a large number of
|
|||
|
arbitrarily nestable operators and their setup is described by XML
|
|||
|
files which can easily created with a graphical user interface.
|
|||
|
Applications of YALE cover both research and real-world learning tasks.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="WEKA"></A> </P>
|
|||
|
<DT><B>WEKA</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.waikato.ac.nz/~ml/">lucy.cs.waikato.ac.nz/~ml/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>WEKA (Waikato Environment for Knowledge Analysis) is an
|
|||
|
state-of-the-art facility for applying machine learning
|
|||
|
techniques to practical problems. It is a comprehensive software
|
|||
|
"workbench" that allows people to analyse real-world data. It
|
|||
|
integrates different machine learning tools within a common
|
|||
|
framework and a uniform user interface. It is designed to
|
|||
|
support a "simplicity-first" methodology, which allows users to
|
|||
|
experiment interactively with simple machine learning tools
|
|||
|
before looking for more complex solutions.</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<HR>
|
|||
|
<H2><A NAME="Connectionism"></A> <A NAME="s3">3.</A> <A HREF="AI-Alife-HOWTO.html#toc3">Connectionism</A></H2>
|
|||
|
|
|||
|
<P>Connectionism is a technical term for a group of related
|
|||
|
techniques. These techniques include areas such as Artificial
|
|||
|
Neural Networks, Semantic Networks and a few other similar
|
|||
|
ideas. My present focus is on neural networks (though I am
|
|||
|
looking for resources on the other techniques). Neural
|
|||
|
networks are programs designed to simulate the workings of the
|
|||
|
brain. They consist of a network of small mathematical-based
|
|||
|
nodes, which work together to form patterns of information.
|
|||
|
They have tremendous potential and currently seem to be having
|
|||
|
a great deal of success with image processing and robot
|
|||
|
control.</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss3.1">3.1</A> <A HREF="AI-Alife-HOWTO.html#toc3.1">Connectionist class/code libraries</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>These are libraries of code or classes for use in programming within
|
|||
|
the Connectionist field. They are not meant as stand alone
|
|||
|
applications, but rather as tools for building your own applications.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="Baysian Modeling"></A> </P>
|
|||
|
<DT><B>Software for Flexible Bayesian Modeling</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.utoronto.ca/~radford/fbm.software.html">www.cs.utoronto.ca/~radford/fbm.software.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This software implements flexible Bayesian models for regression
|
|||
|
and classification applications that are based on multilayer
|
|||
|
perceptron neural networks or on Gaussian processes. The
|
|||
|
implementation uses Markov chain Monte Carlo methods. Software
|
|||
|
modules that support Markov chain sampling are included in the
|
|||
|
distribution, and may be useful in other applications.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="BELIEF"></A> </P>
|
|||
|
<DT><B>BELIEF</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/reasonng/probabl/belief/">www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/reasonng/probabl/belief/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>BELIEF is a Common Lisp implementation of the Dempster and Kong
|
|||
|
fusion and propagation algorithm for Graphical Belief Function
|
|||
|
Models and the Lauritzen and Spiegelhalter algorithm for
|
|||
|
Graphical Probabilistic Models. It includes code for
|
|||
|
manipulating graphical belief models such as Bayes Nets and
|
|||
|
Relevance Diagrams (a subset of Influence Diagrams) using both
|
|||
|
belief functions and probabilities as basic representations of
|
|||
|
uncertainty. It uses the Shenoy and Shafer version of the
|
|||
|
algorithm, so one of its unique features is that it supports
|
|||
|
both probability distributions and belief functions. It also
|
|||
|
has limited support for second order models (probability
|
|||
|
distributions on parameters).</P>
|
|||
|
<P>
|
|||
|
<A NAME="bpnn.py"></A> </P>
|
|||
|
<DT><B>bpnn.py</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://arctrix.com/nas/python/bpnn.py">http://arctrix.com/nas/python/bpnn.py</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A simple back-propogation ANN in Python.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="brain"></A> </P>
|
|||
|
<DT><B>brain</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://harthur.github.com/brain/">http://harthur.github.com/brain/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Brain is a lightweight JavaScript library for neural networks. It
|
|||
|
implements the standard feedforward multi-layer perceptron neural
|
|||
|
network trained with backpropagation.</P>
|
|||
|
<P>
|
|||
|
<A NAME="brain-simulator"></A> </P>
|
|||
|
<DT><B>brain-simulator</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.briansimulator.org/">http://www.briansimulator.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Brian is a clock-driven simulator for spiking neural networks. It is
|
|||
|
designed with an emphasis on flexibility and extensibility, for rapid
|
|||
|
development and refinement of neural models. Neuron models are
|
|||
|
specified by sets of user-specified differential equations, threshold
|
|||
|
conditions and reset conditions (given as strings). The focus is
|
|||
|
primarily on networks of single compartment neuron models (e.g. leaky
|
|||
|
integrate-and-fire or Hodgkin-Huxley type neurons). It is written in
|
|||
|
Python and is easy to learn and use, highly flexible and easily
|
|||
|
extensible. Features include:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>a system for specifying quantities with physical dimensions</LI>
|
|||
|
<LI>exact numerical integration for linear differential equations</LI>
|
|||
|
<LI>Euler, Runge-Kutta and exponential Euler integration for
|
|||
|
nonlinear differential equations</LI>
|
|||
|
<LI>synaptic connections with delays</LI>
|
|||
|
<LI>short-term and long-term plasticity (spike-timing dependent
|
|||
|
plasticity)</LI>
|
|||
|
<LI>a library of standard model components, including
|
|||
|
integrate-and-fire equations, synapses and ionic currents</LI>
|
|||
|
<LI>a toolbox for automatically fitting spiking neuron models to
|
|||
|
electrophysiological recordings</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CNNs"></A> </P>
|
|||
|
<DT><B>CNNs</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.isiweb.ee.ethz.ch/haenggi/CNNsim.html">http://www.isiweb.ee.ethz.ch/haenggi/CNNsim.html</A></LI>
|
|||
|
<LI>Newer Version:
|
|||
|
<A HREF="http://www.isiweb.ee.ethz.ch/haenggi/CNNsim_adv_manual.html">http://www.isiweb.ee.ethz.ch/haenggi/CNNsim_adv_manual.html</A></LI>
|
|||
|
<LI>Old Page:
|
|||
|
<A HREF="http://www.ce.unipr.it/research/pardis/CNN/cnn.html">http://www.ce.unipr.it/research/pardis/CNN/cnn.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Cellular Neural Networks (CNN) is a massive parallel computing
|
|||
|
paradigm defined in discrete N-dimensional spaces. A visualizing CNN
|
|||
|
Simulator which allows to track the way in which the state trajectories
|
|||
|
evolve, thus gaining an insight into the behavior of CNN dynamics.
|
|||
|
This may be useful for forming an idea how a CNN 'works', especially
|
|||
|
for those people who are not experienced in CNN theory.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CONICAL"></A> </P>
|
|||
|
<DT><B>CONICAL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://strout.net/conical/">strout.net/conical/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>CONICAL is a C++ class library for building simulations common
|
|||
|
in computational neuroscience. Currently its focus is on
|
|||
|
compartmental modeling, with capabilities similar to GENESIS and
|
|||
|
NEURON. A model neuron is built out of compartments, usually
|
|||
|
with a cylindrical shape. When small enough, these open-ended
|
|||
|
cylinders can approximate nearly any geometry. Future classes
|
|||
|
may support reaction-diffusion kinetics and more. A key feature
|
|||
|
of CONICAL is its cross-platform compatibility; it has been
|
|||
|
fully co-developed and tested under Unix, DOS, and Mac OS.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Encog"></A> </P>
|
|||
|
<DT><B>Encog</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.heatonresearch.com/">http://www.heatonresearch.com/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Encog is an advanced neural network and machine learning framework.
|
|||
|
Encog contains classes to create a wide variety of networks, as well as
|
|||
|
support classes to normalize and process data for these neural
|
|||
|
networks. Encog trains using multithreaded resilient propagation. Encog
|
|||
|
can also make use of a GPU to further speed processing time. A GUI
|
|||
|
based workbench is also provided to help model and train neural
|
|||
|
networks. Encog has been in active development since 2008. Encog is
|
|||
|
available for Java, .Net and Silverlight.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="FANN"></A> </P>
|
|||
|
<DT><B>FANN</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://leenissen.dk/fann/">http://leenissen.dk/fann/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Fast Artificial Neural Network Library is a free open source neural
|
|||
|
network library, which implements multilayer artificial neural networks
|
|||
|
in C with support for both fully connected and sparsely connected
|
|||
|
networks. Cross-platform execution in both fixed and floating point are
|
|||
|
supported. It includes a framework for easy handling of training data
|
|||
|
sets. It is easy to use, versatile, well documented, and fast. PHP,
|
|||
|
C++, .NET, Ada, Python, Delphi, Octave, Ruby, Prolog Pure Data and
|
|||
|
Mathematica bindings are available. A reference manual accompanies the
|
|||
|
library with examples and recommendations on how to use the library. A
|
|||
|
graphical user interface is also available for the library.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ffnet"></A> </P>
|
|||
|
<DT><B>ffnet</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ffnet.sourceforge.net/">http://ffnet.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>ffnet is a fast and easy-to-use feed-forward neural network training
|
|||
|
solution for python. Many nice features are implemented: arbitrary
|
|||
|
network connectivity, automatic data normalization, very efficient
|
|||
|
training tools, network export to fortran code.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Joone"></A> </P>
|
|||
|
<DT><B>Joone</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/joone/">http://sourceforge.net/projects/joone/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Joone is a neural net framework to create, train and test neural nets.
|
|||
|
The aim is to create a distributed environment based on JavaSpaces both
|
|||
|
for enthusiastic and professional users, based on the newest Java
|
|||
|
technologies. Joone is composed of a central engine that is the
|
|||
|
fulcrum of all applications that already exist or will be developed.
|
|||
|
The neural engine is modular, scalable, multitasking and tensile.
|
|||
|
Everyone can write new modules to implement new algorithms or new
|
|||
|
architectures starting from the simple components distributed with the
|
|||
|
core engine. The main idea is to create the basis to promote a zillion
|
|||
|
of AI applications that revolve around the core framework.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Matrix Class"></A> </P>
|
|||
|
<DT><B>Matrix Class</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://ftp.cs.ucla.edu/pub/">ftp.cs.ucla.edu/pub/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A simple, fast, efficient C++ Matrix class designed for
|
|||
|
scientists and engineers. The Matrix class is well suited for
|
|||
|
applications with complex math algorithms. As an demonstration
|
|||
|
of the Matrix class, it was used to implement the backward error
|
|||
|
propagation algorithm for a multi-layer feed-forward artificial
|
|||
|
neural network.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NEAT"></A> </P>
|
|||
|
<DT><B>NEAT</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://nn.cs.utexas.edu/project-view.php?RECORD_KEY(Projects)=ProjID&ProjID(Projects)=14">http://nn.cs.utexas.edu/project-view.php?RECORD_KEY(Projects)=ProjID&ProjID(Projects)=14</A></LI>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.ucf.edu/~kstanley/neat.html">http://www.cs.ucf.edu/~kstanley/neat.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Many neuroevolution methods evolve fixed-topology networks. Some
|
|||
|
methods evolve topologies in addition to weights, but these usually
|
|||
|
have a bound on the complexity of networks that can be evolved and
|
|||
|
begin evolution with random topologies. This project is based on a
|
|||
|
neuroevolution method called NeuroEvolution of Augmenting Topologies
|
|||
|
(NEAT) that can evolve networks of unbounded complexity from a minimal
|
|||
|
starting point.</P>
|
|||
|
<P>The research as a broader goal of showing that evolving topologies is
|
|||
|
necessary to achieve 3 major goals of neuroevolution: (1) Continual
|
|||
|
coevolution: Successful competitive coevolution can use the evolution
|
|||
|
of topologies to continuously elaborate strategies. (2) Evolution of
|
|||
|
Adaptive Networks: The evolution of topologies allows neuroevolution to
|
|||
|
evolve adaptive networks with plastic synapses by designating which
|
|||
|
connections should be adaptive and in what ways. (3) Combining Expert
|
|||
|
Networks: Separate expert neural networks can be fused through the
|
|||
|
evolution of connecting neurons between them.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NeuroLab"></A> </P>
|
|||
|
<DT><B>NeuroLab</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://packages.python.org/neurolab/">http://packages.python.org/neurolab/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>NeuroLab - a library of basic neural networks algorithms with flexible
|
|||
|
network configurations and learning algorithms for Python. To simplify
|
|||
|
the using of the library, interface is similar to the package of Neural
|
|||
|
Network Toolbox (NNT) of MATLAB (c). The library is based on the
|
|||
|
package numpy (http://numpy.scipy.org), some learning algorithms are
|
|||
|
used scipy.optimize (http://scipy.org).</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NuPIC"></A> </P>
|
|||
|
<DT><B>NuPIC</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.numenta.org/</LI>
|
|||
|
<LI>Web site: https://github.com/numenta/nupic</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Numenta Platform for Intelligent Computing (NuPIC) is built around
|
|||
|
Cortical learning algorithms, a new variation of HTM networks
|
|||
|
(Hierarchical Temporal Memory). Based on Jeff Hawkins idea as laid out
|
|||
|
in his On Intelligence book. NuPIC consists of the Numenta Tools
|
|||
|
Framework and the Numenta Runtime Engine.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Pulcinella"></A> </P>
|
|||
|
<DT><B>Pulcinella</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://iridia.ulb.ac.be/pulcinella/">iridia.ulb.ac.be/pulcinella/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Pulcinella is written in CommonLisp, and appears as a library of
|
|||
|
Lisp functions for creating, modifying and evaluating valuation
|
|||
|
systems. Alternatively, the user can choose to interact with
|
|||
|
Pulcinella via a graphical interface (only available in Allegro
|
|||
|
CL). Pulcinella provides primitives to build and evaluate
|
|||
|
uncertainty models according to several uncertainty calculi,
|
|||
|
including probability theory, possibility theory, and
|
|||
|
Dempster-Shafer's theory of belief functions; and the
|
|||
|
possibility theory by Zadeh, Dubois and Prade's. A User's Manual
|
|||
|
is available on request.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="scnANNlib"></A> </P>
|
|||
|
<DT><B>scnANNlib</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.sentinelchicken.org/projects/scnANNlib/">www.sentinelchicken.org/projects/scnANNlib/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>SCN Artificial Neural Network Library provides a programmer with a
|
|||
|
simple object-oriented API for constructing ANNs. Currently, the
|
|||
|
library supports non-recursive networks with an arbitrary number of
|
|||
|
layers, each with an arbitrary number of nodes. Facilities exist for
|
|||
|
training with momentum, and there are plans to gracefully extend the
|
|||
|
functionality of the library in later releases.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="UTCS"></A> </P>
|
|||
|
<DT><B>UTCS Neural Nets Research Group Software</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://nn.cs.utexas.edu/soft-list.php">http://nn.cs.utexas.edu/soft-list.php</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A bit different from the other entries, this is a reference to a
|
|||
|
collection of software rather than one application. It was all
|
|||
|
developed by the
|
|||
|
<A HREF="http://nn.cs.utexas.edu/">UTCS Neural Net Research Group</A>. Here's a summary of some of the packages
|
|||
|
available:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>Natural Language Processing
|
|||
|
<UL>
|
|||
|
<LI>MIR - Tcl/Tk-based rapid prototyping for sentence
|
|||
|
processing</LI>
|
|||
|
<LI>SPEC - Parsing complex sentences</LI>
|
|||
|
<LI>DISCERN - Processing script-based stories, including
|
|||
|
<UL>
|
|||
|
<LI>PROC - Parsing, generation, question answering</LI>
|
|||
|
<LI>HFM - Episodic memory organization</LI>
|
|||
|
<LI>DISLEX - Lexical processing</LI>
|
|||
|
<LI>DISCERN - The full integrated model</LI>
|
|||
|
</UL>
|
|||
|
</LI>
|
|||
|
<LI>FGREPNET - Learning distributed representations</LI>
|
|||
|
</UL>
|
|||
|
</LI>
|
|||
|
<LI>Self-Organization
|
|||
|
<UL>
|
|||
|
<LI>LISSOM - Maps with self-organizing lateral connections.</LI>
|
|||
|
<LI>FM - Generic Self-Organizing Maps</LI>
|
|||
|
</UL>
|
|||
|
</LI>
|
|||
|
<LI>Neuroevolution
|
|||
|
<UL>
|
|||
|
<LI>Enforced Sub-Populations (ESP) for sequential decision
|
|||
|
tasks
|
|||
|
<UL>
|
|||
|
<LI>Non-Markov Double Pole Balancing</LI>
|
|||
|
</UL>
|
|||
|
</LI>
|
|||
|
<LI>Symbiotic, Adaptive NeuroEvolution (SANE; predecessor of
|
|||
|
ESP)
|
|||
|
<UL>
|
|||
|
<LI>JavaSANE - Java software package for applying SANE to
|
|||
|
new tasks</LI>
|
|||
|
<LI>SANE-C - C version, predecessor of JavaSANE</LI>
|
|||
|
<LI>Pole Balancing - Neuron-level SANE on the Pole
|
|||
|
Balancing task</LI>
|
|||
|
</UL>
|
|||
|
</LI>
|
|||
|
<LI>NeuroEvolution of Augmenting Topologies (NEAT)
|
|||
|
software for evolving neural networks using structure</LI>
|
|||
|
</UL>
|
|||
|
</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="C++ ANNs"></A> </P>
|
|||
|
<DT><B>Various (C++) Neural Networks</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.dontveter.com/nnsoft/nnsoft.html">www.dontveter.com/nnsoft/nnsoft.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Example neural net codes from the book,
|
|||
|
<A HREF="http://www.dontveter.com/basisofai/basisofai.html">The Pattern Recognition Basics of AI</A>.
|
|||
|
These are simple example codes of these various
|
|||
|
neural nets. They work well as a good starting point for simple
|
|||
|
experimentation and for learning what the code is like behind the
|
|||
|
simulators. The types of networks available on this site are:
|
|||
|
(implemented in C++)</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>The Backprop Package</LI>
|
|||
|
<LI>The Nearest Neighbor Algorithms</LI>
|
|||
|
<LI>The Interactive Activation Algorithm</LI>
|
|||
|
<LI>The Hopfield and Boltzman machine Algorithms</LI>
|
|||
|
<LI>The Linear Pattern Classifier</LI>
|
|||
|
<LI>ART I</LI>
|
|||
|
<LI>Bi-Directional Associative Memory</LI>
|
|||
|
<LI>The Feedforward Counter-Propagation Network</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
<H2><A NAME="ss3.2">3.2</A> <A HREF="AI-Alife-HOWTO.html#toc3.2">Connectionist software kits/applications</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>These are various applications, software kits, etc. meant for research
|
|||
|
in the field of Connectionism. Their ease of use will vary, as they
|
|||
|
were designed to meet some particular research interest more than as
|
|||
|
an easy to use commercial package.
|
|||
|
<DL>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Aspirin-MIGRANES"></A> </P>
|
|||
|
<DT><B>Aspirin - MIGRAINES</B><DD><P>(am6.tar.Z on ftp site)
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://sunsite.unc.edu/pub/academic/computer-science/neural-networks/programs/Aspirin/">sunsite.unc.edu/pub/academic/computer-science/neural-networks/programs/Aspirin/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>The software that we are releasing now is for creating,
|
|||
|
and evaluating, feed-forward networks such as those used with the
|
|||
|
backpropagation learning algorithm. The software is aimed both at
|
|||
|
the expert programmer/neural network researcher who may wish to tailor
|
|||
|
significant portions of the system to his/her precise needs, as well
|
|||
|
as at casual users who will wish to use the system with an absolute
|
|||
|
minimum of effort.</P>
|
|||
|
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="DDLab"></A> </P>
|
|||
|
<DT><B>DDLab</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.ddlab.com/">http://www.ddlab.com/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>DDLab is an interactive graphics program for research into the
|
|||
|
dynamics of finite binary networks, relevant to the study of
|
|||
|
complexity, emergent phenomena, neural networks, and aspects of
|
|||
|
theoretical biology such as gene regulatory networks. A network
|
|||
|
can be set up with any architecture between regular CA (1d or
|
|||
|
2d) and "random Boolean networks" (networks with arbitrary
|
|||
|
connections and heterogeneous rules). The network may also have
|
|||
|
heterogeneous neighborhood sizes.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Emergent"></A> </P>
|
|||
|
<DT><B>Emergent</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://grey.colorado.edu/emergent/index.php/Main_Page">http://grey.colorado.edu/emergent/index.php/Main_Page</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Note: this is a descendant of
|
|||
|
<A HREF="#PDP++">PDP++</A>
|
|||
|
</P>
|
|||
|
<P>emergent is a comprehensive, full-featured neural network simulator
|
|||
|
that allows for the creation and analysis of complex, sophisticated
|
|||
|
models of the brain in the world. With an emphasis on qualitative
|
|||
|
analysis and teaching, it also supports the workflow of professional
|
|||
|
neural network researchers. The GUI environment allows users to quickly
|
|||
|
construct basic networks, modify the input/output patterns,
|
|||
|
automatically generate the basic programs required to train and test
|
|||
|
the network, and easily utilize several data processing and network
|
|||
|
analysis tools. In addition to the basic preset network train and test
|
|||
|
programs, the high level drag-and-drop programming interface, built on
|
|||
|
top of a scripting language that has full introspective access to all
|
|||
|
aspects of networks and the software itself, allows one to write
|
|||
|
programs that seamlessly weave together the training of a network and
|
|||
|
evolution of its environment without ever typing out a line of code.
|
|||
|
Networks and all of their state variables are visually inspected in 3D,
|
|||
|
allowing for a quick "visual regression" of network dynamics and robot
|
|||
|
behavior.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GENESIS"></A> </P>
|
|||
|
<DT><B>GENESIS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://genesis-sim.org/">http://genesis-sim.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GENESIS (short for GEneral NEural SImulation System) is a
|
|||
|
general purpose simulation platform which was developed to
|
|||
|
support the simulation of neural systems ranging from complex
|
|||
|
models of single neurons to simulations of large networks made
|
|||
|
up of more abstract neuronal components. GENESIS has provided
|
|||
|
the basis for laboratory courses in neural simulation at both
|
|||
|
Caltech and the Marine Biological Laboratory in Woods Hole, MA,
|
|||
|
as well as several other institutions. Most current GENESIS
|
|||
|
applications involve realistic simulations of biological neural
|
|||
|
systems. Although the software can also model more abstract
|
|||
|
networks, other simulators are more suitable for backpropagation
|
|||
|
and similar connectionist modeling.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JavaBayes"></A> </P>
|
|||
|
<DT><B>JavaBayes</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.cmu.edu/~javabayes/">http://www.cs.cmu.edu/~javabayes/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The JavaBayes system is a set of tools, containing a
|
|||
|
graphical editor, a core inference engine and a parser.
|
|||
|
JavaBayes can produce:
|
|||
|
<UL>
|
|||
|
<LI> the marginal distribution for any variable in a network.</LI>
|
|||
|
<LI> the expectations for univariate functions (for example,
|
|||
|
expected value for variables).</LI>
|
|||
|
<LI> configurations with maximum a posteriori probability.</LI>
|
|||
|
<LI> configurations with maximum a posteriori expectation for
|
|||
|
univariate functions.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Jbpe"></A> </P>
|
|||
|
<DT><B>Jbpe</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://cs.felk.cvut.cz/~koutnij/studium/jbpe.html">cs.felk.cvut.cz/~koutnij/studium/jbpe.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Jbpe is a back-propagation neural network editor/simulator.</P>
|
|||
|
<P>Features
|
|||
|
<UL>
|
|||
|
<LI>Standart back-propagation networks creation.</LI>
|
|||
|
<LI>Saving network as a text file, which can be edited and loaded
|
|||
|
back.</LI>
|
|||
|
<LI>Saving/loading binary file</LI>
|
|||
|
<LI>Learning from a text file (with structure specified below),
|
|||
|
number of learning periods / desired network energy can be
|
|||
|
specified as a criterion.</LI>
|
|||
|
<LI>Network recall</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Nengo"></A> </P>
|
|||
|
<DT><B>Nengo</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.nengo.ca/">http://www.nengo.ca/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Nengo (Nengo Neural Simulator) is a graphical and scripting based
|
|||
|
software package for simulating large-scale neural systems.</P>
|
|||
|
<P>To use it, you define groups of neurons in terms of what they
|
|||
|
represent, and then form connections between neural groups in terms of
|
|||
|
what computation should be performed on those representations. Nengo
|
|||
|
then uses the Neural Engineering Framework (NEF) to solve for the
|
|||
|
appropriate synaptic connection weights to achieve this desired
|
|||
|
computation. Nengo also supports various kinds of learning. Nengo helps
|
|||
|
make detailed spiking neuron models that implement complex high-level
|
|||
|
cognitive algorithms.</P>
|
|||
|
<P>Among other things, Nengo has been used to implement motor control,
|
|||
|
visual attention, serial recall, action selection, working memory,
|
|||
|
attractor networks, inductive reasoning, path integration, and planning
|
|||
|
with problem solving.</P>
|
|||
|
<P>The Spaun
|
|||
|
<A HREF="http://models.nengo.ca/spaun">http://models.nengo.ca/spaun</A> neural simulator
|
|||
|
is implemented in Nengo and its source is available as well.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NN Generator"></A> </P>
|
|||
|
<DT><B>Neural Network Generator</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://ftp.idsia.ch/pub/rafal/">ftp.idsia.ch/pub/rafal</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Neural Network Generator is a genetic algorithm for the
|
|||
|
topological optimization of feedforward neural networks. It
|
|||
|
implements the Semantic Changing Genetic Algorithm and the
|
|||
|
Unit-Cluster Model. The Semantic Changing Genetic Algorithm is
|
|||
|
an extended genetic algorithm that allows fast dynamic
|
|||
|
adaptation of the genetic coding through population
|
|||
|
analysis. The Unit-Cluster Model is an approach to the
|
|||
|
construction of modular feedforward networks with a ''backbone''
|
|||
|
structure.</P>
|
|||
|
<P>NOTE: To compile this on Linux requires one change in the Makefiles.
|
|||
|
You will need to change '-ltermlib' to '-ltermcap'.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NEURON"></A> </P>
|
|||
|
<DT><B>NEURON</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.neuron.yale.edu/">www.neuron.yale.edu/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>NEURON is an extensible nerve modeling and simulation
|
|||
|
program. It allows you to create complex nerve models by
|
|||
|
connecting multiple one-dimensional sections together to form
|
|||
|
arbitrary cell morphologies, and allows you to insert multiple
|
|||
|
membrane properties into these sections (including channels,
|
|||
|
synapses, ionic concentrations, and counters). The interface was
|
|||
|
designed to present the neural modeler with a intuitive
|
|||
|
environment and hide the details of the numerical methods used
|
|||
|
in the simulation.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Neuroph"></A> </P>
|
|||
|
<DT><B>Neuroph</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://neuroph.sourceforge.net/">http://neuroph.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Neuroph is lightweight Java neural network framework to develop common
|
|||
|
neural network architectures. It contains well designed, open source
|
|||
|
Java library with small number of basic classes which correspond to
|
|||
|
basic NN concepts. Also has nice GUI neural network editor to quickly
|
|||
|
create Java neural network components.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PDP++"></A> </P>
|
|||
|
<DT><B>PDP++</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://archive.cnbc.cmu.edu/Resources/PDP++/PDP++.html">http://archive.cnbc.cmu.edu/Resources/PDP++/PDP++.html</A></LI>
|
|||
|
<LI>FTP mirror (US):
|
|||
|
<A HREF="ftp://grey.colorado.edu/pub/oreilly/pdp++/">ftp://grey.colorado.edu/pub/oreilly/pdp++/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>NOTE: Renamed to
|
|||
|
<A HREF="#Emergent">Emergent</A>
|
|||
|
</P>
|
|||
|
<P>As the field of Connectionist modeling has grown, so has the need
|
|||
|
for a comprehensive simulation environment for the development and
|
|||
|
testing of Connectionist models. Our goal in developing PDP++ has been
|
|||
|
to integrate several powerful software development and user interface
|
|||
|
tools into a general purpose simulation environment that is both user
|
|||
|
friendly and user extensible. The simulator is built in the C++
|
|||
|
programming language, and incorporates a state of the art script
|
|||
|
interpreter with the full expressive power of C++. The graphical user
|
|||
|
interface is built with the Interviews toolkit, and allows full access
|
|||
|
to the data structures and processing modules out of which the
|
|||
|
simulator is built. We have constructed several useful graphical
|
|||
|
modules for easy interaction with the structure and the contents of
|
|||
|
neural networks, and we've made it possible to change and adapt many
|
|||
|
things. At the programming level, we have set things up in such a way
|
|||
|
as to make user extensions as painless as possible. The programmer
|
|||
|
creates new C++ objects, which might be new kinds of units or new
|
|||
|
kinds of processes; once compiled and linked into the simulator, these
|
|||
|
new objects can then be accessed and used like any other.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="RNS"></A> </P>
|
|||
|
<DT><B>RNS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/neural/systems/rns/">www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/neural/systems/rns/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>RNS (Recurrent Network Simulator) is a simulator for recurrent
|
|||
|
neural networks. Regular neural networks are also supported. The
|
|||
|
program uses a derivative of the back-propagation algorithm, but
|
|||
|
also includes other (not that well tested) algorithms.</P>
|
|||
|
<P>Features include
|
|||
|
<UL>
|
|||
|
<LI>freely choosable connections, no restrictions besides memory
|
|||
|
or CPU constraints</LI>
|
|||
|
<LI>delayed links for recurrent networks</LI>
|
|||
|
<LI>fixed values or thresholds can be specified for weights</LI>
|
|||
|
<LI>(recurrent) back-propagation, Hebb, differential Hebb,
|
|||
|
simulated annealing and more</LI>
|
|||
|
<LI>patterns can be specified with bits, floats, characters,
|
|||
|
numbers, and random bit patterns with Hamming distances can
|
|||
|
be chosen for you</LI>
|
|||
|
<LI>user definable error functions</LI>
|
|||
|
<LI>output results can be used without modification as input</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Python Smantic Nets"></A> </P>
|
|||
|
<DT><B>Semantic Networks in Python</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://strout.net/info/coding/python/ai/index.html">strout.net/info/coding/python/ai/index.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The semnet.py module defines several simple classes for
|
|||
|
building and using semantic networks. A semantic network is a
|
|||
|
way of representing knowledge, and it enables the program to
|
|||
|
do simple reasoning with very little effort on the part of the
|
|||
|
programmer.</P>
|
|||
|
<P>The following classes are defined:
|
|||
|
<UL>
|
|||
|
<LI><B>Entity</B>: This class represents a noun; it is
|
|||
|
something which can be related to other things, and about
|
|||
|
which you can store facts.</LI>
|
|||
|
<LI><B>Relation</B>: A Relation is a type of relationship
|
|||
|
which may exist between two entities. One special relation,
|
|||
|
"IS_A", is predefined because it has special meaning (a sort
|
|||
|
of logical inheritance).</LI>
|
|||
|
<LI><B>Fact</B>: A Fact is an assertion that a relationship
|
|||
|
exists between two entities.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>With these three object types, you can very quickly define knowledge
|
|||
|
about a set of objects, and query them for logical conclusions.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SNNS"></A> </P>
|
|||
|
<DT><B>SNNS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www-ra.informatik.uni-tuebingen.de/SNNS/">http://www-ra.informatik.uni-tuebingen.de/SNNS/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Stuttgart Neural Net Simulator (version 4.1). An awesome neural
|
|||
|
net simulator. Better than any commercial simulator I've seen. The
|
|||
|
simulator kernel is written in C (it's fast!). It supports over 20
|
|||
|
different network architectures, has 2D and 3D X-based graphical
|
|||
|
representations, the 2D GUI has an integrated network editor, and can
|
|||
|
generate a separate NN program in C. SNNS is very powerful, though
|
|||
|
a bit difficult to learn at first. To help with this it comes with
|
|||
|
example networks and tutorials for many of the architectures.
|
|||
|
ENZO, a supplementary system allows you to evolve your networks with
|
|||
|
genetic algorithms.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="TOOLDIAG"></A> </P>
|
|||
|
<DT><B>TOOLDIAG</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.inf.ufes.br/~thomas/home/soft.html">www.inf.ufes.br/~thomas/home/soft.html</A></LI>
|
|||
|
<LI>Alt site:
|
|||
|
<A HREF="http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/neural/systems/tooldiag/0.html">http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/neural/systems/tooldiag/0.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>TOOLDIAG is a collection of methods for statistical pattern
|
|||
|
recognition. The main area of application is classification. The
|
|||
|
application area is limited to multidimensional continuous
|
|||
|
features, without any missing values. No symbolic features
|
|||
|
(attributes) are allowed. The program in implemented in the 'C'
|
|||
|
programming language and was tested in several computing
|
|||
|
environments.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="XNBC"></A> </P>
|
|||
|
<DT><B>XNBC</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.b3e.jussieu.fr/xnbc/">www.b3e.jussieu.fr/xnbc/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>XNBC v8 is a simulation tool for the neuroscientists interested in
|
|||
|
simulating biological neural networks using a user friendly tool.</P>
|
|||
|
<P>XNBC is a software package for simulating biological neural networks.</P>
|
|||
|
<P>Four neuron models are available, three phenomenologic models (xnbc,
|
|||
|
leaky integrator and conditional burster) and an ion-conductance based
|
|||
|
model. Inputs to the simulated neurons can be provided by experimental
|
|||
|
data stored in files, allowing the creation of `hybrid'' networks.</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
<HR>
|
|||
|
<H2><A NAME="Evolutionary Computing"></A> <A NAME="s4">4.</A> <A HREF="AI-Alife-HOWTO.html#toc4">Evolutionary Computing</A> </H2>
|
|||
|
|
|||
|
<P>Evolutionary computing is actually a broad term for a vast
|
|||
|
array of programming techniques, including genetic algorithms,
|
|||
|
complex adaptive systems, evolutionary programming, etc.
|
|||
|
The main thrust of all these techniques is the idea of
|
|||
|
evolution. The idea that a program can be written that will
|
|||
|
<I>evolve</I> toward a certain goal. This goal can be
|
|||
|
anything from solving some engineering problem to winning a
|
|||
|
game.</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss4.1">4.1</A> <A HREF="AI-Alife-HOWTO.html#toc4.1">EC class/code libraries</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>These are libraries of code or classes for use in programming within
|
|||
|
the evolutionary computation field. They are not meant as stand alone
|
|||
|
applications, but rather as tools for building your own applications.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="ANNEvolve"></A> </P>
|
|||
|
<DT><B>ANNEvolve</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://annevolve.sourceforge.net/">annevolve.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A collection of programs using evolved artificial neural networks to
|
|||
|
solve a series of problems. The long term goal of the project is to
|
|||
|
advance our level of understanding about simulated evolution as a means
|
|||
|
to configure and optimize Artificial Neural Nets (ANNs). The medium
|
|||
|
term goal is to apply our methods to a series of interesting problems
|
|||
|
such as sail boat piloting and playing the game NIM.</P>
|
|||
|
<P>A secondary goal is educational in nature. We attempt to write our
|
|||
|
software with ample explanation, not just for the user, but for the
|
|||
|
engineer/programmer/scientist who wants to understand the innermost
|
|||
|
detail. All of the source code is freely available to anyone to use
|
|||
|
without restriction.</P>
|
|||
|
<P>All of the ANNEvolve software is implemented in C and Python.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="EAP"></A> </P>
|
|||
|
<DT><B>EAP</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://code.google.com/p/deap/">http://code.google.com/p/deap/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>EAP has been built using the Python and UNIX programming philosophies
|
|||
|
in order to provide a transparent, simple and coherent environment for
|
|||
|
implementing your favourite evolutionary algorithms. EAP is very easy
|
|||
|
to use even for those who do not know much about the Python programming
|
|||
|
language. EAP uses the object oriented paradigm that is provided by
|
|||
|
Python in order to make development simple and beautiful. It also
|
|||
|
contains a 15 illustrative and diversified examples, to help newcomers
|
|||
|
to ramp up very quickly in using this environment.</P>
|
|||
|
<P>It includes Genetic Algorithms using any imaginable representation,
|
|||
|
Genetic Programming with strongly and loosely typed trees in addition
|
|||
|
to automatically defined functions, Evolution Strategies (including
|
|||
|
Covariance Matrix Adaptation), multiobjective optimization techniques
|
|||
|
(NSGA-II and SPEA2), easy parallelization of algorithms and much more
|
|||
|
like milestones, genealogy, etc.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="daga"></A> </P>
|
|||
|
<DT><B>daga</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://garage.cps.msu.edu/software/daga3.2/">garage.cps.msu.edu/software/daga3.2/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>daga is an experimental release of a 2-level genetic algorithm
|
|||
|
compatible with the GALOPPS GA software. It is a meta-GA which
|
|||
|
dynamically evolves a population of GAs to solve a problem presented to
|
|||
|
the lower-level GAs. When multiple GAs (with different operators,
|
|||
|
parameter settings, etc.) are simultaneously applied to the same
|
|||
|
problem, the ones showing better performance have a higher probability
|
|||
|
of surviving and "breeding" to the next macro-generation (i.e.,
|
|||
|
spawning new "daughter"-GAs with characteristics inherited from the
|
|||
|
parental GA or GAs. In this way, we try to encourage good
|
|||
|
problem-solving strategies to spread to the whole population of GAs.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="DEAP"></A> </P>
|
|||
|
<DT><B>DEAP</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://deap.googlecode.com">http://deap.googlecode.com</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>DEAP is intended to be an easy to use distributed evolutionary
|
|||
|
algorithm library in the Python language. Its two main components are
|
|||
|
modular and can be used separately. The first module is a Distributed
|
|||
|
Task Manager (DTM), which is intended to run on cluster of computers
|
|||
|
using TCP or a MPI connection. The second part is the Evolutionary
|
|||
|
Algorithms in Python (EAP) framework. EAP is the evolutionary core of
|
|||
|
DEAP, it provides data structures, methods and tools to design any kind
|
|||
|
of evolutionary algorithm. It works in perfect harmony with DTM,
|
|||
|
allowing easy parallelization of any demanding evolutionary task.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="dgpf"></A> </P>
|
|||
|
<DT><B>dgpf</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://dgpf.sourceforge.net/">dgpf.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Distributed Genetic Programming Framework (DGPF) is a scalable Java
|
|||
|
environment for heuristic, simulation-based search algorithms of any
|
|||
|
kind and Genetic Algorithms in special. We use the broad foundation of
|
|||
|
a search algorithms layer to provide a Genetic Programming system which
|
|||
|
is able to create Turing-complete code.</P>
|
|||
|
<P>It's under the LGPL license. It allows you to use heuristic searches
|
|||
|
like GA and randomized Hill Climbing for any problem space you like to
|
|||
|
with just minimal programming effort. Also, you may distribute all
|
|||
|
these searches over a network, using the client/server, the
|
|||
|
peer-to-peer, or even a client/server+ peer-to-peer hybrid distribution
|
|||
|
scheme. You also can construct heterogeneous search algorithms where GA
|
|||
|
cooperates with Hill Climbing without changing any code.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Ease"></A> </P>
|
|||
|
<DT><B>Ease</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.sprave.com/Ease/Ease.html">www.sprave.com/Ease/Ease.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Ease - Evolutionary Algorithms Scripting Evironment - is an extension
|
|||
|
to the Tcl scripting language, providing commands to create, modify,
|
|||
|
and evaluate populations of individuals represented by real number
|
|||
|
vectors and/or bit strings.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="EO"></A> </P>
|
|||
|
<DT><B>EO</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://eodev.sourceforge.net/">eodev.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>EO is a templates-based, ANSI-C++ compliant evolutionary
|
|||
|
computation library. It contains classes for any kind of
|
|||
|
evolutionary computation (specially genetic algorithms) you might
|
|||
|
come up to. It is component-based, so that if you don't find the
|
|||
|
class you need in it, it is very easy to subclass existing
|
|||
|
abstract or concrete class.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Evocosm"></A> </P>
|
|||
|
<DT><B>Evocosm</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.coyotegulch.com/products/libevocosm/">http://www.coyotegulch.com/products/libevocosm/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Evocosm is a set of classes that abstract the fundamental components of
|
|||
|
an evolutionary algorithm. See the site for details, but here is a
|
|||
|
simple list of the provided classes; Random Numbers, OpenMP,
|
|||
|
Floating-Point Chromosomes, Roulettte Wheels, Organisms, Fitness
|
|||
|
Landscapes, Evocosms, Fitness Scaling, Migration, Selecting Survivors,
|
|||
|
Reproduction, Mutation Operations.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="evolver"></A> </P>
|
|||
|
<DT><B>evolver</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="https://launchpad.net/evolver">https://launchpad.net/evolver</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A Python library for creating and working with genetic algorithms and
|
|||
|
genetic (evolved) programs. Allows one to do Python-based evolutionary
|
|||
|
programming; string-based as well as source code tree node
|
|||
|
optimization/search solution discovery.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Fortran GA"></A> </P>
|
|||
|
<DT><B>FORTRAN GA</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://cuaerospace.com/carroll/ga.html">cuaerospace.com/carroll/ga.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This program is a FORTRAN version of a genetic algorithm driver.
|
|||
|
This code initializes a random sample of individuals with
|
|||
|
different parameters to be optimized using the genetic algorithm
|
|||
|
approach, i.e. evolution via survival of the fittest. The
|
|||
|
selection scheme used is tournament selection with a shuffling
|
|||
|
technique for choosing random pairs for mating. The routine
|
|||
|
includes binary coding for the individuals, jump mutation, creep
|
|||
|
mutation, and the option for single-point or uniform crossover.
|
|||
|
Niching (sharing) and an option for the number of children per
|
|||
|
pair of parents has been added. More recently, an option for
|
|||
|
the use of a micro-GA has been added.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="FREVO"></A> </P>
|
|||
|
<DT><B>FREVO</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://frevo.sourceforge.net/">http://frevo.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>FREVO is an open-source framework developed in Java to help engineers
|
|||
|
and scientists in evolutionary design or optimization tasks. The major
|
|||
|
feature of FREVO is the componentwise decomposition and separation of
|
|||
|
the key building blocks for each optimization tasks. We identify these
|
|||
|
as the problem definition, solution representation and the optimization
|
|||
|
method. This structure enables the components to be designed separately
|
|||
|
allowing the user to easily swap and evaluate different configurations
|
|||
|
and methods or to connect an external simulation tool.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GALib"></A> </P>
|
|||
|
<DT><B>GAlib: Matthew's Genetic Algorithms Library</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web Site:
|
|||
|
<A HREF="http://lancet.mit.edu/ga/">http://lancet.mit.edu/ga/</A></LI>
|
|||
|
<LI>Download:
|
|||
|
<A HREF="http://lancet.mit.edu/ga/dist/">http://lancet.mit.edu/ga/dist/</A></LI>
|
|||
|
<LI>Register GAlib at:
|
|||
|
<A HREF="http://lancet.mit.edu/ga/Register.html">http://lancet.mit.edu/ga/Register.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GAlib contains a set of C++ genetic algorithm objects. The
|
|||
|
library includes tools for using genetic algorithms to do
|
|||
|
optimization in any C++ program using any representation and genetic
|
|||
|
operators. The documentation includes an extensive overview of how
|
|||
|
to implement a genetic algorithm as well as examples illustrating
|
|||
|
customizations to the GAlib classes.</P>
|
|||
|
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GALOPPS"></A> </P>
|
|||
|
<DT><B>GALOPPS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://garage.cse.msu.edu/software/galopps/">http://garage.cse.msu.edu/software/galopps/</A> </LI>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://garage.cse.msu.edu/pub/GA/galopps/">ftp://garage.cse.msu.edu/pub/GA/galopps/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GALOPPS is a flexible, generic GA, in 'C'. It was based upon
|
|||
|
Goldberg's Simple Genetic Algorithm (SGA) architecture, in order to
|
|||
|
make it easier for users to learn to use and extend.</P>
|
|||
|
<P>GALOPPS extends the SGA capabilities several fold:
|
|||
|
<UL>
|
|||
|
<LI> (optional) A new Graphical User Interface, based on TCL/TK,
|
|||
|
for Unix users, allowing easy running of GALOPPS 3.2 (single
|
|||
|
or multiple subpopulations) on one or more processors. GUI
|
|||
|
writes/reads "standard" GALOPPS input and master files, and
|
|||
|
displays graphical output (during or after run) of
|
|||
|
user-selected variables.</LI>
|
|||
|
<LI> 5 selection methods: roulette wheel, stochastic remainder
|
|||
|
sampling, tournament selection, stochastic universal sampling,
|
|||
|
linear-ranking-then-SUS.</LI>
|
|||
|
<LI> Random or superuniform initialization of "ordinary"
|
|||
|
(non-permutation) binary or non-binary chromosomes; random
|
|||
|
initialization of permutation-based chromosomes; or
|
|||
|
user-supplied initialization of arbitrary types of chromosomes.</LI>
|
|||
|
<LI> Binary or non-binary alphabetic fields on value-based
|
|||
|
chromosomes, including different user-definable field sizes.</LI>
|
|||
|
<LI> 3 crossovers for value-based representations: 1-pt, 2-pt, and
|
|||
|
uniform, all of which operate at field boundaries if a
|
|||
|
non-binary alphabet is used.</LI>
|
|||
|
<LI> 4 crossovers for order-based reps: PMX, order-based, uniform
|
|||
|
order-based, and cycle.</LI>
|
|||
|
<LI> 4 mutations: fast bitwise, multiple-field, swap and random
|
|||
|
sublist scramble.</LI>
|
|||
|
<LI> Fitness scaling: linear scaling, Boltzmann scaling, sigma
|
|||
|
truncation, window scaling, ranking.</LI>
|
|||
|
<LI><B>Plus</B> a whole lot more....</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GAS"></A> </P>
|
|||
|
<DT><B>GAS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://starship.python.net/crew/gandalf/">http://starship.python.net/crew/gandalf/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GAS means "Genetic Algorithms Stuff".
|
|||
|
GAS is freeware.</P>
|
|||
|
<P>Purpose of GAS is to explore and exploit artificial evolutions.
|
|||
|
Primary implementation language of GAS is Python. The GAS
|
|||
|
software package is meant to be a Python framework for applying
|
|||
|
genetic algorithms. It contains an example application where it
|
|||
|
is tried to breed Python program strings. This special problem
|
|||
|
falls into the category of Genetic Programming (GP), and/or
|
|||
|
Automatic Programming. Nevertheless, GAS tries to be useful for
|
|||
|
other applications of Genetic Algorithms as well.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GAUL"></A> </P>
|
|||
|
<DT><B>GAUL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://gaul.sourceforge.net/">http://gaul.sourceforge.net/</A></LI>
|
|||
|
<LI>SF project site:
|
|||
|
<A HREF="http://sourceforge.net/projects/gaul/">http://sourceforge.net/projects/gaul/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Genetic Algorithm Utility Library (GAUL) is a flexible programming
|
|||
|
library designed to aid development of applications that require the
|
|||
|
use of genetic algorithms. Features include:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>Darwinian, Lamarckian or Baldwinian evolutionary schemes.</LI>
|
|||
|
<LI>Both steady-state and generation-based GAs included.</LI>
|
|||
|
<LI>The island model of evolution is available.</LI>
|
|||
|
<LI>Chromosome datatype agnostic. A selection of common chromosome
|
|||
|
types are built-in.</LI>
|
|||
|
<LI>Allows user-defined crossover, mutation, selection, adaptation
|
|||
|
and replacement operators.</LI>
|
|||
|
<LI>Support for multiple, simultaneously evolved,populations.</LI>
|
|||
|
<LI>Choice of high-level or low-level interface functions.</LI>
|
|||
|
<LI>Additional, non-GA, optimisation algorithms are built-in for
|
|||
|
local optimisation or comparative purposes.</LI>
|
|||
|
<LI>Trivial to extend using external code via the built-in code
|
|||
|
hooks.</LI>
|
|||
|
<LI>May be driven by, or extended by, powerful S-Lang scripts.</LI>
|
|||
|
<LI>Support for multiprocessor calculations.</LI>
|
|||
|
<LI>Written using highly portable C code.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GECO"></A> </P>
|
|||
|
<DT><B>GECO</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="http://common-lisp.net/project/geco/">http://common-lisp.net/project/geco/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>GECO (Genetic Evolution through Combination of Objects), an
|
|||
|
extendible object-oriented tool-box for constructing genetic algorithms
|
|||
|
(in Lisp). It provides a set of extensible classes and methods
|
|||
|
designed for generality. Some simple examples are also provided to
|
|||
|
illustrate the intended use.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GenePool"></A> </P>
|
|||
|
<DT><B>GenePool</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.rubinsteyn.com/genepool/">http://www.rubinsteyn.com/genepool/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GenePool is a framework for writing evolutionary optimization
|
|||
|
algorithms in OCaml. This library is not a complete solution but rather
|
|||
|
is a generic skeleton which takes care of the plumbing and nuisances of
|
|||
|
optimization. You provide GenePool with functions that give meaning to
|
|||
|
fitness and reproduction and after a specified number of generation,
|
|||
|
GenePool returns an array of the best "genomes" it evolved.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Genetic"></A> </P>
|
|||
|
<DT><B>Genetic</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: ???</LI>
|
|||
|
<LI>You can get it from the debian repository:
|
|||
|
<A HREF="http://packages.qa.debian.org/g/genetic.html">http://packages.qa.debian.org/g/genetic.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This is a package for genetic algorythms and AI in Python.</P>
|
|||
|
<P>Genetic can typically solve ANY problem that consists to minimize a
|
|||
|
function.</P>
|
|||
|
<P>It also includes several demos / examples, like the TSP (traveling
|
|||
|
saleman problem).</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GPdata"></A> </P>
|
|||
|
<DT><B>GPdata</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://ftp.cs.bham.ac.uk/pub/authors/W.B.Langdon/gp-code/">ftp://ftp.cs.bham.ac.uk/pub/authors/W.B.Langdon/gp-code/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GPdata-3.0.tar.gz (C++) contains a version of Andy Singleton's
|
|||
|
GP-Quick version 2.1 which has been extensively altered to support:
|
|||
|
<UL>
|
|||
|
<LI>Indexed memory operation (cf. teller)</LI>
|
|||
|
<LI>multi tree programs</LI>
|
|||
|
<LI>Adfs</LI>
|
|||
|
<LI>parameter changes without recompilation</LI>
|
|||
|
<LI>populations partitioned into demes</LI>
|
|||
|
<LI>(A version of) pareto fitness</LI>
|
|||
|
</UL>
|
|||
|
|
|||
|
This ftp site also contains a small C++ program (ntrees.cc) to
|
|||
|
calculate the number of different there are of a given length and
|
|||
|
given function and terminal set.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Java GP - gpjpp"></A> </P>
|
|||
|
<DT><B>gpjpp Genetic Programming in Java</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>The code can be found in the tarball linked from
|
|||
|
"GP and Othello Java code and READMEs" on this page:
|
|||
|
<A HREF="http://www1.cs.columbia.edu/~evs/ml/hw4.html">http://www1.cs.columbia.edu/~evs/ml/hw4.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>gpjpp is a Java package I wrote for doing research in genetic
|
|||
|
programming. It is a port of the gpc++ kernel written by Adam
|
|||
|
Fraser and Thomas Weinbrenner. Included in the package are
|
|||
|
four of Koza's standard examples: the artificial ant, the
|
|||
|
hopping lawnmower, symbolic regression, and the boolean
|
|||
|
multiplexer. Here is a partial list of its features:
|
|||
|
<UL>
|
|||
|
<LI>graphic output of expression trees</LI>
|
|||
|
<LI>efficient diversity checking </LI>
|
|||
|
<LI>Koza's greedy over-selection option for large populations</LI>
|
|||
|
<LI>extensible GPRun class that encapsulates most details of a
|
|||
|
genetic programming test</LI>
|
|||
|
<LI>more robust and efficient streaming code, with automatic
|
|||
|
checkpoint and restart built into the GPRun class</LI>
|
|||
|
<LI>an explicit complexity limit that can be set on each GP</LI>
|
|||
|
<LI>additional configuration variables to allow more testing
|
|||
|
without recompilation</LI>
|
|||
|
<LI>support for automatically defined functions (ADFs)</LI>
|
|||
|
<LI>tournament and fitness proportionate selection</LI>
|
|||
|
<LI>demetic grouping</LI>
|
|||
|
<LI>optional steady state population</LI>
|
|||
|
<LI>subtree crossover</LI>
|
|||
|
<LI>swap and shrink mutation</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="jaga"></A> </P>
|
|||
|
<DT><B>jaga</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://cs.felk.cvut.cz/~koutnij/studium/jaga/jaga.html">cs.felk.cvut.cz/~koutnij/studium/jaga/jaga.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Simple genetic algorithm package written in Java.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JGAP"></A> </P>
|
|||
|
<DT><B>JGAP</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://jgap.sourceforge.net/">http://jgap.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>JGAP (pronounced "jay-gap") is a Genetic Algorithms and Genetic
|
|||
|
Programming component provided as a Java framework. It provides basic
|
|||
|
genetic mechanisms that can be easily used to apply evolutionary
|
|||
|
principles to problem solutions.</P>
|
|||
|
<P>JGAP was designed to be very easy to use "out of the box", while also
|
|||
|
designed to be highly modular so that more adventurous users can easily
|
|||
|
plug-in custom genetic operators and other sub-components.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="lil-gp"></A> </P>
|
|||
|
<DT><B>lil-gp</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://garage.cse.msu.edu/software/lil-gp/">http://garage.cse.msu.edu/software/lil-gp/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<DT><B>patched lil-gp *</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://cs.gmu.edu/~sean/research/lil-gp-patch/">http://cs.gmu.edu/~sean/research/lil-gp-patch/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>lil-gp is a generic 'C' genetic programming tool. It was written
|
|||
|
with a number of goals in mind: speed, ease of use and support for a
|
|||
|
number of options including:
|
|||
|
<UL>
|
|||
|
<LI> Generic 'C' program that runs on UNIX workstations</LI>
|
|||
|
<LI> Support for multiple population experiments, using
|
|||
|
arbitrary and user settable topologies for exchange, for
|
|||
|
a single processor (i.e., you can do multiple population gp
|
|||
|
experiments on your PC).</LI>
|
|||
|
<LI> lil-gp manipulates trees of function pointers which are
|
|||
|
allocated in single, large memory blocks for speed and to
|
|||
|
avoid swapping.</LI>
|
|||
|
</UL>
|
|||
|
|
|||
|
* The patched lil-gp kernel is strongly-typed, with modifications on
|
|||
|
multithreading, coevolution, and other tweaks and features.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Lithos"></A> </P>
|
|||
|
<DT><B>Lithos</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.esatclear.ie/~rwallace/lithos.html">www.esatclear.ie/~rwallace/lithos.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Lithos is a stack based evolutionary computation system. Unlike most EC
|
|||
|
systems, its representation language is computationally complete, while
|
|||
|
also being faster and more compact than the S-expressions used in
|
|||
|
genetic programming. The version presented here applies the system to
|
|||
|
the game of Go, but can be changed to other problems by simply plugging
|
|||
|
in a different evaluation function. ANSI C source code is provided.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Open BEAGLE"></A> </P>
|
|||
|
<DT><B>Open BEAGLE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://beagle.gel.ulaval.ca/">beagle.gel.ulaval.ca</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Open BEAGLE is a C++ evolutionary computation framework. It provides a
|
|||
|
high-level software environment to do any kind of evolutionary
|
|||
|
computation, with support for tree-based genetic programming, bit
|
|||
|
string and real-valued genetic algorithms, evolution strategy,
|
|||
|
co-evolution, and evolutionary multi-objective optimization.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PGAPack"></A> </P>
|
|||
|
<DT><B>PGAPack</B><DD><P>Parallel Genetic Algorithm Library
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://ftp.mcs.anl.gov/pub/pgapack/">ftp://ftp.mcs.anl.gov/pub/pgapack/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>PGAPack is a general-purpose, data-structure-neutral, parallel
|
|||
|
genetic algorithm library. It is intended to provide most capabilities
|
|||
|
desired in a genetic algorithm library, in an integrated, seamless,
|
|||
|
and portable manner. Key features are in PGAPack V1.0 include:
|
|||
|
<UL>
|
|||
|
<LI>Callable from Fortran or C.</LI>
|
|||
|
<LI>Runs on uniprocessors, parallel computers, and workstation networks.</LI>
|
|||
|
<LI>Binary-, integer-, real-, and character-valued native data types. </LI>
|
|||
|
<LI>Full extensibility to support custom operators and new data types.</LI>
|
|||
|
<LI>Easy-to-use interface for novice and application users.</LI>
|
|||
|
<LI>Multiple levels of access for expert users.</LI>
|
|||
|
<LI>Parameterized population replacement.</LI>
|
|||
|
<LI>Multiple crossover, mutation, and selection operators.</LI>
|
|||
|
<LI>Easy integration of hill-climbing heuristics.</LI>
|
|||
|
<LI>Extensive debugging facilities.</LI>
|
|||
|
<LI>Large set of example problems.</LI>
|
|||
|
<LI>Detailed users guide.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PIPE"></A> </P>
|
|||
|
<DT><B>PIPE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://ftp.idsia.ch/pub/rafal/">ftp.idsia.ch/pub/rafal</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Probabilistic Incremental Program Evolution (PIPE) is a novel
|
|||
|
technique for automatic program synthesis. The software is written in C.
|
|||
|
It ...</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>is easy to install (comes with an automatic installation tool).</LI>
|
|||
|
<LI>is easy to use: setting up PIPE_V1.0 for different
|
|||
|
problems requires a minimal amount of programming. User-written,
|
|||
|
application-independent program parts can easily be reused.</LI>
|
|||
|
<LI>is efficient: PIPE_V1.0 has been tuned to speed up
|
|||
|
performance.</LI>
|
|||
|
<LI>is portable: comes with source code (optimized for SunOS
|
|||
|
5.5.1).</LI>
|
|||
|
<LI>is extensively documented(!) and contains three example
|
|||
|
applications.</LI>
|
|||
|
<LI>supports statistical evaluations: it facilitates running
|
|||
|
multiple experiments and collecting results in output files.</LI>
|
|||
|
<LI>includes testing tool for testing generalization of evolved
|
|||
|
programs.</LI>
|
|||
|
<LI>supports floating point and integer arithmetic.</LI>
|
|||
|
<LI>has extensive output features.</LI>
|
|||
|
<LI>For lil-gp users: Problems set up for lil-gp 1.0 can be
|
|||
|
easily ported to PIPE_v1.0. The testing tool can also be
|
|||
|
used to process programs evolved by lil-gp 1.0.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="plop"></A> </P>
|
|||
|
<DT><B>plop</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://code.google.com/p/plop/">http://code.google.com/p/plop/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A Common Lisp framework for experimenting with meta-optimizing semantic
|
|||
|
evolutionary search (
|
|||
|
<A HREF="http://metacog.org/doc.html">MOSES</A>) and related approaches to learning with probability
|
|||
|
distributions over program spaces based on:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>reduction to normal form</LI>
|
|||
|
<LI>representation-building</LI>
|
|||
|
<LI>deme (sub-population) management</LI>
|
|||
|
<LI>probabilistic model-building (aka estimation-of-distribution algorithms) </LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Pyevolve"></A> </P>
|
|||
|
<DT><B>Pyevolve</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://pyevolve.sourceforge.net/">http://pyevolve.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Pyevolve was developed to be a complete genetic algorithm framework,
|
|||
|
the main objectives of Pyevolve are:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>written in pure python, to maximize the cross-platform issue;</LI>
|
|||
|
<LI>easy to use API, the API must be easy for end-user;</LI>
|
|||
|
<LI>see the evolution, the user can and must see and interact with
|
|||
|
the evolution statistics, graphs and etc;</LI>
|
|||
|
<LI>extensible, the API must be extensible, the user can create new
|
|||
|
representations, genetic operators like crossover, mutation and etc;</LI>
|
|||
|
<LI>fast, the design must be optimized for performance;</LI>
|
|||
|
<LI>common features, the framework must implement the most common
|
|||
|
features: selectors like roulette wheel, tournament, ranking, uniform.
|
|||
|
Scaling schemes like linear scaling, etc;</LI>
|
|||
|
<LI>default parameters, we must have default operators, settings,
|
|||
|
etc in all options;</LI>
|
|||
|
<LI>open-source, the source is for everyone, not for only one.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="pygp"></A> </P>
|
|||
|
<DT><B>pygp</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/pygp/files/">http://sourceforge.net/projects/pygp/files/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Your basic genetic algorithm package for python.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="tinygp"></A> </P>
|
|||
|
<DT><B>tinygp</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.laserpirate.com/as3tinygp/">http://www.laserpirate.com/as3tinygp/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Small genetic programming library in C++ and ActionScript 3 (Javascript
|
|||
|
engine embedded in Flash) with flash demos.</P>
|
|||
|
<P>This GP library uses the standard Koza expression tree program
|
|||
|
representation. It uses the 'grow' algorithm to generate random
|
|||
|
expressions. Mutation is performed by selecting a random subexpression
|
|||
|
in an expression tree, and replacing it with a new random expression
|
|||
|
(which satisfies the maximum tree depth constraint). Crossover (mating)
|
|||
|
between two expressions is performed by selecting a random
|
|||
|
subexpression in each parent, then exchanging them (although it only
|
|||
|
makes on child, not two).</P>
|
|||
|
<P>In addition to the core code for creating, mutating, mating and
|
|||
|
evaluating expressions, the library includes a steady-state genetic
|
|||
|
algorithm with tournament selection, and a worst-out, elitist
|
|||
|
replacement policy (i.e. when a new child is created, it replaces the
|
|||
|
worse member of the population, only if it is better). </P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="txevolver"></A> </P>
|
|||
|
<DT><B>txevolver</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="https://launchpad.net/txevolver">https://launchpad.net/txevolver</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A Twisted-based set of libraries for performing calculations of genetic
|
|||
|
algorithms as well as genetic programs in an asynchronous, distributed
|
|||
|
manner.</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss4.2">4.2</A> <A HREF="AI-Alife-HOWTO.html#toc4.2">EC software kits/applications</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>These are various applications, software kits, etc. meant for research
|
|||
|
in the field of evolutionary computing. Their ease of use will vary, as they
|
|||
|
were designed to meet some particular research interest more than as
|
|||
|
an easy to use commercial package.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ADATE"></A> </P>
|
|||
|
<DT><B>ADATE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www-ia.hiof.no/~rolando/adate_intro.html">www-ia.hiof.no/~rolando/adate_intro.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>ADATE (Automatic Design of Algorithms Through Evolution) is a system
|
|||
|
for automatic programming i.e., inductive inference of algorithms,
|
|||
|
which may be the best way to develop artificial and general
|
|||
|
intelligence.</P>
|
|||
|
|
|||
|
<P>The ADATE system can automatically generate non-trivial and novel
|
|||
|
algorithms. Algorithms are generated through large scale combinatorial
|
|||
|
search that employs sophisticated program transformations and
|
|||
|
heuristics. The ADATE system is particularly good at synthesizing
|
|||
|
symbolic, functional programs and has several unique qualities.</P>
|
|||
|
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="esep-xesep"></A> </P>
|
|||
|
<DT><B>esep & xesep</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site(esep):
|
|||
|
<A HREF="http://www.iit.edu/~elrad/esep.html">www.iit.edu/~elrad/esep.html</A></LI>
|
|||
|
<LI>Web site(xesep):
|
|||
|
<A HREF="http://www.iit.edu/~elrad/xesep.html">www.iit.edu/~elrad/xesep.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>This is a new scheduler, called Evolution Scheduler, based on
|
|||
|
Genetic Algorithms and Evolutionary Programming. It lives with
|
|||
|
original Linux priority scheduler.This means you don't have to
|
|||
|
reboot to change the scheduling policy. You may simply use the
|
|||
|
manager program esep to switch between them at any time, and
|
|||
|
esep itself is an all-in-one for scheduling status, commands,
|
|||
|
and administration. We didn't intend to remove the original
|
|||
|
priority scheduler; instead, at least, esep provides you with
|
|||
|
another choice to use a more intelligent scheduler, which
|
|||
|
carries out natural competition in an easy and effective way.</P>
|
|||
|
<P>Xesep is a graphical user interface to the esep (Evolution
|
|||
|
Scheduling and Evolving Processes). It's intended to show users
|
|||
|
how to start, play, and feel the Evolution Scheduling and
|
|||
|
Evolving Processes, including sub-programs to display system
|
|||
|
status, evolving process status, queue status, and evolution
|
|||
|
scheduling status periodically in as small as one mini-second.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Corewars"></A> </P>
|
|||
|
<DT><B>Corewars</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>SourceForge site:
|
|||
|
<A HREF="http://sourceforge.net/projects/corewars/">http://sourceforge.net/projects/corewars/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Corewars is a game which simulates a virtual machine with a number of
|
|||
|
programs. Each program tries to crash the others. The program that
|
|||
|
lasts the longest time wins. A number of sample programs are provided
|
|||
|
and new programs can be written by the player. Screenshots are
|
|||
|
available at the Corewars homepage.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JCASim"></A> </P>
|
|||
|
<DT><B>JCASim</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.jweimar.de/jcasim/">http://www.jweimar.de/jcasim/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>JCASim is a general-purpose system for simulating cellular automata in
|
|||
|
Java. It includes a stand-alone application and an applet for web
|
|||
|
presentations. The cellular automata can be specified in Java, in CDL,
|
|||
|
or using an interactive dialogue. The system supports many different
|
|||
|
lattice geometries (1-D, 2-D square, hexagonal, triangular, 3-D),
|
|||
|
neighborhoods, boundary conditions, and can display the cells using
|
|||
|
colors, text, or icons.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JGProg"></A> </P>
|
|||
|
<DT><B>JGProg</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://jgprog.sourceforge.net/">jgprog.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Genetic Programming (JGProg) is an open-source Java implementation of
|
|||
|
a strongly-typed Genetic Programming experimentation platform. Two
|
|||
|
example "worlds" are provided, in which a population evolves and
|
|||
|
solves the problem.</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<HR>
|
|||
|
<H2><A NAME="Alife & Complex Systems"></A> <A NAME="s5">5.</A> <A HREF="AI-Alife-HOWTO.html#toc5">Alife & Complex Systems</A> </H2>
|
|||
|
|
|||
|
|
|||
|
<P>Alife takes yet another approach to exploring the mysteries of
|
|||
|
intelligence. It has many aspects similar to EC and Connectionism, but
|
|||
|
takes these ideas and gives them a meta-level twist. Alife emphasizes the
|
|||
|
development of intelligence through <I>emergent</I> behavior of
|
|||
|
<I>complex adaptive systems</I>. Alife stresses the social or group
|
|||
|
based aspects of intelligence. It seeks to understand life and survival. By
|
|||
|
studying the behaviors of groups of 'beings' Alife seeks to discover the
|
|||
|
way intelligence or higher order activity emerges from seemingly simple
|
|||
|
individuals. Cellular Automata and Conway's Game of Life are probably the
|
|||
|
most commonly known applications of this field. Complex Systems
|
|||
|
(abbreviated CS) are very similar to alife in the way the are approached,
|
|||
|
just more general in definition (ie. alife is a type of complex system).
|
|||
|
Usually complex system software takes the form of a simulator.</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss5.1">5.1</A> <A HREF="AI-Alife-HOWTO.html#toc5.1">Alife & CS class/code libraries</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>These are libraries of code or classes for use in programming within
|
|||
|
the artificial life field. They are not meant as stand alone
|
|||
|
applications, but rather as tools for building your own applications.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="AgentFarms"></A> </P>
|
|||
|
<DT><B>AgentFarms</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.agentfarms.net">http://www.agentfarms.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Agent Farms is a system for modelling and simulation of complex,
|
|||
|
multi-agent based systems. The system can be used for:
|
|||
|
<UL>
|
|||
|
<LI>Creating models of multi-agent systems</LI>
|
|||
|
<LI>Interactive and distributed simulation</LI>
|
|||
|
<LI>Observation and visualisation of the simulation</LI>
|
|||
|
<LI>Population modification and migration</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Biome"></A> </P>
|
|||
|
<DT><B>Biome</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/biome/">http://sourceforge.net/projects/biome/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Biome is a C++ library aimed at individual-based/agent-based
|
|||
|
simulations. It is somewhat similar to Swarm, EcoSim or Simex but tries
|
|||
|
to be more efficient and less monolithic without compromising object-
|
|||
|
oriented design. Currently there is an event based scheduling system, a
|
|||
|
C++ified Mersenne-Twister RNG, several general analysis classes, some
|
|||
|
Qt-based GUI classes, a very basic persistence/database framework (used
|
|||
|
also for parameter storage) and many other small useful things.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CAGE"></A> </P>
|
|||
|
<DT><B>CAGE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.alcyone.com/software/cage/">http://www.alcyone.com/software/cage/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>CAGE is a fairy generic and complete cellular automaton simulation
|
|||
|
engine in Python. It supports both 1D and 2D automata, a variety of
|
|||
|
prepackaged rules, and the concept of "agents" which can move about
|
|||
|
independently on the map for implementing agent behavior.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Cellular"></A> </P>
|
|||
|
<DT><B>Cellular</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://zhar.net/howto/homeless/cellular/">http://zhar.net/howto/homeless/cellular/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Cellular automata programming system consists of a compiler for the
|
|||
|
Cellang cellular automata programming language, along with the
|
|||
|
corresponding documentation, viewer, and various tools. Postscript
|
|||
|
versions of the tutorial and language reference manual are available for
|
|||
|
those wanting more detailed information. The most important
|
|||
|
distinguishing features of Cellang, include support for:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>any number of dimensions;</LI>
|
|||
|
<LI>compile time specification of each dimensions size;
|
|||
|
cell neighborhoods of any size (though bounded at compile time)
|
|||
|
and shape;</LI>
|
|||
|
<LI>positional and time dependent neighborhoods;</LI>
|
|||
|
<LI>associating multiple values (fields), including arrays,
|
|||
|
with each cell;</LI>
|
|||
|
<LI>associating a potentially unbounded number of mobile
|
|||
|
agents [ Agents are mobile entities based on a mechanism of
|
|||
|
the same name in the Creatures system, developed by Ian
|
|||
|
Stephenson (ian@ohm.york.ac.uk).] with each cell; and</LI>
|
|||
|
<LI>local interactions only, since it is impossible to
|
|||
|
construct automata that contain any global control or
|
|||
|
references to global variables.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Integrating Modelling Toolkit"></A> </P>
|
|||
|
<DT><B>Integrating Modelling Toolkit</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/imt/">sourceforge.net/projects/imt/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Integrating Modelling Toolkit (IMT) is a generic, comprehensive,
|
|||
|
and extensible set of abstractions allowing definition and use of
|
|||
|
interoperable model components. Modellers create an IMT "world" made
|
|||
|
of IMT "agents" that will perform each a particular phase of a
|
|||
|
modelling task. The core set of IMT agents can describe generic,
|
|||
|
modular, distributed model components, either native to the IMT or
|
|||
|
integrating existing simulation toolkits, specialized for tasks that
|
|||
|
range from simple calculation of functions in an interpreted language
|
|||
|
to spatially explicit simulation, model optimization, GIS analysis,
|
|||
|
visualization and advanced statistical analysis. IMT agents are
|
|||
|
designed to easily "glue" together in higher-level simulations
|
|||
|
integrating different modelling paradigms and toolkits. The IMT can be
|
|||
|
easily extended by users and developers through a convenient plug-in
|
|||
|
mechanism</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="MAML"></A> </P>
|
|||
|
<DT><B>MAML</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.maml.hu/">http://www.maml.hu/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The current version of MAML is basically an extension to Objective-C
|
|||
|
(using the Swarm libraries). It consists of a couple of
|
|||
|
'macro-keywords' that define the general structure of a simulation. The
|
|||
|
remaining must be filled with pure swarm-code. A MAML-to-Swarm (named
|
|||
|
xmc) compiler is also being developed which compiles the source code
|
|||
|
into a swarm application.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="MASON"></A> </P>
|
|||
|
<DT><B>MASON</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://cs.gmu.edu/~eclab/projects/mason/">http://cs.gmu.edu/~eclab/projects/mason/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>MASON Stands for Multi-Agent Simulator Of Neighborhoods... or
|
|||
|
Networks... or something...</P>
|
|||
|
<P>MASON is a fast discrete-event multi-agent simulation library core in
|
|||
|
Java, designed to be the foundation for large custom-purpose Java
|
|||
|
simulations, and also to provide more than enough functionality for
|
|||
|
many lightweight simulation needs. MASON contains both a model library
|
|||
|
and an optional suite of visualization tools in 2D and 3D.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SimWorld"></A> </P>
|
|||
|
<DT><B>SimWorld</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.nd.edu/ airolab/simworld/</LI>
|
|||
|
<LI>New Web site?: http://hrilab.tufts.edu/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>SimWorld is a free artificial life simulation (based on the free
|
|||
|
<A HREF="#SimAgent">SimAgent</A>
|
|||
|
toolkit developed by Aaron Sloman), which provides
|
|||
|
functionality for running different interacting agents and objects in a
|
|||
|
simulated, continuous environment. The agents are controlled by rules
|
|||
|
written in the powerful rule interpreter. New behaviors of agents can
|
|||
|
be defined without any programming knowledge.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Swarm"></A> </P>
|
|||
|
<DT><B>Swarm</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.swarm.org/wiki/Swarm_main_page">www.swarm.org/wiki/Swarm_main_page</A></LI>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="http://ftp.swarm.org/pub/swarm/">ftp.swarm.org/pub/swarm/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>The swarm Alife simulation kit. Swarm is a simulation environment
|
|||
|
which facilitates development and experimentation with simulations
|
|||
|
involving a large number of agents behaving and interacting within a
|
|||
|
dynamic environment. It consists of a collection of classes and
|
|||
|
libraries written in Objective-C and allows great flexibility in
|
|||
|
creating simulations and analyzing their results. It comes with three
|
|||
|
demos and good documentation. </P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss5.2">5.2</A> <A HREF="AI-Alife-HOWTO.html#toc5.2">Alife & CS software kits, applications, etc.</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>These are various applications, software kits, etc. meant for research
|
|||
|
in the field of artificial life. Their ease of use will vary, as they
|
|||
|
were designed to meet some particular research interest more than as
|
|||
|
an easy to use commercial package.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Achilles"></A> </P>
|
|||
|
<DT><B>Achilles</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://achilles.sourceforge.net/">http://achilles.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Achilles is an evolution simulation based on Larry Yaeger's PolyWorld.
|
|||
|
It uses Hebbian neural networks, and an extremely simplified physical
|
|||
|
model that allows virtual organisms to interact freely in a simulated
|
|||
|
environment.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Avida"></A> </P>
|
|||
|
<DT><B>Avida</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://avida.devosoft.org/">http://avida.devosoft.org/</A></LI>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/avida/">http://sourceforge.net/projects/avida/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The computer program Avida is an auto-adaptive genetic system designed
|
|||
|
primarily for use as a platform in Artificial Life research. The Avida
|
|||
|
system is based on concepts similar to those employed by the Tierra
|
|||
|
program, that is to say it is a population of self-reproducing strings
|
|||
|
with a Turing-complete genetic basis subjected to Poisson-random
|
|||
|
mutations. The population adapts to the combination of an intrinsic
|
|||
|
fitness landscape (self-reproduction) and an externally imposed
|
|||
|
(extrinsic) fitness function provided by the researcher. By studying
|
|||
|
this system, one can examine evolutionary adaptation, general traits of
|
|||
|
living systems (such as self-organization), and other issues pertaining
|
|||
|
to theoretical or evolutionary biology and dynamic systems.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Biogenesis"></A> </P>
|
|||
|
<DT><B>Biogenesis</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://biogenesis.sourceforge.net/">http://biogenesis.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Biogenesis is an artificial life program that simulates the processes
|
|||
|
involved in the evolution of organisms. It shows colored segment based
|
|||
|
organisms that mutate and evolve in a 2D environment. Biogenesis is
|
|||
|
based on Primordial Life.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="breve"></A> </P>
|
|||
|
<DT><B>breve</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.spiderland.org/breve/">www.spiderland.org/breve/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Breve is a free software package which makes it easy to build 3D
|
|||
|
simulations of decentralized systems and artificial life. Users define
|
|||
|
the behaviors of agents in a 3D world and observe how they interact.
|
|||
|
Breve includes physical simulation and collision detection so you can
|
|||
|
simulate realistic creatures, and an OpenGL display engine so you can
|
|||
|
visualize your simulated worlds.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="BugsX"></A> </P>
|
|||
|
<DT><B>BugsX</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="https://github.com/porridge/bugsx">https://github.com/porridge/bugsx</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Display and evolve biomorphs. It is a program which draws the
|
|||
|
biomorphs based on parametric plots of Fourier sine and cosine series
|
|||
|
and let's you play with them using the genetic algorithm.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Creatures Docking Station"></A> </P>
|
|||
|
<DT><B>Creatures Docking Station</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Linux info:
|
|||
|
<A HREF="http://www.creaturesdockingstation.com/">http://www.creaturesdockingstation.com/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This is a free version of the Creatures3 ALife game. It has fewer
|
|||
|
species and a small 'space-station' world, but can connect to other
|
|||
|
worlds over the internet and (if you have the windows version of the
|
|||
|
game) can connect to your C3 world. The game itself revolves around
|
|||
|
breeding and training the alife creatures, 'Norns'. Its strikes a
|
|||
|
pretty nice balance between fun and science, or so I'm told.</P>
|
|||
|
<P>(summary written by Steve Grand included below)</P>
|
|||
|
<P>The eponymous creatures in this computer game are called Norns, and the
|
|||
|
world's population of them at one stage hovered around the five million
|
|||
|
mark, making them more common than many familiar natural species. Each
|
|||
|
norn is composed of thousands of tiny simulated biological components,
|
|||
|
such as neurons, biochemicals, chemoreceptors, chemoemitters and genes.
|
|||
|
The norns' genes dictate how these components are assembled to make
|
|||
|
complete organisms, and the creatures' behaviour then emerges from the
|
|||
|
interactions of those parts, rather than being explicitly 'programmed
|
|||
|
in'.</P>
|
|||
|
<P>The norns are capable of learning about their environment, either by
|
|||
|
being shown things by their owners or through learning by their own
|
|||
|
mistakes. They must learn for themselves how to find food and how to
|
|||
|
interact with the many objects in their environment. They can interact
|
|||
|
with their owners, using simple language, and also with each other.
|
|||
|
They can form relationships and produce offspring, which inherit their
|
|||
|
neural and biochemical structure from their parents and are capable of
|
|||
|
open-ended evolution over time. They can fall prey to a variety of
|
|||
|
diseases (as well as genetic defects) and can be treated with
|
|||
|
appropriate medicines.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Critterding"></A> </P>
|
|||
|
<DT><B>Critterding</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://critterding.sourceforge.net/">http://critterding.sourceforge.net/</A></LI>
|
|||
|
<LI>Web site (telepathic-critterdrug):
|
|||
|
<A HREF="http://m-net.arbornet.org/~flamoot/telepathic-critterdrug.html">http://m-net.arbornet.org/~flamoot/telepathic-critterdrug.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Critterding is a "Petri dish" universe in 3D that demonstrates evolving
|
|||
|
artificial life. Critters start out with completely random brains and
|
|||
|
bodies, but will automatically start evolving into something with much
|
|||
|
better survival skills. The lifeforms are placed in an artificial
|
|||
|
environment where there neural net 'brains' can evolve.</P>
|
|||
|
<P>Telepathic-critterdrug is a fork of Critterding introducing a
|
|||
|
communications medium (called a retina) and psychoactive substances
|
|||
|
that effect this retina.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="dblife-dblifelib"></A> </P>
|
|||
|
<DT><B>dblife & dblifelib</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="http://ibiblio.org/pub/Linux/science/ai/life/">ibiblio.org/pub/Linux/science/ai/life/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P><I>dblife:</I> Sources for a fancy Game of Life program for X11
|
|||
|
(and curses). It is not meant to be incredibly fast (use xlife for
|
|||
|
that:-). But it IS meant to allow the easy editing and viewing of
|
|||
|
Life objects and has some powerful features. The related dblifelib
|
|||
|
package is a library of Life objects to use with the program.</P>
|
|||
|
<P><I>dblifelib:</I> This is a library of interesting Life objects,
|
|||
|
including oscillators, spaceships, puffers, and other weird things.
|
|||
|
The related dblife package contains a Life program which can read the
|
|||
|
objects in the Library.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Drone"></A> </P>
|
|||
|
<DT><B>Drone</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cscs.umich.edu/Software/Drone/">www.cscs.umich.edu/Software/Drone/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Drone is a tool for automatically running batch jobs of a simulation
|
|||
|
program. It allows sweeps over arbitrary sets of parameters, as well
|
|||
|
as multiple runs for each parameter set, with a separate random seed
|
|||
|
for each run. The runs may be executed either on a single computer or
|
|||
|
over the Internet on a set of remote hosts. Drone is written in Expect
|
|||
|
(an extension to the Tcl scripting language) and runs under Unix. It
|
|||
|
was originally designed for use with the Swarm agent-based simulation
|
|||
|
framework, but Drone can be used with any simulation program that
|
|||
|
reads parameters from the command line or from an input file.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="EcoLab"></A> </P>
|
|||
|
<DT><B>EcoLab</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ecolab.sourceforge.net/">http://ecolab.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>EcoLab is a system that implements an abstract ecology model. It
|
|||
|
is written as a set of Tcl/Tk commands so that the model
|
|||
|
parameters can easily be changed on the fly by means of editing
|
|||
|
a script. The model itself is written in C++.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Framsticks"></A> </P>
|
|||
|
<DT><B>Framsticks</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.frams.alife.pl/">http://www.frams.alife.pl/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Framsticks is a three-dimensional life simulation project. Both
|
|||
|
mechanical structures ("bodies") and control systems ("brains") of
|
|||
|
creatures are modeled. It is possible to design various kinds of
|
|||
|
experiments, including simple optimization (by evolutionary
|
|||
|
algorithms), co-evolution, open-ended and spontaneous evolution,
|
|||
|
distinct gene pools and populations, diverse genotype/phenotype
|
|||
|
mappings, and species/ecosystems modeling.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Fluidiom"></A> </P>
|
|||
|
<DT><B>Fluidiom</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ostatic.com/fluidiom">http://ostatic.com/fluidiom</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Evolutionary based alife platform. Has a game like feel which makes it
|
|||
|
fun while still allowing for some interesting experimentation.</P>
|
|||
|
<P>It takes a minimalist approach to spatial structure to make a body,
|
|||
|
adds articulation in the form of muscles, and then lets evolution take
|
|||
|
over to see if these bodies can learn to walk, run, crawl, or slither
|
|||
|
from one place to the other.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Game Of Life"></A> </P>
|
|||
|
<DT><B>Game Of Life (GOL)</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="http://ibiblio.org/pub/Linux/science/ai/life/">ibiblio.org/pub/Linux/science/ai/life/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GOL is a simulator for conway's game of life (a simple cellular
|
|||
|
automata), and other simple rule sets. The emphasis here is on
|
|||
|
speed and scale, in other words you can setup large and fast
|
|||
|
simulations.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="gant"></A> </P>
|
|||
|
<DT><B>gant</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://gant.sourceforge.net/">gant.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This project is an ANSI C++ implementation of the Generalized Langton
|
|||
|
Ant, which lives on a torus.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="gLife"></A> </P>
|
|||
|
<DT><B>gLife</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://glife.sourceforge.net/">glife.sourceforge.net</A></LI>
|
|||
|
<LI>SourceForge site:
|
|||
|
<A HREF="http://sourceforge.net/projects/glife/">sourceforge.net/projects/glife/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This program is similiar to "Conway's Game of Life" but yet it is very
|
|||
|
different. It takes "Conway's Game of Life" and applies it to a society
|
|||
|
(human society). This means there is a very different (and much larger)
|
|||
|
rule set than in the original game. Things need to be taken into account
|
|||
|
such as the terrain, age, sex, culture, movement, etc</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Golly"></A> </P>
|
|||
|
<DT><B>Golly</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://golly.sourceforge.net/">golly.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>An open source, cross-platform implementation of John Conway's Game of
|
|||
|
Life with an unbounded universe and capable of running patterns faster
|
|||
|
and further than ever before. It has many features such as;</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>Reads RLE, Life 1.05/1.06, and macrocell formats.</LI>
|
|||
|
<LI>Supports Wolfram's 1D rules.</LI>
|
|||
|
<LI>Can paste in patterns from the clipboard. </LI>
|
|||
|
<LI>Scriptable via Python.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Langton's Ant"></A> </P>
|
|||
|
<DT><B>Langton's Ant</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://theory.org/software/ant/">http://theory.org/software/ant/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Langton's Ant is an example of a finite-state cellular automata. The
|
|||
|
ant (or ants) start out on a grid. Each cell is either black or white.
|
|||
|
If the ant is on a black square, it turns right 90 and moves forward
|
|||
|
one unit. If the ant is on a white square, it turns left 90 and moves
|
|||
|
forward one unit. And when the ant leaves a square, it inverts the
|
|||
|
color. The neat thing about Langton's Ant is that no matter what
|
|||
|
pattern field you start it out on, it eventually builds a "road," which
|
|||
|
is a series of 117 steps that repeat indefinitely, each time leaving
|
|||
|
the ant displaced one pixel vertically and horizontally.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="LEE"></A> </P>
|
|||
|
<DT><B>LEE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.informatics.indiana.edu/fil/LEE/">www.informatics.indiana.edu/fil/LEE/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>LEE (Latent Energy Environments) is both an Alife model and a
|
|||
|
software tool to be used for simulations within the framework of that
|
|||
|
model. We hope that LEE will help understand a broad range of issues
|
|||
|
in theoretical, behavioral, and evolutionary biology. The LEE tool
|
|||
|
described here consists of approximately 7,000 lines of C code and
|
|||
|
runs in both Unix and Macintosh platforms.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="MATREM"></A> </P>
|
|||
|
<DT><B>MATREM</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.romansland.nl/matrem/">http://www.romansland.nl/matrem/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Matrem is a computer program that simulates life. It belongs to the
|
|||
|
emerging science of "artificial life", which studies evolution and
|
|||
|
complex systems in general by simulation. Matrem is also a game, where
|
|||
|
players compete to create the fittest life form. Their efforts are the
|
|||
|
driving force behind the program.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Nanopond"></A> </P>
|
|||
|
<DT><B>Nanopond</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://adam.ierymenko.name/nanopond.shtml">http://adam.ierymenko.name/nanopond.shtml</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Nanopond is a "corewar style" evolvable instruction set based virtual
|
|||
|
machine written in C. It is similar in design to Tierra and Avida but
|
|||
|
considerably smaller and simpler. Version 1.0 weights in at only 840
|
|||
|
lines of C code, the majority of which are comments! It is very highly
|
|||
|
optimized and supports simple color visualization using the SDL (Simple
|
|||
|
Directmedia Layer) library.</P>
|
|||
|
<P>More information can be learned by reading the Nanopond source code,
|
|||
|
which is very well commented.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Noble Ape"></A> </P>
|
|||
|
<DT><B>Noble Ape</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.nobleape.com/sim/">www.nobleape.com/sim/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Noble Ape Simulation has been developed (as the Nervana Simulation)
|
|||
|
since 1996. The aim of the simulation is to create a detailed
|
|||
|
biological environment and a cognitive simulation. The Simulation is
|
|||
|
intended as a palette for open source development. It provides a stable
|
|||
|
means of simulating large scale environments and cognitive processes.</P>
|
|||
|
<P>It features a number of autonomous simulation components including a
|
|||
|
landscape simulation, biological simulation, weather simulation,
|
|||
|
sentient creature (Noble Ape) simulation and a simple intelligent-agent
|
|||
|
scripting language (ApeScript).</P>
|
|||
|
<P>The code is currently (2007) used by Apple Inc and by INTEL for
|
|||
|
processor optimization and performance tuning. Apple includes it with
|
|||
|
their CHUD performance and debugging developer tool set.</P>
|
|||
|
<P>
|
|||
|
<A NAME="Polyworld"></A> </P>
|
|||
|
<DT><B>Polyworld</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/polyworld">http://sourceforge.net/projects/polyworld</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>PolyWorld is a computational ecology that I developed to explore issues
|
|||
|
in Artificial Life. Simulated organisms reproduce sexually, fight and
|
|||
|
kill and eat each other, eat the food that grows throughout the world,
|
|||
|
and either develop successful strategies for survival or die. An
|
|||
|
organism's entire behavioral suite (move, turn, attack, eat, mate,
|
|||
|
light) is controlled by its neural network "brain". Each brain's
|
|||
|
architecture--it's neural wiring diagram--is determined from its
|
|||
|
genetic code, in terms of number, size, and composition of neural
|
|||
|
clusters (excitatory and inhibitory neurons) and the types of
|
|||
|
connections between those clusters (connection density and topological
|
|||
|
mapping). Synaptic efficacy is modulated via Hebbian learning, so, in
|
|||
|
principle, the organisms have the ability to learn during the course of
|
|||
|
their lifetimes. The organisms perceive their world through a sense of
|
|||
|
vision, provided by a computer graphic rendering of the world from each
|
|||
|
organism's point of view. The organisms' physiologies are also encoded
|
|||
|
genetically, so both brain and body, and thus all components of
|
|||
|
behavior, evolve over multiple generations. A variety of "species",
|
|||
|
with varying individual and group survival strategies have emerged in
|
|||
|
various simulations, displaying such complex ethological behaviors as
|
|||
|
swarming/flocking, foraging, and attack avoidance.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="POSES++"></A> </P>
|
|||
|
<DT><B>POSES++</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.gpc.de/e_poses.html">http://www.gpc.de/e_poses.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The POSES++ software tool supports the development and
|
|||
|
simulation of models. Regarding the simulation technique models
|
|||
|
are suitable reproductions of real or planned systems for their
|
|||
|
simulative investigation.</P>
|
|||
|
|
|||
|
<P>In all industrial sectors or branches POSES++ can model and
|
|||
|
simulate any arbitrary system which is based on a discrete and
|
|||
|
discontinuous behaviour. Also continuous systems can mostly be
|
|||
|
handled like discrete systems e.g., by quantity discretion and
|
|||
|
batch processing.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Tierra"></A> </P>
|
|||
|
<DT><B>Tierra</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://life.ou.edu/tierra/">http://life.ou.edu/tierra/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>Tierra's written in the C programming language. This source code
|
|||
|
creates a virtual computer and its operating system, whose
|
|||
|
architecture has been designed in such a way that the executable
|
|||
|
machine codes are evolve-able. This means that the machine code can be
|
|||
|
mutated (by flipping bits at random) or recombined (by swapping
|
|||
|
segments of code between algorithms), and the resulting code remains
|
|||
|
functional enough of the time for natural (or presumably artificial)
|
|||
|
selection to be able to improve the code over time.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Trend"></A> </P>
|
|||
|
<DT><B>Trend</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.complex.iastate.edu/download/Trend/">www.complex.iastate.edu/download/Trend/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Trend is a general purpose cellular automata simulation environment
|
|||
|
with an integrated high level language compiler, a beautiful graphical
|
|||
|
user interface, and a fast, three stage cached simulation engine. This
|
|||
|
is the simulation system that was used to discover the first emergent
|
|||
|
self-replicating cellular automata rule set, and the first problem
|
|||
|
solving self-replication loop.</P>
|
|||
|
<P>Since its simulator is very flexible with regard to cellular space
|
|||
|
sizes, cell structures, neighborhood structures and cellular automata
|
|||
|
rules, Trend can simulate almost all one or two-dimensional cellular
|
|||
|
automata models. It also has a smart backtracking feature which
|
|||
|
simplifies rule set development a lot by allowing users to go back to a
|
|||
|
previous stage of simulation! With other advanced features, Trend is
|
|||
|
probably the most easy to use 2-dimensional cellular automata
|
|||
|
simulator.</P>
|
|||
|
<P>Also available is jTrend. A Java version of Trend.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="XLIFE"></A> </P>
|
|||
|
<DT><B>XLIFE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="http://linux.maruhn.com/sec/xlife.html">http://linux.maruhn.com/sec/xlife.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This program will evolve patterns for John Horton Conway's game
|
|||
|
of Life. It will also handle general cellular automata with the
|
|||
|
orthogonal neighborhood and up to 8 states (it's possible to recompile
|
|||
|
for more states, but very expensive in memory). Transition rules and
|
|||
|
sample patterns are provided for the 8-state automaton of E. F. Codd,
|
|||
|
the Wireworld automaton, and a whole class of `Prisoner's Dilemma'
|
|||
|
games.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Xtoys"></A> </P>
|
|||
|
<DT><B>Xtoys</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://thy.phy.bnl.gov/www/xtoys/xtoys.html">http://thy.phy.bnl.gov/www/xtoys/xtoys.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>xtoys contains a set of cellular automata simulators for X windows.
|
|||
|
Programs included are:
|
|||
|
<UL>
|
|||
|
<LI> xising --- a two dimensional Ising model simulator,</LI>
|
|||
|
<LI> xpotts --- the two dimensional Potts model,</LI>
|
|||
|
<LI> xautomalab --- a totalistic cellular automaton simulator,</LI>
|
|||
|
<LI> xsand --- for the Bak, Tang, Wiesenfeld sandpile model,</LI>
|
|||
|
<LI> xwaves --- demonstrates three different wave equations,</LI>
|
|||
|
<LI> schrodinger --- play with the Scrodinger equation in an
|
|||
|
adjustable potential.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
<HR>
|
|||
|
<H2><A NAME="Agents"></A> <A NAME="Agents & Robotics"></A> <A NAME="s6">6.</A> <A HREF="AI-Alife-HOWTO.html#toc6">Agents & Robotics</A> </H2>
|
|||
|
|
|||
|
|
|||
|
<P>Software brains for computers that do stuff. Everythin from fun and
|
|||
|
games to data mining to physical robotics. This is a great hobbiest
|
|||
|
area of AI with many areas of interest to pursue. I've broken it down
|
|||
|
loosely into 2 sections. AI for purely software based agents and that
|
|||
|
for embodied agents (even if only simulated).</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="Software Agents"></A> <A NAME="ss6.1">6.1</A> <A HREF="AI-Alife-HOWTO.html#toc6.1">Software Agents</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>Also known as intelligent software agents or just agents, this
|
|||
|
area of AI research deals with simple applications of small
|
|||
|
programs that aid the user in his/her work. They can be mobile
|
|||
|
(able to stop their execution on one machine and resume it on
|
|||
|
another) or static (live in one machine). They are usually
|
|||
|
specific to the task (and therefore fairly simple) and meant
|
|||
|
to help the user much as an assistant would.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="2APL"></A> </P>
|
|||
|
<DT><B>2APL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://apapl.sourceforge.net/">http://apapl.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>2APL (pronounced as double-a-p-l) is an agent-oriented programming
|
|||
|
language that facilitates the implementation of multi-agent systems. At
|
|||
|
the multi-agent level, it provides programming constructs to specify a
|
|||
|
multi-agent system in terms of a set of individual agents, a set of
|
|||
|
environments in which they can perform actions, and the access relation
|
|||
|
between the individual agents and the environments. At the individual
|
|||
|
agent level, it provides programming constructs to implement cognitive
|
|||
|
agents based on the BDI architecture.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="3APL"></A> </P>
|
|||
|
<DT><B>3APL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.uu.nl/3apl/">http://www.cs.uu.nl/3apl/</A></LI>
|
|||
|
<LI>Wikipedia entry:
|
|||
|
<A HREF="http://en.wikipedia.org/wiki/3APL">http://en.wikipedia.org/wiki/3APL</A></LI>
|
|||
|
<LI>Mobile version:
|
|||
|
<A HREF="http://www.cs.uu.nl/3apl-m/">http://www.cs.uu.nl/3apl-m/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>3APL is a programming language for implementing cognitive agents. It
|
|||
|
provides programming constructs for implementing agents' beliefs,
|
|||
|
goals, basic capabilities (such as belief updates, external actions, or
|
|||
|
communication actions) and a set of practical reasoning rules through
|
|||
|
which agents' goals can be updated or revised. The 3APL programs are
|
|||
|
executed on the 3APL platform. Each 3APL program is executed by means
|
|||
|
of an interpreter that deliberates on the cognitive attitudes of that
|
|||
|
agent.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Agent"></A> </P>
|
|||
|
<DT><B>Agent</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="http://www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Agent/">http://www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Agent/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Agent is a prototype for an Information Agent system. It is
|
|||
|
both platform and language independent, as it stores contained
|
|||
|
information in simple packed strings. It can be packed and shipped
|
|||
|
across any network with any format, as it freezes itself in its
|
|||
|
current state.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="agentTool"></A> </P>
|
|||
|
<DT><B>agentTool</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://agenttool.cis.ksu.edu/">http://agenttool.cis.ksu.edu/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>agentTool is a Eclipse-based graphical development environment to help
|
|||
|
users analyze, design, and implement multiagent systems. It is
|
|||
|
designed to support the highly tailorable Organization-based Multiagent
|
|||
|
Systems Engineering (O-MaSE) methodology. agentTool currently supports
|
|||
|
all O-MaSE models including the Goal Model, Agent Model, Role Model,
|
|||
|
Organization Model, Protocol Model, Plan Model, Capability-Action
|
|||
|
Model, Domain Model, and Policy Model.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Aglets"></A> </P>
|
|||
|
<DT><B>Aglets Workbench</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.trl.ibm.com/aglets/index_e.htm">http://www.trl.ibm.com/aglets/index_e.htm</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>An aglet is a Java object that can move from one host on the
|
|||
|
Internet to another. That is, an aglet that executes on one host can
|
|||
|
suddenly halt execution, dispatch to a remote host, and resume
|
|||
|
execution there. When the aglet moves, it takes along its program code
|
|||
|
as well as its state (data). A built-in security mechanism makes it
|
|||
|
safe for a computer to host untrusted aglets. The Java Aglet API
|
|||
|
(J-AAPI) is a proposed public standard for interfacing aglets and
|
|||
|
their environment. J-AAPI contains methods for initializing an aglet,
|
|||
|
message handling, and dispatching, retracting,
|
|||
|
deactivating/activating, cloning, and disposing of the aglet. J-AAPI
|
|||
|
is simple, flexible, and stable. Application developers can write
|
|||
|
platform-independent aglets and expect them to run on any host that
|
|||
|
supports J-AAPI.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="AJA"></A> </P>
|
|||
|
<DT><B>AJA</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://home.arcor.de/michal.badonsky/AJA/">http://home.arcor.de/michal.badonsky/AJA/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>AJA (Adaptable Java Agents) consists of two programming languages.
|
|||
|
HADL (Higher Agent Definition Language) is a higher-level language used
|
|||
|
for the description of the main agent parts. Java+ is the lower-level
|
|||
|
language used for the programming of the agent parts defined in HADL.
|
|||
|
It is actually Java enriched with the constructs for accessing
|
|||
|
higher-level agent parts defined in HADL.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="A.L.I.C.E."></A> </P>
|
|||
|
<DT><B>A.L.I.C.E.</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.alicebot.org/">http://www.alicebot.org/</A></LI>
|
|||
|
<LI>Other AIML implementations:
|
|||
|
<A HREF="http://pyaiml.sourceforge.net/">http://pyaiml.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The ALICE software implements AIML (Artificial Intelligence Markup
|
|||
|
Language), a non-standard evolving markup language for creating chat
|
|||
|
robots. The primary design feature of AIML is minimalism. Compared with
|
|||
|
other chat robot languages, AIML is perhaps the simplest. The pattern
|
|||
|
matching language is very simple, for example permitting only one
|
|||
|
wild-card ('*') match character per pattern. AIML is an XML language,
|
|||
|
implying that it obeys certain grammatical meta-rules. The choice of
|
|||
|
XML syntax permits integration with other tools such as XML editors.
|
|||
|
Another motivation for XML is its familiar look and feel, especially to
|
|||
|
people with HTML experience.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="APRIL"></A> </P>
|
|||
|
<DT><B>APRIL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/networkagent/">http://sourceforge.net/projects/networkagent/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>APRIL is a symbolic programming language that is designed for writing
|
|||
|
mobile, distributed and agent-based systems especially in an Internet
|
|||
|
environment. It has advanced features such as a macro sub-language,
|
|||
|
asynchronous message sending and receiving, code mobility, pattern
|
|||
|
matching, higher-order functions and strong typing. The language is
|
|||
|
compiled to byte-code which is then interpreted by the APRIL
|
|||
|
runtime-engine. APRIL now requires the InterAgent Communications Model
|
|||
|
(ICM) to be installed before it can be installed. [Ed. ICM can be found
|
|||
|
at the same web site]</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Ara"></A> </P>
|
|||
|
<DT><B>Ara</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://wwwagss.informatik.uni-kl.de/Projekte/Ara/index_e.html">http://wwwagss.informatik.uni-kl.de/Projekte/Ara/index_e.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Ara is a platform for the portable and secure execution of
|
|||
|
mobile agents in heterogeneous networks. Mobile agents in this
|
|||
|
sense are programs with the ability to change their host machine
|
|||
|
during execution while preserving their internal state. This
|
|||
|
enables them to handle interactions locally which otherwise had
|
|||
|
to be performed remotely. Ara's specific aim in comparison to
|
|||
|
similar platforms is to provide full mobile agent functionality
|
|||
|
while retaining as much as possible of established programming
|
|||
|
models and languages.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Bee-gent"></A> </P>
|
|||
|
<DT><B>Bee-gent</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.toshiba.co.jp/rdc/beegent/download/download.htm">http://www.toshiba.co.jp/rdc/beegent/download/download.htm</A></LI>
|
|||
|
<LI>FAQ:
|
|||
|
<A HREF="http://www.toshiba.co.jp/rdc/beegent/faq/faq.htm">http://www.toshiba.co.jp/rdc/beegent/faq/faq.htm</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Bee-gent is a new type of development framework in that it is a 100%
|
|||
|
pure agent system. As opposed to other systems which make only some use
|
|||
|
of agents, Bee-gent completely "Agentifies" the communication that
|
|||
|
takes place between software applications. The applications become
|
|||
|
agents, and all messages are carried by agents. Thus, Bee-gent allows
|
|||
|
developers to build flexible open distributed systems that make optimal
|
|||
|
use of existing applications.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Bond"></A> </P>
|
|||
|
<DT><B>Bond</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://bond.cs.ucf.edu/">http://bond.cs.ucf.edu/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Bond is a Java based distributed object system and agent framework. It
|
|||
|
implements a message based middleware and associated services like
|
|||
|
directory, persistence, monitoring and security. Bond allows to easily
|
|||
|
build multi agent, distributed applications. Another application of
|
|||
|
Bond will be a Virtual Laboratory supporting data annotation and
|
|||
|
metacomputing.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Cougaar"></A> </P>
|
|||
|
<DT><B>Cougaar</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cougaar.org/">http://www.cougaar.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Cougaar is java-based architecture for the construction of large-scale
|
|||
|
distributed agent-based applications. It is the product of a
|
|||
|
multi-year DARPA research project into large scale agent systems and
|
|||
|
includes not only the core architecture but also a variety of
|
|||
|
demonstration, visualization and management components to simplify the
|
|||
|
development of complex, distributed applications. [Yet another java
|
|||
|
based agent system -- ed.]</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="D'Agent"></A> </P>
|
|||
|
<DT><B>D'Agent (was AGENT TCL)</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://agent.cs.dartmouth.edu/software/agent2.0/">http://agent.cs.dartmouth.edu/software/agent2.0/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A transportable agent is a program that can migrate from machine
|
|||
|
to machine in a heterogeneous network. The program chooses when and
|
|||
|
where to migrate. It can suspend its execution at an arbitrary point,
|
|||
|
transport to another machine and resume execution on the new machine.
|
|||
|
For example, an agent carrying a mail message migrates first to a
|
|||
|
router and then to the recipient's mailbox. The agent can perform
|
|||
|
arbitrarily complex processing at each machine in order to ensure that
|
|||
|
the message reaches the intended recipient.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="DIET Agents"></A> </P>
|
|||
|
<DT><B>DIET Agents</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://diet-agents.sourceforge.net">http://diet-agents.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>DIET Agents is a lightweight, scalable and robust multi-agent platform
|
|||
|
in Java. It is especially suitable for rapidly developing P2P prototype
|
|||
|
applications and/or adaptive, distributed applications that use
|
|||
|
bottom-up, nature-inspired techniques.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="FishMarket"></A> </P>
|
|||
|
<DT><B>FishMarket</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.iiia.csic.es/Projects/fishmarket/newindex.html">http://www.iiia.csic.es/Projects/fishmarket/newindex.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>FM - The FishMarket project conducted at the Artificial Intelligence
|
|||
|
Research Institute (IIIA-CSIC) attempts to contribute in that direction
|
|||
|
by developing FM, an agent-mediated electronic auction house which has
|
|||
|
been evolved into a test-bed for electronic auction markets. The
|
|||
|
framework, conceived and implemented as an extension of FM96.5 (a
|
|||
|
Java-based version of the Fishmarket auction house), allows to define
|
|||
|
trading scenarios based on fish market auctions (Dutch auctions). FM
|
|||
|
provides the framework wherein agent designers can perform controlled
|
|||
|
experimentation in such a way that a multitude of experimental market
|
|||
|
scenarios--that we regard as tournament scenarios due to the
|
|||
|
competitive nature of the domain-- of varying degrees of realism and
|
|||
|
complexity can be specified, activated, and recorded; and trading
|
|||
|
(buyer and seller) heterogeneous (human and software) agents compared,
|
|||
|
tuned and evaluated.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Grasshopper"></A> </P>
|
|||
|
<DT><B>Grasshopper</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.grasshopper.de/">http://www.grasshopper.de/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Another Java agent system. Full featured and actively developed.
|
|||
|
Commercial, but free. Historically targeted at embedded systems.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Hive"></A> </P>
|
|||
|
<DT><B>Hive</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://hive.sourceforge.net/">http://hive.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Hive is a Java software platform for creating distributed applications.
|
|||
|
Using Hive, programmers can easily create systems that connect and use
|
|||
|
data from all over the Internet. At its heart, Hive is an environment
|
|||
|
for distributed agents to live, communicating and moving to fulfill
|
|||
|
applications. We are trying to make the Internet alive.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ICM"></A> </P>
|
|||
|
<DT><B>ICM</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>SourceForge site:
|
|||
|
<A HREF="http://sourceforge.net/projects/networkagent/">http://sourceforge.net/projects/networkagent/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Inter-Agent Communication Model (ICM) is a communication mechanism
|
|||
|
that can be used for sending messages between agents in an asynchronous
|
|||
|
fashion. Its intended application area is as a transportation mechanism
|
|||
|
for agent communication languages (ACLs), such as KQML and FIPA's ACL.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Jacomma"></A> </P>
|
|||
|
<DT><B>Jacomma</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://jacomma.sourceforge.net/">http://jacomma.sourceforge.net/</A></LI>
|
|||
|
<LI>SourceForge site:
|
|||
|
<A HREF="http://sourceforge.net/projects/jacomma/">http://sourceforge.net/projects/jacomma/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Jacomma is an agent development platform/framework for developing
|
|||
|
distributed, mobile, and reactive information agents with heterogeneous
|
|||
|
communication capabilities, in Java and JPython.</P>
|
|||
|
<P>Jacomma provides a development framework and an execution environment,
|
|||
|
which sits on top of the Inter-Agent Communication Model
|
|||
|
infrastructure. The ICM defines a communication protocol, a store and
|
|||
|
forward messaging architecture, and low level communication
|
|||
|
infrastructure for message exchange. Communication is truly
|
|||
|
asynchronous, based on TCP sockets.</P>
|
|||
|
<P>ICM has an entry in this howto, or you can find it via a link off the
|
|||
|
site.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Jade"></A> </P>
|
|||
|
<DT><B>Jade</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://sharon.cselt.it/projects/jade/">http://sharon.cselt.it/projects/jade/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>JADE (Java Agent DEvelopment Framework) is a software framework fully
|
|||
|
implemented in Java language. It simplifies the implementation of
|
|||
|
multi-agent systems through a middle-ware that claims to comply with
|
|||
|
the FIPA specifications and through a set of tools that supports the
|
|||
|
debugging and deployment phase. The agent platform can be distributed
|
|||
|
across machines (which not even need to share the same OS) and the
|
|||
|
configuration can be controlled via a remote GUI. The configuration can
|
|||
|
be even changed at run-time by moving agents from one machine to
|
|||
|
another one, as and when required.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JAM Agent"></A> </P>
|
|||
|
<DT><B>JAM Agent</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.marcush.net/IRS/irs_downloads.html">http://www.marcush.net/IRS/irs_downloads.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>JAM supports both top-down, goal-based reasoning and bottom-up
|
|||
|
data-driven reasoning. JAM selects goals and plans based on maximal
|
|||
|
priority if metalevel reasoning is not used, or user-developed
|
|||
|
metalevel reasoning plans if they exist. JAM's conceptualization of
|
|||
|
goals and goal achievement is more classically defined (UMPRS is more
|
|||
|
behavioral performance-based than truly goal-based) and makes the
|
|||
|
distinction between plans to achieve goals and plans that simply encode
|
|||
|
behaviors. Goal-types implemented include achievement (attain a
|
|||
|
specified world state), maintenance (re-attain a specified world
|
|||
|
state), and performance. Execution of multiple simultaneous goals are
|
|||
|
supported, with suspension and resumption capabilities for each goal
|
|||
|
(i.e., intention) thread. JAM plans have explicit precondition and
|
|||
|
runtime attributes that restrict their applicability, a postcondition
|
|||
|
attribute, and a plan attributes section for specifying
|
|||
|
plan/domain-specific plan features. Available plan constructs include:
|
|||
|
sequencing, iteration, subgoaling, atomic (i.e., non-interruptable)
|
|||
|
plan segments, n-branch deterministic and non-deterministic conditional
|
|||
|
execution, parallel execution of multiple plan segments, goal-based or
|
|||
|
world state-based synchronization, an explicit failure-handling
|
|||
|
section, and Java primitive function definition through building it
|
|||
|
into JAM as well as the invocation of predefined (i.e., legacy) class
|
|||
|
members via Java's reflection capabilities without having to build it
|
|||
|
into JAM.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JASA"></A> </P>
|
|||
|
<DT><B>JASA</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.csc.liv.ac.uk/~sphelps/jasa">http://www.csc.liv.ac.uk/~sphelps/jasa</A></LI>
|
|||
|
<LI>Alt Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/jasa/">http://sourceforge.net/projects/jasa/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>JASA is a high performance auction simulator suitable for conducting
|
|||
|
experiments in agent-based computational economics. It implements
|
|||
|
various auction mechanisms, trading strategies and experiments
|
|||
|
described in the computational economics literature, and as the
|
|||
|
software matures we hope that it will become a repository for reference
|
|||
|
implementations of commonly used mechanisms, strategies and learning
|
|||
|
algorithms.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Jason"></A> </P>
|
|||
|
<DT><B>Jason</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://jason.sourceforge.net/">http://jason.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A Java-based interpreter for an extended version of AgentSpeak. Unlike
|
|||
|
other BDI (Beliefs-Desires-Intentions) agent tools, Jason implements
|
|||
|
the operational semantics of AgentSpeak, a BDI logic programming
|
|||
|
language extensively discussed in the literature. It is available as
|
|||
|
Open Source under GNU LGPL.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JATLite"></A> </P>
|
|||
|
<DT><B>JATLite</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://java.stanford.edu/">http://java.stanford.edu/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>JATLite is providing a set of java packages which makes easy to
|
|||
|
build multi-agent systems using Java. JATLite provides only
|
|||
|
light-weight, small set of packages so that the developers can
|
|||
|
handle all the packages with little efforts. For flexibility
|
|||
|
JATLite provides four different layers from abstract to Router
|
|||
|
implementation. A user can access any layer we are
|
|||
|
providing. Each layer has a different set of assumptions. The
|
|||
|
user can choose an appropriate layer according to the
|
|||
|
assumptions on the layer and user's application. The
|
|||
|
introduction page contains JATLite features and the set of
|
|||
|
assumptions for each layer.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="JATLiteBeans"></A> </P>
|
|||
|
<DT><B>JATLiteBeans</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://waitaki.otago.ac.nz/JATLiteBean/">http://waitaki.otago.ac.nz/JATLiteBean/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>Improved, easier-to-use interface to JATLite features
|
|||
|
including KQML message parsing, receiving, and sending.
|
|||
|
</LI>
|
|||
|
<LI>Extensible architecture for message handling and agent
|
|||
|
"thread of control" management
|
|||
|
</LI>
|
|||
|
<LI>Useful functions for parsing of simple KQML message content
|
|||
|
</LI>
|
|||
|
<LI>JATLiteBean supports automatic advertising of agent
|
|||
|
capabilities to facilitator agents
|
|||
|
</LI>
|
|||
|
<LI>Automatic, optional, handling of the "forward" performative
|
|||
|
</LI>
|
|||
|
<LI>Generic configuration file parser
|
|||
|
</LI>
|
|||
|
<LI>KQML syntax checker
|
|||
|
</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Java Agent Template"></A> </P>
|
|||
|
<DT><B>Java(tm) Agent Template</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www-cdr.stanford.edu/ABE/JavaAgent.html">www-cdr.stanford.edu/ABE/JavaAgent.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The JAT provides a fully functional template, written entirely in
|
|||
|
the Java language, for constructing software agents which communicate
|
|||
|
peer-to-peer with a community of other agents distributed over the
|
|||
|
Internet. Although portions of the code which define each agent are
|
|||
|
portable, JAT agents are not migratory but rather have a static
|
|||
|
existence on a single host. This behavior is in contrast to many other
|
|||
|
"agent" technologies. (However, using the Java RMI, JAT agents could
|
|||
|
dynamically migrate to a foreign host via an agent resident on that
|
|||
|
host). Currently, all agent messages use KQML as a top-level protocol
|
|||
|
or message wrapper. The JAT includes functionality for dynamically
|
|||
|
exchanging "Resources", which can include Java classes (e.g. new
|
|||
|
languages and interpreters, remote services, etc.), data files and
|
|||
|
information inlined into the KQML messages.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="lyntin"></A> </P>
|
|||
|
<DT><B>lyntin</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://lyntin.sourceforge.net/">lyntin.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Lyntin is an extensible Mud client and framework for the creation of
|
|||
|
autonomous agents, or bots, as well as mudding in general. Lyntin is
|
|||
|
centered around Python, a dynamic, object-oriented, and fun programming
|
|||
|
language and based on TinTin++ a lovely mud client.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Mole"></A> </P>
|
|||
|
<DT><B>Mole</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://mole.informatik.uni-stuttgart.de/">mole.informatik.uni-stuttgart.de/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Mole is an agent system supporting mobile agents programmed in
|
|||
|
Java. Mole's agents consist of a cluster of objects, which have
|
|||
|
no references to the outside, and as a whole work on tasks given
|
|||
|
by the user or another agent. They have the ability to roam a
|
|||
|
network of "locations" autonomously. These "locations" are an
|
|||
|
abstraction of real, existing nodes in the underlying
|
|||
|
network. They can use location-specific resources by
|
|||
|
communicating with dedicated agents representing these
|
|||
|
services. Agents are able to use services provided by other
|
|||
|
agents and to provide services as well.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Narval"></A> </P>
|
|||
|
<DT><B>Narval</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.logilab.org/">www.logilab.org</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Narval is the acronym of "Network Assistant Reasoning with a Validating
|
|||
|
Agent Language". It is a personal network assistant based on artificial
|
|||
|
intelligence and agent technologies. It executes recipes (sequences of
|
|||
|
actions) to perform tasks. It is easy to specify a new action using XML
|
|||
|
and to implement it using Python. Recipes can be built and debugged
|
|||
|
using a graphical interface.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NeL"></A> </P>
|
|||
|
<DT><B>NeL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.nevrax.org/">www.nevrax.org</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>NeL is actually a game development library (for massive multi-player
|
|||
|
games), but I'm including it here as it (will) include a fairly
|
|||
|
sizable AI library. Here's a blurb from the whitepaper:</P>
|
|||
|
<P>The purpose of the AI library is to provide a pragmatic approach to
|
|||
|
creating a distributed agents platform. Its focus is agents; individual
|
|||
|
entities that communicate regardless of location, using an
|
|||
|
action-reaction model.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="OAA"></A> </P>
|
|||
|
<DT><B>OAA</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.ai.sri.com/~oaa/">www.ai.sri.com/~oaa/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Open Agent Architecture is a framework in which a community of
|
|||
|
software agents running on distributed machines can work together on
|
|||
|
tasks assigned by human or non-human participants in the community.
|
|||
|
Distributed cooperation and high-level communication are two ideas
|
|||
|
central to the foundation of the OAA.</P>
|
|||
|
<P>It defines an interagent communication language and supports multiple
|
|||
|
platforms and programming languages.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="OpenCV"></A> </P>
|
|||
|
<DT><B>OpenCV</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://opencvlibrary.sourceforge.net/">http://opencvlibrary.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>OpenCV (Open Source Computer Vision) is a library of programming
|
|||
|
functions mainly aimed at real time computer vision.</P>
|
|||
|
<P>Example applications of the OpenCV library are Human-Computer
|
|||
|
Interaction (HCI); Object Identification, Segmentation and Recognition;
|
|||
|
Face Recognition; Gesture Recognition; Motion Tracking, Ego Motion,
|
|||
|
Motion Understanding; Structure From Motion (SFM); and Mobile Robotics.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="OpenCog"></A> </P>
|
|||
|
<DT><B>OpenCog</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.opencog.org/">http://www.opencog.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Open Cognition Framework (OpenCog) is software for the
|
|||
|
collaborative development of safe and beneficial Artificial General
|
|||
|
Intelligence.</P>
|
|||
|
<P>OpenCog provides research scientists and software developers with a
|
|||
|
common platform to build and share artificial intelligence programs.
|
|||
|
The framework includes:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>a flexible and highly optimized in-memory database for
|
|||
|
knowledge representation,</LI>
|
|||
|
<LI>a plug-in architecture for cognitive algorithms and a cognitive
|
|||
|
process scheduler,</LI>
|
|||
|
<LI>a built-in LISP-like programming language, and</LI>
|
|||
|
<LI>other components to support artificial intelligence research
|
|||
|
and development. </LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="OpenSteer"></A> </P>
|
|||
|
<DT><B>OpenSteer</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://opensteer.sourceforge.net/">opensteer.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>OpenSteer is a C++ library to help build steering behaviors for
|
|||
|
autonomous characters in games and animation. OpenSteer provides an app
|
|||
|
which displays predefined demos of steering behaviors. You can
|
|||
|
prototype, visualize and debug your own as a plug-in.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ORTS"></A> </P>
|
|||
|
<DT><B>ORTS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="https://skatgame.net/mburo/orts/">https://skatgame.net/mburo/orts/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>ORTS is a programming environment for studying real-time AI problems
|
|||
|
such as pathfinding, dealing with imperfect information, scheduling,
|
|||
|
and planning in the domain of RTS games. These games are fast-paced and
|
|||
|
very popular. Furthermore, the current state of RTS game AI is bleak
|
|||
|
which is mainly caused by the lack of planning and learning - areas in
|
|||
|
which humans are currently much better than machines. Therefore, RTS
|
|||
|
games make an ideal test-bed for real-time AI research. Unfortunately,
|
|||
|
commercial RTS games are closed software which prevents researchers
|
|||
|
from connecting remote AI modules to them. Furthermore, commercial RTS
|
|||
|
games are based on peer-to-peer technology - which in a nutshell runs
|
|||
|
the entire simulation on all player machines and just hides part of the
|
|||
|
game state from the players. By tampering with the client software it
|
|||
|
is possible to reveal the entire game state and thereby gain an unfair
|
|||
|
advantage. We feel that this is unacceptable for playing games on the
|
|||
|
internet. We therefore started the ORTS project to create a free
|
|||
|
software system that lets people and machines play fair RTS games. The
|
|||
|
communication protocol is public and all source code and artwork is
|
|||
|
freely available. Users can connect whatever client software they like.
|
|||
|
This is made possible by a server/client architecture in which only the
|
|||
|
currently visible parts of the game state are sent to the players. This
|
|||
|
openness leads to new and interesting possibilities ranging from
|
|||
|
on-line tournaments of autonomous AI players to gauge their playing
|
|||
|
strength to hybrid systems in which human players use sophisticated
|
|||
|
GUIs which allow them to delegate tasks to AI helper modules of
|
|||
|
increasing performance.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Penguin!"></A> </P>
|
|||
|
<DT><B>Penguin!</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="http://www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Penguin/FSG/">http://www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Penguin/FSG/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Penguin is a Perl 5 module. It provides you with a set of functions which
|
|||
|
allow you to:
|
|||
|
<UL>
|
|||
|
<LI>send encrypted, digitally signed Perl code to a remote machine
|
|||
|
to be executed.</LI>
|
|||
|
<LI>receive code and, depending on who signed it, execute it in an
|
|||
|
arbitrarily secure, limited compartment.</LI>
|
|||
|
</UL>
|
|||
|
|
|||
|
The combination of these functions enable direct Perl coding of
|
|||
|
algorithms to handle safe internet commerce, mobile
|
|||
|
information-gathering agents, "live content" web browser helper
|
|||
|
apps, distributed load-balanced computation, remote software
|
|||
|
update, distance machine administration, content-based
|
|||
|
information propagation, Internet-wide shared-data applications,
|
|||
|
network application builders, and so on.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Ps-i"></A> </P>
|
|||
|
<DT><B>Ps-i</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ps-i.sourceforge.net/">ps-i.sourceforge.net</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Ps-i is an environment for running agent-based simulations. It is
|
|||
|
cross-platform, with binaries available for Win32. Features include: </P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>declarative language for model specification</LI>
|
|||
|
<LI>industry standard Tcl/Tk scripting
|
|||
|
with built-in routine optimization, speculative evaluation
|
|||
|
and xf86 JIT compiler users can create complex models without
|
|||
|
sacrificing perfomance </LI>
|
|||
|
<LI>user friendly interface </LI>
|
|||
|
<LI>save and restore program runs </LI>
|
|||
|
<LI>change model parameters on the fly </LI>
|
|||
|
<LI>data visualization: field display with multiple agent shapes and
|
|||
|
color, statistics window, agent viewer, routine browser and
|
|||
|
highlight agents tool </LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Pyro"></A> </P>
|
|||
|
<DT><B>Pyro</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://pyrorobotics.org/">http://pyrorobotics.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Pyro is a library, environment, graphical user interface, and low-level
|
|||
|
drivers to explore AI and robotics using the Python language. It works
|
|||
|
with many real robotics platforms and simulators. Extensive algorithms
|
|||
|
including behavior-based, vision (motion tracking, blobs, etc.),
|
|||
|
learning (back-propagation, self-organizing maps, etc.), evolutionary,
|
|||
|
and more.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Quackle"></A> </P>
|
|||
|
<DT><B>Quackle</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.quackle.org/">http://www.quackle.org/</A></LI>
|
|||
|
<LI>Alt Web site:
|
|||
|
<A HREF="http://web.mit.edu/jasonkb/www/quackle/">http://web.mit.edu/jasonkb/www/quackle/</A></LI>
|
|||
|
<LI>Alt Web site:
|
|||
|
<A HREF="http://sourceforge.net/projects/quackle">http://sourceforge.net/projects/quackle</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Quackle is a world-class crossword game artificial intelligence and
|
|||
|
analysis tool. It includes a move generator, simulator, and Qt-based
|
|||
|
user interface and can be used with any board layout, alphabet,
|
|||
|
lexicon, and tile distribution.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Recast"></A> </P>
|
|||
|
<DT><B>Recast</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://code.google.com/p/recastnavigation/">http://code.google.com/p/recastnavigation/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Recast is state of the art navigation mesh construction toolset for
|
|||
|
games.</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>It is automatic, which means that you can throw any level
|
|||
|
geometry at it and you will get robust mesh out</LI>
|
|||
|
<LI>It is fast which means swift turnaround times for level
|
|||
|
designers</LI>
|
|||
|
<LI>It is open source so it comes with full source and you can
|
|||
|
customize it to your hearts content.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Library is free for commercial use and open source under the ZLib
|
|||
|
License.</P>
|
|||
|
<P>Recast is accompanied with Detour, path-finding and spatial reasoning
|
|||
|
toolkit. You can use any navigation mesh with Detour, but of course the
|
|||
|
data generated with Recast fits perfectly.</P>
|
|||
|
<P>Detour offers simple static navigation mesh which is suitable for many
|
|||
|
simple cases, as well as tiled navigation mesh which allows you to plug
|
|||
|
in and out pieces of the mesh. The tiled mesh allows to create systems
|
|||
|
where you stream new navigation data in and out as the player
|
|||
|
progresses the level, or you may regenerate tiles as the world changes. </P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Remembrance Agents"></A> </P>
|
|||
|
<DT><B>Remembrance Agents</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.remem.org/">www.remem.org</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Remembrance Agents are a set of applications that watch over a user's
|
|||
|
shoulder and suggest information relevant to the current situation.
|
|||
|
While query-based memory aids help with direct recall, remembrance
|
|||
|
agents are an augmented associative memory. For example, the
|
|||
|
word-processor version of the RA continuously updates a list of
|
|||
|
documents relevant to what's being typed or read in an emacs buffer.
|
|||
|
These suggested documents can be any text files that might be relevant
|
|||
|
to what you are currently writing or reading. They might be old emails
|
|||
|
related to the mail you are currently reading, or abstracts from papers
|
|||
|
and newspaper articles that discuss the topic of your writing.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SimAgent"></A> </P>
|
|||
|
<DT><B>SimAgent</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.bham.ac.uk/research/projects/poplog/packages/simagent.html">www.cs.bham.ac.uk/research/projects/poplog/packages/simagent.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The SimAgent toolkit provides a range of resources for research and
|
|||
|
teaching related to the development of interacting agents in
|
|||
|
environments of various degrees and kinds of complexity. It can be run
|
|||
|
as a pure simulation tool, or installed in a robot with a sufficiently
|
|||
|
powerful on-board computer, e.g. running linux. It was originally
|
|||
|
developed to support exploratory research on human-like intelligent
|
|||
|
agents, but has also been used for student projects developing a
|
|||
|
variety of interactive games and simulations.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="spyse"></A> </P>
|
|||
|
<DT><B>spyse</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://spyse.sf.net/">spyse.sf.net</A></LI>
|
|||
|
<LI>Alt Web site:
|
|||
|
<A HREF="http://zope.org/Members/drapmeyer/spyse">zope.org/Members/drapmeyer/spyse</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>spyse is a development framework and platform for building multi-agent
|
|||
|
systems using the Python programming language. A multi-agent system
|
|||
|
(MAS) combines concepts from distributed computing and artificial
|
|||
|
intelligence. Agents are autonomously reasoning software entities that
|
|||
|
can collaborate (or compete) in order to achieve a (common) goal. By
|
|||
|
cooperating they create emergent behaviour in the system (distributed
|
|||
|
artificial intelligence). The architecture of a MAS is specified in the
|
|||
|
FIPA standard.</P>
|
|||
|
<P>Spyse provides multiple means for reasoning (BDI logics, CLIPS expert
|
|||
|
shell, etc.) and communicating locally and remotely.</P>
|
|||
|
<P>Each agent has its own thread of control. Agents within and among
|
|||
|
instances of the platform communicate by exchanging messages based on
|
|||
|
ontologies. Spyse makes use of the Web Ontology Language (OWL) defined
|
|||
|
for the Semantic Web.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="TKQML"></A> </P>
|
|||
|
<DT><B>TKQML</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.csee.umbc.edu/tkqml/">www.csee.umbc.edu/tkqml/</A> </LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>TKQML is a KQML application/addition to Tcl/Tk, which allows Tcl
|
|||
|
based systems to communicate easily with a powerful agent
|
|||
|
communication language.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Tocoma Project"></A> </P>
|
|||
|
<DT><B>The Tocoma Project</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.tacoma.cs.uit.no/">www.tacoma.cs.uit.no/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>An agent is a process that may migrate through a computer network
|
|||
|
in order to satisfy requests made by clients. Agents are an attractive
|
|||
|
way to describe network-wide computations.</P>
|
|||
|
<P>The TACOMA project focuses on operating system support for agents and
|
|||
|
how agents can be used to solve problems traditionally addressed by
|
|||
|
operating systems. We have implemented a series of prototype systems
|
|||
|
to support agents.</P>
|
|||
|
<P>TACOMA Version 1.2 is based on UNIX and TCP. The system supports
|
|||
|
agents written in C, Tcl/Tk, Perl, Python, and Scheme (Elk). It is
|
|||
|
implemented in C. This TACOMA version has been in public domain since
|
|||
|
April 1996.</P>
|
|||
|
<P>We are currently focusing on heterogeneity, fault-tolerance, security
|
|||
|
and management issues. Also, several TACOMA applications are under
|
|||
|
construction. We implemented StormCast 4.0, a wide-area network
|
|||
|
weather monitoring system accessible over the internet, using TACOMA
|
|||
|
and Java. We are now in the process of evaluating this application,
|
|||
|
and plan to build a new StormCast version to be completed by June
|
|||
|
1997.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="UMPRS Agent"></A> </P>
|
|||
|
<DT><B>UMPRS Agent</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.marcush.net/IRS/">http://www.marcush.net/IRS/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>UMPRS supports top-down, goal-based reasoning and selects goals and
|
|||
|
plans based on maximal priority. Execution of multiple simultaneous
|
|||
|
goals are supported, with suspension and resumption capabilities for
|
|||
|
each goal (i.e., intention) thread. UMPRS plans have an integrated
|
|||
|
precondition/runtime attribute that constrain their applicability.
|
|||
|
Available plan constructs include: sequencing, iteration, subgoaling,
|
|||
|
atomic (i.e., non-interruptable) blocks, n-branch deterministic
|
|||
|
conditional execution, explicit failure-handling section, and C++
|
|||
|
primitive function definition.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="WebMate"></A> </P>
|
|||
|
<DT><B>WebMate</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.cs.cmu.edu/~softagents/webmate/">http://www.cs.cmu.edu/~softagents/webmate/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>WebMate is a personal agent for World-Wide Web browsing and
|
|||
|
searching. It accompanies you when you travel on the internet
|
|||
|
and provides you what you want. </P>
|
|||
|
<P>Features include:
|
|||
|
<UL>
|
|||
|
<LI>Searching enhancement, including parallel search, searching
|
|||
|
keywords refinement using our relevant keywords extraction technology,
|
|||
|
relevant feedback, etc.
|
|||
|
</LI>
|
|||
|
<LI>Browsing assistant, including learning your current interesting,
|
|||
|
recommending you new URLs according to your profile and selected
|
|||
|
resources, monitoring bookmarks of Netscape or IE, sending the current
|
|||
|
browsing page to your friends, etc.
|
|||
|
</LI>
|
|||
|
<LI>Offline browsing, including downloading the following pages from
|
|||
|
the current page for offline browsing.
|
|||
|
</LI>
|
|||
|
<LI>Filtering HTTP header, including recording http header and all
|
|||
|
the transactions between your browser and WWW servers, etc.
|
|||
|
</LI>
|
|||
|
<LI>Checking the HTML page to find the errors or dead links, etc.
|
|||
|
</LI>
|
|||
|
<LI>Programming in Java, independent of operating system, runing in
|
|||
|
multi-thread.
|
|||
|
</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
<H2><A NAME="Robotics and Simulators"></A> <A NAME="ss6.2">6.2</A> <A HREF="AI-Alife-HOWTO.html#toc6.2">Robotics and Simulators</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>From fun battling robot games to full robot control systems. The idea is
|
|||
|
physical agents in the real world, or at least their control programming.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="BattleBots"></A> </P>
|
|||
|
<DT><B>BattleBots</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.bluefire.nu/battlebots/">www.bluefire.nu/battlebots/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>AI programming game where you design the bot by selecting hardware and
|
|||
|
programming its CPU, then competing with other bots. Competitions can
|
|||
|
have teams and special rules for a game. </P>
|
|||
|
<P>The hardware for use in your bot includes weapons, engine, scanners,
|
|||
|
CPU, etc. The programming lauguage is dependent on the CPU type and is
|
|||
|
similar to an assembly language. </P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Cadaver"></A> </P>
|
|||
|
<DT><B>Cadaver</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.erikyyy.de/cadaver/">www.erikyyy.de/cadaver/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Cadaver is a simulated world of cyborgs and nature in realtime. The
|
|||
|
battlefield consists of forests, grain, water, grass, carcass (of
|
|||
|
course) and lots of other things. The game server manages the game and
|
|||
|
the rules. You start a server and connect some clients. The clients
|
|||
|
communicate with the server using a very primitive protocol. They can
|
|||
|
order cyborgs to harvest grain, attack enemies or cut forest. The game
|
|||
|
is not intended to be played by humans! There is too much to control.
|
|||
|
Only for die-hards: Just telnet to the server and you can enter
|
|||
|
commands by hand. Instead the idea is that you write artificial
|
|||
|
intelligence clients to beat the other artificial intelligences. You
|
|||
|
can choose a language (and operating system) of your choice to do that
|
|||
|
task. It is enough to write a program that communicates on standard
|
|||
|
input and standard output channels. Then you can use programs like
|
|||
|
"socket" to connect your clients to the server. It is NOT needed to
|
|||
|
write TCP/IP code, although i did so :) The battle shall not be boring,
|
|||
|
and so there is the so called spyboss client that displays the action
|
|||
|
graphically on screen.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Carmen"></A> </P>
|
|||
|
<DT><B>Carmen</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://carmen.sourceforge.net/">http://carmen.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>CARMEN, the Carnegie Mellon Robot Navigation Toolkit. CARMEN is an
|
|||
|
open-source collection of software for mobile robot control. CARMEN is
|
|||
|
modular software designed to provide basic navigation primatives
|
|||
|
including: base and sensor control, logging, obstacle avoidance,
|
|||
|
localization, path planning, and mapping. </P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CLARAty"></A> </P>
|
|||
|
<DT><B>CLARAty</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://claraty.jpl.nasa.gov/man/overview/">http://claraty.jpl.nasa.gov/man/overview/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>CLARAty is an integrated framework for reusable robotic software. It
|
|||
|
defines interfaces for common robotic functionality and integrates
|
|||
|
multiple implementations of any given functionality. Examples of such
|
|||
|
capabilities include pose estimation, navigation, locomotion and
|
|||
|
planning. In addition to supporting multiple algorithms, it provides
|
|||
|
adaptations to multiple robotic platforms.</P>
|
|||
|
<P>This is a public release of the some of the code used in the Mars rover
|
|||
|
projects at NASA. It is under a free for non-commercial use licence and
|
|||
|
consists of large number of modules and algorithms along with extensive
|
|||
|
documentation.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="GNU Robots"></A> </P>
|
|||
|
<DT><B>GNU Robots</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.gnu.org/software/robots/">http://www.gnu.org/software/robots/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>GNU Robots is a game/diversion where you construct a program for a
|
|||
|
little robot, then watch him explore a world. The world is
|
|||
|
filled with baddies that can hurt you, objects that you can bump into,
|
|||
|
and food that you can eat. The goal of the game is to collect as
|
|||
|
many prizes as possible before are killed by a baddie or you run out of
|
|||
|
energy. Robots can be written in Guile scheme or using a GUI.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Infon Battle Arena"></A> </P>
|
|||
|
<DT><B>Infon Battle Arena</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://infon.dividuum.de/">http://infon.dividuum.de/</A></LI>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="https://github.com/dividuum/infon">https://github.com/dividuum/infon</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Infon Battle Arena is a networked multiplayer real-time programming
|
|||
|
game featuring little creatures fighting for food. You upload your
|
|||
|
Creature Code (written in Lua) to a game server using a telnet
|
|||
|
Interface. The game server then runs your code. The graphical client
|
|||
|
can be used to watch running games or replay recorded games.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Khepera Sim"></A> </P>
|
|||
|
<DT><B>Khepera Simulator</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://diwww.epfl.ch/w3lami/team/michel/khep-sim/">http://diwww.epfl.ch/w3lami/team/michel/khep-sim/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Khepera Simulator is a public domain software package written by
|
|||
|
<A HREF="http://diwww.epfl.ch/w3lami/team/michel/">Olivier MICHEL</A> during the preparation of his Ph.D. thesis, at the Laboratoire
|
|||
|
I3S, URA 1376 of CNRS and University of Nice-Sophia Antipolis, France.
|
|||
|
It allows to write your own controller for the mobile robot Khepera
|
|||
|
using C or C++ languages, to test them in a simulated environment and
|
|||
|
features a nice colorful X11 graphical interface. Moreover, if you own
|
|||
|
a Khepera robot, it can drive the real robot using the same control
|
|||
|
algorithm. It is mainly oriented toward to researchers studying
|
|||
|
autonomous agents.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="MRPT"></A> </P>
|
|||
|
<DT><B>MRPT</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://babel.isa.uma.es/mrpt/index.php/Main_Page">http://babel.isa.uma.es/mrpt/index.php/Main_Page</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Mobile Robot Programming Toolkit (MRPT) is an extensive,
|
|||
|
cross-platform, and open source C++ library aimed to help robotics
|
|||
|
researchers to design and implement algorithms in the fields of
|
|||
|
Simultaneous Localization and Mapping (SLAM), computer vision, and
|
|||
|
motion planning (obstacle avoidance).</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Nero"></A> </P>
|
|||
|
<DT><B>Nero</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.nerogame.org/">http://www.nerogame.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Neuro-Evolving Robotic Operatives, or NERO for short, is a unique
|
|||
|
computer game that lets you play with adapting intelligent agents
|
|||
|
hands-on. Evolve your own robot army by tuning their artificial brains
|
|||
|
for challenging tasks, then pit them against your friends' teams in
|
|||
|
online competitions!</P>
|
|||
|
<P>The goals of the project are (1) to demonstrate the power of
|
|||
|
state-of-the-art machine learning technology, (2) to create an engaging
|
|||
|
game based on it, and (3) to provide a robust and challenging
|
|||
|
development and benchmarking domain for AI researchers.</P>
|
|||
|
<P>Closed source but free to download. They are working on OpenNERO which
|
|||
|
will be open source and more intended as a research platform.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Orca"></A> </P>
|
|||
|
<DT><B>Orca</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://orca-robotics.sourceforge.net/">http://orca-robotics.sourceforge.net/</A></LI>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="https://github.com/naderman/orca-robotics">https://github.com/naderman/orca-robotics</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Orca is an open-source framework for developing component-based robotic
|
|||
|
systems. It provides the means for defining and developing the
|
|||
|
building-blocks which can be pieced together to form arbitrarily
|
|||
|
complex robotic systems, from single vehicles to distributed sensor
|
|||
|
networks.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Player"></A> </P>
|
|||
|
<DT><B>Player</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://playerstage.sourceforge.net/">http://playerstage.sourceforge.net/</A></LI>
|
|||
|
<LI>Player wiki:
|
|||
|
<A HREF="http://playerstage.sourceforge.net/wiki/Player">http://playerstage.sourceforge.net/wiki/Player</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Player is a device server that provides a powerful, flexible interface
|
|||
|
to a variety of sensors and actuators (e.g., robots). Because Player
|
|||
|
uses a TCP socket-based client/server model, robot control programs can
|
|||
|
be written in any programming language and can execute on any computer
|
|||
|
with network connectivity to the robot. In addition, Player supports
|
|||
|
multiple concurrent client connections to devices, creating new
|
|||
|
possibilities for distributed and collaborative sensing and control.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="RealTimeBattle"></A> </P>
|
|||
|
<DT><B>RealTimeBattle</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://realtimebattle.sourceforge.net/">http://realtimebattle.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>RealTimeBattle is a programming game, in which robots controlled by
|
|||
|
programs are fighting each other. The goal is to destroy the enemies,
|
|||
|
using the radar to examine the environment and the cannon to shoot.</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>Game progresses in real time, with the robot programs
|
|||
|
running as child processes to RealTimeBattle.</LI>
|
|||
|
<LI>The robots communicate with the main program using the
|
|||
|
standard input and output.</LI>
|
|||
|
<LI>Robots can be constructed in almost any programming language.</LI>
|
|||
|
<LI>Maximum number of robots can compete simultaneously.</LI>
|
|||
|
<LI>A simple messaging language is used for communication, which
|
|||
|
makes it easy to start constructing robots.</LI>
|
|||
|
<LI>Robots behave like real physical object.</LI>
|
|||
|
<LI>You can create your own arenas.</LI>
|
|||
|
<LI>Highly configurable.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Robocode"></A> </P>
|
|||
|
<DT><B>Robocode</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://robocode.sourceforge.net/">http://robocode.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A java based robot combat programming game. It provides a simple API
|
|||
|
and class framework. It is designed as a means of learning Java and is
|
|||
|
easy to start using while not constraining the programmer from more
|
|||
|
advanced techniques. It has a built in security manager for running
|
|||
|
other peoples robots in a safe way.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Robodeb"></A> </P>
|
|||
|
<DT><B>Robodeb</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.transterpreter.org/robodeb/">http://www.transterpreter.org/robodeb/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Robodeb is a complete robotics simulation environment for teaching
|
|||
|
concurrency and parallelism. It provides a unique environment for
|
|||
|
exploring concurrency and robotics. It provides a complete IDE for the
|
|||
|
occam-pi programming language, and leverages the Transterpreter, our
|
|||
|
portable and flexible runtime for the language. This combination is
|
|||
|
critical, as it provides a principled interface to the Player/Stage
|
|||
|
API, a set of widely used libraries for controlling the Pioneer3
|
|||
|
robotics platform.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="RobotFlow"></A> </P>
|
|||
|
<DT><B>RobotFlow</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://robotflow.sourceforge.net/">http://robotflow.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>RobotFlow is a mobile robotics tookit based on the
|
|||
|
<A HREF="http://flowdesigner.sourceforge.net">FlowDesigner</A>
|
|||
|
project. FlowDesigner is a data-flow oriented architecture, similar to
|
|||
|
Simulink (Matlab) or Labview that is free (LGPL) and versatile. The
|
|||
|
visual programming interface provided in the FlowDesigner project will
|
|||
|
help people to better visualize & understand what is really happening
|
|||
|
in the robot's control loops, sensors, actuators, by using graphical
|
|||
|
probes and debugging in real-time.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="RoboTournament"></A> </P>
|
|||
|
<DT><B>RoboTournament</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://robotournament.sourceforge.net/">http://robotournament.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>RoboTournament is a RoboRally inspired game where players program their
|
|||
|
robots to vanquish their opponents. RoboTournament features: Multiple
|
|||
|
Game Types: Death Match, Rally, and Capture The Flag. Multi-Player
|
|||
|
through TCP/IP, Six weapons including BFG, Map Editor, and a wide
|
|||
|
variety of board elements.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ROS"></A> </P>
|
|||
|
<DT><B>ROS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.ros.org/wiki/">http://www.ros.org/wiki/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>ROS is an operating system for your robot. It provides the services you
|
|||
|
would expect from an operating system, including hardware abstraction,
|
|||
|
low-level device control, implementation of commonly-used
|
|||
|
functionality, message-passing between processes, and package
|
|||
|
management. It also provides tools and libraries for obtaining,
|
|||
|
building, writing, and running code across multiple computers.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Simbad"></A> </P>
|
|||
|
<DT><B>Simbad</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://simbad.sourceforge.net/">http://simbad.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Simbad is a Java 3d robot simulator for scientific and educationnal
|
|||
|
purposes. It is mainly dedicated to researchers/programmers who want
|
|||
|
a simple basis for studying Situated Artificial Intelligence, Machine
|
|||
|
Learning, and more generally AI algorithms, in the context of
|
|||
|
Autonomous Robotics and Autonomous Agents. It is not intented to
|
|||
|
provide a real world simulation and is kept voluntarily readable and
|
|||
|
simple.</P>
|
|||
|
<P>Simbad enables programmers to write their own robot controller, modify
|
|||
|
the environment and use the available sensors. Don't think of it as a
|
|||
|
finite product but merely as an opened framework to test your own
|
|||
|
ideas.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SimRobot"></A> </P>
|
|||
|
<DT><B>SimRobot</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.informatik.uni-bremen.de/simrobot/">http://www.informatik.uni-bremen.de/simrobot/</A></LI>
|
|||
|
<LI>FTP site:
|
|||
|
<A HREF="ftp://ftp.uni-bremen.de/pub/ZKW/INFORM/simrobot/">ftp://ftp.uni-bremen.de/pub/ZKW/INFORM/simrobot/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>SimRobot is a program for simulation of sensor based robots in a
|
|||
|
3D environment. It is written in C++, runs under UNIX and X11 and
|
|||
|
needs the graphics toolkit XView.
|
|||
|
<UL>
|
|||
|
<LI>Simulation of robot kinematics</LI>
|
|||
|
<LI>Hierarchically built scene definition via a simple definition
|
|||
|
language</LI>
|
|||
|
<LI>Various sensors built in: camera, facette eye, distance
|
|||
|
measurement, light sensor, etc.</LI>
|
|||
|
<LI>Objects defined as polyeders</LI>
|
|||
|
<LI>Emitter abstractly defined; can be interpreted e.g. as
|
|||
|
light or sound</LI>
|
|||
|
<LI>Camera images computed according to the raytracing or
|
|||
|
Z-buffer algorithms known from computer graphics</LI>
|
|||
|
<LI>Specific sensor/motor software interface for communicating
|
|||
|
with the simulation</LI>
|
|||
|
<LI>Texture mapping onto the object surfaces: bitmaps in various
|
|||
|
formats</LI>
|
|||
|
<LI>Comprehensive visualization of the scene: wire frame w/o
|
|||
|
hidden lines, sensor and actor values</LI>
|
|||
|
<LI>Interactive as well as batch driven control of the agents
|
|||
|
and operation in the environment</LI>
|
|||
|
<LI>Collision detection</LI>
|
|||
|
<LI>Extendability with user defined object types</LI>
|
|||
|
<LI>Possible socket communication to e.g. the Khoros image
|
|||
|
processing software</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="TclRobots"></A> </P>
|
|||
|
<DT><B>TclRobots</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.nyx.net/~tpoindex/">http://www.nyx.net/~tpoindex/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>TclRobots is a programming game, similar to 'Core War'. To play
|
|||
|
TclRobots, you must write a Tcl program that controls a robot. The
|
|||
|
robot's mission is to survive a battle with other robots. Two, three,
|
|||
|
or four robots compete during a battle, each running different
|
|||
|
programs (or possibly the same program in different robots.) Each
|
|||
|
robot is equipped with a scanner, cannon, drive mechanism. A single
|
|||
|
match continues until one robot is left running. Robots may compete
|
|||
|
individually, or combine in a team oriented battle. A tournament
|
|||
|
can be run with any number of robot programs, each robot playing every
|
|||
|
other in a round-robin fashion, one-on-one. A battle simulator is
|
|||
|
available to help debug robot programs.</P>
|
|||
|
<P>The TclRobots program provides a physical environment, imposing
|
|||
|
certain game parameters to which all robots must adhere. TclRobots
|
|||
|
also provides a view on a battle, and a controlling user interface.
|
|||
|
TclRobots requirements: a wish interpreter built from Tcl 7.4 and Tk
|
|||
|
4.0.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="URBI"></A> </P>
|
|||
|
<DT><B>URBI</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.urbiforge.org/">http://www.urbiforge.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>URBI is a Universal Real-time Behavior Interface and gives you a simple
|
|||
|
but powerful way to control any robot or complex system like a video
|
|||
|
game, using a convenient and easy to use scripting language that can be
|
|||
|
interfaced with several popular programming languages (C++, Java,
|
|||
|
Matlab,...) and OS (Windows, Mac OSX, Linux). URBI is based on a
|
|||
|
client/server architecture, which give a great deal of flexibility.
|
|||
|
URBI includes powerful features compared to existing scripting
|
|||
|
solutions: parallel execution of commands, event programming, command
|
|||
|
tagging, dynamic variables,... Currently, URBI is used as well by
|
|||
|
academic research labs, the industry and by hobbyists.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="VWORLD"></A> </P>
|
|||
|
<DT><B>VWORLD</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://zhar.net/projects/vworld/">http://zhar.net/projects/vworld/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Vworld is a simulated environment for research with autonomous
|
|||
|
agents written in prolog. It is currently in something of an
|
|||
|
beta stage. It works well with SWI-prolog, but should work with
|
|||
|
Quitnus-prolog with only a few changes. It is being designed to
|
|||
|
serve as an educational tool for class projects dealing with
|
|||
|
prolog and autonomous agents. It comes with three demo worlds or
|
|||
|
environments, along with sample agents for them. There are
|
|||
|
two versions now. One written for SWI-prolog and one written for
|
|||
|
LPA-prolog. Documentation is roughly done (with a
|
|||
|
student/professor framework in mind).</P>
|
|||
|
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Yampa"></A> </P>
|
|||
|
<DT><B>Yampa</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.haskell.org/yampa/">http://www.haskell.org/yampa/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>FRP system with robotics library and graphical interactive robotics
|
|||
|
simulator.</P>
|
|||
|
<P>Functional reactive programming, or FRP, is a paradigm for programming
|
|||
|
hybrid systems <20> i.e., systems containing a combination of both
|
|||
|
continuous and discrete components <20> in a high-level, declarative way.
|
|||
|
The key ideas in FRP are its notions of continuous, time-varying
|
|||
|
values, and time-ordered sequences of discrete events. Yampa is an
|
|||
|
instantiation of FRP as a domain-specific language embedded in Haskell.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="YARP"></A> </P>
|
|||
|
<DT><B>YARP</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://eris.liralab.it/yarp/">http://eris.liralab.it/yarp/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>YARP is plumbing for robot software. It is a set of libraries,
|
|||
|
protocols, and tools to keep modules and devices cleanly decoupled. It
|
|||
|
is reluctant middleware, with no desire or expectation to be in control
|
|||
|
of your system.</P>
|
|||
|
<P>More specifically, YARP supports building a robot control system as a
|
|||
|
collection of programs communicating in a peer-to-peer way, with a
|
|||
|
family of connection types that meet the diverse, sometimes
|
|||
|
contradictory, and always changing needs of advanced robotics. We also
|
|||
|
encourage compilation and use of hardware devices in a future-proof
|
|||
|
way. Our strategic goal is to increase the longevity of robot software
|
|||
|
projects.</P>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
<HR>
|
|||
|
<H2><A NAME="Statistical & Machine Learning"></A> <A NAME="s7">7.</A> <A HREF="AI-Alife-HOWTO.html#toc7">Statistical & Machine Learning</A> </H2>
|
|||
|
|
|||
|
|
|||
|
<P>All about getting machines to learn to do something rather than
|
|||
|
explicitly programming to do it. Tends to deal with pattern matching
|
|||
|
a lot and are heavily math and statistically based. Technically
|
|||
|
<A HREF="#Connectionism">Connectionism</A>
|
|||
|
falls under this category, but it is such a
|
|||
|
large sub-field I'm keeping it in a separate section.</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss7.1">7.1</A> <A HREF="AI-Alife-HOWTO.html#toc7.1">Libraries</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>Libraries or frameworks used for writing machine learning systems.</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="CognitiveFoundry"></A> </P>
|
|||
|
<DT><B>CognitiveFoundry</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://foundry.sandia.gov/">http://foundry.sandia.gov/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Cognitive Foundry is a modular Java software library for the
|
|||
|
research and development of cognitive systems. It contains many
|
|||
|
reusable components for machine learning, statistics, and cognitive
|
|||
|
modeling. It is primarily designed to be easy to plug into applications
|
|||
|
to provide adaptive behaviors.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CompLearn"></A> </P>
|
|||
|
<DT><B>CompLearn</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://complearn.org/">http://complearn.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>CompLearn is a software system built to support compression-based
|
|||
|
learning in a wide variety of applications. It provides this support in
|
|||
|
the form of a library written in highly portable ANSI C that runs in
|
|||
|
most modern computer environments with minimal confusion. It also
|
|||
|
supplies a small suite of simple, composable command-line utilities as
|
|||
|
simple applications that use this library. Together with other commonly
|
|||
|
used machine-learning tools such as LibSVM and GraphViz, CompLearn
|
|||
|
forms an attractive offering in machine-learning frameworks and
|
|||
|
toolkits.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Elefant"></A> </P>
|
|||
|
<DT><B>Elefant</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://elefant.developer.nicta.com.au/">http://elefant.developer.nicta.com.au/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Elefant (Efficient Learning, Large-scale Inference, and Optimisation
|
|||
|
Toolkit) is an open source library for machine learning licensed under
|
|||
|
the Mozilla Public License (MPL). We develop an open source machine
|
|||
|
learning toolkit which provides</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>algorithms for machine learning utilising the power of
|
|||
|
multi-core/multi-threaded processors/operating systems (Linux,
|
|||
|
WIndows, Mac OS X),</LI>
|
|||
|
<LI>a graphical user interface for users who want to quickly
|
|||
|
prototype machine learning experiments,</LI>
|
|||
|
<LI>tutorials to support learning about Statistical Machine
|
|||
|
Learning (Statistical Machine Learning at The Australian National
|
|||
|
University), and</LI>
|
|||
|
<LI>detailed and precise documentation for each of the above.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Maximum Entropy Toolkit"></A> </P>
|
|||
|
<DT><B>Maximum Entropy Toolkit</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://homepages.inf.ed.ac.uk/lzhang10/maxent_toolkit.html">http://homepages.inf.ed.ac.uk/lzhang10/maxent_toolkit.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Maximum Entropy Toolkit provides a set of tools and library for
|
|||
|
constructing maximum entropy (maxent) model in either Python or C++.</P>
|
|||
|
<P>Maxent Entropy Model is a general purpose machine learning framework
|
|||
|
that has proved to be highly expressive and powerful in statistical
|
|||
|
natural language processing, statistical physics, computer vision and
|
|||
|
many other fields.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Milk"></A> </P>
|
|||
|
<DT><B>Milk</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://packages.python.org/milk/">http://packages.python.org/milk/</A></LI>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="https://github.com/luispedro/milk">https://github.com/luispedro/milk</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Milk is a machine learning toolkit in Python. It's focus is on
|
|||
|
supervised classification with several classifiers available: SVMs
|
|||
|
(based on libsvm), k-NN, random forests, decision trees. It also
|
|||
|
performs feature selection. These classifiers can be combined in many
|
|||
|
ways to form different classification systems. For unsupervised
|
|||
|
learning, milk supports k-means clustering and affinity propagation.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NLTK"></A> </P>
|
|||
|
<DT><B>NLTK</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://nltk.org/">http://nltk.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>NLTK, the Natural Language Toolkit, is a suite of Python libraries and
|
|||
|
programs for symbolic and statistical natural language processing.
|
|||
|
NLTK includes graphical demonstrations and sample data. It is
|
|||
|
accompanied by extensive documentation, including tutorials that
|
|||
|
explain the underlying concepts behind the language processing tasks
|
|||
|
supported by the toolkit.</P>
|
|||
|
<P>NLTK is ideally suited to students who are learning NLP (natural
|
|||
|
language processing) or conducting research in NLP or closely related
|
|||
|
areas, including empirical linguistics, cognitive science, artificial
|
|||
|
intelligence, information retrieval, and machine learning. NLTK has
|
|||
|
been used successfully as a teaching tool, as an individual study tool,
|
|||
|
and as a platform for prototyping and building research systems.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="peach"></A> </P>
|
|||
|
<DT><B>peach</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://code.google.com/p/peach/">http://code.google.com/p/peach/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Peach is a pure-python module, based on SciPy and NumPy to implement
|
|||
|
algorithms for computational intelligence and machine learning. Methods
|
|||
|
implemented include, but are not limited to, artificial neural
|
|||
|
networks, fuzzy logic, genetic algorithms, swarm intelligence and much
|
|||
|
more.</P>
|
|||
|
<P>The aim of this library is primarily educational. Nonetheless, care was
|
|||
|
taken to make the methods implemented also very efficient.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="pebl"></A> </P>
|
|||
|
<DT><B>pebl</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://code.google.com/p/pebl-project/">http://code.google.com/p/pebl-project/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Pebl is a python library and command line application for learning the
|
|||
|
structure of a Bayesian network given prior knowledge and observations.
|
|||
|
Pebl includes the following features:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>Can learn with observational and interventional data</LI>
|
|||
|
<LI>Handles missing values and hidden variables using exact and
|
|||
|
heuristic methods</LI>
|
|||
|
<LI>Provides several learning algorithms; makes creating new ones
|
|||
|
simple</LI>
|
|||
|
<LI>Has facilities for transparent parallel execution using several
|
|||
|
cluster/grid resources</LI>
|
|||
|
<LI>Calculates edge marginals and consensus networks</LI>
|
|||
|
<LI>Presents results in a variety of formats </LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PyBrain"></A> </P>
|
|||
|
<DT><B>PyBrain</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://pybrain.org/">http://pybrain.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>PyBrain is a modular Machine Learning Library for Python. It's goal is
|
|||
|
to offer flexible, easy-to-use yet still powerful algorithms for
|
|||
|
Machine Learning Tasks and a variety of predefined environments to test
|
|||
|
and compare your algorithms.</P>
|
|||
|
<P>PyBrain contains algorithms for neural networks, for reinforcement
|
|||
|
learning (and the combination of the two), for unsupervised learning,
|
|||
|
and evolution. Since most of the current problems deal with continuous
|
|||
|
state and action spaces, function approximators (like neural networks)
|
|||
|
must be used to cope with the large dimensionality. Our library is
|
|||
|
built around neural networks in the kernel and all of the training
|
|||
|
methods accept a neural network as the to-be-trained instance. This
|
|||
|
makes PyBrain a powerful tool for real-life tasks.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="MBT"></A> </P>
|
|||
|
<DT><B>MBT</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ilk.uvt.nl/mbt/">http://ilk.uvt.nl/mbt/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>MBT is a memory-based tagger-generator and tagger in one. The
|
|||
|
tagger-generator part can generate a sequence tagger on the basis of a
|
|||
|
training set of tagged sequences; the tagger part can tag new
|
|||
|
sequences. MBT can, for instance, be used to generate part-of-speech
|
|||
|
taggers or chunkers for natural language processing. It has also been
|
|||
|
used for named-entity recognition, information extraction in
|
|||
|
domain-specific texts, and disfluency chunking in transcribed speech.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="MLAP book samples"></A> </P>
|
|||
|
<DT><B>MLAP book samples</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://seat.massey.ac.nz/personal/s.r.marsland/MLBook.html">http://seat.massey.ac.nz/personal/s.r.marsland/MLBook.html</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Not a library per-say, but a whole slew of example machine learning
|
|||
|
algorithms from the book "Machine Learning: An Algorithmic Perspective"
|
|||
|
by Stephen Marsland. All code is written in python.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="scikits.learn"></A> </P>
|
|||
|
<DT><B>scikits.learn</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://scikit-learn.org/stable/">http://scikit-learn.org/stable/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>scikits-learn is a Python module integrating classic machine learning
|
|||
|
algorithms in the tightly-knit world of scientific Python packages
|
|||
|
(numpy, scipy, matplotlib). It aims to provide simple and efficient
|
|||
|
solutions to learning problems that are accessible to everybody and
|
|||
|
reusable in various contexts: machine-learning as a versatile tool for
|
|||
|
science and engineering.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Shogun"></A> </P>
|
|||
|
<DT><B>Shogun</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://www.shogun-toolbox.org/">http://www.shogun-toolbox.org/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The machine learning toolbox's focus is on large scale kernel methods
|
|||
|
and especially on Support Vector Machines (SVM). It provides a generic
|
|||
|
SVM object interfacing to several different SVM implementations, among
|
|||
|
them the state of the art LibSVM and SVMLight. Each of the SVMs can be
|
|||
|
combined with a variety of kernels. The toolbox not only provides
|
|||
|
efficient implementations of the most common kernels, like the Linear,
|
|||
|
Polynomial, Gaussian and Sigmoid Kernel but also comes with a number of
|
|||
|
recent string kernels as e.g. the Locality Improved, Fischer, TOP,
|
|||
|
Spectrum, Weighted Degree Kernel (with shifts). For the latter the
|
|||
|
efficient LINADD optimizations are implemented. Also SHOGUN offers the
|
|||
|
freedom of working with custom pre-computed kernels. One of its key
|
|||
|
features is the combined kernel which can be constructed by a weighted
|
|||
|
linear combination of a number of sub-kernels, each of which not
|
|||
|
necessarily working on the same domain. An optimal sub-kernel weighting
|
|||
|
can be learned using Multiple Kernel Learning. Currently SVM 2-class
|
|||
|
classification and regression problems can be dealt with. However
|
|||
|
SHOGUN also implements a number of linear methods like Linear
|
|||
|
Discriminant Analysis (LDA), Linear Programming Machine (LPM), (Kernel)
|
|||
|
Perceptrons and features algorithms to train hidden markov models. The
|
|||
|
input feature-objects can be dense, sparse or strings and of type
|
|||
|
int/short/double/char and can be converted into different feature
|
|||
|
types. Chains of preprocessors (e.g. substracting the mean) can be
|
|||
|
attached to each feature object allowing for on-the-fly pre-processing.</P>
|
|||
|
<P>SHOGUN is implemented in C++ and interfaces to Matlab(tm), R, Octave
|
|||
|
and Python.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="timbl"></A> </P>
|
|||
|
<DT><B>timbl</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://ilk.uvt.nl/timbl/">http://ilk.uvt.nl/timbl/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The Tilburg Memory Based Learner, TiMBL, is a tool for NLP research,
|
|||
|
and for many other domains where classification tasks are learned from
|
|||
|
examples. It is an efficient implementation of k-nearest neighbor
|
|||
|
classifier.</P>
|
|||
|
<P>TiMBL's features are:
|
|||
|
<UL>
|
|||
|
<LI>Fast, decision-tree-based implementation of k-nearest neighbor
|
|||
|
lassification;</LI>
|
|||
|
<LI>Implementations of IB1 and IB2, IGTree, TRIBL, and TRIBL2
|
|||
|
algorithms;</LI>
|
|||
|
<LI>Similarity metrics: Overlap, MVDM, Jeffrey Divergence, Dot
|
|||
|
product, Cosine;</LI>
|
|||
|
<LI>Feature weighting metrics: information gain, gain ratio,
|
|||
|
chi squared, shared variance;</LI>
|
|||
|
<LI>Distance weighting metrics: inverse, inverse linear,
|
|||
|
exponential decay;</LI>
|
|||
|
<LI>Extensive verbosity options to inspect nearest neighbor sets;</LI>
|
|||
|
<LI>Server functionality and extensive API;</LI>
|
|||
|
<LI>Fast leave-one-out testing and internal cross-validation;</LI>
|
|||
|
<LI>and Handles user-defined example weighting.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
<H2><A NAME="ss7.2">7.2</A> <A HREF="AI-Alife-HOWTO.html#toc7.2">Applications</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
|
|||
|
<P>Full applications that implement various machine learning or statistical
|
|||
|
systems oriented toward general learning (i.e., no spam filters and the
|
|||
|
like).</P>
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="dbacl"></A> </P>
|
|||
|
<DT><B>dbacl</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://dbacl.sourceforge.net/">http://dbacl.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The dbacl project consist of a set of lightweight UNIX/POSIX utilities
|
|||
|
which can be used, either directly or in shell scripts, to classify
|
|||
|
text documents automatically, according to Bayesian statistical
|
|||
|
principles.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Torch5"></A> </P>
|
|||
|
<DT><B>Torch5</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://torch5.sourceforge.net/">http://torch5.sourceforge.net/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Torch5 provides a matlab-like environment for state-of-the-art machine
|
|||
|
learning algorithms. It is easy to use and provides a very efficient
|
|||
|
implementation, thanks to a easy and fast scripting language (Lua) and
|
|||
|
a underlying C++ implementation. It is distributed under a BSD license.</P>
|
|||
|
<P>This is the successor to the
|
|||
|
<A HREF="#Torch">Torch3</A> project.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Vowpal Wabbit"></A> </P>
|
|||
|
<DT><B>Vowpal Wabbit</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site:
|
|||
|
<A HREF="http://hunch.net/~vw/">http://hunch.net/~vw/</A></LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Vowpal Wabbit is a fast online learning algorithm. It features:</P>
|
|||
|
<P>
|
|||
|
<UL>
|
|||
|
<LI>flexible input data specification</LI>
|
|||
|
<LI>speedy learning</LI>
|
|||
|
<LI>scalability (bounded memory footprint, suitable for
|
|||
|
distributed computation)</LI>
|
|||
|
<LI>feature pairing</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The core algorithm is specialist gradient descent (GD) on a loss
|
|||
|
function (several are available), The code should be easily usable.</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
<HR>
|
|||
|
<H2><A NAME="Missing & Dead"></A> <A NAME="s8">8.</A> <A HREF="AI-Alife-HOWTO.html#toc8">Missing & Dead</A> </H2>
|
|||
|
|
|||
|
|
|||
|
<P>This is my area for old or bad entries. The MIA section is for entires for
|
|||
|
which I no longer have a valid home page. If you have any information
|
|||
|
regarding where I can find these now please let me know. The Dead section
|
|||
|
is for projects that seem dead. Moving them here allows me to keep my
|
|||
|
the main sections clean while allowing for interested parties to
|
|||
|
correct me in which case I can just move it back.</P>
|
|||
|
|
|||
|
<H2><A NAME="ss8.1">8.1</A> <A HREF="AI-Alife-HOWTO.html#toc8.1">MIA - Projects missing linkage.</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
<P>
|
|||
|
<A NAME="AntWars"></A> </P>
|
|||
|
<DT><B>AntWars</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://ant-wars.net/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Ant Wars is a competition which pits clever programs against each
|
|||
|
other to do battle and compete for food in virtual worlds. Each
|
|||
|
contestant is a species of ant, which can visualize only the world
|
|||
|
immediately around him and pheromones left by fellow and enemy ants.
|
|||
|
Using this information, the ant brain (a simple state machine) must
|
|||
|
guide the ant towards collecting food at his home ant hill, while
|
|||
|
fending off or attacking enemies.</P>
|
|||
|
<P>Clever use of pheromones and subtle behaviors can create large scale
|
|||
|
tactics such as raiding, defense, harvesting, and scouting when many
|
|||
|
ants cooperate.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CASE"></A> </P>
|
|||
|
<DT><B>CASE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.iu.hio.no/~cell/</LI>
|
|||
|
<LI>FTP site: ftp://ftp.iu.hio.no/pub/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>CASE (Cellular Automaton Simulation Environment) is a C++
|
|||
|
toolkit for visualizing discrete models in two dimensions:
|
|||
|
so-called cellular automata. The aim of this project is to
|
|||
|
create an integrated framework for creating generalized cellular
|
|||
|
automata using the best, standardized technology of the day.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CLEARS"></A> </P>
|
|||
|
<DT><B>CLEARS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: ????</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The CLEARS system is an interactive graphical environment for
|
|||
|
computational semantics. The tool allows exploration and
|
|||
|
comparison of different semantic formalisms, and their
|
|||
|
interaction with syntax. This enables the user to get an idea of
|
|||
|
the range of possibilities of semantic construction, and also
|
|||
|
where there is real convergence between theories.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="CLIG"></A> </P>
|
|||
|
<DT><B>CLIG</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.ags.uni-sb.de/~konrad/clig.html</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>CLIG is an interactive, extendible grapher for visualizing linguistic
|
|||
|
data structures like trees, feature structures, Discourse
|
|||
|
Representation Structures (DRS), logical formulas etc. All of these can
|
|||
|
be freely mixed and embedded into each other. The grapher has been
|
|||
|
designed both to be stand-alone and to be used as an add-on for
|
|||
|
linguistic applications which display their output in a graphical
|
|||
|
manner.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Corewar VM"></A> </P>
|
|||
|
<DT><B>Corewar VM</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.jedi.claranet.fr/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This is a virtual machine written in Java (so it is a virtual machine
|
|||
|
for another virtual machine !) for a Corewar game.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="DAI"></A> </P>
|
|||
|
<DT><B>DAI</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://starship.python.net/crew/gandalf/DNET/AI/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A library for the Python programming language that provides an
|
|||
|
object oriented interface to the CLIPS expert system tool. It
|
|||
|
includes an interface to COOL (CLIPS Object Oriented Language)
|
|||
|
that allows:
|
|||
|
<UL>
|
|||
|
<LI>Investigate COOL classes</LI>
|
|||
|
<LI>Create and manipulate with COOL instances</LI>
|
|||
|
<LI>Manipulate with COOL message-handler's</LI>
|
|||
|
<LI>Manipulate with Modules</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="DHARMI"></A> </P>
|
|||
|
<DT><B>DHARMI</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://megazone.bigpanda.com/~wolf/DHARMI/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>DHARMI is a high level spatial, tinker-toy like language who's
|
|||
|
components are transparently administered by a background
|
|||
|
process called the Habitat. As the name suggests, the language
|
|||
|
was designed to make modelling prototypes and handle living
|
|||
|
data. Programs can be modified while running. This is accomplished
|
|||
|
by blurring the distinction between source code, program,
|
|||
|
and data.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Dunce"></A> </P>
|
|||
|
<DT><B>Dunce</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.boswa.com/boswabits/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Dunce is a simple chatterbot (conversational AI) and a language for
|
|||
|
programming such chatterbots. It uses a basic regex pattern matching
|
|||
|
and a semi-neural rule/response firing mechanism (with excitement/decay
|
|||
|
cycles).</P>
|
|||
|
<P>Dunce is listed about halfway down the page.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="EcoSim"></A> </P>
|
|||
|
<DT><B>EcoSim</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.offis.de/projekte/projekt.php?id=140</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>NOTE: the above web site has info on EcoSim but no code to download.</P>
|
|||
|
<P>In EcoSim an ecosystem is described by all static and dynamic
|
|||
|
properties of the individuals involved in the system as well as time
|
|||
|
varying properties of the environment. Individuals change their state
|
|||
|
over time or due to internal and external events. The environment is
|
|||
|
also defined via dynamic objects which can change. Supports on the fly
|
|||
|
analysis and animation of generated data. It is a C++ class library
|
|||
|
designed to support individual-oriented modelling and simulation
|
|||
|
of ecological systems.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Evo"></A> </P>
|
|||
|
<DT><B>Evo</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://omicrongroup.org/evo/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Evo is a software development framework that allows developers to build
|
|||
|
complex alife simulations. Using Evo, researchers can easily build
|
|||
|
systems of independent agents interacting with one another and with
|
|||
|
their environment. Evo implements biological operators such as genetic
|
|||
|
recombination and mutation to evolve the behavior of agents so that
|
|||
|
they are more adapted to their environment.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Grany-3"></A> </P>
|
|||
|
<DT><B>Grany-3</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://zarb.org/ gc/html/grany.html</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Grany-3 is a full-featured cellular automaton simulator, made in C++
|
|||
|
with Gtk--, flex++/bison++, doxygen and gettext, useful to granular
|
|||
|
media physicists.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="IBAL"></A> </P>
|
|||
|
<DT><B>IBAL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.eecs.harvard.edu/~avi/IBAL/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>IBAL (pronounced "eyeball") is a general-purpose language for
|
|||
|
probabilistic modeling, parameter estimation and decision making. It
|
|||
|
generalizes Bayesian networks, hidden Markov models, stochastic context
|
|||
|
free grammars, Markov decision processes, and allows many new
|
|||
|
possibilities. It also provides a convenient programming-language
|
|||
|
framework with libraries, automatic type checking and so on.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="IDEAL"></A> </P>
|
|||
|
<DT><B>IDEAL</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://yoda.cis.temple.edu:8080/ideal/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>IDEAL is a test bed for work in influence diagrams and
|
|||
|
Bayesian networks. It contains various inference algorithms
|
|||
|
for belief networks and evaluation algorithms for influence
|
|||
|
diagrams. It contains facilities for creating and editing
|
|||
|
influence diagrams and belief networks.</P>
|
|||
|
<P>IDEAL is written in pure Common Lisp and so it will run in
|
|||
|
Common Lisp on any platform. The emphasis in writing IDEAL has
|
|||
|
been on code clarity and providing high level programming
|
|||
|
abstractions. It thus is very suitable for experimental
|
|||
|
implementations which need or extend belief network
|
|||
|
technology.</P>
|
|||
|
<P>At the highest level, IDEAL can be used as a subroutine
|
|||
|
library which provides belief network inference and influence
|
|||
|
diagram evaluation as a package. The code is documented in a
|
|||
|
detailed manual and so it is also possible to work at a lower
|
|||
|
level on extensions of belief network methods.</P>
|
|||
|
<P>IDEAL comes with an optional graphic interface written in
|
|||
|
CLIM. If your Common Lisp also has CLIM, you can run the
|
|||
|
graphic interface.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Illuminator"></A> </P>
|
|||
|
<DT><B>Illuminator</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://documents.cfar.umd.edu/resources/source/illuminator.html</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Illuminator is a toolset for developing OCR and Image
|
|||
|
Understanding applications. Illuminator has two major parts: a
|
|||
|
library for representing, storing and retrieving OCR
|
|||
|
information, heretofore called dafslib, and an X-Windows "DAFS"
|
|||
|
file viewer, called illum. Illuminator and DAFS lib were
|
|||
|
designed to supplant existing OCR formats and become a standard
|
|||
|
in the industry. They particularly are extensible to handle more
|
|||
|
than just English.</P>
|
|||
|
<P>The features of this release:
|
|||
|
<UL>
|
|||
|
<LI>5 magnification levels for images</LI>
|
|||
|
<LI>flagged characters and words</LI>
|
|||
|
<LI>unicode support -- American, British, French, German,
|
|||
|
Greek, Italian, MICR, Norwegian, Russian, Spanish, Swedish,
|
|||
|
keyboards </LI>
|
|||
|
<LI>reads DAFS, TIFF's, PDA's (image only)</LI>
|
|||
|
<LI>save to DAFS, ASCII/UTF or Unicode</LI>
|
|||
|
<LI>Entity Viewer - shows properties, character choices,
|
|||
|
bounding boxes image fragment for a selected entity, change
|
|||
|
type, change content, hierarchy mode</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Jet's Neural Architecture"></A> </P>
|
|||
|
<DT><B>Jet's Neural Architecture</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.voltar-confed.org/jneural/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Jet's Neural Architecture is a C++ framework for doing neural net
|
|||
|
projects. The goals of this project were to make a fast, flexible
|
|||
|
neural architecture that isn't stuck to one kind of net and to make
|
|||
|
sure that end users could easily write useful applications. All the
|
|||
|
documentation is also easily readable.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Neural Networks at your Fingertips"></A> </P>
|
|||
|
<DT><B>Neural Networks at your Fingertips</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.neural-networks-at-your-fingertips.com/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A set of ANSI C packages that illustrate Adaline networks,
|
|||
|
back-propagation, the Hopfield model, BAM, Boltzman, CPN, SOM, and
|
|||
|
ART1. Coded in portable, self-contained ANSI C. With complete example
|
|||
|
applications from a variety of well-known application domains.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Neureka ANS"></A> </P>
|
|||
|
<DT><B>Neureka ANS (nn/xnn)</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site: ftp://ftp.ii.uib.no/pub/neureka/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>nn is a high-level neural network specification language. The
|
|||
|
current version is best suited for feed-forward nets, but
|
|||
|
recurrent models can and have been implemented, e.g. Hopfield
|
|||
|
nets, Jordan/Elman nets, etc. In nn, it is easy to change
|
|||
|
network dynamics. The nn compiler can generate C code or
|
|||
|
executable programs (so there must be a C compiler available),
|
|||
|
with a powerful command line interface (but everything may also
|
|||
|
be controlled via the graphical interface, xnn). It is possible
|
|||
|
for the user to write C routines that can be called from inside
|
|||
|
the nn specification, and to use the nn specification as a
|
|||
|
function that is called from a C program. Please note that no
|
|||
|
programming is necessary in order to use the network models that
|
|||
|
come with the system (`netpack').</P>
|
|||
|
<P>xnn is a graphical front end to networks generated by the nn
|
|||
|
compiler, and to the compiler itself. The xnn graphical
|
|||
|
interface is intuitive and easy to use for beginners, yet
|
|||
|
powerful, with many possibilities for visualizing network data.</P>
|
|||
|
<P>NOTE: You have to run the install program that comes with this
|
|||
|
to get the license key installed. It gets put (by default) in
|
|||
|
/usr/lib. If you (like myself) want to install the package
|
|||
|
somewhere other than in the /usr directory structure (the
|
|||
|
install program gives you this option) you will have to set up
|
|||
|
some environmental variables (NNLIBDIR & NNINCLUDEDIR are
|
|||
|
required). You can read about these (and a few other optional
|
|||
|
variables) in appendix A of the documentation (pg 113).</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="NEURObjects"></A> </P>
|
|||
|
<DT><B>NEURObjects</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.disi.unige.it/person/ValentiniG/NEURObjects/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>NEURObjects is a set of C++ library classes for neural networks
|
|||
|
development. The main goal of the library consists in supporting
|
|||
|
researchers and practitioners in developing new neural network methods
|
|||
|
and applications, exploiting the potentialities of object-oriented
|
|||
|
design and programming. NEURObjects provides also general purpose
|
|||
|
applications for classification problems and can be used for fast
|
|||
|
prototyping of inductive machine learning applications.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="OSCAR"></A> </P>
|
|||
|
<DT><B>OSCAR</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://oscarhome.soc-sci.arizona.edu/ftp/OSCAR-web-page/oscar.html</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The goal of the OSCAR project is the formulation of a general theory of
|
|||
|
rationality and its implementation in an artificial rational agent. The
|
|||
|
function of artificial agents is to draw conclusions and make decisions
|
|||
|
on the basis of information supplied to them. OSCAR is a fully
|
|||
|
implemented architecture for rational agents, based upon a general
|
|||
|
purpose defeasible reasoner. OSCAR is written in Common Lisp and is
|
|||
|
free for educational and research purposes.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PAI"></A> </P>
|
|||
|
<DT><B>PAI</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://utenti.quipo.it/claudioscordino/pai.html</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>AI (Programmable Artificial Intelligence) is a program capable of
|
|||
|
having a conversation in its mother tongue, English. Written in
|
|||
|
C++.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="pygene"></A> </P>
|
|||
|
<DT><B>pygene</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.freenet.org.nz/python/pygene/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>pygene is a simple and easily understandable library for genetic
|
|||
|
algorithms and genetic programming in python. Includes examples
|
|||
|
such as the travelling salesman problem.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PyIE"></A> </P>
|
|||
|
<DT><B>PyIE</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>repo: https://www.dfwpython.org/repo/Projects/PyIE/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>PyIE is a hypothesis based, agenda driven, object oriented inference
|
|||
|
engine written in Python. Inferencing modes include back chaining,
|
|||
|
opportunistic forward chaining and explicit forward chaining. The
|
|||
|
first-class object base supports metaclasses, classes, objects and
|
|||
|
multiple, dynamic inheritance. All objects are first class objects and
|
|||
|
all attributes are slot values, i.e. data members attached to some
|
|||
|
object.</P>
|
|||
|
<P>PyIE uses a TMS (truth maintenance system) for first level (condition
|
|||
|
change) non-monotonic reasoning. User defined metaclasses are being
|
|||
|
explored to support second level (belief change) non-monotonic
|
|||
|
reasoning.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Python ANN"></A> </P>
|
|||
|
<DT><B>Simple Neural Net (in Python)</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.amk.ca/python/unmaintained/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Simple neural network code, which implements a class for 3-level
|
|||
|
networks (input, hidden, and output layers). The only learning
|
|||
|
rule implemented is simple backpropagation. No documentation (or
|
|||
|
even comments) at all, because this is simply code that I use to
|
|||
|
experiment with. Includes modules containing sample datasets
|
|||
|
from Carl G. Looney's NN book. Requires the Numeric
|
|||
|
extensions.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Python Fuzzy Logic Module"></A> </P>
|
|||
|
<DT><B>Python Fuzzy Logic Module</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site: ftp://ftp.csh.rit.edu/pub/members/retrev/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A simple python module for fuzzy logic. The file is 'fuz.tar.gz' in
|
|||
|
this directory. The author plans to also write a simple genetic
|
|||
|
algorithm and a neural net library as well. Check the 00_index file in
|
|||
|
this directory for release info.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="QUANT1"></A> </P>
|
|||
|
<DT><B>QUANT1</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://linux.irk.ru/projects/QUANT/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This project seems to have gone proprietary. The only trace I can find
|
|||
|
via google is at
|
|||
|
http://www.zurich.co.uk/strategicrisk/softwaresupport/Quant1.htm.</P>
|
|||
|
<P>QUANT/1 stands for type QUANTifier. It aims to be an alternative to
|
|||
|
Prolog-like (Resulutional-like) systems. Main features include a lack
|
|||
|
of necessity for eliminating Quantifiers, scolemisation, ease of
|
|||
|
comprehension, large scale formulae operation, acceptance of nonHorn
|
|||
|
formulaes, and Iterative deeping. The actual library implemented in
|
|||
|
this project is called ATPPCF (Automatic Theorem Prover in calculus of
|
|||
|
Positively Constructed Formulae).</P>
|
|||
|
<P>ATPPCF will be a library (inference engine) and an extension of the
|
|||
|
Predicate Calculus Language as a new logical language. The library will
|
|||
|
be incorporable in another software such as TCL, Python, Perl. The
|
|||
|
engine's primary inference method will be the "search of inference in
|
|||
|
language of Positively Constructed Formulas (PCFs)" (a subset of
|
|||
|
Predicate Calculus well translated in both directions). The language
|
|||
|
will be used as scripting language to the engine. But there will be
|
|||
|
possibility to replace it with extensions languages of main software.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SCNN"></A> </P>
|
|||
|
<DT><B>SCNN</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.uni-frankfurt.de/fb13/iap/e_ag_rt/SCNN/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>SCNN is an universal simulating system for Cellular Neural
|
|||
|
Networks (CNN). CNN are analog processing neural networks
|
|||
|
with regular and local interconnections, governed by a set of
|
|||
|
nonlinear ordinary differential equations. Due to their local
|
|||
|
connectivity, CNN are realized as VLSI chips, which operates
|
|||
|
at very high speed.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SPI"></A> </P>
|
|||
|
<DT><B>Symbolic Probabilistic Inference (SPI)</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>FTP site: ftp://ftp.engr.orst.edu/pub/dambrosi/spi/</LI>
|
|||
|
<LI>Paper (ijar-94.ps): ftp://ftp.engr.orst.edu/pub/dambrosi/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Contains Common Lisp function libraries to implement SPI type baysean
|
|||
|
nets. Documentation is very limited.
|
|||
|
Features:
|
|||
|
<UL>
|
|||
|
<LI>Probabilities, Local Expression Language Utilities, Explanation,
|
|||
|
Dynamic Models, and a TCL/TK based GUI.</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="SPRLIB-ANNLIB"></A> </P>
|
|||
|
<DT><B>SPRLIB/ANNLIB</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.ph.tn.tudelft.nl/~sprlib/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>SPRLIB (Statistical Pattern Recognition Library) was developed
|
|||
|
to support the easy construction and simulation of pattern
|
|||
|
classifiers. It consist of a library of functions (written in C)
|
|||
|
that can be called from your own program. Most of the well-known
|
|||
|
classifiers are present (k-nn, Fisher, Parzen, ....), as well as
|
|||
|
error estimation and dataset generation routines.</P>
|
|||
|
<P>ANNLIB (Artificial Neural Networks Library) is a neural network
|
|||
|
simulation library based on the data architecture laid down by
|
|||
|
SPRLIB. The library contains numerous functions for creating,
|
|||
|
training and testing feed-forward networks. Training algorithms
|
|||
|
include back-propagation, pseudo-Newton, Levenberg-Marquardt,
|
|||
|
conjugate gradient descent, BFGS.... Furthermore, it is possible
|
|||
|
- due to the datastructures' general applicability - to build
|
|||
|
Kohonen maps and other more exotic network architectures using
|
|||
|
the same data types.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Sugal"></A> </P>
|
|||
|
<DT><B>Sugal</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.trajan-software.demon.co.uk/sugal.htm</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Sugal [soo-gall] is the SUnderland Genetic ALgorithm system.
|
|||
|
The aim of Sugal is to support research and implementation in Genetic
|
|||
|
Algorithms on a common software platform. As such, Sugal supports a
|
|||
|
large number of variants of Genetic Algorithms, and has extensive
|
|||
|
features to support customization and extension.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ThoughtTreasure"></A> </P>
|
|||
|
<DT><B>ThoughtTreasure</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.signiform.com/tt/htm/tt.htm</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>ThoughtTreasure is a project to create a database of commonsense rules
|
|||
|
for use in any application. It consists of a database of a little over
|
|||
|
100K rules and a C API to integrate it with your applications. Python,
|
|||
|
Perl, Java and TCL wrappers are already available.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="TIN"></A> </P>
|
|||
|
<DT><B>TIN</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.jetlag.demon.nl/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This program simulates primitive life-forms, equipped with some
|
|||
|
basic instincts and abilities, in a 2D environment consisting of
|
|||
|
cells. By mutation new generations can prove their success, and thus
|
|||
|
passing on "good family values".</P>
|
|||
|
<P>The brain of a TIN can be seen as a collection of processes, each
|
|||
|
representing drives or impulses to behave a certain way, depending on the
|
|||
|
state/perception of the environment ( e.g. presence of food, walls,
|
|||
|
neighbors, scent traces) These behavior process currently are : eating,
|
|||
|
moving, mating, relaxing, tracing others, gathering food and killing. The
|
|||
|
process with the highest impulse value takes control, or in other words:
|
|||
|
the tin will act according to its most urgent need.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Ummon"></A> </P>
|
|||
|
<DT><B>Ummon</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.spacetide.com/projects/ummon/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Ummon is an advanced Open Source chatterbot. The main principle of the
|
|||
|
bot is that it has no initial knowledge of either words or grammar; it
|
|||
|
learns everything "on the fly." Numerous AI techniques will be explored
|
|||
|
in the development of Ummon to achieve realistic "human" communication
|
|||
|
with support for different, customizable personalities.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="ViSe"></A> </P>
|
|||
|
<DT><B>Virtual Secretary Project (ViSe)</B><DD><P>(Tcl/Tk)
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://www.vise.cs.uit.no/vise/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The motivation of the Virtual Secretary project is to construct
|
|||
|
user-model-based intelligent software agents, which could in
|
|||
|
most cases replace human for secretarial tasks, based on modern
|
|||
|
mobile computing and computer network. The project includes two
|
|||
|
different phases: the first phase (ViSe1) focuses on information
|
|||
|
filtering and process migration, its goal is to create a secure
|
|||
|
environment for software agents using the concept of user
|
|||
|
models; the second phase (ViSe2) concentrates on agents'
|
|||
|
intelligent and efficient cooperation in a distributed
|
|||
|
environment, its goal is to construct cooperative agents for
|
|||
|
achieving high intelligence. (Implemented in Tcl/TclX/Tix/Tk)</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Zeus"></A> </P>
|
|||
|
<DT><B>Zeus</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://more.btexact.com/projects/agents/zeus/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>The construction of multi-agent systems involves long development
|
|||
|
times and requires solutions to some considerable technical
|
|||
|
difficulties. This has motivated the development of the ZEUS
|
|||
|
toolkit, which provides a library of software components and tools
|
|||
|
that facilitate the rapid design, development and deployment of
|
|||
|
agent system</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
|
|||
|
<H2><A NAME="ss8.2">8.2</A> <A HREF="AI-Alife-HOWTO.html#toc8.2">Dead projects.</A>
|
|||
|
</H2>
|
|||
|
|
|||
|
<P>
|
|||
|
<DL>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="FIPA-OS"></A> </P>
|
|||
|
<DT><B>FIPA-OS</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://fipa-os.sourceforge.net/index.htm</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>FIPA-OS is an open source implementation of the mandatory elements
|
|||
|
contained within the FIPA specification for agent interoperability. In
|
|||
|
addition to supporting the FIPA interoperability concepts, FIPA-OS also
|
|||
|
provides a component based architecture to enable the development of
|
|||
|
domain specific agents which can utilise the services of the FIPA
|
|||
|
Platform agents. It is implemented in Java.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="PDKB"></A> </P>
|
|||
|
<DT><B>PDKB</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://lynx.eaze.net/~pdkb/web/</LI>
|
|||
|
<LI>SourceForge site: http://sourceforge.net/projects/pdkb/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Public Domain Knowledge Bank (PDKB) is an Artificial Intelligence
|
|||
|
Knowledge Bank of common sense rules and facts. It is based on the Cyc
|
|||
|
Upper Ontology and the MELD language.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="RobocodeNG"></A> </P>
|
|||
|
<DT><B>RobocodeNG</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://robocodeng.sourceforge.net/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>Merged together with original
|
|||
|
<A HREF="#Robocode">Robocode</A>
|
|||
|
as of version 1.1.</P>
|
|||
|
<P>Extension of Robocode, the battling bot AI programming game. Like its
|
|||
|
parent, it is written in Java and meant as a learning environment.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="Sulawesi"></A> </P>
|
|||
|
<DT><B>Sulawesi</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Web site: http://wearables.essex.ac.uk/sulawesi/</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>A framework called Sulawesi has been designed and implemented to
|
|||
|
tackle what has been considered to be important challenges in a
|
|||
|
wearable user interface. The ability to accept input from any
|
|||
|
number of modalities, and perform if necessary a translation to any
|
|||
|
number of modal outputs. It does this primarily through a set
|
|||
|
of proactive agents to act on the input.</P>
|
|||
|
|
|||
|
<P>
|
|||
|
<A NAME="TresBel"></A> </P>
|
|||
|
<DT><B>TresBel</B><DD><P>
|
|||
|
<UL>
|
|||
|
<LI>Abstract: http://iridia.ulb.ac.be/Projects/imple.html</LI>
|
|||
|
<LI>Direct Download: ftp://iridia.ulb.ac.be/pub/hongxu/software/TresBel.tar.Z</LI>
|
|||
|
</UL>
|
|||
|
</P>
|
|||
|
<P>This project seems to have been superseded by
|
|||
|
<A HREF="#Pulcinella">Pulcinella</A>
|
|||
|
.</P>
|
|||
|
<P>Libraries containing (Allegro) Common Lisp code for Belief Functions
|
|||
|
(aka. Dempster-Shafer evidential reasoning) as a representation
|
|||
|
of uncertainty. Very little documentation. Has a limited GUI.</P>
|
|||
|
|
|||
|
|
|||
|
</DL>
|
|||
|
</P>
|
|||
|
|
|||
|
<HR>
|
|||
|
</BODY>
|
|||
|
</HTML>
|