home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / mini / AI-Alife < prev    next >
Text File  |  1999-02-09  |  121KB  |  2,319 lines

  1.  
  2.                               Linux & AI/Alife
  3.                                  mini-HOWTO
  4.                                       
  5.                                 Version 2.0
  6.                                       
  7.             This document is maintained by [1]John A. Eikenberry
  8.                     The master page for this document is
  9.                    [2]http://www.ai.uga.edu/~jae/ai.html
  10.                 Last modified: Tue Jan 13 17:23:21 EST 1998
  11.      _________________________________________________________________
  12.    
  13. Table of Contents
  14.  
  15.      [3]What's New
  16.      [4]Introduction
  17.           + [5]Purpose
  18.           + [6]Finding the Software
  19.           + [7]Updates and Comments
  20.      [8]Programming Languages
  21.      [9]Traditional Artificial Intelligence
  22.           + [10]AI class/code libraries
  23.           + [11]AI software kits, applications, etc.
  24.      [12]Connectionism (neural nets)
  25.           + [13]Connectionist Class/Code Libraries
  26.           + [14]Connectionist Applications
  27.      [15]Evolutionary Computing (EC) (genetic algorithms/programming)
  28.           + [16]EC Class/Code Libraries
  29.           + [17]EC Applications
  30.      [18]Artificial Life
  31.           + [19]Alife class/code libraries
  32.           + [20]Alife software kits, applications, etc.
  33.      [21]Autonomous Agents and Bots
  34.      [22]AI & Alife related newsgroups
  35.      [23]AI & Alife resource links
  36.      _________________________________________________________________
  37.    
  38. What's New
  39.  
  40.    Note: For a list of new additions to this mini-howto, please visit the
  41.    [24]master page listed above.
  42.    
  43.    (1.11.98)Thanks to [25]Dirk Heise for his submission of Gas. I've also
  44.    removed a couple more of the non-AI oriented scheme implementations. I
  45.    just felt having 10 scheme implementations listed was a bit silly,
  46.    especially since some of them weren't really meant for AI stuff. If
  47.    you want a listing of more scheme's look [26]here or [27]here.
  48.    
  49.    (12.29.97) Added a couple more entries and web links, including a
  50.    patched lil-gp.
  51.    
  52.    (10.1.97) Ok. I struck the motherload of Baysean Networks, see the
  53.    Connectionism section for more. Plus I cleaned off the 'New' flags
  54.    from anything before August.
  55.    
  56.    (9.26.97) The reformat is done! :) If you are reading this somewhere
  57.    other than the master page, please [28]take a look and [29]let me know
  58.    what you think. Now I can get back to work on my thesis...
  59.    
  60. Purpose
  61.  
  62.    The Linux OS has evolved from its origins in hackerdom to a full blown
  63.    UNIX, capable of rivaling any commercial UNIX. It now provides an
  64.    inexpensive base to build a great workstation. It has shed its
  65.    hardware dependencies, having been ported to DEC Alphas, Sparcs,
  66.    PowerPCs, with others on the way. This potential speed boost along
  67.    with its networking support will make it great for workstation
  68.    clusters. As a workstation it allows for all sorts of research and
  69.    development, including artificial intelligence and artificial life.
  70.    
  71.    The purpose of this Mini-Howto is to provide a source to find out
  72.    about various software packages, code libraries, and anything else
  73.    that will help someone get started working with (and find resources
  74.    for) artificial intelligence and artificial life. All done with Linux
  75.    specifically in mind.
  76.    
  77. Where to find this software
  78.  
  79.    All this software should be available via the net (ftp || http). The
  80.    links to where to find it will be provided in the description of each
  81.    package. There will also be plenty of software not covered on these
  82.    pages (which is usually platform independent) located on one of the
  83.    resources listed under the [30]Web Links section.
  84.    
  85. Updates and comments
  86.  
  87.    If you find any mistakes, know of updates to one of the items below,
  88.    or have problems compiling and of the applications, please mail me at:
  89.    [31]jae@ai.uga.edu and I'll see what I can do.
  90.    
  91.    If you know of any AI/Alife applications, class libraries, etc. Please
  92.    [32]email me about them. Include your name, ftp and/or http sites
  93.    where they can be found, plus a brief overview/commentary on the
  94.    software (this info would make things a lot easier on me... but don't
  95.    feel obligated ;).
  96.    
  97.    I know that keeping this list up to date and expanding it will take
  98.    quite a bit of work. So please be patient (I do have other projects).
  99.    I hope you will find this document helpful.
  100.      _________________________________________________________________
  101.    
  102. Programming languages
  103.  
  104.    While any programming language can be used for artificial
  105.    intelligence/life research, these are programming languages which are
  106.    used extensively for, if not specifically made for, artificial
  107.    intelligence programming.
  108.    
  109.    ECoLisp [New]
  110.           Web site: [33]www.di.unipi.it/~attardi/software.html
  111.           ECoLisp (Embeddable Common Lisp) is an implementation of Common
  112.           Lisp designed for being embeddable into C based applications.
  113.           ECL uses standard C calling conventions for Lisp compiled
  114.           functions, which allows C programs to easily call Lisp
  115.           functions and viceversa. No foreign function interface is
  116.           required: data can be exchanged between C and Lisp with no need
  117.           for conversion. ECL is based on a Common Runtime Support (CRS)
  118.           which provides basic facilities for memory managment, dynamic
  119.           loading and dumping of binary images, support for multiple
  120.           threads of execution. The CRS is built into a library that can
  121.           be linked with the code of the application. ECL is modular:
  122.           main modules are the program development tools (top level,
  123.           debugger, trace, stepper), the compiler, and CLOS. A native
  124.           implementation of CLOS is available in ECL: one can configure
  125.           ECL with or without CLOS. A runtime version of ECL can be built
  126.           with just the modules which are required by the application.
  127.           The ECL compiler compiles from Lisp to C, and then invokes the
  128.           GCC compiler to produce binaries.
  129.           
  130.    G÷del
  131.           Web page: [34]www.cs.bris.ac.uk/~bowers/goedel.html
  132.           G÷del is a declarative, general-purpose programming language in
  133.           the family of logic programming languages. It is a strongly
  134.           typed language, the type system being based on many-sorted
  135.           logic with parametric polymorphism. It has a module system.
  136.           G÷del supports infinite precision integers, infinite precision
  137.           rationals, and also floating-point numbers. It can solve
  138.           constraints over finite domains of integers and also linear
  139.           rational constraints. It supports processing of finite sets. It
  140.           also has a flexible computation rule and a pruning operator
  141.           which generalizes the commit of the concurrent logic
  142.           programming languages. Considerable emphasis is placed on
  143.           G÷del's meta- logical facilities which provide significant
  144.           support for meta-programs that do analysis, transformation,
  145.           compilation, verification, debugging, and so on.
  146.           
  147.    LIFE
  148.           Web page: [35]www.isg.sfu.ca/life
  149.           LIFE (Logic, Inheritance, Functions, and Equations) is an
  150.           experimental programming language proposing to integrate three
  151.           orthogonal programming paradigms proven useful for symbolic
  152.           computation. From the programmer's standpoint, it may be
  153.           perceived as a language taking after logic programming,
  154.           functional programming, and object-oriented programming. From a
  155.           formal perspective, it may be seen as an instance (or rather, a
  156.           composition of three instances) of a Constraint Logic
  157.           Programming scheme due to Hoehfeld and Smolka refining that of
  158.           Jaffar and Lassez.
  159.           
  160.    CLisp (Lisp)
  161.           FTP site: [36]sunsite.unc.edu/pub/Linux/devel/lang/lisp/
  162.           CLISP is a Common Lisp implementation by Bruno Haible and
  163.           Michael Stoll. It mostly supports the Lisp described by
  164.           [37]'Common LISP: The Language (2nd edition)' and the ANSI
  165.           Common Lisp standard. CLISP includes an interpreter, a
  166.           byte-compiler, a large subset of CLOS (Object-Oriented Lisp) ,
  167.           a foreign language interface and, for some machines, a screen
  168.           editor.
  169.           
  170.           The user interface language (English, German, French) is chosen
  171.           at run time. Major packages that run in CLISP include CLX &
  172.           Garnet. CLISP needs only 2 MB of memory.
  173.           
  174.    CMU Common Lisp
  175.           Web page: [38]www.mv.com/users/pw/lisp/index.html
  176.           FTP site: [39]sunsite.unc.edu/pub/Linux/devel/lang/lisp/
  177.           CMU Common Lisp is a public domain "industrial strength" Common
  178.           Lisp programming environment. Many of the X3j13 changes have
  179.           been incorporated into CMU CL. Wherever possible, this has been
  180.           done so as to transparently allow the use of either CLtL1 or
  181.           proposed ANSI CL. Probably the new features most interesting to
  182.           users are SETF functions, LOOP and the WITH-COMPILATION-UNIT
  183.           macro.
  184.           
  185.    GCL (Lisp)
  186.           FTP site: [40]sunsite.unc.edu/pub/Linux/devel/lang/lisp/
  187.           GNU Common Lisp (GCL) has a compiler and interpreter for Common
  188.           Lisp. It used to be known as Kyoto Common Lisp. It is very
  189.           portable and extremely efficient on a wide class of
  190.           applications. It compares favorably in performance with
  191.           commercial Lisps on several large theorem-prover and symbolic
  192.           algebra systems. It supports the CLtL1 specification but is
  193.           moving towards the proposed ANSI definition. GCL compiles to C
  194.           and then uses the native optimizing C compilers (e.g., GCC). A
  195.           function with a fixed number of args and one value turns into a
  196.           C function of the same number of args, returning one value, so
  197.           GCL is maximally efficient on such calls. It has a conservative
  198.           garbage collector which allows great freedom for the C compiler
  199.           to put Lisp values in arbitrary registers.
  200.           
  201.           It has a source level Lisp debugger for interpreted code, with
  202.           display of source code in an Emacs window. Its profiling tools
  203.           (based on the C profiling tools) count function calls and the
  204.           time spent in each function.
  205.           
  206.    Mercury
  207.           Web page: [41]www.cs.mu.oz.au/research/mercury/
  208.           Mercury is a new, purely declarative logic programming
  209.           language. Like Prolog and other existing logic programming
  210.           languages, it is a very high-level language that allows
  211.           programmers to concentrate on the problem rather than the
  212.           low-level details such as memory management. Unlike Prolog,
  213.           which is oriented towards exploratory programming, Mercury is
  214.           designed for the construction of large, reliable, efficient
  215.           software systems by teams of programmers. As a consequence,
  216.           programming in Mercury has a different flavor than programming
  217.           in Prolog.
  218.           
  219.    DFKI OZ
  220.           Web page: [42]www.ps.uni-sb.de/oz/
  221.           FTP site: [43]ps-ftp.dfki.uni-sb.de/pub/oz2/
  222.           Oz is a high-level programming language designed for concurrent
  223.           symbolic computation. It is based on a new computation model
  224.           providing a uniform and simple foundation for several
  225.           programming paradigms, including higher-order functional,
  226.           constraint logic, and concurrent object-oriented programming.
  227.           Oz is designed as a successor to languages such as Lisp, Prolog
  228.           and Smalltalk, which fail to support applications that require
  229.           concurrency, reactivity, and real-time control.
  230.           
  231.           DFKI Oz is an interactive implementation of Oz featuring a
  232.           programming interface based on GNU Emacs, a concurrent browser,
  233.           an object-oriented interface to Tcl/Tk, powerful
  234.           interoperability features (sockets, C, C++), an incremental
  235.           compiler, a garbage collector, and support for stand-alone
  236.           applications. Performance is competitive with commercial Prolog
  237.           and Lisp systems.
  238.           
  239.    BinProlog
  240.           Web site(documentation):
  241.           [44]clement.info.umoncton.ca/BinProlog/UNCOMPRESSED/doc/html/ar
  242.           t.html
  243.           FTP site(source): [45]clement.info.umoncton.ca/BinProlog
  244.           FTP site(binary):
  245.           [46]clement.info.umoncton.ca/BinProlog/UNCOMPRESSED/bin
  246.           BinProlog is a fast and compact Prolog compiler, based on the
  247.           transformation of Prolog to binary clauses. The compilation
  248.           technique is similar to the Continuation Passing Style
  249.           transformation used in some ML implementations. BinProlog 5.00
  250.           is also probably the first Prolog system featuring dynamic
  251.           recompilation of asserted predicates (a technique similar to
  252.           the one used in some object oriented languages like SELF 4.0),
  253.           and a very efficient segment preserving copying heap garbage
  254.           collector.
  255.           
  256.           Although it (used to) incorporate some last minute research
  257.           experiments, which might look adventurous at the first sight,
  258.           BinProlog is a fairly robust and complete Prolog implementation
  259.           featuring both C-emulated execution and generation of
  260.           stand-alone applications by compilation to C.
  261.           
  262.    SWI Prolog
  263.           Web page: [47]swi.psy.uva.nl/projects/xpce/SWI-Prolog.html
  264.           FTP site: [48]swi.psy.uva.nl/pub/SWI-Prolog/
  265.           SWI is a free version of prolog in the Edinburgh Prolog family
  266.           (thus making it very similar to Quintus and many other
  267.           versions). With: a large library of built in predicates, a
  268.           module system, garbage collection, a two-way interface with the
  269.           C language, plus many other features. It is meant as a
  270.           educational language, so it's compiled code isn't the fastest.
  271.           Although it similarity to Quintus allows for easy porting.
  272.           
  273.           XPCE is freely available in binary form for the Linux version
  274.           of SWI-prolog. XPCE is an object oriented X-windows GUI
  275.           development package/environment.
  276.           
  277.    Kali Scheme
  278.           Web site: [49]www.neci.nj.nec.com/PLS/Kali.html
  279.           Kali Scheme is a distributed implementation of Scheme that
  280.           permits efficient transmission of higher-order objects such as
  281.           closures and continuations. The integration of distributed
  282.           communication facilities within a higher-order programming
  283.           language engenders a number of new abstractions and paradigms
  284.           for distributed computing. Among these are user-specified
  285.           load-balancing and migration policies for threads,
  286.           incrementally-linked distributed computations, agents, and
  287.           parameterized client-server applications. Kali Scheme supports
  288.           concurrency and communication using first-class procedures and
  289.           continuations. It integrates procedures and continuations into
  290.           a message-based distributed framework that allows any Scheme
  291.           object (including code vectors) to be sent and received in a
  292.           message.
  293.           
  294.    RScheme
  295.           Web site:[50]www.rosette.com/~donovan/rs/rscheme.html
  296.           FTP site: [51]ftp.rosette.com/pub/rscheme
  297.           RScheme is an object-oriented, extended version of the Scheme
  298.           dialect of Lisp. RScheme is freely redistributable, and offers
  299.           reasonable performance despite being extraordinarily portable.
  300.           RScheme can be compiled to C, and the C can then compiled with
  301.           a normal C compiler to generate machine code. By default,
  302.           however, RScheme compiles to bytecodes which are interpreted by
  303.           a (runtime) virtual machine. This ensures that compilation is
  304.           fast and keeps code size down. In general, we recommend using
  305.           the (default) bytecode code generation system, and only
  306.           compiling your time-critical code to machine code. This allows
  307.           a nice adjustment of space/time tradeoffs. (see web site for
  308.           details)
  309.           
  310.    Scheme48
  311.           Web site: [52]www-swiss.ai.mit.edu/~jar/s48.html (download from
  312.           ftp site)
  313.           FTP site: [53]swiss-ftp.ai.mit.edu:/archive/s48/
  314.           Scheme 48 is a Scheme implementation based on a virtual machine
  315.           architecture. Scheme 48 is designed to be straightforward,
  316.           flexible, reliable, and fast. It should be easily portable to
  317.           32-bit byte-addressed machines that have POSIX and ANSI C
  318.           support. In addition to the usual Scheme built-in procedures
  319.           and a development environment, library software includes
  320.           support for hygienic macros (as described in the Revised^4
  321.           Scheme report), multitasking, records, exception handling, hash
  322.           tables, arrays, weak pointers, and FORMAT. Scheme 48 implements
  323.           and exploits an experimental module system loosely derived from
  324.           Standard ML and Scheme Xerox. The development environment
  325.           supports interactive changes to modules and interfaces.
  326.           
  327.    SCM (Scheme)
  328.           Web site: [54]www-swiss.ai.mit.edu/~jaffer/SCM.html
  329.           FTP site: [55]swiss-ftp.ai.mit.edu:/archive/scm/
  330.           SCM conforms to the Revised^4 Report on the Algorithmic
  331.           Language Scheme and the IEEE P1178 specification. Scm is
  332.           written in C. It uses the following utilities (all available at
  333.           the ftp site).
  334.           
  335.           + SLIB (Standard Scheme Library) is a portable Scheme library
  336.             which is intended to provide compatibility and utility
  337.             functions for all standard Scheme implementations, including
  338.             SCM, Chez, Elk, Gambit, MacScheme, MITScheme, scheme->C,
  339.             Scheme48, T3.1, and VSCM, and is available as the file
  340.             slib2c0.tar.gz. Written by Aubrey Jaffer.
  341.           + JACAL is a symbolic math system written in Scheme, and is
  342.             available as the file jacal1a7.tar.gz.
  343.           + Interfaces to standard libraries including REGEX string
  344.             regular expression matching and the CURSES screen management
  345.             package.
  346.           + Available add-on packages including an interactive debugger,
  347.             database, X-window graphics, BGI graphics, Motif, and
  348.             Open-Windows packages.
  349.           + A compiler (HOBBIT, available separately) and dynamic linking
  350.             of compiled modules.
  351.             
  352.    Shift [New]
  353.           Web site: [56]www.path.berkeley.edu/shift/
  354.           Shift is a programming language for describing dynamic networks
  355.           of hybrid automata. Such systems consist of components which
  356.           can be created, interconnected and destroyed as the system
  357.           evolves. Components exhibit hybrid behavior, consisting of
  358.           continuous-time phases separated by discrete-event transitions.
  359.           Components may evolve independently, or they may interact
  360.           through their inputs, outputs and exported events. The
  361.           interaction network itself may evolve.
  362.           
  363. Traditional Artificial Intelligence
  364.  
  365.    Traditional AI is based around the ideas of logic, rule systems,
  366.    linguistics, and the concept of rationality. At its roots are
  367.    programming languages such as Lisp and Prolog. Expert systems are the
  368.    largest successful example of this paradigm. An expert system consists
  369.    of a detailed knowledge base and a complex rule system to utilize it.
  370.    Such systems have been used for such things as medical diagnosis
  371.    support and credit checking systems.
  372.    
  373.   AI class/code libraries
  374.   
  375.    These are libraries of code or classes for use in programming within
  376.    the artificial intelligence field. They are not meant as stand alone
  377.    applications, but rather as tools for building your own applications.
  378.    
  379.    AI Search
  380.           FTP site: [57]ftp.icce.rug.nl/pub/peter/
  381.           Submitted by: [58]Peter M. Bouthoorn
  382.           Basically, the library offers the programmer a set of search
  383.           algorithms that may be used to solve all kind of different
  384.           problems. The idea is that when developing problem solving
  385.           software the programmer should be able to concentrate on the
  386.           representation of the problem to be solved and should not need
  387.           to bother with the implementation of the search algorithm that
  388.           will be used to actually conduct the search. This idea has been
  389.           realized by the implementation of a set of search classes that
  390.           may be incorporated in other software through C++'s features of
  391.           derivation and inheritance. The following search algorithms
  392.           have been implemented:
  393.           
  394.           - depth-first tree and graph search.
  395.           - breadth-first tree and graph search.
  396.           - uniform-cost tree and graph search.
  397.           - best-first search.
  398.           - bidirectional depth-first tree and graph search.
  399.           - bidirectional breadth-first tree and graph search.
  400.           - AND/OR depth tree search.
  401.           - AND/OR breadth tree search.
  402.           Peter plans to release a new version of the library soon, which
  403.           will also be featured in a book about C++ and AI to appear this
  404.           year.
  405.           
  406.    Chess In Lisp (CIL)
  407.           FTP site: [59]chess.onenet.net/pub/chess/uploads/projects/
  408.           The CIL (Chess In Lisp) foundation is a Common Lisp
  409.           implementaion of all the core functions needed for development
  410.           of chess applications. The main purpose of the CIL project is
  411.           to get AI researchers interested in using Lisp to work in the
  412.           chess domain.
  413.           
  414.    DAI [New]
  415.           Web site: [60]starship.skyport.net/crew/gandalf/DNET/AI
  416.           A library for the Python programming language that provides an
  417.           object oriented interface to the CLIPS expert system tool. It
  418.           includes an interface to COOL (CLIPS Object Oriented Language)
  419.           that allows:
  420.           
  421.           + Investigate COOL classes
  422.           + Create and manipulate with COOL instances
  423.           + Manipulate with COOL message-handler's
  424.           + Manipulate with Modules
  425.             
  426.    Nyquist [New]
  427.           Web site:
  428.           [61]www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/music.html
  429.           The Computer Music Project at CMU is developing computer music
  430.           and interactive performance technology to enhance human musical
  431.           experience and creativity. This interdisciplinary effort draws
  432.           on Music Theory, Cognitive Science, Artificial Intelligence and
  433.           Machine Learning, Human Computer Interaction, Real-Time
  434.           Systems, Computer Graphics and Animation, Multimedia,
  435.           Programming Languages, and Signal Processing. A paradigmatic
  436.           example of these interdisciplinary efforts is the creation of
  437.           interactive performances that couple human musical
  438.           improvisation with intelligent computer agents in real-time.
  439.           
  440.    Screamer
  441.           Web site: [62]www.cis.upenn.edu/~screamer-tools/home.html
  442.           Screamer is an extension of Common Lisp that adds support for
  443.           nondeterministic programming. Screamer consists of two levels.
  444.           The basic nondeterministic level adds support for backtracking
  445.           and undoable side effects. On top of this nondeterministic
  446.           substrate, Screamer provides a comprehensive constraint
  447.           programming language in which one can formulate and solve mixed
  448.           systems of numeric and symbolic constraints. Together, these
  449.           two levels augment Common Lisp with practically all of the
  450.           functionality of both Prolog and constraint logic programming
  451.           languages such as CHiP and CLP(R). Furthermore, Screamer is
  452.           fully integrated with Common Lisp. Screamer programs can
  453.           coexist and interoperate with other extensions to Common Lisp
  454.           such as CLOS, CLIM and Iterate.
  455.           
  456.   AI software kits, applications, etc.
  457.   
  458.    These are various applications, software kits, etc. meant for research
  459.    in the field of artificial intelligence. Their ease of use will vary,
  460.    as they were designed to meet some particular research interest more
  461.    than as an easy to use commercial package.
  462.    
  463.    ASA - Adaptive Simulated Annealing
  464.           Web site: [63]www.ingber.com/#ASA-CODE
  465.           FTP site: [64]ftp.ingber.com/
  466.           ASA (Adaptive Simulated Annealing) is a powerful global
  467.           optimization C-code algorithm especially useful for nonlinear
  468.           and/or stochastic systems.
  469.           
  470.           ASA is developed to statistically find the best global fit of a
  471.           nonlinear non-convex cost-function over a D-dimensional space.
  472.           This algorithm permits an annealing schedule for 'temperature'
  473.           T decreasing exponentially in annealing-time k, T = T_0 exp(-c
  474.           k^1/D). The introduction of re-annealing also permits
  475.           adaptation to changing sensitivities in the multi-dimensional
  476.           parameter-space. This annealing schedule is faster than fast
  477.           Cauchy annealing, where T = T_0/k, and much faster than
  478.           Boltzmann annealing, where T = T_0/ln k.
  479.           
  480.    Babylon
  481.           FTP site: [65]ftp.gmd.de/gmd/ai-research/Software/Babylon/
  482.           BABYLON is a modular, configurable, hybrid environment for
  483.           developing expert systems. Its features include objects, rules
  484.           with forward and backward chaining, logic (Prolog) and
  485.           constraints. BABYLON is implemented and embedded in Common
  486.           Lisp.
  487.           
  488.    CLEARS
  489.           Web site: [66]www.coli.uni-sb.de/~clears/
  490.           The CLEARS system is an interactive graphical environment for
  491.           computational semantics. The tool allows exploration and
  492.           comparison of different semantic formalisms, and their
  493.           interaction with syntax. This enables the user to get an idea
  494.           of the range of possibilities of semantic construction, and
  495.           also where there is real convergence between theories.
  496.           
  497.    CLIPS
  498.           Web site: [67]www.jsc.nasa.gov/~clips/CLIPS.html
  499.           FTP site:
  500.           [68]cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/areas/ex
  501.           pert/systems/clips
  502.           CLIPS is a productive development and delivery expert system
  503.           tool which provides a complete environment for the construction
  504.           of rule and/or object based expert systems.
  505.           
  506.           CLIPS provides a cohesive tool for handling a wide variety of
  507.           knowledge with support for three different programming
  508.           paradigms: rule-based, object-oriented and procedural.
  509.           Rule-based programming allows knowledge to be represented as
  510.           heuristics, or "rules of thumb," which specify a set of actions
  511.           to be performed for a given situation. Object-oriented
  512.           programming allows complex systems to be modeled as modular
  513.           components (which can be easily reused to model other systems
  514.           or to create new components). The procedural programming
  515.           capabilities provided by CLIPS are similar to capabilities
  516.           found in languages such as C, Pascal, Ada, and LISP.
  517.           
  518.    EMA-XPS - A Hybrid Graphic Expert System Shell
  519.           Web site: [69]wmwap1.math.uni-wuppertal.de:80/EMA-XPS/
  520.           EMA-XPS is a hybrid graphic expert system shell based on the
  521.           ASCII-oriented shell Babylon 2.3 of the German National
  522.           Research Center for Computer Sciences (GMD). In addition to
  523.           Babylon's AI-power (object oriented data representation,
  524.           forward and backward chained rules - collectible into sets,
  525.           horn clauses, and constraint networks) a graphic interface
  526.           based on the X11 Window System and the OSF/Motif Widget Library
  527.           has been provided.
  528.           
  529.    FOOL & FOX
  530.           FTP site: [70]ntia.its.bldrdoc.gov/pub/fuzzy/prog/
  531.           FOOL stands for the Fuzzy Organizer OLdenburg. It is a result
  532.           from a project at the University of Oldenburg. FOOL is a
  533.           graphical user interface to develop fuzzy rulebases. FOOL will
  534.           help you to invent and maintain a database that specifies the
  535.           behavior of a fuzzy-controller or something like that.
  536.           
  537.           FOX is a small but powerful fuzzy engine which reads this
  538.           database, reads some input values and calculates the new
  539.           control value.
  540.           
  541.    FUF and SURGE 
  542.           Web site: [71]www.dfki.de/lt/registry/generation/fuf.html
  543.           FTP site: [72]ftp.cs.columbia.edu/pub/fuf/
  544.           FUF is an extended implementation of the formalism of
  545.           functional unification grammars (FUGs) introduced by Martin Kay
  546.           specialized to the task of natural language generation. It adds
  547.           the following features to the base formalism:
  548.           
  549.           + Types and inheritance.
  550.           + Extended control facilities (goal freezing, intelligent
  551.             backtracking).
  552.           + Modular syntax.
  553.             
  554.           These extensions allow the development of large grammars which
  555.           can be processed efficiently and can be maintained and
  556.           understood more easily. SURGE is a large syntactic realization
  557.           grammar of English written in FUF. SURGE is developed to serve
  558.           as a black box syntactic generation component in a larger
  559.           generation system that encapsulates a rich knowledge of English
  560.           syntax. SURGE can also be used as a platform for exploration of
  561.           grammar writing with a generation perspective.
  562.           
  563.    The Grammar Workbench
  564.           Web site: [73]www.cs.kun.nl/agfl/GWB.html
  565.           The Grammar Workbench, or GWB for short, is an environment for
  566.           the comfortable development of Affix Grammars in the
  567.           AGFL-formalism. Its purposes are:
  568.           
  569.           + to allow the user to input, inspect and modify a grammar;
  570.           + to perform consistency checks on the grammar;
  571.           + to compute grammar properties;
  572.           + to generate example sentences;
  573.           + to assist in performing grammar transformations.
  574.             
  575.    GSM Suite [New]
  576.           Web site: [74]www.slip.net/~andrewm/gsm/
  577.           The GSM Suite is a set of programs for using Finite State
  578.           Machines in a graphical fashion. The suite consists of programs
  579.           that edit, compile, and print state machines. Included in the
  580.           suite is an editor program, gsmedit, a compiler, gsm2cc, that
  581.           produces a C++ implementation of a state machine, a PostScript
  582.           generator, gsm2ps, and two other minor programs. GSM is
  583.           licensed under the GNU Public License and so is free for your
  584.           use under the terms of that license.
  585.           
  586.    Illuminator
  587.           Web site:
  588.           [75]documents.cfar.umd.edu/resources/source/illuminator.html
  589.           Illuminator is a toolset for developing OCR and Image
  590.           Understanding applications. Illuminator has two major parts: a
  591.           library for representing, storing and retrieving OCR
  592.           information, heretofore called dafslib, and an X-Windows "DAFS"
  593.           file viewer, called illum. Illuminator and DAFS lib were
  594.           designed to supplant existing OCR formats and become a standard
  595.           in the industry. They particularly are extensible to handle
  596.           more than just English. The features of this release:
  597.           
  598.           + 5 magnification levels for images
  599.           + flagged characters and words
  600.           + unicode support -- American, British, French, German, Greek,
  601.             Italian, MICR, Norwegian, Russian, Spanish, Swedish,
  602.             keyboards
  603.           + reads DAFS, TIFF's, PDA's (image only)
  604.           + save to DAFS, ASCII/UTF or Unicode
  605.           + Entity Viewer - shows properties, character choices, bounding
  606.             boxes image fragment for a selected entity, change type,
  607.             change content, hierarchy mode
  608.             
  609.    Jess, the Java Expert System Shell
  610.           Web site: [76]herzberg.ca.sandia.gov/jess/
  611.           Jess is a clone of the popular CLIPS expert system shell
  612.           written entirely in Java. With Jess, you can conveniently give
  613.           your applets the ability to 'reason'. Jess is compatible with
  614.           all versions of Java starting with version 1.0.2. Jess
  615.           implements the following constructs from CLIPS: defrules,
  616.           deffunctions, defglobals, deffacts, and deftemplates.
  617.           
  618.    learn
  619.           FTP site: [77]sunsite.unc.edu/pub/Linux/apps/cai/
  620.           Learn is a vocable learning program with memory model.
  621.           
  622.    Otter: An Automated Deduction System
  623.           Web site: [78]www.mcs.anl.gov/home/mccune/ar/otter
  624.           Our current automated deduction system Otter is designed to
  625.           prove theorems stated in first-order logic with equality.
  626.           Otter's inference rules are based on resolution and
  627.           paramodulation, and it includes facilities for term rewriting,
  628.           term orderings, Knuth-Bendix completion, weighting, and
  629.           strategies for directing and restricting searches for proofs.
  630.           Otter can also be used as a symbolic calculator and has an
  631.           embedded equational programming system.
  632.           
  633.    RIPPER
  634.           Web site: [79]www.research.att.com/~wcohen/ripperd.html
  635.           Ripper is a system for fast effective rule induction. Given a
  636.           set of data, Ripper will learn a set of rules that will predict
  637.           the patterns in the data. Ripper is written in ASCI C and comes
  638.           with documentation and some sample problems.
  639.           
  640.    SNePS
  641.           Web site: [80]www.cs.buffalo.edu/pub/sneps/WWW/
  642.           FTP site: [81]ftp.cs.buffalo.edu/pub/sneps/
  643.           The long-term goal of The SNePS Research Group is the design
  644.           and construction of a natural-language-using computerized
  645.           cognitive agent, and carrying out the research in artificial
  646.           intelligence, computational linguistics, and cognitive science
  647.           necessary for that endeavor. The three-part focus of the group
  648.           is on knowledge representation, reasoning, and natural-language
  649.           understanding and generation. The group is widely known for its
  650.           development of the SNePS knowledge representation/reasoning
  651.           system, and Cassie, its computerized cognitive agent.
  652.           
  653.    Soar
  654.           Web site: [82]www.isi.edu/soar/soar.html
  655.           FTP site: [83]cs.cmu.edu/afs/cs/project/soar/public/Soar6/
  656.           Soar has been developed to be a general cognitive architecture.
  657.           We intend ultimately to enable the Soar architecture to:
  658.           
  659.           + work on the full range of tasks expected of an intelligent
  660.             agent, from highly routine to extremely difficult, open-ended
  661.             problems
  662.           + represent and use appropriate forms of knowledge, such as
  663.             procedural, declarative, episodic, and possibly iconic
  664.           + employ the full range of problem solving methods
  665.           + interact with the outside world and
  666.           + learn about all aspects of the tasks and its performance on
  667.             them.
  668.             
  669.           In other words, our intention is for Soar to support all the
  670.           capabilities required of a general intelligent agent.
  671.           
  672.    TCM (Toolkit for Conceptual Modeling)
  673.           Web site: [84]www.cs.vu.nl/~tcm/
  674.           FTP site: [85]ftp.cs.vu.nl/pub/tcm/
  675.           TCM (Toolkit for Conceptual Modeling) is our suite of graphical
  676.           editors. TCM contains graphical editors for Entity-Relationship
  677.           diagrams, Class-Relationship diagrams, Data and Event Flow
  678.           diagrams, State Transition diagrams, Jackson Process Structure
  679.           diagrams and System Network diagrams, Function Refinement trees
  680.           and various table editors, such as a Function-Entity table
  681.           editor and a Function Decomposition table editor. TCM is easy
  682.           to use and performs numerous consistency checks, some of them
  683.           immediately, some of them upon request.
  684.           
  685.    WEKA [New]
  686.           Web site: [86]lucy.cs.waikato.ac.nz/~ml/
  687.           WEKA (Waikato Environment for Knowledge Analysis) is an
  688.           state-of-the-art facility for applying machine learning
  689.           techniques to practical problems. It is a comprehensive
  690.           software "workbench" that allows people to analyse real-world
  691.           data. It integrates different machine learning tools within a
  692.           common framework and a uniform user interface. It is designed
  693.           to support a "simplicity-first" methodology, which allows users
  694.           to experiment interactively with simple machine learning tools
  695.           before looking for more complex solutions.
  696.           
  697. Connectionism
  698.  
  699.    Connectionism is a technical term for a group of related techniques.
  700.    These techniques include areas such as Artificial Neural Networks,
  701.    Semantic Networks and a few other similar ideas. My present focus is
  702.    on neural networks (though I am looking for resources on the other
  703.    techniques). Neural networks are programs designed to simulate the
  704.    workings of the brain. They consist of a network of small
  705.    mathematical-based nodes, which work together to form patterns of
  706.    information. They have tremendous potential and currently seem to be
  707.    having a great deal of success with image processing and robot
  708.    control.
  709.    
  710.   Connectionist class/code libraries
  711.   
  712.    These are libraries of code or classes for use in programming within
  713.    the Connectionist field. They are not meant as stand alone
  714.    applications, but rather as tools for building your own applications.
  715.    
  716.    ANSI-C Neural Networks
  717.           Web site: [87]www.geocities.com/CapeCanaveral/1624/
  718.           This site contains ANSC-C source code for 8 types of neural
  719.           nets, including:
  720.           
  721.           + Adaline Network
  722.           + Backpropagation
  723.           + Hopfield Model
  724.           + (BAM) Bidirectional Associative Memory
  725.           + Boltzmann Machine
  726.           + Counterpropagation
  727.           + (SOM) Self-Organizing Map
  728.           + (ART1) Adaptive Resonance Theory
  729.             
  730.           They were designed to help turn the theory of a particular
  731.           network model into the design for a simulator implementation ,
  732.           and to help with embeding an actual application into a
  733.           particular network model.
  734.           
  735.    BELIEF [New]
  736.           Web site:
  737.           [88]www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/reason
  738.           ng/probabl/belief/0.html
  739.           BELIEF is a Common Lisp implementation of the Dempster and Kong
  740.           fusion and propagation algorithm for Graphical Belief Function
  741.           Models and the Lauritzen and Spiegelhalter algorithm for
  742.           Graphical Probabilistic Models. It includes code for
  743.           manipulating graphical belief models such as Bayes Nets and
  744.           Relevance Diagrams (a subset of Influence Diagrams) using both
  745.           belief functions and probabilities as basic representations of
  746.           uncertainty. It uses the Shenoy and Shafer version of the
  747.           algorithm, so one of its unique features is that it supports
  748.           both probability distributions and belief functions. It also
  749.           has limited support for second order models (probability
  750.           distributions on parameters).
  751.           
  752.    IDEAL [New]
  753.           Web site: [89]www.rpal.rockwell.com/ideal.html
  754.           IDEAL is a test bed for work in influence diagrams and Bayesian
  755.           networks. It contains various inference algorithms for belief
  756.           networks and evaluation algorithms for influence diagrams. It
  757.           contains facilities for creating and editing influence diagrams
  758.           and belief networks.
  759.           
  760.           IDEAL is written in pure Common Lisp and so it will run in
  761.           Common Lisp on any platform. The emphasis in writing IDEAL has
  762.           been on code clarity and providing high level programming
  763.           abstractions. It thus is very suitable for experimental
  764.           implementations which need or extend belief network technology.
  765.           
  766.           At the highest level, IDEAL can be used as a subroutine library
  767.           which provides belief network inference and influence diagram
  768.           evaluation as a package. The code is documented in a detailed
  769.           manual and so it is also possible to work at a lower level on
  770.           extensions of belief network methods.
  771.           
  772.           IDEAL comes with an optional graphic interface written in CLIM.
  773.           If your Common Lisp also has CLIM, you can run the graphic
  774.           interface.
  775.           
  776.    Matrix Class
  777.           FTP site: [90]pink.cs.ucla.edu/pub/
  778.           A simple, fast, efficient C++ Matrix class designed for
  779.           scientists and engineers. The Matrix class is well suited for
  780.           applications with complex math algorithms. As an demonstration
  781.           of the Matrix class, it was used to implement the backward
  782.           error propagation algorithm for a multi-layer feed-forward
  783.           artificial neural network.
  784.           
  785.    Pulcinella
  786.           Web site: [91]iridia.ulb.ac.be/pulcinella/Welcome.html
  787.           Pulcinella is written in CommonLisp, and appears as a library
  788.           of Lisp functions for creating, modifying and evaluating
  789.           valuation systems. Alternatively, the user can choose to
  790.           interact with Pulcinella via a graphical interface (only
  791.           available in Allegro CL). Pulcinella provides primitives to
  792.           build and evaluate uncertainty models according to several
  793.           uncertainty calculi, including probability theory, possibility
  794.           theory, and Dempster-Shafer's theory of belief functions; and
  795.           the possibility theory by Zadeh, Dubois and Prade's. A User's
  796.           Manual is available on request.
  797.           
  798.    S-ElimBel [New]
  799.           Web site: [92]www.spaces.uci.edu/thiery/elimbel/
  800.           S-ElimBel is an algorithm that computes the belief in a
  801.           Bayesian network, implemented in MIT-Scheme. This algorithm has
  802.           the particularity of being rather easy to understand. Moreover,
  803.           one can apply it to any kind of Bayesian network - it being
  804.           singly connected or muliply connected. It is, however, less
  805.           powerful than the standard algorithm of belief propagation.
  806.           Indeed, the computation has to be reconducted entirely for each
  807.           new evidence added to the network. Also, one needs to run the
  808.           algorithm as many times as one has nodes for which the belief
  809.           is wanted.
  810.           
  811.    Software for Flexible Bayesian Modeling [New]
  812.           Web site: [93]www.cs.utoronto.ca/~radford/fbm.software.html
  813.           This software implements flexible Bayesian models for
  814.           regression and classification applications that are based on
  815.           multilayer perceptron neural networks or on Gaussian processes.
  816.           The implementation uses Markov chain Monte Carlo methods.
  817.           Software modules that support Markov chain sampling are
  818.           included in the distribution, and may be useful in other
  819.           applications.
  820.           
  821.    Spiderweb2 [New]
  822.           Web site: 
  823.           A C++ artificial neual net library. Spiderweb2 is a complete
  824.           rewrite of the original Spiderweb library, it has grown into a
  825.           much more flexible and object-oriented system. The biggest
  826.           change is that each neuron object is responsible for its own
  827.           activations and updates, with the network providing only the
  828.           scheduling aspect. This is a very powerful change, and it
  829.           allows easy modification and experimentation with various
  830.           network architectures and neuron types.
  831.           
  832.           There is still a lack of documentation and support for file
  833.           I/O, but that will eventually get done.
  834.           
  835.    Symbolic Probabilistic Inference (SPI)
  836.           FTP site: [94]ftp.engr.orst.edu/pub/dambrosi/spi/
  837.           Paper (ijar-94.ps): [95]ftp.engr.orst.edu/pub/dambrosi/
  838.           Contains Common Lisp function libraries to implement SPI type
  839.           baysean nets. Documentation is very limited.
  840.           Features:
  841.           
  842.         Probabilities, Local Expression Language Utilities, Explanation,
  843.             Dynamic Models, and a TCL/TK based GUI.
  844.             
  845.    TresBel
  846.           FTP site: [96]iridia.ulb.ac.be/pub/hongxu/software/
  847.           Libraries containing (Allegro) Common Lisp code for Belief
  848.           Functions (aka. Dempster-Shafer evidential reasoning) as a
  849.           representation of uncertainty. Very little documentation. Has a
  850.           limited GUI.
  851.           
  852.    Various (C++) Neural Networks
  853.           Web site: [97]www.mcs.com/~drt/svbp.html
  854.           Submitted by: [98]Don Tveter
  855.           Example neural net codes from the book, [99]The Basis of
  856.           Artificial Intelligence. These are simple example codes of
  857.           these various neural nets. They work well as a good starting
  858.           point for simple experimentation and for learning what the code
  859.           is like behind the simulators. The types of networks available
  860.           on this site are: (implemented in C++)
  861.           
  862.           + The Backprop Package
  863.           + The Nearest Neighbor Algorithms
  864.           + The Interactive Activation Algorithm
  865.           + The Hopfield and Boltzman machine Algorithms
  866.           + The Linear Pattern Classifier
  867.           + ART I
  868.           + Bi-Directional Associative Memory
  869.           + The Feedforward Counter-Propagation Network
  870.             
  871.   Connectionist software kits/applications
  872.   
  873.    These are various applications, software kits, etc. meant for research
  874.    in the field of Connectionism. Their ease of use will vary, as they
  875.    were designed to meet some particular research interest more than as
  876.    an easy to use commercial package.
  877.    
  878.    Aspirin/MIGRAINES (am6.tar.Z on ftp site)
  879.           FTP site:
  880.           [100]sunsite.unc.edu/pub/academic/computer-science/neural-netwo
  881.           rks/programs/Aspirin/
  882.           The software that we are releasing now is for creating, and
  883.           evaluating, feed-forward networks such as those used with the
  884.           backpropagation learning algorithm. The software is aimed both
  885.           at the expert programmer/neural network researcher who may wish
  886.           to tailor significant portions of the system to his/her precise
  887.           needs, as well as at casual users who will wish to use the
  888.           system with an absolute minimum of effort.
  889.           
  890.    JavaBayes [New]
  891.           Web site: [101]www.cs.cmu.edu/People/javabayes/index.html/
  892.           The JavaBayes system is a set of tools, containing a graphical
  893.           editor, a core inference engine and a parser. JavaBayes can
  894.           produce:
  895.           
  896.           + the marginal distribution for any variable in a network.
  897.           + the expectations for univariate functions (for example,
  898.             expected value for variables).
  899.           + configurations with maximum a posteriori probability.
  900.           + configurations with maximum a posteriori expectation for
  901.             univariate functions.
  902.             
  903.    Neureka ANS (nn/xnn)
  904.           Web site: [102]www.bgif.no/neureka/
  905.           FTP site: [103]ftp.ii.uib.no/pub/neureka/linux/
  906.           nn is a high-level neural network specification language. The
  907.           current version is best suited for feed-forward nets, but
  908.           recurrent models can and have been implemented, e.g. Hopfield
  909.           nets, Jordan/Elman nets, etc. In nn, it is easy to change
  910.           network dynamics. The nn compiler can generate C code or
  911.           executable programs (so there must be a C compiler available),
  912.           with a powerful command line interface (but everything may also
  913.           be controlled via the graphical interface, xnn). It is possible
  914.           for the user to write C routines that can be called from inside
  915.           the nn specification, and to use the nn specification as a
  916.           function that is called from a C program. Please note that no
  917.           programming is necessary in order to use the network models
  918.           that come with the system (`netpack').
  919.           
  920.           xnn is a graphical front end to networks generated by the nn
  921.           compiler, and to the compiler itself. The xnn graphical
  922.           interface is intuitive and easy to use for beginners, yet
  923.           powerful, with many possibilities for visualizing network data.
  924.           
  925.           NOTE: You have to run the install program that comes with this
  926.           to get the license key installed. It gets put (by default) in
  927.           /usr/lib. If you (like myself) want to install the package
  928.           somewhere other than in the /usr directory structure (the
  929.           install program gives you this option) you will have to set up
  930.           some environmental variables (NNLIBDIR & NNINCLUDEDIR are
  931.           required). You can read about these (and a few other optional
  932.           variables) in appendix A of the documentation (pg 113).
  933.           
  934.    PDP++
  935.           Web site: [104]www.cnbc.cmu.edu/PDP++/
  936.           FTP site (US): [105]cnbc.cmu.edu/pub/pdp++/
  937.           FTP site (Europe): [106]unix.hensa.ac.uk/mirrors/pdp++/ 
  938.           As the field of Connectionist modeling has grown, so has the
  939.           need for a comprehensive simulation environment for the
  940.           development and testing of Connectionist models. Our goal in
  941.           developing PDP++ has been to integrate several powerful
  942.           software development and user interface tools into a general
  943.           purpose simulation environment that is both user friendly and
  944.           user extensible. The simulator is built in the C++ programming
  945.           language, and incorporates a state of the art script
  946.           interpreter with the full expressive power of C++. The
  947.           graphical user interface is built with the Interviews toolkit,
  948.           and allows full access to the data structures and processing
  949.           modules out of which the simulator is built. We have
  950.           constructed several useful graphical modules for easy
  951.           interaction with the structure and the contents of neural
  952.           networks, and we've made it possible to change and adapt many
  953.           things. At the programming level, we have set things up in such
  954.           a way as to make user extensions as painless as possible. The
  955.           programmer creates new C++ objects, which might be new kinds of
  956.           units or new kinds of processes; once compiled and linked into
  957.           the simulator, these new objects can then be accessed and used
  958.           like any other.
  959.           
  960.    Simple Neural Net (in Python)
  961.           Web site: [107]starship.skyport.net/crew/amk/unmaintained/
  962.           Simple neural network code, which implements a class for
  963.           3-level networks (input, hidden, and output layers). The only
  964.           learning rule implemented is simple backpropagation. No
  965.           documentation (or even comments) at all, because this is simply
  966.           code that I use to experiment with. Includes modules containing
  967.           sample datasets from Carl G. Looney's NN book. Requires the
  968.           Numeric extensions.
  969.           
  970.    SCNN
  971.           Web site:
  972.           [108]apx00.physik.uni-frankfurt.de/e_ag_rt/cnn/SCNN/homepage.ht
  973.           ml
  974.           SCNN is an universal simulating system for Cellular Neural
  975.           Networks (CNN). CNN are analog processing neural networks with
  976.           regular and local interconnections, governed by a set of
  977.           nonlinear ordinary differential equations. Due to their local
  978.           connectivity, CNN are realized as VLSI chips, which operates at
  979.           very high speed.
  980.           
  981.    Semantic Networks in Python
  982.           Web site: [109]www-acs.ucsd.edu/~jstrout/python/ai/
  983.           The semnet.py module defines several simple classes for
  984.           building and using semantic networks. A semantic network is a
  985.           way of representing knowledge, and it enables the program to do
  986.           simple reasoning with very little effort on the part of the
  987.           programmer.
  988.           
  989.           The following classes are defined:
  990.           
  991.           + Entity: This class represents a noun; it is something which
  992.             can be related to other things, and about which you can store
  993.             facts.
  994.           + Relation: A Relation is a type of relationship which may
  995.             exist between two entities. One special relation, "IS_A", is
  996.             predefined because it has special meaning (a sort of logical
  997.             inheritance).
  998.           + Fact: A Fact is an assertion that a relationship exists
  999.             between two entities.
  1000.             
  1001.           With these three object types, you can very quickly define
  1002.           knowledge about a set of objects, and query them for logical
  1003.           conclusions.
  1004.           
  1005.    SNNS
  1006.           Web site:
  1007.           [110]www.informatik.uni-stuttgart.de/ipvr/bv/projekte/snns/snns
  1008.           .html
  1009.           FTP site: [111]ftp.informatik.uni-stuttgart.de/pub/SNNS/
  1010.           Stuttgart Neural Net Simulator (version 4.1). An awesome neural
  1011.           net simulator. Better than any commercial simulator I've seen.
  1012.           The simulator kernel is written in C (it's fast!). It supports
  1013.           over 20 different network architectures, has 2D and 3D X-based
  1014.           graphical representations, the 2D GUI has an integrated network
  1015.           editor, and can generate a separate NN program in C.
  1016.           SNNS is very powerful, though a bit difficult to learn at
  1017.           first. To help with this it comes with example networks and
  1018.           tutorials for many of the architectures.
  1019.           ENZO, a supplementary system allows you to evolve your networks
  1020.           with genetic algorithms.
  1021.           
  1022.           The Readme.linux file that comes with this package must be old.
  1023.           It's instructions for building the package are wrong. I've
  1024.           edited it to reflect what I had to do to get the package to
  1025.           compile. Please download [112]SNNS.Readme.linux and use it
  1026.           instead of the Readme.linux file that comes with the
  1027.           distribution.
  1028.           
  1029.    SPRLIB/ANNLIB
  1030.           Web site: [113]www.ph.tn.tudelft.nl/~sprlib/
  1031.           SPRLIB (Statistical Pattern Recognition Library) was developed
  1032.           to support the easy construction and simulation of pattern
  1033.           classifiers. It consist of a library of functions (written in
  1034.           C) that can be called from your own program. Most of the
  1035.           well-known classifiers are present (k-nn, Fisher, Parzen,
  1036.           ....), as well as error estimation and dataset generation
  1037.           routines.
  1038.           
  1039.           ANNLIB (Artificial Neural Networks Library) is a neural network
  1040.           simulation library based on the data architecture laid down by
  1041.           SPRLIB. The library contains numerous functions for creating,
  1042.           training and testing feed-forward networks. Training algorithms
  1043.           include back-propagation, pseudo-Newton, Levenberg-Marquardt,
  1044.           conjugate gradient descent, BFGS.... Furthermore, it is
  1045.           possible - due to the datastructures' general applicability -
  1046.           to build Kohonen maps and other more exotic network
  1047.           architectures using the same data types.
  1048.           
  1049. Evolutionary Computing
  1050.  
  1051.    Evolutionary computing is actually a broad term for a vast array of
  1052.    programming techniques, including genetic algorithms, complex adaptive
  1053.    systems, evolutionary programming, etc. The main thrust of all these
  1054.    techniques is the idea of evolution. The idea that a program can be
  1055.    written that will evolve toward a certain goal. This goal can be
  1056.    anything from solving some engineering problem to winning a game.
  1057.    
  1058.   EC class/code libraries
  1059.   
  1060.    These are libraries of code or classes for use in programming within
  1061.    the evolutionary computation field. They are not meant as stand alone
  1062.    applications, but rather as tools for building your own applications.
  1063.    
  1064.    FORTRAN GA
  1065.           Web site: [114]www.staff.uiuc.edu/~carroll/ga.html
  1066.           This program is a FORTRAN version of a genetic algorithm
  1067.           driver. This code initializes a random sample of individuals
  1068.           with different parameters to be optimized using the genetic
  1069.           algorithm approach, i.e. evolution via survival of the fittest.
  1070.           The selection scheme used is tournament selection with a
  1071.           shuffling technique for choosing random pairs for mating. The
  1072.           routine includes binary coding for the individuals, jump
  1073.           mutation, creep mutation, and the option for single-point or
  1074.           uniform crossover. Niching (sharing) and an option for the
  1075.           number of children per pair of parents has been added. More
  1076.           recently, an option for the use of a micro-GA has been added.
  1077.           
  1078.    GAGS
  1079.           Web site: [115]kal-el.ugr.es/gags.html
  1080.           FTP site: [116]kal-el.ugr.es/GAGS/
  1081.           Genetic Algorithm application generator and class library
  1082.           written mainly in C++.
  1083.           As a class library, and among other thing, GAGS includes:
  1084.           
  1085.           + A chromosome hierarchy with variable length chromosomes.
  1086.             Genetic operators: 2-point crossover, uniform crossover,
  1087.             bit-flip mutation, transposition (gene interchange between 2
  1088.             parts of the chromosome), and variable-length operators:
  1089.             duplication, elimination, and random addition.
  1090.           + Population level operators include steady state, roulette
  1091.             wheel and tournament selection.
  1092.           + Gnuplot wrapper: turns gnuplot into a iostreams-like class.
  1093.           + Easy sample file loading and configuration file parsing.
  1094.             
  1095.           As an application generator (written in PERL), you only need to
  1096.           supply it with an ANSI-C or C++ fitness function, and it
  1097.           creates a C++ program that uses the above library to 90%
  1098.           capacity, compiles it, and runs it, saving results and
  1099.           presenting fitness thru gnuplot.
  1100.           
  1101.    GAlib: Matthew's Genetic Algorithms Library
  1102.           Web Site: [117]lancet.mit.edu/ga/
  1103.           FTP site: [118]lancet.mit.edu/pub/ga/
  1104.           Register GAlib at: [119]http://lancet.mit.edu/ga/Register.html
  1105.           GAlib contains a set of C++ genetic algorithm objects. The
  1106.           library includes tools for using genetic algorithms to do
  1107.           optimization in any C++ program using any representation and
  1108.           genetic operators. The documentation includes an extensive
  1109.           overview of how to implement a genetic algorithm as well as
  1110.           examples illustrating customizations to the GAlib classes.
  1111.           
  1112.    GALOPPS
  1113.           Web site: [120]GARAGe.cps.msu.edu/software/software-index.html
  1114.           FTP site: [121]garage.cps.msu.edu/pub/GA/galopps/
  1115.           GALOPPS is a flexible, generic GA, in 'C'. It was based upon
  1116.           Goldberg's Simple Genetic Algorithm (SGA) architecture, in
  1117.           order to make it easier for users to learn to use and extend.
  1118.           
  1119.           GALOPPS extends the SGA capabilities several fold:
  1120.           
  1121.           + (optional) A new Graphical User Interface, based on TCL/TK,
  1122.             for Unix users, allowing easy running of GALOPPS 3.2 (single
  1123.             or multiple subpopulations) on one or more processors. GUI
  1124.             writes/reads "standard" GALOPPS input and master files, and
  1125.             displays graphical output (during or after run) of
  1126.             user-selected variables.
  1127.           + 5 selection methods: roulette wheel, stochastic remainder
  1128.             sampling, tournament selection, stochastic universal
  1129.             sampling, linear-ranking-then-SUS.
  1130.           + Random or superuniform initialization of "ordinary"
  1131.             (non-permutation) binary or non-binary chromosomes; random
  1132.             initialization of permutation-based chromosomes; or
  1133.             user-supplied initialization of arbitrary types of
  1134.             chromosomes.
  1135.           + Binary or non-binary alphabetic fields on value-based
  1136.             chromosomes, including different user-definable field sizes.
  1137.           + 3 crossovers for value-based representations: 1-pt, 2-pt, and
  1138.             uniform, all of which operate at field boundaries if a
  1139.             non-binary alphabet is used.
  1140.           + 4 crossovers for order-based reps: PMX, order-based, uniform
  1141.             order-based, and cycle.
  1142.           + 4 mutations: fast bitwise, multiple-field, swap and random
  1143.             sublist scramble.
  1144.           + Fitness scaling: linear scaling, Boltzmann scaling, sigma
  1145.             truncation, window scaling, ranking.
  1146.           + Plus a whole lot more....
  1147.             
  1148.    GAS [New]
  1149.           Web site: [122]starship.skyport.net/crew/gandalf
  1150.           FTP site: [123]ftp.coe.uga.edu/users/jae/ai
  1151.           GAS means "Genetic Algorithms Stuff". GAS is freeware.
  1152.           Purpose of GAS is to explore and exploit artificial evolutions.
  1153.           Primary implementation language of GAS is Python. The GAS
  1154.           software package is meant to be a Python framework for applying
  1155.           genetic algorithms. It contains an example application where it
  1156.           is tried to breed Python program strings. This special problem
  1157.           falls into the category of Genetic Programming (GP), and/or
  1158.           Automatic Programming. Nevertheless, GAS tries to be useful for
  1159.           other applications of Genetic Algorithms as well.
  1160.           
  1161.    GECO
  1162.           FTP site: [124]ftp://ftp.aic.nrl.navy.mil/pub/galist/src/
  1163.           GECO (Genetic Evolution through Combination of Objects), an
  1164.           extendible object-oriented tool-box for constructing genetic
  1165.           algorithms (in Lisp). It provides a set of extensible classes
  1166.           and methods designed for generality. Some simple examples are
  1167.           also provided to illustrate the intended use.
  1168.           
  1169.    GPdata
  1170.           FTP site:
  1171.           [125]ftp.cs.bham.ac.uk/pub/authors/W.B.Langdon/gp-code/
  1172.           Documentation (GPdata-icga-95.ps):
  1173.           [126]cs.ucl.ac.uk/genetic/papers/
  1174.           GPdata-3.0.tar.gz (C++) contains a version of Andy Singleton's
  1175.           GP-Quick version 2.1 which has been extensively altered to
  1176.           support:
  1177.           
  1178.           + Indexed memory operation (cf. teller)
  1179.           + multi tree programs
  1180.           + Adfs
  1181.           + parameter changes without recompilation
  1182.           + populations partitioned into demes
  1183.           + (A version of) pareto fitness
  1184.             
  1185.           This ftp site also contains a small C++ program (ntrees.cc) to
  1186.           calculate the number of different there are of a given length
  1187.           and given function and terminal set.
  1188.           
  1189.    gpjpp Genetic Programming in Java
  1190.           Web site: [127]www.turbopower.com/~kimk/gpjpp.asp
  1191.           gpjpp is a Java package I wrote for doing research in genetic
  1192.           programming. It is a port of the gpc++ kernel written by Adam
  1193.           Fraser and Thomas Weinbrenner. Included in the package are four
  1194.           of Koza's standard examples: the artificial ant, the hopping
  1195.           lawnmower, symbolic regression, and the boolean multiplexer.
  1196.           Here is a partial list of its features:
  1197.           
  1198.           + graphic output of expression trees
  1199.           + efficient diversity checking
  1200.           + Koza's greedy over-selection option for large populations
  1201.           + extensible GPRun class that encapsulates most details of a
  1202.             genetic programming test
  1203.           + more robust and efficient streaming code, with automatic
  1204.             checkpoint and restart built into the GPRun class
  1205.           + an explicit complexity limit that can be set on each GP
  1206.           + additional configuration variables to allow more testing
  1207.             without recompilation
  1208.           + support for automatically defined functions (ADFs)
  1209.           + tournament and fitness proportionate selection
  1210.           + demetic grouping
  1211.           + optional steady state population
  1212.           + subtree crossover
  1213.           + swap and shrink mutation
  1214.             
  1215.    GP Kernel
  1216.           Web site:
  1217.           [128]www.emk.e-technik.th-darmstadt.de/~thomasw/gp.html
  1218.           The GP kernel is a C++ class library that can be used to apply
  1219.           genetic programming techniques to all kinds of problems. The
  1220.           library defines a class hierarchy. An integral component is the
  1221.           ability to produce automatically defined functions as found in
  1222.           Koza's "Genetic Programming II".Technical documentation
  1223.           (postscript format) is included. There is also a short
  1224.           introduction into genetic programming.
  1225.           
  1226.           Functionality includes; Automatically defined functions (ADFs),
  1227.           tournament and fitness proportionate selection, demetic
  1228.           grouping, optional steady state genetic programming kernel,
  1229.           subtree crossover, swap and shrink mutation, a way of changing
  1230.           every parameter of the system without recompilation, capacity
  1231.           for multiple populations, loading and saving of populations and
  1232.           genetic programs, standard random number generator, internal
  1233.           parameter checks.
  1234.           
  1235.    lil-gp
  1236.           Web site: [129]isl.msu.edu/GA/software/lil-gp/index.html
  1237.           FTP site: [130]isl.cps.msu.edu/pub/GA/lilgp/
  1238.           
  1239.    patched lil-gp * [New]
  1240.           Web site: [131]www.cs.umd.edu/users/seanl/patched-gp
  1241.           lil-gp is a generic 'C' genetic programming tool. It was
  1242.           written with a number of goals in mind: speed, ease of use and
  1243.           support for a number of options including:
  1244.           
  1245.           + Generic 'C' program that runs on UNIX workstations
  1246.           + Support for multiple population experiments, using arbitrary
  1247.             and user settable topologies for exchange, for a single
  1248.             processor (i.e., you can do multiple population gp
  1249.             experiments on your PC).
  1250.           + lil-gp manipulates trees of function pointers which are
  1251.             allocated in single, large memory blocks for speed and to
  1252.             avoid swapping.
  1253.             
  1254.           * The patched lil-gp kernel is strongly-typed, with
  1255.           modifications on multithreading, fixes to some *serious* bugs
  1256.           in lilgp, coevolution, and other tweaks and features.
  1257.           
  1258.    PGAPack Parallel Genetic Algorithm Library
  1259.           Web site: [132]www.mcs.anl.gov/home/levine/PGAPACK/index.html
  1260.           FTP site: [133]ftp.mcs.anl.gov/pub/pgapack/
  1261.           PGAPack is a general-purpose, data-structure-neutral, parallel
  1262.           genetic algorithm library. It is intended to provide most
  1263.           capabilities desired in a genetic algorithm library, in an
  1264.           integrated, seamless, and portable manner. Key features are in
  1265.           PGAPack V1.0 include:
  1266.           
  1267.           + Callable from Fortran or C.
  1268.           + Runs on uniprocessors, parallel computers, and workstation
  1269.             networks.
  1270.           + Binary-, integer-, real-, and character-valued native data
  1271.             types.
  1272.           + Full extensibility to support custom operators and new data
  1273.             types.
  1274.           + Easy-to-use interface for novice and application users.
  1275.           + Multiple levels of access for expert users.
  1276.           + Parameterized population replacement.
  1277.           + Multiple crossover, mutation, and selection operators.
  1278.           + Easy integration of hill-climbing heuristics.
  1279.           + Extensive debugging facilities.
  1280.           + Large set of example problems.
  1281.           + Detailed users guide.
  1282.             
  1283.    Sugal
  1284.           Web site: [134]www.trajan-software.demon.co.uk/sugal.htm
  1285.           Sugal [soo-gall] is the SUnderland Genetic ALgorithm system.
  1286.           The aim of Sugal is to support research and implementation in
  1287.           Genetic Algorithms on a common software platform. As such,
  1288.           Sugal supports a large number of variants of Genetic
  1289.           Algorithms, and has extensive features to support customization
  1290.           and extension.
  1291.           
  1292.   EC software kits/applications
  1293.   
  1294.    These are various applications, software kits, etc. meant for research
  1295.    in the field of evolutionary computing. Their ease of use will vary,
  1296.    as they were designed to meet some particular research interest more
  1297.    than as an easy to use commercial package.
  1298.    
  1299.    ADATE(Automatic Design of Algorithms Through Evolution)
  1300.           Web site: [135]www-ia.hiof.no/~rolando/adate_intro.html
  1301.           ADATE is a system for automatic programming i.e., inductive
  1302.           inference of algorithms, which may be the best way to develop
  1303.           artificial and general intelligence.
  1304.           
  1305.           The ADATE system can automatically generate non-trivial and
  1306.           novel algorithms. Algorithms are generated through large scale
  1307.           combinatorial search that employs sophisticated program
  1308.           transformations and heuristics. The ADATE system is
  1309.           particularly good at synthesizing symbolic, functional programs
  1310.           and has several unique qualities.
  1311.           
  1312.    esep & xesep [New]
  1313.           Web site(esep): [136]www.iit.edu/~linjinl/esep.html Web
  1314.           site(xesep): [137]www.iit.edu/~linjinl/xesep.html
  1315.           This is a new scheduler, called Evolution Scheduler, based on
  1316.           Genetic Algorithms and Evolutionary Programming. It lives with
  1317.           original Linux priority scheduler.This means you don't have to
  1318.           reboot to change the scheduling policy. You may simply use the
  1319.           manager program esep to switch between them at any time, and
  1320.           esep itself is an all-in-one for scheduling status, commands,
  1321.           and administration. We didn't intend to remove the original
  1322.           priority scheduler; instead, at least, esep provides you with
  1323.           another choice to use a more intelligent scheduler, which
  1324.           carries out natural competition in an easy and effective way.
  1325.           
  1326.           Xesep is a graphical user interface to the esep (Evolution
  1327.           Scheduling and Evolving Processes). It's intended to show users
  1328.           how to start, play, and feel the Evolution Scheduling and
  1329.           Evolving Processes, including sub-programs to display system
  1330.           status, evolving process status, queue status, and evolution
  1331.           scheduling status periodically in as small as one mini-second.
  1332.           
  1333.    FSM-Evolver [New]
  1334.           Web site: [138]pages.prodigy.net/czarneckid
  1335.           A Java (jdk-v1.0.2+) code library that is used to evolve finite
  1336.           state machines. The problem included in the package is the
  1337.           Artificial Ant problem. You should be able to compile the .java
  1338.           files and then run: java ArtificialAnt.
  1339.           
  1340.    GPsys [New]
  1341.           Web site: [139]www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html
  1342.           GPsys (pronounced gipsys) is a Java (requires Java 1.1 or
  1343.           later) based Genetic Programming system developed by Adil
  1344.           Qureshi. The software includes documentation, source and
  1345.           executables.
  1346.           
  1347.           Feature Summary:
  1348.           
  1349.           + Steady State engine
  1350.           + ADF support
  1351.           + Strongly Typed
  1352.             
  1353.           + supports generic functions and terminals
  1354.           + has many built-in primitives
  1355.           + includes indexed memory
  1356.             
  1357.      Save/Load feature
  1358.           
  1359.           + can save/load current generation to/from a file
  1360.           + data stored in GZIP compression format to minimise disk
  1361.             requirements
  1362.           + uses serialisable objects for efficiency
  1363.             
  1364.      Fully Documented
  1365.           
  1366.      Example Problems
  1367.           
  1368.           + Lawnmower (including GUI viewer)
  1369.           + Symbolic Regression
  1370.             
  1371.      Totally Parameterised
  1372.           
  1373.      Fully Object Oriented and Extensible
  1374.           
  1375.      High Performance
  1376.           
  1377.      Memory Efficient
  1378.           
  1379. Alife
  1380.  
  1381.    Alife takes yet another approach to exploring the mysteries of
  1382.    intelligence. It has many aspects similar to EC and Connectionism, but
  1383.    takes these ideas and gives them a meta-level twist. Alife emphasizes
  1384.    the development of intelligence through emergent behavior of complex
  1385.    adaptive systems. Alife stresses the social or group based aspects of
  1386.    intelligence. It seeks to understand life and survival. By studying
  1387.    the behaviors of groups of 'beings' Alife seeks to discover the way
  1388.    intelligence or higher order activity emerges from seemingly simple
  1389.    individuals. Cellular Automata and Conway's Game of Life are probably
  1390.    the most commonly known applications of this field.
  1391.    
  1392.   Alife class/code libraries
  1393.   
  1394.    These are libraries of code or classes for use in programming within
  1395.    the artificial life field. They are not meant as stand alone
  1396.    applications, but rather as tools for building your own applications.
  1397.    
  1398.    John von Neumann Universal Constructor
  1399.           Web site: [140]alife.santafe.edu/alife/software/jvn.html
  1400.           FTP site: [141]alife.santafe.edu/pub/SOFTWARE/jvn/
  1401.           The universal constructor of John von Neumann is an extension
  1402.           of the logical concept of universal computing machine. In the
  1403.           cellular environment proposed by von Neumann both computing and
  1404.           constructive universality can be achieved. Von Neumann proved
  1405.           that in his cellular lattice both a Turing machine and a
  1406.           machine capable of producing any other cell assembly, when fed
  1407.           with a suitable program, can be embedded. He called the latter
  1408.           machine a "universal constructor" and showed that, when
  1409.           provided with a program containing its own description, this is
  1410.           capable of self-reproducing.
  1411.           
  1412.    Swarm
  1413.           Web site: [142]www.santafe.edu/projects/swarm
  1414.           FTP site: [143]ftp.santafe.edu/pub/swarm
  1415.           The swarm Alife simulation kit. Swarm is a simulation
  1416.           environment which facilitates development and experimentation
  1417.           with simulations involving a large number of agents behaving
  1418.           and interacting within a dynamic environment. It consists of a
  1419.           collection of classes and libraries written in Objective-C and
  1420.           allows great flexibility in creating simulations and analyzing
  1421.           their results. It comes with three demos and good
  1422.           documentation.
  1423.           
  1424.           Swarm 1.0 is out. It requires libtclobjc and BLT 2.1 (both
  1425.           available at the swarm site).
  1426.           
  1427.   Alife software kits, applications, etc.
  1428.   
  1429.    These are various applications, software kits, etc. meant for research
  1430.    in the field of artificial life. Their ease of use will vary, as they
  1431.    were designed to meet some particular research interest more than as
  1432.    an easy to use commercial package.
  1433.    
  1434.    BugsX
  1435.           FTP site:
  1436.           [144]ftp.Germany.EU.net/pub/research/softcomp/Alife/packages/bu
  1437.           gsx/ 
  1438.           Display and evolve biomorphs. It is a program which draws the
  1439.           biomorphs based on parametric plots of Fourier sine and cosine
  1440.           series and let's you play with them using the genetic
  1441.           algorithm.
  1442.           
  1443.    The Cellular Automata Simulation System
  1444.           Web site: [145]www.cs.runet.edu/~dana/ca/cellular.html
  1445.           The system consists of a compiler for the Cellang cellular
  1446.           automata programming language, along with the corresponding
  1447.           documentation, viewer, and various tools. Cellang has been
  1448.           undergoing refinement for the last several years (1991-1995),
  1449.           with corresponding upgrades to the compiler. Postscript
  1450.           versions of the tutorial and language reference manual are
  1451.           available for those wanting more detailed information. The most
  1452.           important distinguishing features of Cellang, include support
  1453.           for:
  1454.           
  1455.           + any number of dimensions;
  1456.           + compile time specification of each dimensions size; cell
  1457.             neighborhoods of any size (though bounded at compile time)
  1458.             and shape;
  1459.           + positional and time dependent neighborhoods;
  1460.           + associating multiple values (fields), including arrays, with
  1461.             each cell;
  1462.           + associating a potentially unbounded number of mobile agents [
  1463.             Agents are mobile entities based on a mechanism of the same
  1464.             name in the Creatures system, developed by Ian Stephenson
  1465.             (ian@ohm.york.ac.uk).] with each cell; and
  1466.           + local interactions only, since it is impossible to construct
  1467.             automata that contain any global control or references to
  1468.             global variables.
  1469.             
  1470.    dblife & dblifelib
  1471.           FTP site:
  1472.           [146]ftp.cc.gatech.edu/ac121/linux/games/amusements/life/
  1473.           dblife: Sources for a fancy Game of Life program for X11 (and
  1474.           curses). It is not meant to be incredibly fast (use xlife for
  1475.           that:-). But it IS meant to allow the easy editing and viewing
  1476.           of Life objects and has some powerful features. The related
  1477.           dblifelib package is a library of Life objects to use with the
  1478.           program.
  1479.           
  1480.           dblifelib: This is a library of interesting Life objects,
  1481.           including oscillators, spaceships, puffers, and other weird
  1482.           things. The related dblife package contains a Life program
  1483.           which can read the objects in the Library.
  1484.           
  1485.    Drone
  1486.           Web site: [147]pscs.physics.lsa.umich.edu/Software/Drone/
  1487.           Drone is a tool for automatically running batch jobs of a
  1488.           simulation program. It allows sweeps over arbitrary sets of
  1489.           parameters, as well as multiple runs for each parameter set,
  1490.           with a separate random seed for each run. The runs may be
  1491.           executed either on a single computer or over the Internet on a
  1492.           set of remote hosts. Drone is written in Expect (an extension
  1493.           to the Tcl scripting language) and runs under Unix. It was
  1494.           originally designed for use with the Swarm agent-based
  1495.           simulation framework, but Drone can be used with any simulation
  1496.           program that reads parameters from the command line or from an
  1497.           input file.
  1498.           
  1499.    EcoLab [New]
  1500.           Web site: [148]parallel.acsu.unsw.edu.au/rks/ecolab.html
  1501.           EcoLab is a system that implements an abstract ecology model.
  1502.           It is written as a set of Tcl/Tk commands so that the model
  1503.           parameters can easily be changed on the fly by means of editing
  1504.           a script. The model itself is written in C++.
  1505.           
  1506.    Game Of Life (GOL) [New]
  1507.           Web site: [149]www.arrakeen.demon.co.uk/downloads.html
  1508.           FTP site: [150]sunsite.unc.edu/pub/Linux/science/ai/life
  1509.           GOL is a simulator for conway's game of life (a simple cellular
  1510.           automata), and other simple rule sets. The emphasis here is on
  1511.           speed and scale, in other words you can setup large and fast
  1512.           simulations.
  1513.           
  1514.    LEE
  1515.           Web site: [151]www-cse.ucsd.edu/users/fil/lee/lee.html
  1516.           FTP site: [152]cs.ucsd.edu/pub/LEE/
  1517.           LEE (Latent Energy Environments) is both an Alife model and a
  1518.           software tool to be used for simulations within the framework
  1519.           of that model. We hope that LEE will help understand a broad
  1520.           range of issues in theoretical, behavioral, and evolutionary
  1521.           biology. The LEE tool described here consists of approximately
  1522.           7,000 lines of C code and runs in both Unix and Macintosh
  1523.           platforms.
  1524.           
  1525.    Net-Life & ZooLife
  1526.           Web site:[153]www.geocities.com/SiliconValley/Heights/1051**
  1527.           FTP site: [154]ftp.coe.uga.edu/users/jae/alife/
  1528.           *(netlife-2.0.tar.gz contains both Net-Life and ZooLife)
  1529.           Net-Life is a simulation of artificial-life, with neural
  1530.           "brains" generated via slightly random techniques. Net-Life
  1531.           uses artificial neural nets and evolutionary algorithms to
  1532.           breed artificial organisms that are similar to single cell
  1533.           organisms. Net-life uses asexual reproduction of its fittest
  1534.           individuals with a chance of mutation after each round to
  1535.           eventually evolve successful life-forms.
  1536.           
  1537.           ZooLife is a simulation of artificial-life. ZooLife uses
  1538.           probabilistic methods and evolutionary algorithms to breed
  1539.           artificial organisms that are similar to plant/animal zoo
  1540.           organisms. ZooLife uses asexual reproduction with a chance of
  1541.           mutation.
  1542.           
  1543.    Primordial Soup
  1544.           Web site: [155]alife.santafe.edu/alife/software/psoup.html
  1545.           Primordial Soup is an artificial life program. Organisms in the
  1546.           form of computer software loops live in a shared memory space
  1547.           (the "soup") and self-reproduce. The organisms mutate and
  1548.           evolve, behaving in accordance with the principles of Darwinian
  1549.           evolution.
  1550.           
  1551.           The program may be started with one or more organisms seeding
  1552.           the soup. Alternatively, the system may be started "sterile",
  1553.           with no organisms present. Spontaneous generation of
  1554.           self-reproducing organisms has been observed after runs as
  1555.           short as 15 minutes.
  1556.           
  1557.    Tierra
  1558.           Web site: [156]www.hip.atr.co.jp/~ray/tierra/tierra.html
  1559.           FTP site: [157]alife.santafe.edu/pub/SOFTWARE/Tierra/
  1560.           Alternate FTP site:
  1561.           [158]ftp.cc.gatech.edu/ac121/linux/science/biology/
  1562.           Tierra's written in the C programming language. This source
  1563.           code creates a virtual computer and its operating system, whose
  1564.           architecture has been designed in such a way that the
  1565.           executable machine codes are evolvable. This means that the
  1566.           machine code can be mutated (by flipping bits at random) or
  1567.           recombined (by swapping segments of code between algorithms),
  1568.           and the resulting code remains functional enough of the time
  1569.           for natural (or presumably artificial) selection to be able to
  1570.           improve the code over time.
  1571.           
  1572.    TIN
  1573.           FTP site: [159]ftp.coe.uga.edu/users/jae/alife/
  1574.           This program simulates primitive life-forms, equipped with some
  1575.           basic instincts and abilities, in a 2D environment consisting
  1576.           of cells. By mutation new generations can prove their success,
  1577.           and thus passing on "good family values".
  1578.           
  1579.           The brain of a TIN can be seen as a collection of processes,
  1580.           each representing drives or impulses to behave a certain way,
  1581.           depending on the state/perception of the environment ( e.g.
  1582.           presence of food, walls, neighbors, scent traces) These
  1583.           behavior process currently are : eating, moving, mating,
  1584.           relaxing, tracing others, gathering food and killing. The
  1585.           process with the highest impulse value takes control, or in
  1586.           other words: the tin will act according to its most urgent
  1587.           need.
  1588.           
  1589.    XLIFE
  1590.           FTP site:
  1591.           [160]ftp.cc.gatech.edu/ac121/linux/games/amusements/life/
  1592.           This program will evolve patterns for John Horton Conway's game
  1593.           of Life. It will also handle general cellular automata with the
  1594.           orthogonal neighborhood and up to 8 states (it's possible to
  1595.           recompile for more states, but very expensive in memory).
  1596.           Transition rules and sample patterns are provided for the
  1597.           8-state automaton of E. F. Codd, the Wireworld automaton, and a
  1598.           whole class of `Prisoner's Dilemma' games.
  1599.           
  1600. Autonomous Agents
  1601.  
  1602.    Also known as intelligent software agents or just agents, this area of
  1603.    AI research deals with simple applications of small programs that aid
  1604.    the user in his/her work. They can be mobile (able to stop their
  1605.    execution on one machine and resume it on another) or static (live in
  1606.    one machine). They are usually specific to the task (and therefore
  1607.    fairly simple) and meant to help the user much as an assistant would.
  1608.    The most popular (ie. widely known) use of this type of application to
  1609.    date are the web robots that many of the indexing engines (eg.
  1610.    webcrawler) use.
  1611.    
  1612.    AgentK
  1613.           FTP site: [161]ftp.csd.abdn.ac.uk/pub/wdavies/agentk
  1614.           This package synthesizes two well-known agent paradigms:
  1615.           Agent-Oriented Programming, Shoham (1990), and the Knowledge
  1616.           Query & Manipulation Language, Finin (1993). The initial
  1617.           implementation of AOP, Agent-0, is a simple language for
  1618.           specifying agent behaviour. KQML provides a standard language
  1619.           for inter-agent communication. Our integration (which we have
  1620.           called Agent-K) demonstrates that Agent-0 and KQML are highly
  1621.           compatible. Agent-K provides the possibility of inter-operable
  1622.           (or open) software agents, that can communicate via KQML and
  1623.           which are programmed using the AOP approach.
  1624.           
  1625.    Agent, the Perl5 Module
  1626.           FTP site:
  1627.           [162]ftp.hawk.igs.net/pub/users/jduncan/modules/Agent/
  1628.           The Agent is a prototype for an Information Agent system. It is
  1629.           both platform and language independent, as it stores contained
  1630.           information in simple packed strings. It can be packed and
  1631.           shipped across any network with any format, as it freezes
  1632.           itself in its current state.
  1633.           
  1634.    AGENT TCL
  1635.           Web site: [163]www.cs.dartmouth.edu/~agent/
  1636.           FTP site: [164]ftp.cs.dartmouth.edu/pub/agents/
  1637.           A transportable agent is a program that can migrate from
  1638.           machine to machine in a heterogeneous network. The program
  1639.           chooses when and where to migrate. It can suspend its execution
  1640.           at an arbitrary point, transport to another machine and resume
  1641.           execution on the new machine. For example, an agent carrying a
  1642.           mail message migrates first to a router and then to the
  1643.           recipient's mailbox. The agent can perform arbitrarily complex
  1644.           processing at each machine in order to ensure that the message
  1645.           reaches the intended recipient.
  1646.           
  1647.    Aglets Workbench
  1648.           Web site: [165]www.trl.ibm.co.jp/aglets/
  1649.           An aglet is a Java object that can move from one host on the
  1650.           Internet to another. That is, an aglet that executes on one
  1651.           host can suddenly halt execution, dispatch to a remote host,
  1652.           and resume execution there. When the aglet moves, it takes
  1653.           along its program code as well as its state (data). A built-in
  1654.           security mechanism makes it safe for a computer to host
  1655.           untrusted aglets. The Java Aglet API (J-AAPI) is a proposed
  1656.           public standard for interfacing aglets and their environment.
  1657.           J-AAPI contains methods for initializing an aglet, message
  1658.           handling, and dispatching, retracting, deactivating/activating,
  1659.           cloning, and disposing of the aglet. J-AAPI is simple,
  1660.           flexible, and stable. Application developers can write
  1661.           platform-independent aglets and expect them to run on any host
  1662.           that supports J-AAPI.
  1663.           
  1664.    Ara
  1665.           Web site: [166]www.uni-kl.de/AG-Nehmer/Ara/
  1666.           Ara is a platform for the portable and secure execution of
  1667.           mobile agents in heterogeneous networks. Mobile agents in this
  1668.           sense are programs with the ability to change their host
  1669.           machine during execution while preserving their internal state.
  1670.           This enables them to handle interactions locally which
  1671.           otherwise had to be performed remotely. Ara's specific aim in
  1672.           comparison to similar platforms is to provide full mobile agent
  1673.           functionality while retaining as much as possible of
  1674.           established programming models and languages.
  1675.           
  1676.    JAFMAS [New]
  1677.           Web site: [167]www.ececs.uc.edu/~abaker/JAFMAS
  1678.           JAFMAS provides a framework to guide the coherent development
  1679.           of multiagent systems along with a set of classes for agent
  1680.           deployment in Java. The framework is intended to help beginning
  1681.           and expert developers structure their ideas into concrete agent
  1682.           applications. It directs development from a speech-act
  1683.           perspective and supports multicast and directed communication,
  1684.           KQML or other speech-act performatives and analysis of
  1685.           multiagent system coherency and consistency.
  1686.           
  1687.           Only four of the provided Java classes must be extended for any
  1688.           application. Provided examples of the N-Queens and Supply Chain
  1689.           Integration use only 567 and 1276 lines of additional code
  1690.           respectively for implementation.
  1691.           
  1692.    JATLite
  1693.           Web site: [168]java.stanford.edu/java_agent/html/
  1694.           JATLite is providing a set of java packages which makes easy to
  1695.           build multi-agent systems using Java. JATLite provides only
  1696.           light-weight, small set of packages so that the developers can
  1697.           handle all the packages with little efforts. For flexibility
  1698.           JATLite provides four different layers from abstract to Router
  1699.           implementation. A user can access any layer we are providing.
  1700.           Each layer has a different set of assumptions. The user can
  1701.           choose an appropriate layer according to the assumptions on the
  1702.           layer and user's application. The introduction page contains
  1703.           JATLite features and the set of assumptions for each layer.
  1704.           
  1705.    Java(tm) Agent Template
  1706.           Web site: [169]cdr.stanford.edu/ABE/JavaAgent.html
  1707.           The JAT provides a fully functional template, written entirely
  1708.           in the Java language, for constructing software agents which
  1709.           communicate peer-to-peer with a community of other agents
  1710.           distributed over the Internet. Although portions of the code
  1711.           which define each agent are portable, JAT agents are not
  1712.           migratory but rather have a static existence on a single host.
  1713.           This behavior is in contrast to many other "agent"
  1714.           technologies. (However, using the Java RMI, JAT agents could
  1715.           dynamically migrate to a foreign host via an agent resident on
  1716.           that host). Currently, all agent messages use KQML as a
  1717.           top-level protocol or message wrapper. The JAT includes
  1718.           functionality for dynamically exchanging "Resources", which can
  1719.           include Java classes (e.g. new languages and interpreters,
  1720.           remote services, etc.), data files and information inlined into
  1721.           the KQML messages.
  1722.           
  1723.    Java-To-Go
  1724.           Web site:
  1725.           [170]ptolemy.eecs.berkeley.edu/dgm/javatools/java-to-go/
  1726.           Java-To-Go is an experimental infrastructure that assists in
  1727.           the development and experimentation of mobile agents and
  1728.           agent-based applications for itinerative computing (itinerative
  1729.           computing: the set of applications that requires site-to-site
  1730.           computations. The main emphasis here is on a easy-to-setup
  1731.           environment that promotes quick experimentation on mobile
  1732.           agents.
  1733.           
  1734.    Kafka [New]
  1735.           Web site: [171]www.fujitsu.co.jp/hypertext/free/kafka/
  1736.           Kafka is yet another agent library designed for constructing
  1737.           multi-agent based distributed applications. Kafka is a
  1738.           flexible, extendable, and easy-to-use java class library for
  1739.           programmers who are familiar with distributed programming. It
  1740.           is based on Java's RMI and has the following added features:
  1741.           
  1742.         Runtime Reflection:
  1743.                 Agents can modify their behaviour (program codes) at
  1744.                 runtime. The behaviour of the agent is represented by an
  1745.                 abstract class Action. It is useful for remote
  1746.                 maintenance or installation services.
  1747.                 
  1748.         Remote Evaluation:
  1749.                 Agents can receive and evaluate program codes (classes)
  1750.                 with or without the serialized object. Remote evaluation
  1751.                 is a fundamental function of a mobile agent and is
  1752.                 thought to be a push model of service delivery.
  1753.                 
  1754.         Distributed Name Service:
  1755.                 Agents have any number of logical names that don't
  1756.                 contain the host name. These names can be managed by the
  1757.                 distributed directories.
  1758.                 
  1759.         Customizable security policy
  1760.                 a very flexible, customizable, 3-layered security model
  1761.                 is implemented in Kafka.
  1762.                 
  1763.         100% Java and RMI compatible:
  1764.                 Kafka is written completely in Java. Agent is a Java RMI
  1765.                 server object itself. So, agents can directly communicate
  1766.                 with other RMI objects.
  1767.                 
  1768.    Khepera Simulator
  1769.           Web site: [172]diwww.epfl.ch/lami/team/michel/khep-sim/
  1770.           Khepera Simulator is a public domain software package written
  1771.           by [173]Olivier MICHEL during the preparation of his Ph.D.
  1772.           thesis, at the Laboratoire I3S, URA 1376 of CNRS and University
  1773.           of Nice-Sophia Antipolis, France. It allows to write your own
  1774.           controller for the mobile robot Khepera using C or C++
  1775.           languages, to test them in a simulated environment and features
  1776.           a nice colorful X11 graphical interface. Moreover, if you own a
  1777.           Khepera robot, it can drive the real robot using the same
  1778.           control algorithm. It is mainly oriented toward to researchers
  1779.           studying autonomous agents.
  1780.           
  1781.    Mole
  1782.           Web site:
  1783.           [174]www.informatik.uni-stuttgart.de/ipvr/vs/projekte/mole.html
  1784.           Mole is an agent system supporting mobile agents programmed in
  1785.           Java. Mole's agents consist of a cluster of objects, which have
  1786.           no references to the outside, and as a whole work on tasks
  1787.           given by the user or another agent. They have the ability to
  1788.           roam a network of "locations" autonomously. These "locations"
  1789.           are an abstraction of real, existing nodes in the underlying
  1790.           network. They can use location-specific resources by
  1791.           communicating with dedicated agents representing these
  1792.           services. Agents are able to use services provided by other
  1793.           agents and to provide services as well.
  1794.           
  1795.    Odyssey
  1796.           Web site: [175]www.genmagic.com/agents/
  1797.           Odyssey is General Magic's initial implementation of mobile
  1798.           agents in 100% pure Java. The Odyssey class libraries enable
  1799.           you to develop your own mobile agent applications. Use mobile
  1800.           agents to access data, make decisions and notify users. Your
  1801.           agent-enabled applications may also take full advantage of the
  1802.           Java platform and use other third party libraries, for example,
  1803.           to access remote CORBA objects or to access relational
  1804.           databases using JDBC. To see how it's done, take a look at the
  1805.           sample applications included as part of the Odyssey download.
  1806.           
  1807.    Penguin!
  1808.           FTP site:
  1809.           [176]www.perl.org/CPAN/modules/by-category/23_Miscellaneous_Mod
  1810.           ules/Penguin/FSG/
  1811.           Penguin is a Perl 5 module. It provides you with a set of
  1812.           functions which allow you to:
  1813.           
  1814.           + send encrypted, digitally signed Perl code to a remote
  1815.             machine to be executed.
  1816.           + receive code and, depending on who signed it, execute it in
  1817.             an arbitrarily secure, limited compartment.
  1818.             
  1819.           The combination of these functions enable direct Perl coding of
  1820.           algorithms to handle safe internet commerce, mobile
  1821.           information-gathering agents, "live content" web browser helper
  1822.           apps, distributed load-balanced computation, remote software
  1823.           update, distance machine administration, content-based
  1824.           information propagation, Internet-wide shared-data
  1825.           applications, network application builders, and so on.
  1826.           
  1827.    SimRobot
  1828.           Web site: [177]www.informatik.uni-bremen.de/~simrobot/
  1829.           FTP site: [178]ftp.uni-bremen.de/pub/ZKW/INFORM/simrobot/
  1830.           SimRobot is a program for simulation of sensor based robots in
  1831.           a 3D environment. It is written in C++, runs under UNIX and X11
  1832.           and needs the graphics toolkit XView.
  1833.           
  1834.           + Simulation of robot kinematics
  1835.           + Hierarchically built scene definition via a simple definition
  1836.             language
  1837.           + Various sensors built in: camera, facette eye, distance
  1838.             measurement, light sensor, etc.
  1839.           + Objects defined as polyeders
  1840.           + Emitter abstractly defined; can be interpreted e.g. as light
  1841.             or sound
  1842.           + Camera images computed according to the raytracing or
  1843.             Z-buffer algorithms known from computer graphics
  1844.           + Specific sensor/motor software interface for communicating
  1845.             with the simulation
  1846.           + Texture mapping onto the object surfaces: bitmaps in various
  1847.             formats
  1848.           + Comprehensive visualization of the scene: wire frame w/o
  1849.             hidden lines, sensor and actor values
  1850.           + Interactive as well as batch driven control of the agents and
  1851.             operation in the environment
  1852.           + Collision detection
  1853.           + Extendability with user defined object types
  1854.           + Possible socket communication to e.g. the Khoros image
  1855.             processing software
  1856.             
  1857.    TclRobots
  1858.           FTP site:
  1859.           [179]ftp.neosoft.com/pub/tcl/sorted/games/tclrobots-2.0/
  1860.           Redhat Patch:
  1861.           [180]ftp.coe.uga.edu/users/jae/ai/tclrobots-redhat.patch
  1862.           RPMs: [181]ftp://ftp.redhat.com/contrib/
  1863.           TclRobots is a programming game, similar to 'Core War'. To play
  1864.           TclRobots, you must write a Tcl program that controls a robot.
  1865.           The robot's mission is to survive a battle with other robots.
  1866.           Two, three, or four robots compete during a battle, each
  1867.           running different programs (or possibly the same program in
  1868.           different robots.) Each robot is equipped with a scanner,
  1869.           cannon, drive mechanism. A single match continues until one
  1870.           robot is left running. Robots may compete individually, or
  1871.           combine in a team oriented battle. A tournament can be run with
  1872.           any number of robot programs, each robot playing every other in
  1873.           a round-robin fashion, one-on-one. A battle simulator is
  1874.           available to help debug robot programs.
  1875.           
  1876.           The TclRobots program provides a physical environment, imposing
  1877.           certain game parameters to which all robots must adhere.
  1878.           TclRobots also provides a view on a battle, and a controlling
  1879.           user interface. TclRobots requirements: a wish interpreter
  1880.           built from Tcl 7.4 and Tk 4.0.
  1881.           
  1882.    The Tocoma Project
  1883.           Web site: [182]www.cs.uit.no/DOS/Tacoma/index.html
  1884.           An agent is a process that may migrate through a computer
  1885.           network in order to satisfy requests made by clients. Agents
  1886.           are an attractive way to describe network-wide computations.
  1887.           
  1888.           The TACOMA project focuses on operating system support for
  1889.           agents and how agents can be used to solve problems
  1890.           traditionally addressed by operating systems. We have
  1891.           implemented a series of prototype systems to support agents.
  1892.           
  1893.           TACOMA Version 1.2 is based on UNIX and TCP. The system
  1894.           supports agents written in C, Tcl/Tk, Perl, Python, and Scheme
  1895.           (Elk). It is implemented in C. This TACOMA version has been in
  1896.           public domain since April 1996.
  1897.           
  1898.           We are currently focusing on heterogeneity, fault-tolerance,
  1899.           security and management issues. Also, several TACOMA
  1900.           applications are under construction. We implemented StormCast
  1901.           4.0, a wide-area network weather monitoring system accessible
  1902.           over the internet, using TACOMA and Java. We are now in the
  1903.           process of evaluating this application, and plan to build a new
  1904.           StormCast version to be completed by June 1997.
  1905.           
  1906.    Virtual Secretary Project (ViSe) (Tcl/Tk) [New]
  1907.           Web site: [183]www.cs.uit.no/DOS/Virt_Sec
  1908.           The motivation of the Virtual Secretary project is to construct
  1909.           user-model-based intelligent software agents, which could in
  1910.           most cases replace human for secretarial tasks, based on modern
  1911.           mobile computing and computer network. The project includes two
  1912.           different phases: the first phase (ViSe1) focuses on
  1913.           information filtering and process migration, its goal is to
  1914.           create a secure environment for software agents using the
  1915.           concept of user models; the second phase (ViSe2) concentrates
  1916.           on agents' intelligent and efficient cooperation in a
  1917.           distributed environment, its goal is to construct cooperative
  1918.           agents for achieving high intelligence. (Implemented in
  1919.           Tcl/TclX/Tix/Tk)
  1920.           
  1921.    VWORLD
  1922.           Web site: [184]www.ai.uga.edu/~jae/projects.html#vworld
  1923.           Vworld is a simulated environment for research with autonomous
  1924.           agents written in prolog. It is currently in something of an
  1925.           beta stage. It works well with SWI-prolog, but should work with
  1926.           Quitnus-prolog with only a few changes. It is being designed to
  1927.           serve as an educational tool for class projects dealing with
  1928.           prolog and autonomous agents. It comes with three demo worlds
  1929.           or environments, along with sample agents for them.
  1930.           There are two versions now. One written for SWI-prolog and one
  1931.           written for LPA-prolog. Documentation is roughly done (with a
  1932.           student/professor framework in mind), and a graphical interface
  1933.           is planned.
  1934.           
  1935.    WebMate
  1936.           Web site: [185]www.cs.cmu.edu/~softagents/webmate/
  1937.           WebMate is a personal agent for World-Wide Web browsing and
  1938.           searching. It accompanies you when you travel on the internet
  1939.           and provides you what you want.
  1940.           Features include:
  1941.           
  1942.           + Searching enhancement, including parallel search, searching
  1943.             keywords refinement using our relevant keywords extraction
  1944.             technology, relevant feedback, etc.
  1945.           + Browsing assistant, including learning your current
  1946.             interesting, recommending you new URLs according to your
  1947.             profile and selected resources, monitoring bookmarks of
  1948.             Netscape or IE, sending the current browsing page to your
  1949.             friends, etc.
  1950.           + Offline browsing, including downloading the following pages
  1951.             from the current page for offline browsing.
  1952.           + Filtering HTTP header, including recording http header and
  1953.             all the transactions between your browser and WWW servers,
  1954.             etc.
  1955.           + Checking the HTML page to find the errors or dead links, etc.
  1956.           + Programming in Java, independent of operating system, runing
  1957.             in multi-thread.
  1958.             
  1959. AI & Alife related newsgroups
  1960.  
  1961.    These newsgroups are not Linux specific. But they are good resources
  1962.    for anyone working in artificial intelligence or artificial life. If
  1963.    you can't access these newsgroups, many of their FAQs are available
  1964.    at:
  1965.    [186]http://www.cis.ohio-state.edu/hypertext/faq/bngusenet/comp/ai/top
  1966.    .html
  1967.      * [187]comp.ai
  1968.      * [188]comp.ai.edu
  1969.      * [189]comp.ai.genetic
  1970.      * [190]comp.ai.neural-nets
  1971.      * [191]comp.ai.vision
  1972.      * [192]comp.ai.fuzzy
  1973.      * [193]comp.ai.games
  1974.      * [194]comp.ai.jair.announce
  1975.      * [195]comp.ai.jair.papers
  1976.      * [196]comp.ai.nat-lang
  1977.      * [197]comp.ai.nlang-know-rep
  1978.      * [198]comp.ai.philosophy
  1979.      * [199]comp.ai.shells
  1980.      * [200]comp.ai.alife
  1981.      * [201]comp.ai.doc-analysis.misc
  1982.      * [202]comp.ai.doc-analysis.ocr
  1983.      * [203]comp.lang.prolog
  1984.      * [204]comp.lang.lisp
  1985.      * [205]alt.irc.bots
  1986.        
  1987. AI & Alife resource links
  1988.  
  1989.    These are a few of the many AI and Alife sites out there. These sites
  1990.    are good places to start hunting for more information or for finding
  1991.    software. I'll be adding more links to this list soon, as well as
  1992.    organizing it better. These links are not Linux specific, but I wanted
  1993.    to include them to provide a jump off point to the huge amount of info
  1994.    related to these topics located on the web.
  1995.    
  1996.   AI/Alife Archives, Research, Bibliographies, etc.
  1997.   
  1998.    All Catagories
  1999.        
  2000.      [206]SAL.KachinaTech.COM/Z/3/-Scientific Applications for Linux's AI
  2001.        page
  2002.      [207]www.cs.cmu.edu/Web/Groups/AI/html/repository.html-CMU
  2003.        Artificial Intelligence Repository
  2004.      [208]liinwww.ira.uka.de/bibliography/Ai/index.html -Bibliographies
  2005.        on Artificial Intelligence [New]
  2006.        
  2007.    Traditional AI
  2008.      [209]www.mcs.net/~jorn/html/ai.html-Outsider's Guide to AI
  2009.      [210]www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/clt
  2010.        l/clm/clm.html-Common Lisp Book
  2011.      [211]www.elwoodcorp.com/alu/table/contents.htm-The Association of
  2012.        Lisp Users
  2013.      [212]www.cs.indiana.edu/scheme-repository/home.html-Scheme
  2014.        repository
  2015.      [213]www.aic.nrl.navy.mil/-Navy Center for Applied Research in
  2016.        Artificial Intelligence
  2017.      [214]intranet.ca/~sshah/waste/waste.html-WASTE (AI Contest)
  2018.      [215]www.cs.washington.edu/research/jair/home.html-Journal of
  2019.        Artificial Intelligence Research
  2020.      [216]www.cs.ucl.ac.uk/misc/ai/-University of London's AI Resource
  2021.        Page
  2022.      [217]www.cris.com/~swoodcoc/ai.html -Artificial Intelligence in
  2023.        Games
  2024.      [218]strips.lboro.ac.uk/bib/ -An Online Bibliography on Planning and
  2025.        Scheduling
  2026.        
  2027.    Connectionism
  2028.      [219]www.neuronet.ph.kcl.ac.uk/neuronet/software/software.html-NEuro
  2029.        Net - ANN software
  2030.        
  2031.    Evolutionary Computing
  2032.      [220]ftp://ftp.mad-scientist.com/pub/genetic-programming/-John
  2033.        Koza's Genetic Programming archive.
  2034.      [221]www.cpsc.ucalgary.ca/~jacob/Evolvica/ -Tutorial: Evolutionary
  2035.        Algorithms in Action
  2036.      [222]alife.santafe.edu/~joke/encore/-ENCORE-The Hitch-Hikers Guide
  2037.        to Evolutionary Computation
  2038.      [223]gal4.ge.uiuc.edu/illigal.home.html-IlliGAL Home Page (GA's)
  2039.      [224]isl.msu.edu/GA/-MSU GARAGe Home Page (GA's)
  2040.      [225]www.aracnet.com/~wwir/NovaGenetica/-Nova Genetica (GA's)
  2041.        
  2042.    Artifical Life
  2043.      [226]alife.santafe.edu/~joke/zooland/-ZooLand Artificial Life
  2044.        Resources
  2045.      [227]alife.santafe.edu-Santafe's Alife page
  2046.      [228]www.krl.caltech.edu/~brown/alife/-Alife FAQ
  2047.      [229]www.cogs.susx.ac.uk/users/ezequiel/alife-page/alife.html-ALife
  2048.        Bibliography
  2049.      [230]complex.csu.edu.au/complex/-Complex Systems Information Network
  2050.      [231]www.geneticprogramming.com/-The Genetic Programming Notebook
  2051.      [232]gracco.irmkant.rm.cnr.it/luigi/lupa_algames.html-The Artificial
  2052.        Life Games Homepage
  2053.      [233]www.krl.caltech.edu/~charles/alife-game/-Project: Von Neumann
  2054.        
  2055.    Agents & Bots
  2056.      [234]agents.www.media.mit.edu/groups/agents/-MIT Media Lab,
  2057.        Autonomous Agents Group
  2058.      [235]www.cs.umbc.edu/agents/agentnews/-AgentNews Webletter
  2059.      [236]www.cs.umbc.edu/agents-UMBC AgentWeb (includes KQML info) [New]
  2060.      [237]www.agent.org-Agent Society Home Page
  2061.      [238]www.botspot.com/main.html-The BotSpot (a software agent
  2062.        resource page) [New]
  2063.      [239]www.cselt.it/fipa/-FIPA Foundation for Intelligent Physical
  2064.        Agents
  2065.      [240]www.robotmag.com/-Robot Magazine
  2066.      [241]www.geocities.com/SiliconValley/3086/robots/index2.htm-Intro to
  2067.        Indexing Bots (aka spiders) [New]
  2068.        
  2069.      [242]luz.cs.nmt.edu/~rtlinux-Real time linux (for robotics, etc)
  2070.  
  2071. References
  2072.  
  2073.    Visible links:
  2074.    1. mailto:jae@ai.uga.edu
  2075.    2. http://www.ai.uga.edu/~jae/ai.html
  2076.    3. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#What's New
  2077.    4. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Intro, Links & Newsgroups
  2078.    5. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Purpose
  2079.    6. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Finding the Software
  2080.    7. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Updates and Comments
  2081.    8. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Languages
  2082.    9. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Traditional AI
  2083.   10. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#AI Libraries
  2084.   11. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#AI Applications
  2085.   12. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Connectionism
  2086.   13. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Conn. Libraries
  2087.   14. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Conn. Applications
  2088.   15. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Evolutionary Computing
  2089.   16. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#EC Libraries
  2090.   17. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#EC Applications
  2091.   18. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Artificial Life
  2092.   19. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Alife Libraries
  2093.   20. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Alife Applications
  2094.   21. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Agents and Bots
  2095.   22. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Newsgroups
  2096.   23. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Web Links
  2097.   24. http://www.ai.uga.edu/~jae/ai.html
  2098.   25. mailto:dheise@metronet.de
  2099.   26. http://www-swiss.ai.mit.edu/scheme-home.html
  2100.   27. http://www.cat.nyu.edu/fox/schemes.html
  2101.   28. http://www.ai.uga.edu/~jae/ai.html
  2102.   29. mailto:jae@ai.uga.edu
  2103.   30. file://localhost/home/tjbynum/HOWTO/minisrc/AI-Alife.html#Web Links
  2104.   31. file://localhost/home/tjbynum/HOWTO/minisrc/mailto=jae@ai.uga.edu
  2105.   32. mailto:jae@ai.uga.edu
  2106.   33. http://www.di.unipi.it/~attardi/software.html
  2107.   34. http://www.cs.bris.ac.uk/~bowers/goedel.html
  2108.   35. http://www.isg.sfu.ca/life
  2109.   36. ftp://sunsite.unc.edu/pub/Linux/devel/lang/lisp/
  2110.   37. http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/clm.html
  2111.   38. http://www.mv.com/users/pw/lisp/index.html
  2112.   39. ftp://sunsite.unc.edu/pub/Linux/devel/lang/lisp/
  2113.   40. ftp://sunsite.unc.edu/pub/Linux/devel/lang/lisp/
  2114.   41. http://www.cs.mu.oz.au/research/mercury/
  2115.   42. http://www.ps.uni-sb.de/oz/
  2116.   43. ftp://ps-ftp.dfki.uni-sb.de/pub/oz2/
  2117.   44. http://clement.info.umoncton.ca/BinProlog/UNCOMPRESSED/doc/html/art.html
  2118.   45. ftp://clement.info.umoncton.ca/BinProlog/
  2119.   46. ftp://clement.info.umoncton.ca/BinProlog/UNCOMPRESSED/bin/
  2120.   47. http://swi.psy.uva.nl/projects/xpce/SWI-Prolog.html
  2121.   48. ftp://swi.psy.uva.nl/pub/SWI-Prolog/
  2122.   49. http://www.neci.nj.nec.com/PLS/Kali.html
  2123.   50. http://www.rosette.com/~donovan/rs/rscheme.html
  2124.   51. ftp://ftp.rosette.com/pub/rscheme/
  2125.   52. http://www-swiss.ai.mit.edu/~jar/s48.html
  2126.   53. ftp://swiss-ftp.ai.mit.edu/archive/s48/
  2127.   54. http://www-swiss.ai.mit.edu/~jaffer/SCM.html
  2128.   55. ftp://swiss-ftp.ai.mit.edu/archive/scm/
  2129.   56. http://www.path.berkeley.edu/shift/
  2130.   57. ftp://ftp.icce.rug.nl/pub/peter/
  2131.   58. mailto:peter@obelix.icce.rug.nl
  2132.   59. ftp://chess.onenet.net/pub/chess/uploads/projects/
  2133.   60. http://starship.skyport.net/crew/gandalf/DNET/AI/
  2134.   61. http://www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/music.html
  2135.   62. http://www.cis.upenn.edu/~screamer-tools/home.html
  2136.   63. http://www.ingber.com/#ASA-CODE
  2137.   64. ftp://ftp.ingber.com/
  2138.   65. ftp://ftp.gmd.de/gmd/ai-research/Software/Babylon/
  2139.   66. http://www.coli.uni-sb.de/~clears/
  2140.   67. http://www.jsc.nasa.gov/~clips/CLIPS.html
  2141.   68. ftp://cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/areas/expert/systems/clips
  2142.   69. http://wmwap1.math.uni-wuppertal.de/EMA-XPS/
  2143.   70. ftp://ntia.its.bldrdoc.gov/pub/fuzzy/prog/
  2144.   71. http://www.dfki.de/lt/registry/generation/fuf.html
  2145.   72. ftp://ftp.cs.columbia.edu/pub/fuf/
  2146.   73. http://www.cs.kun.nl/agfl/GWB.html
  2147.   74. http://www.slip.net/~andrewm/gsm/
  2148.   75. http://documents.cfar.umd.edu/resources/source/illuminator.html
  2149.   76. http://herzberg.ca.sandia.gov/jess/
  2150.   77. http://sunsite.unc.edu/pub/Linux/apps/cai/
  2151.   78. http://www.mcs.anl.gov/home/mccune/ar/otter/
  2152.   79. http://www.research.att.com/~wcohen/ripperd.html
  2153.   80. http://www.cs.buffalo.edu/pub/sneps/WWW/
  2154.   81. ftp://ftp.cs.buffalo.edu/pub/sneps/
  2155.   82. http://www.isi.edu/soar/soar.html
  2156.   83. ftp://cs.cmu.edu/afs/cs/project/soar/public/Soar6/
  2157.   84. http://www.cs.vu.nl/~tcm/
  2158.   85. ftp://ftp.cs.vu.nl/pub/tcm/
  2159.   86. http://lucy.cs.waikato.ac.nz/~ml/
  2160.   87. http://www.geocities.com/CapeCanaveral/1624/
  2161.   88. http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/reasonng/probabl/belief/0.html
  2162.   89. http://www.rpal.rockwell.com/ideal.html
  2163.   90. ftp://pink.cs.ucla.edu/pub/
  2164.   91. http://iridia.ulb.ac.be/pulcinella/Welcome.html
  2165.   92. http://www.spaces.uci.edu/thiery/elimbel/
  2166.   93. http://www.cs.utoronto.ca/~radford/fbm.software.html
  2167.   94. ftp://ftp.engr.orst.edu/pub/dambrosi/spi/
  2168.   95. ftp://ftp.engr.orst.edu/pub/dambrosi/
  2169.   96. ftp://iridia.ulb.ac.be/pub/hongxu/software/
  2170.   97. http://www.mcs.com/~drt/svbp.html
  2171.   98. mailto:drt@mcs.com
  2172.   99. http://www.mcs.com/~drt/basisofai.html
  2173.  100. ftp://sunsite.unc.edu/pub/academic/computer-science/neural-networks/programs/Aspirin/
  2174.  101. http://www.cs.cmu.edu/People/javabayes/index.html/
  2175.  102. http://www.bgif.no/neureka/
  2176.  103. ftp://ftp.ii.uib.no/pub/neureka/linux/
  2177.  104. http://www.cnbc.cmu.edu/PDP++/
  2178.  105. ftp://cnbc.cmu.edu/pub/pdp++/
  2179.  106. ftp://unix.hensa.ac.uk/mirrors/pdp++/
  2180.  107. http://starship.skyport.net/crew/amk/unmaintained/
  2181.  108. http://apx00.physik.uni-frankfurt.de/e_ag_rt/cnn/SCNN/homepage.html
  2182.  109. http://www-acs.ucsd.edu/~jstrout/python/ai/
  2183.  110. http://www.informatik.uni-stuttgart.de/ipvr/bv/projekte/snns/snns.html
  2184.  111. ftp://ftp.informatik.uni-stuttgart.de/pub/SNNS/
  2185.  112. file://localhost/home/tjbynum/HOWTO/minisrc/SNNS.Readme.linux
  2186.  113. http://www.ph.tn.tudelft.nl/~sprlib/
  2187.  114. http://www.staff.uiuc.edu/~carroll/ga.html
  2188.  115. http://kal-el.ugr.es/gags.html
  2189.  116. ftp://kal-el.ugr.es/GAGS/
  2190.  117. http://lancet.mit.edu/ga/
  2191.  118. ftp://lancet.mit.edu/pub/ga/
  2192.  119. http://lancet.mit.edu/ga/Register.html
  2193.  120. http://GARAGe.cps.msu.edu/software/software-index.html
  2194.  121. ftp://garage.cps.msu.edu/pub/GA/galopps/
  2195.  122. http://starship.skyport.net/crew/gandalf/
  2196.  123. ftp://ftp.coe.uga.edu/users/jae/ai/
  2197.  124. ftp://ftp.aic.nrl.navy.mil/pub/galist/src/
  2198.  125. ftp://ftp.cs.bham.ac.uk/pub/authors/W.B.Langdon/gp-code/
  2199.  126. ftp://cs.ucl.ac.uk/genetic/papers/
  2200.  127. http://www.turbopower.com/~kimk/gpjpp.asp
  2201.  128. http://www.emk.e-technik.th-darmstadt.de/~thomasw/gp.html
  2202.  129. http://isl.msu.edu/GA/software/lil-gp/index.html
  2203.  130. ftp://isl.cps.msu.edu/pub/GA/lilgp/
  2204.  131. http://www.cs.umd.edu/users/seanl/patched-gp/
  2205.  132. http://www.mcs.anl.gov/home/levine/PGAPACK/index.html
  2206.  133. ftp://ftp.mcs.anl.gov/pub/pgapack/
  2207.  134. http://www.trajan-software.demon.co.uk/sugal.htm
  2208.  135. http://www-ia.hiof.no/~rolando/adate_intro.html
  2209.  136. http://www.iit.edu/~linjinl/esep.html
  2210.  137. http://www.iit.edu/~linjinl/xesep.html
  2211.  138. http://pages.prodigy.net/czarneckid/
  2212.  139. http://www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html
  2213.  140. http://alife.santafe.edu/alife/software/jvn.html
  2214.  141. ftp://alife.santafe.edu/pub/SOFTWARE/jvn/
  2215.  142. http://www.santafe.edu/projects/swarm/
  2216.  143. ftp://ftp.santafe.edu/pub/swarm/
  2217.  144. ftp://ftp.Germany.EU.net/pub/research/softcomp/Alife/packages/bugsx/
  2218.  145. http://www.cs.runet.edu/~dana/ca/cellular.html
  2219.  146. ftp://ftp.cc.gatech.edu/ac121/linux/games/amusements/life/
  2220.  147. http://pscs.physics.lsa.umich.edu/Software/Drone/
  2221.  148. http://parallel.acsu.unsw.edu.au/rks/ecolab.html
  2222.  149. http://www.arrakeen.demon.co.uk/downloads.html
  2223.  150. ftp://sunsite.unc.edu/pub/Linux/science/ai/life/
  2224.  151. http://www-cse.ucsd.edu/users/fil/lee/lee.html
  2225.  152. ftp://cs.ucsd.edu/pub/LEE/
  2226.  153. http://www.geocities.com/SiliconValley/Heights/1051
  2227.  154. ftp://ftp.coe.uga.edu/users/jae/alife/
  2228.  155. http://alife.santafe.edu/alife/software/psoup.html
  2229.  156. http://www.hip.atr.co.jp/~ray/tierra/tierra.html
  2230.  157. ftp://alife.santafe.edu/pub/SOFTWARE/Tierra/
  2231.  158. ftp://ftp.cc.gatech.edu/ac121/linux/science/biology/
  2232.  159. ftp://ftp.coe.uga.edu/users/jae/alife/
  2233.  160. ftp://ftp.cc.gatech.edu/ac121/linux/games/amusements/life/
  2234.  161. ftp://ftp.csd.abdn.ac.uk/pub/wdavies/agentk
  2235.  162. ftp://ftp.hawk.igs.net/pub/users/jduncan/modules/Agent/
  2236.  163. http://www.cs.dartmouth.edu/~agent/
  2237.  164. ftp://ftp.cs.dartmouth.edu/pub/agents/
  2238.  165. http://www.trl.ibm.co.jp/aglets/
  2239.  166. http://www.uni-kl.de/AG-Nehmer/Ara/
  2240.  167. http://www.ececs.uc.edu/~abaker/JAFMAS/
  2241.  168. http://java.stanford.edu/java_agent/html/
  2242.  169. http://cdr.stanford.edu/ABE/JavaAgent.html
  2243.  170. http://ptolemy.eecs.berkeley.edu/dgm/javatools/java-to-go/
  2244.  171. http://www.fujitsu.co.jp/hypertext/free/kafka/
  2245.  172. http://diwww.epfl.ch/lami/team/michel/khep-sim/index.html
  2246.  173. http://diwww.epfl.ch/lami/team/michel/
  2247.  174. http://www.informatik.uni-stuttgart.de/ipvr/vs/projekte/mole.html
  2248.  175. http://www.genmagic.com/agents/
  2249.  176. http://www.perl.org/CPAN/modules/by-category/23_Miscellaneous_Modules/Penguin/FSG/
  2250.  177. http://www.informatik.uni-bremen.de/~simrobot/
  2251.  178. ftp://ftp.uni-bremen.de/pub/ZKW/INFORM/simrobot/
  2252.  179. ftp://ftp.neosoft.com/pub/tcl/sorted/games/tclrobots-2.0/
  2253.  180. ftp://ftp.coe.uga.edu/users/jae/ai/tclrobots-redhat.patch
  2254.  181. ftp://ftp.redhat.com/contrib/
  2255.  182. http://www.cs.uit.no/DOS/Tacoma/index.html
  2256.  183. http://www.cs.uit.no/DOS/Virt_Sec/
  2257.  184. http://www.ai.uga.edu/~jae/projects.html#vworld
  2258.  185. http://www.cs.cmu.edu/~softagents/webmate/
  2259.  186. http://www.cis.ohio-state.edu/hypertext/faq/bngusenet/comp/ai/top.html
  2260.  187. news:comp.ai
  2261.  188. news:comp.ai.edi
  2262.  189. news:comp.ai.genetic
  2263.  190. news:comp.ai.neural-nets
  2264.  191. news:comp.ai.vision
  2265.  192. news:comp.ai.fuzzy
  2266.  193. news:comp.ai.games
  2267.  194. news:comp.ai.jair.announce
  2268.  195. news:comp.ai.jair.papers
  2269.  196. news:comp.ai.nat-lang
  2270.  197. news:comp.ai.nlang-know-rep
  2271.  198. news:comp.ai.philosophy
  2272.  199. news:comp.ai.shells
  2273.  200. news:comp.ai.alife
  2274.  201. news:comp.ai.doc-analysis.misc
  2275.  202. news:comp.ai.doc-analysis.ocr
  2276.  203. news:comp.lang.prolog
  2277.  204. news:comp.lang.lisp
  2278.  205. news:alt.irc.bots
  2279.  206. http://SAL.KachinaTech.COM/Z/3/
  2280.  207. http://www.cs.cmu.edu/Web/Groups/AI/html/repository.html
  2281.  208. http://liinwww.ira.uka.de/bibliography/Ai/index.html
  2282.  209. http://www.mcs.net/~jorn/html/ai.html
  2283.  210. http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/clm.html
  2284.  211. http://www.elwoodcorp.com/alu/table/contents.htm
  2285.  212. http://www.cs.indiana.edu/scheme-repository/home.html
  2286.  213. http://www.aic.nrl.navy.mil/
  2287.  214. http://intranet.ca/~sshah/waste/waste.html
  2288.  215. http://www.cs.washington.edu/research/jair/home.html
  2289.  216. http://www.cs.ucl.ac.uk/misc/ai/
  2290.  217. http://www.cris.com/~swoodcoc/ai.html
  2291.  218. http://strips.lboro.ac.uk/bib/
  2292.  219. http://www.neuronet.ph.kcl.ac.uk/neuronet/software/software.html
  2293.  220. ftp://ftp.mad-scientist.com/pub/genetic-programming/
  2294.  221. http://www.cpsc.ucalgary.ca/~jacob/Evolvica/
  2295.  222. http://alife.santafe.edu/~joke/encore/
  2296.  223. http://gal4.ge.uiuc.edu/illigal.home.html
  2297.  224. http://isl.msu.edu/GA/
  2298.  225. http://www.aracnet.com/~wwir/NovaGenetica/
  2299.  226. http://alife.santafe.edu/~joke/zooland/
  2300.  227. http://alife.santafe.edu/
  2301.  228. http://www.krl.caltech.edu/~brown/alife/
  2302.  229. http://www.cogs.susx.ac.uk/users/ezequiel/alife-page/alife.html
  2303.  230. http://complex.csu.edu.au/complex/
  2304.  231. http://www.geneticprogramming.com/
  2305.  232. http://gracco.irmkant.rm.cnr.it/luigi/lupa_algames.html
  2306.  233. http://www.krl.caltech.edu/~charles/alife-game/
  2307.  234. http://agents.www.media.mit.edu/groups/agents/
  2308.  235. http://www.cs.umbc.edu/agents/agentnews/
  2309.  236. http://www.cs.umbc.edu/agents/
  2310.  237. http://www.agent.org/
  2311.  238. http://www.botspot.com/main.html
  2312.  239. http://www.cselt.it/fipa/
  2313.  240. http://www.robotmag.com/
  2314.  241. http://www.geocities.com/SiliconValley/3086/robots/index2.htm
  2315.  242. http://luz.cs.nmt.edu/~rtlinux/
  2316.  
  2317.    Hidden links:
  2318.  243. http://www.cs.nyu.edu/~klap7794/spiderweb2.html
  2319.