Differences between version 3 and predecessor to the previous major change of HowToAIAlifeHOWTO.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Thursday, October 21, 2004 5:04:31 pm | by AristotlePagaltzis | Revert |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:05:26 am | by perry | Revert |
@@ -1,7349 +1 @@
-
-
-
-GNU/Linux AI & Alife HOWTO
-
-
-
-----
-
-!!!GNU/Linux AI & Alife HOWTO
-
-!!by
-John Eikenberry v1.7, 9 Feb 2002
-
-
-----
-''This howto mainly contains information about, and links to,
-various AI related software libraries, applications, etc. that work on the GNU/Linux platform. All of it is (at least) free for personal use. The new master page for this document is
-http://zhar.net/gnu-linux/howto/''
-----
-
-
-
-
-!!1. Introduction
-
-
-*1.1 Purpose
-
-*1.2 Where to find this software
-
-*1.3 Updates and comments
-
-*1.4 Copyright/License
-
-
-
-
-
-!!2. Traditional Artificial Intelligence
-
-
-*2.1 AI class/code libraries
-
-*2.2 AI software kits, applications, etc.
-
-
-
-
-
-!!3. Connectionism
-
-
-*3.1 Connectionist class/code libraries
-
-*3.2 Connectionist software kits/applications
-
-
-
-
-
-!!4. Evolutionary Computing
-
-
-*4.1 EC class/code libraries
-
-*4.2 EC software kits/applications
-
-
-
-
-
-!!5. Alife & Complex Systems
-
-
-*5.1 Alife & CS class/code libraries
-
-*5.2 Alife & CS software kits, applications, etc.
-
-
-
-
-
-!!6. Agents
-
-
-
-
-!!7. Programming languages
-----
-
-!!1. Introduction
-
-
-
-
-
-
-
-!!1.1 Purpose
-
-
-
-
-
-
-The GNU/Linux OS has evolved from its origins in hackerdom to a full
-blown UNIX, capable of rivaling any commercial UNIX. It now provides
-an inexpensive base to build a great workstation. It has shed its
-hardware dependencies, having been ported to DEC Alphas, Sparcs,
-PowerPCs, and many others. This potential speed boost along with its
-networking support will make it great for workstation clusters. As a
-workstation it allows for all sorts of research and development,
-including artificial intelligence and artificial life.
-
-
-
-
-
-The purpose of this Howto is to provide a source to find out
-about various software packages, code libraries, and anything else
-that will help someone get started working with (and find resources
-for) artificial intelligence, artificial life, etc. All done with
-GNU/Linux specifically in mind.
-
-
-
-
-
-
-
-!!1.2 Where to find this software
-
-
-
-
-
-
-All this software should be available via the net (ftp || http). The
-links to where to find it will be provided in the description of each
-package. There will also be plenty of software not covered on these
-pages (which is usually platform independent) located on one of the
-resources listed on the
-links section of the Master Site (given above).
-
-
-
-
-
-
-
-!!1.3 Updates and comments
-
-
-
-
-
-
-If you find any mistakes, know of updates to one of the items below,
-or have problems compiling any of the applications, please mail me at:
-jae@NOSPAM-zhar.net
-and I'll see what I can do.
-
-
-
-
-
-If you know of any AI/Alife applications, class libraries,
-etc. __Please__
- email me
-about them. Include your name, ftp and/or http sites where they can be
-found, plus a brief overview/commentary on the software (this info
-would make things a lot easier on me... but don't feel obligated ;).
-
-
-
-
-
-I know that keeping this list up to date and expanding it will take quite
-a bit of work. So please be patient (I do have other projects). I hope you
-will find this document helpful.
-
-
-
-
-!!1.4 Copyright/License
-
-
-
-Copyright (c) 1996-2000 John A. Eikenberry
-
-
-LICENSE
-
-
-This document may be reproduced and distributed in whole or in part, in
-any medium physical or electronic, provided that this license notice is
-displayed in the reproduction. Commercial redistribution is permitted and
-encouraged. Thirty days advance notice, via email to the author, of
-redistribution is appreciated, to give the authors time to provide updated
-documents.
-
-
-A. REQUIREMENTS OF MODIFIED WORKS
-
-
-All modified documents, including translations, anthologies, and partial
-documents, must meet the following requirements:
-
-
-
-
-
-
-
-
-*The modified version must be labeled as such.
-*
-
-*The person making the modifications must be identified.
-*
-
-*Acknowledgement of the original author must be retained.
-*
-
-*The location of the original unmodified document be identified.
-*
-
-*The original author's name(s) may not be used to assert or imply
-endorsement of the resulting document without the original author's
-permission.
-*
-
-
-
-In addition it is requested (not required) that:
-
-
-
-
-
-*The modifications (including deletions) be noted.
-*
-
-*The author be notified by email of the modification in advance of
-redistribution, if an email address is provided in the document.
-*
-
-
-
-As a special exception, anthologies of LDP documents may include a single
-copy of these license terms in a conspicuous location within the anthology
-and replace other copies of this license with a reference to the single
-copy of the license without the document being considered "modified" for
-the purposes of this section.
-
-
-Mere aggregation of LDP documents with other documents or programs on the
-same media shall not cause this license to apply to those other works.
-
-
-All translations, derivative documents, or modified documents that
-incorporate this document may not have more restrictive license terms
-than these, except that you may require distributors to make the resulting
-document available in source format.
-
-
-
-
-
-
-----
-
-!!2. Traditional Artificial Intelligence
-
-
-Traditional AI is based around the ideas of logic, rule
-systems, linguistics, and the concept of rationality. At its
-roots are programming languages such as Lisp and Prolog.
-Expert systems are the largest successful example of this
-paradigm. An expert system consists of a detailed knowledge
-base and a complex rule system to utilize it. Such systems
-have been used for such things as medical diagnosis support
-and credit checking systems.
-
-
-
-
-
-
-
-!!2.1 AI class/code libraries
-
-
-
-
-
-
-These are libraries of code or classes for use in programming within
-the artificial intelligence field. They are not meant as stand alone
-applications, but rather as tools for building your own applications.
-
-
-
-
-
-
-
-
-
-
-
-
-
- ; __ACL2__:
-
-
-
-
-*Web site:
-www.telent.net/cliki/ACL2
-*
-
-
-
-ACL2 (A Computational Logic for Applicative Common Lisp) is a theorem
-prover for industrial applications. It is both a mathematical logic and
-a system of tools for constructing proofs in the logic. ACL2 works
-with GCL (GNU Common Lisp).
-
-
-
-
-
-
-
-; __AI Search II__:
-
-
-
-
-*WEB site:
-www.bell-labs.com/topic/books/ooai-book/
-*
-
-Submitted by:
-Peter M. Bouthoorn
-
-
-
-
-Basically, the library offers the programmer a set of search
-algorithms that may be used to solve all kind of different
-problems. The idea is that when developing problem solving software
-the programmer should be able to concentrate on the representation of
-the problem to be solved and should not need to bother with the
-implementation of the search algorithm that will be used to actually
-conduct the search. This idea has been realized by the implementation
-of a set of search classes that may be incorporated in other software
-through __C++__'s features of derivation and inheritance. The
-following search algorithms have been implemented:
-
-
-
-
-
-
-
-
-*depth-first tree and graph search.
-*
-
-*breadth-first tree and graph search.
-*
-
-*uniform-cost tree and graph search.
-*
-
-*best-first search.
-*
-
-*bidirectional depth-first tree and graph search.
-*
-
-*bidirectional breadth-first tree and graph search.
-*
-
-*AND/OR depth tree search.
-*
-
-*AND/OR breadth tree search.
-*
-
-
-
-
-
-
-This library has a corresponding book, "
-Object-Oriented Artificial Instelligence, Using C++".
-
-
-
-
-
-
-
-
-
- ; __Chess In Lisp (CIL)__:
-
-
-
-
-*FTP site:
-chess.onenet.net/pub/chess/uploads/projects/
-*
-
-
-
-
-
-
-The CIL (Chess In Lisp) foundation is a Common Lisp
-implementaion of all the core functions needed for development
-of chess applications. The main purpose of the CIL project is
-to get AI researchers interested in using Lisp to work in the
-chess domain.
-
-
-
-
-
-
-
-
-
-
-
-
- ; __DAI__:
-
-
-
-
-*Web site:
-starship.python.net/crew/gandalf/DNET/AI/
-*
-
-
-
-A library for the Python programming language that provides an
-object oriented interface to the CLIPS expert system tool. It
-includes an interface to COOL (CLIPS Object Oriented Language)
-that allows:
-
-
-*Investigate COOL classes
-*
-
-*Create and manipulate with COOL instances
-*
-
-*Manipulate with COOL message-handler's
-*
-
-*Manipulate with Modules
-*
-
-
-
-
-
-
-
- ; __HTK__:
-
-
-
-
-*Web site:
-htk.eng.cam.ac.uk
-*
-
-
-
-The Hidden Markov Model Toolkit (HTK) is a portable toolkit for
-building and manipulating hidden Markov models. HTK consists of a set
-of library modules and tools available in C source form. The tools
-provide sophisticated facilities for speech analysis, HMM training,
-testing and results analysis. The software supports HMMs using both
-continuous density mixture Gaussians and discrete distributions and can
-be used to build complex HMM systems. The HTK release contains
-extensive documentation and examples.
-
-
-
-
-
-
- ; __JACK__:
-
-
-
-
-*Web site:
-www.pms.informatik.uni-muenchen.de/software/jack/
-*
-
-
-
-JACK is a new library providing constraint programming and search for
-Java.
-
-
-*JACK consists of three components:
-*
-
-*- JCHR: Java Constraint Handling Rules.
-A high-level language to write constraint solvers.
-*
-
-*- JASE: Java Abstract Search Engine.
-A generic search engine for JCHR to solve constraint
-problems.
-*
-
-*- VisualCHR:
-An interactive tool to visualize JCHR computations.
-*
-
-Source and documentation available from link above.
-
-
-
-
-
-
- ; __LK__:
-
-
-
-
-*Web site:
-www.cs.utoronto.ca/~neto/research/lk/
-*
-
-
-
-LK is an implementation of the Lin-Kernighan heuristic for the
-Traveling Salesman Problem and for the minimum weight perfect matching
-problem. It is tuned for 2-d geometric instances, and has been applied
-to certain instances with up to a million cities. Also included are
-instance generators and Perl scripts for munging TSPLIB instances.
-
-
-This implementation introduces ``efficient cluster compensation'', an
-experimental algorithmic technique intended to make the Lin-Kernighan
-heuristic more robust in the face of clustered data.
-
-
-
-
-
-
-
-; __Nyquist__:
-
-
-
-
-*Web site:
-www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/music.html
-*
-
-
-
-
-
-
-The Computer Music Project at CMU is developing computer music
-and interactive performance technology to enhance human musical
-experience and creativity. This interdisciplinary effort draws
-on Music Theory, Cognitive Science, Artificial Intelligence and
-Machine Learning, Human Computer Interaction, Real-Time Systems,
-Computer Graphics and Animation, Multimedia, Programming
-Languages, and Signal Processing. A paradigmatic example of
-these interdisciplinary efforts is the creation of interactive
-performances that couple human musical improvisation with
-intelligent computer agents in real-time.
-
-
-
-
-
-
-
-
-
- ; __PDKB__:
-
-
-
-
-*Web site:
-lynx.eaze.net/~pdkb/web/
-*
-
-*!SourceForge site:
-sourceforge.net/project/pdkb
-*
-
-
-
-Public Domain Knowledge Bank (PDKB) is an Artificial Intelligence
-Knowledge Bank of common sense rules and facts. It is based on the Cyc
-Upper Ontology and the MELD language.
-
-
-
-
-
-
-
-
-
- ; __Python Fuzzy Logic Module__:
-
-
-
-
-*FTP site:
-ftp://ftp.csh.rit.edu/pub/members/retrev/
-*
-
-
-
-A simple python module for fuzzy logic. The file is 'fuz.tar.gz' in
-this directory. The author plans to also write a simple genetic
-algorithm and a neural net library as well. Check the 00_index file in
-this directory for release info.
-
-
-
-
-
-
- ; __QUANT1__:
-
-
-
-
-*Web site:
-linux.irk.ru/projects/QUANT/
-*
-
-
-
-QUANT/1 stands for type QUANTifier. It aims to be an alternative to
-Prolog-like (Resulutional-like) systems. Main features include a lack
-of necessity for eliminating Quantifiers, scolemisation, ease of
-comprehension, large scale formulae operation, acceptance of nonHorn
-formulaes, and Iterative deeping. The actual library implemented in
-this project is called ATPPCF (Automatic Theorem Prover in calculus of
-Positively Constructed Formulae).
-
-
-ATPPCF will be a library (inference engine) and an extension of the
-Predicate Calculus Language as a new logical language. The library will
-be incorporable in another software such as TCL, Python, Perl. The
-engine's primary inference method will be the "search of inference in
-language of Positively Constructed Formulas (PCFs)" (a subset of
-Predicate Calculus well translated in both directions). The language
-will be used as scripting language to the engine. But there will be
-possibility to replace it with extensions languages of main software.
-
-
-
-
-
-
-
-
-
- ; __Screamer__:
-
-
-
-
-*Web site:
-www.cis.upenn.edu/~screamer-tools/home.html
-*
-
-
-
-Screamer is an extension of Common Lisp that adds support for
-nondeterministic programming. Screamer consists of two
-levels. The basic nondeterministic level adds support for
-backtracking and undoable side effects. On top of this
-nondeterministic substrate, Screamer provides a comprehensive
-constraint programming language in which one can formulate and
-solve mixed systems of numeric and symbolic
-constraints. Together, these two levels augment Common Lisp with
-practically all of the functionality of both Prolog and
-constraint logic programming languages such as CHiP and CLP(R).
-Furthermore, Screamer is fully integrated with Common
-Lisp. Screamer programs can coexist and interoperate with other
-extensions to Common Lisp such as CLOS, CLIM and Iterate.
-
-
-
-
-
-
-
-
-
- ; __!ThoughtTreasure__:
-
-
-
-
-*Web site:
-www.signiform.com/tt/htm/tt.htm
-*
-
-
-
-!ThoughtTreasure is a project to create a database of commonsense rules
-for use in any application. It consists of a database of a little over
-100K rules and a C API to integrate it with your applications. Python,
-Perl, Java and TCL wrappers are already available.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!!2.2 AI software kits, applications, etc.
-
-
-
-
-
-
-These are various applications, software kits, etc. meant for research
-in the field of artificial intelligence. Their ease of use will vary,
-as they were designed to meet some particular research interest more
-than as an easy to use commercial package.
-
-
-
-
-
-
-
- ; __ASA - Adaptive Simulated Annealing__:
-
-
-
-
-*Web site:
-www.ingber.com/#ASA-CODE
-*
-
-*FTP site:
-ftp.ingber.com/
-*
-
-
-
-
-
-
-ASA (Adaptive Simulated Annealing) is a powerful global
-optimization C-code algorithm especially useful for nonlinear and/or
-stochastic systems.
-
-
-
-
-
-ASA is developed to statistically find the best global fit of a
-nonlinear non-convex cost-function over a D-dimensional space. This
-algorithm permits an annealing schedule for 'temperature' T decreasing
-exponentially in annealing-time k, T = T_0 exp(-c k^1/D).
-The introduction of re-annealing also permits adaptation to changing
-sensitivities in the multi-dimensional parameter-space. This annealing
-schedule is faster than fast Cauchy annealing, where T = T_/k,
-and much faster than Boltzmann annealing, where T = T_/ln k.
-
-
-
-
-
-
-
-; __Babylon__:
-
-
-
-
-*FTP site:
-ftp.gmd.de/gmd/ai-research/Software/Babylon/
-*
-
-
-
-BABYLON is a modular, configurable, hybrid environment for
-developing expert systems. Its features include objects, rules with
-forward and backward chaining, logic (Prolog) and constraints. BABYLON
-is implemented and embedded in Common Lisp.
-
-
-
-
-
-
- ; __cfengine__:
-
-
-
-
-*Web site:
-www.iu.hio.no/cfengine/
-*
-
-
-
-Cfengine, or the configuration engine is a very high level language for
-building expert systems which administrate and configure large computer
-networks. Cfengine uses the idea of classes and a primitive form of
-intelligence to define and automate the configuration of large systems
-in the most economical way possible. Cfengine is design to be a part of
-computer immune systems.
-
-
-
-
-
-
- ; __CLEARS__:
-
-
-
-
-*Web site: ???? (anyone know where to find this anymore)
-*
-
-
-
-The CLEARS system is an interactive graphical environment for
-computational semantics. The tool allows exploration and
-comparison of different semantic formalisms, and their
-interaction with syntax. This enables the user to get an idea of
-the range of possibilities of semantic construction, and also
-where there is real convergence between theories.
-
-
-
-
-
-
- ; __CLIG__:
-
-
-
-
-*Web site:
-www.ags.uni-sb.de/~konrad/clig.html
-*
-
-
-
-CLIG is an interactive, extendible grapher for visualizing linguistic
-data structures like trees, feature structures, Discourse
-Representation Structures (DRS), logical formulas etc. All of these can
-be freely mixed and embedded into each other. The grapher has been
-designed both to be stand-alone and to be used as an add-on for
-linguistic applications which display their output in a graphical
-manner.
-
-
-
-
-
-
- ; __CLIPS__:
-
-
-
-
-*Web site:
-www.ghg.net/clips/CLIPS.html
-*
-
-
-
-CLIPS is a productive development and delivery expert system tool
-which provides a complete environment for the construction of rule
-and/or object based expert systems.
-
-
-
-
-
-CLIPS provides a cohesive tool for handling a wide variety of
-knowledge with support for three different programming paradigms:
-rule-based, object-oriented and procedural. Rule-based programming
-allows knowledge to be represented as heuristics, or "rules of thumb,"
-which specify a set of actions to be performed for a given
-situation. Object-oriented programming allows complex systems to be
-modeled as modular components (which can be easily reused to model
-other systems or to create new components). The procedural
-programming capabilities provided by CLIPS are similar to capabilities
-found in languages such as C, Pascal, Ada, and LISP.
-
-
-
-
-
-
- ; __EMA-XPS - A Hybrid Graphic Expert System Shell__:
-
-
-
-
-*Web site:
-www.iai.uni-wuppertal.de/EMA-XPS/
-*
-
-
-
-
-
-
-EMA-XPS is a hybrid graphic expert system shell based on the
-ASCII-oriented shell Babylon 2.3 of the German National Research
-Center for Computer Sciences (GMD). In addition to Babylon's AI-power
-(object oriented data representation, forward and backward chained
-rules - collectible into sets, horn clauses, and constraint networks)
-a graphic interface based on the X11 Window System and the OSF/Motif
-Widget Library has been provided.
-
-
-
-
-
-
- ; __FOOL & FOX__:
-
-
-
-
-*Web site:
-rhaug.de/fool/
-*
-
-*FTP site:
-ftp.informatik.uni-oldenburg.de/pub/fool/
-*
-
-
-
-
-
-
-FOOL stands for the Fuzzy Organizer OLdenburg. It is a result from
-a project at the University of Oldenburg. FOOL is a graphical user
-interface to develop fuzzy rulebases. FOOL will help you to invent
-and maintain a database that specifies the behavior of a
-fuzzy-controller or something like that.
-
-
-
-
-
-FOX is a small but powerful fuzzy engine which reads this database,
-reads some input values and calculates the new control value.
-
-
-
-
-
-
- ; __FUF and SURGE__:
-
-
-
-
-*Web site:
-www.cs.bgu.ac.il/research/projects/surge/index.htm
-*
-
-*FTP site:
-ftp.cs.bgu.ac.il/pub/fuf/
-*
-
-
-
-FUF is an extended implementation of the formalism of functional
-unification grammars (FUGs) introduced by Martin Kay specialized to
-the task of natural language generation. It adds the following
-features to the base formalism:
-
-
-*Types and inheritance.
-*
-
-*Extended control facilities (goal freezing, intelligent
-backtracking).
-*
-
-*Modular syntax.
-*
-
-These extensions allow the development of large grammars which can be
-processed efficiently and can be maintained and understood more
-easily. SURGE is a large syntactic realization grammar of English
-written in FUF. SURGE is developed to serve as a black box syntactic
-generation component in a larger generation system that encapsulates a
-rich knowledge of English syntax. SURGE can also be used as a platform
-for exploration of grammar writing with a generation perspective.
-
-
-
-
-
-
- ; __The Grammar Workbench__:
-
-
-
-
-*Web site: ???
-www.cs.kun.nl/agfl/
-*
-
-
-
-Seems to be obsolete??? Its gone from the site, though its parent
-project is still ongoing.
-
-
-The Grammar Workbench, or GWB for short, is an environment for the
-comfortable development of Affix Grammars in the AGFL-formalism. Its
-purposes are:
-
-
-*to allow the user to input, inspect and modify a grammar;
-*
-
-*to perform consistency checks on the grammar;
-*
-
-*to compute grammar properties;
-*
-
-*to generate example sentences;
-*
-
-*to assist in performing grammar transformations.
-*
-
-
-
-
-
-
-
- ; __GSM Suite__:
-
-
-
-
-*Web site:
-www.slip.net/~andrewm/gsm/
-*
-
-
-
-The GSM Suite is a set of programs for using Finite State
-Machines in a graphical fashion. The suite consists of programs
-that edit, compile, and print state machines. Included in the
-suite is an editor program, gsmedit, a compiler, gsm2cc, that
-produces a C++ implementation of a state machine, a !PostScript
-generator, gsm2ps, and two other minor programs. GSM is licensed
-under the GNU Public License and so is free for your use under
-the terms of that license.
-
-
-
-
-
-
- ; __Illuminator__:
-
-
-
-
-*Web site:
-documents.cfar.umd.edu/resources/source/illuminator.html
-*
-
-
-
-Illuminator is a toolset for developing OCR and Image
-Understanding applications. Illuminator has two major parts: a
-library for representing, storing and retrieving OCR
-information, heretofore called dafslib, and an X-Windows "DAFS"
-file viewer, called illum. Illuminator and DAFS lib were
-designed to supplant existing OCR formats and become a standard
-in the industry. They particularly are extensible to handle more
-than just English.
-
-
-The features of this release:
-
-
-*5 magnification levels for images
-*
-
-*flagged characters and words
-*
-
-*unicode support -- American, British, French, German,
-Greek, Italian, MICR, Norwegian, Russian, Spanish, Swedish,
-keyboards
-*
-
-*reads DAFS, TIFF's, PDA's (image only)
-*
-
-*save to DAFS, ASCII/UTF or Unicode
-*
-
-*Entity Viewer - shows properties, character choices,
-bounding boxes image fragment for a selected entity, change
-type, change content, hierarchy mode
-*
-
-
-
-
-
-
-
- ; __Isabelle__:
-
-
-
-
-*Web site:
-isabelle.in.tum.de
-*
-
-
-
-Isabelle is a popular generic theorem prover developed at Cambridge
-University and TU Munich. Existing logics like Isabelle/HOL provide a
-theorem proving environment ready to use for sizable applications.
-Isabelle may also serve as framework for rapid prototyping of deductive
-systems. It comes with a large library including Isabelle/HOL
-(classical higher-order logic), Isabelle/HOLCF (Scott's Logic for
-Computable Functions with HOL), Isabelle/FOL (classical and
-intuitionistic first-order logic), and Isabelle/ZF (Zermelo-Fraenkel
-set theory on top of FOL).
-
-
-
-
-
-
- ; __Jess, the Java Expert System Shell__:
-
-
-
-
-*Web site:
-herzberg.ca.sandia.gov/jess/
-*
-
-
-
-Jess is a clone of the popular CLIPS expert system shell written
-entirely in Java. With Jess, you can conveniently give your
-applets the ability to 'reason'. Jess is compatible with all
-versions of Java starting with version 1..2. Jess implements
-the following constructs from CLIPS: defrules, deffunctions,
-defglobals, deffacts, and deftemplates.
-
-
-
-
-
-
- ; __learn__:
-
-
-
-
-*FTP site:
-sunsite.unc.edu/pub/Linux/apps/cai/
-*
-
-
-
-Learn is a vocable learning program with memory model.
-
-
-
-
-
-
- ; __LISA__:
-
-
-
-
-*Web site:
-lisa.sourceforge.net
-*
-
-
-
-LISA (Lisp-based Intelligent Software Agents) is a production-rule
-system heavily influenced by JESS (Java Expert System Shell). It has at
-its core a reasoning engine based on the Rete pattern matching
-algorithm. LISA also provides the ability to reason over ordinary CLOS
-objects.
-
-
-
-
-
-
- ; __NICOLE__:
-
-
-
-
-*Web site:
-nicole.sourceforge.net
-*
-
-
-
-NICOLE (Nearly Intelligent Computer Operated Language Examiner) is a
-theory or experiment that if a computer is given enough combinations of
-how words, phrases and sentences are related to one another, it could
-talk back to you. It is an attempt to simulate a conversation by
-learning how words are related to other words. A human communicates
-with NICOLE via the keyboard and NICOLE responds back with its own
-sentences which are automatically generated, based on what NICOLE has
-stored in it's database. Each new sentence that has been typed in, and
-NICOLE doesn't know about, is included into NICOLE's database, thus
-extending the knowledge base of NICOLE.
-
-
-
-
-
-
- ; __Otter: An Automated Deduction System__:
-
-
-
-
-*Web site:
-www-unix.mcs.anl.gov/AR/otter/
-*
-
-
-
-Our current automated deduction system Otter is designed to prove
-theorems stated in first-order logic with equality. Otter's
-inference rules are based on resolution and paramodulation, and it
-includes facilities for term rewriting, term orderings, Knuth-Bendix
-completion, weighting, and strategies for directing and restricting
-searches for proofs. Otter can also be used as a symbolic
-calculator and has an embedded equational programming system.
-
-
-
-
-
-
- ; __PVS__:
-
-
-
-
-*Web site:
-pvs.csl.sri.com/
-*
-
-
-
-PVS is a verification system: that is, a specification language
-integrated with support tools and a theorem prover. It is
-intended to capture the state-of-the-art in mechanized formal
-methods and to be sufficiently rugged that it can be used for
-significant applications. PVS is a research prototype: it
-evolves and improves as we develop or apply new capabilities,
-and as the stress of real use exposes new requirements.
-
-
-
-
-
-
- ; __SNePS__:
-
-
-
-
-*Web site:
-www.cse.buffalo.edu/sneps/
-*
-
-*FTP site:
-ftp.cse.buffalo.edu/pub/sneps/
-*
-
-
-
-The long-term goal of The SNePS Research Group is the design and
-construction of a natural-language-using computerized cognitive
-agent, and carrying out the research in artificial intelligence,
-computational linguistics, and cognitive science necessary for
-that endeavor. The three-part focus of the group is on knowledge
-representation, reasoning, and natural-language understanding
-and generation. The group is widely known for its development of
-the SNePS knowledge representation/reasoning system, and Cassie,
-its computerized cognitive agent.
-
-
-
-
-
-
- ; __Soar__:
-
-
-
-
-*Web site:
-ai.eecs.umich.edu/soar/
-*
-
-
-
-
-
-
-Soar has been developed to be a general cognitive architecture.
-We intend ultimately to enable the Soar architecture to:
-
-
-*work on the full range of tasks expected of an
-intelligent agent, from highly routine to extremely difficult,
-open-ended problems
-*
-
-*represent and use appropriate forms of knowledge, such as
-procedural, declarative, episodic, and possibly iconic
-*
-
-*employ the full range of problem solving methods
-*
-
-*interact with the outside world and
-*
-
-*learn about all aspects of the tasks and its performance on them.
-*
-
-In other words, our intention is for Soar to support all the
-capabilities required of a general intelligent agent.
-
-
-
- ; __TCM__:
-
-
-
-
-*Web site: ???
-wwwis.cs.utwente.nl:8080/~tcm/index.html
-*
-
-*FTP site:
-ftp.cs.vu.nl/pub/tcm/
-*
-
-
-
-
-
-
-TCM (Toolkit for Conceptual Modeling) is our suite of graphical
-editors. TCM contains graphical editors for Entity-Relationship
-diagrams, Class-Relationship diagrams, Data and Event Flow
-diagrams, State Transition diagrams, Jackson Process Structure
-diagrams and System Network diagrams, Function Refinement trees
-and various table editors, such as a Function-Entity table
-editor and a Function Decomposition table editor. TCM is easy
-to use and performs numerous consistency checks, some of them
-immediately, some of them upon request.
-
-
-
-
-
-
-
-
-
- ; __WEKA__:
-
-
-
-
-*Web site:
-lucy.cs.waikato.ac.nz/~ml/
-*
-
-
-
-
-
-
-WEKA (Waikato Environment for Knowledge Analysis) is an
-state-of-the-art facility for applying machine learning
-techniques to practical problems. It is a comprehensive software
-"workbench" that allows people to analyse real-world data. It
-integrates different machine learning tools within a common
-framework and a uniform user interface. It is designed to
-support a "simplicity-first" methodology, which allows users to
-experiment interactively with simple machine learning tools
-before looking for more complex solutions.
-
-
-
-
-
-
-
-
-
-
-
-
-
-----
-
-!!3. Connectionism
-
-
-Connectionism is a technical term for a group of related
-techniques. These techniques include areas such as Artificial
-Neural Networks, Semantic Networks and a few other similar
-ideas. My present focus is on neural networks (though I am
-looking for resources on the other techniques). Neural
-networks are programs designed to simulate the workings of the
-brain. They consist of a network of small mathematical-based
-nodes, which work together to form patterns of information.
-They have tremendous potential and currently seem to be having
-a great deal of success with image processing and robot
-control.
-
-
-
-
-
-
-
-!!3.1 Connectionist class/code libraries
-
-
-
-
-
-
-These are libraries of code or classes for use in programming within
-the Connectionist field. They are not meant as stand alone
-applications, but rather as tools for building your own applications.
-
-
-
-
-
-
-
-
-
-
- ; __ANSI-C Neural Networks__:
-
-
-
-
-*Web site:
-www.geocities.com/!CapeCanaveral/1624/
-*
-
-
-
-
-
-
-This site contains ANSC-C source code for 8 types of neural
-nets, including:
-
-
-*Adaline Network
-*
-
-*Backpropagation
-*
-
-*Hopfield Model
-*
-
-*(BAM) Bidirectional Associative Memory
-*
-
-*Boltzmann Machine
-*
-
-*Counterpropagation
-*
-
-*(SOM) Self-Organizing Map
-*
-
-*(ART1) Adaptive Resonance Theory
-*
-
-
-
-They were designed to help turn the theory of a particular
-network model into the design for a simulator implementation ,
-and to help with embeding an actual application into a
-particular network model.
-
-
-
-
-
-
- ; __Software for Flexible Bayesian Modeling__:
-
-
-
-
-*Web site:
-www.cs.utoronto.ca/~radford/fbm.software.html
-*
-
-
-
-
-
-
-This software implements flexible Bayesian models for regression
-and classification applications that are based on multilayer
-perceptron neural networks or on Gaussian processes. The
-implementation uses Markov chain Monte Carlo methods. Software
-modules that support Markov chain sampling are included in the
-distribution, and may be useful in other applications.
-
-
-
-
-
-
- ; __BELIEF__:
-
-
-
-
-*Web site:
-www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/reasonng/probabl/belief/
-*
-
-
-
-
-
-
-BELIEF is a Common Lisp implementation of the Dempster and Kong
-fusion and propagation algorithm for Graphical Belief Function
-Models and the Lauritzen and Spiegelhalter algorithm for
-Graphical Probabilistic Models. It includes code for
-manipulating graphical belief models such as Bayes Nets and
-Relevance Diagrams (a subset of Influence Diagrams) using both
-belief functions and probabilities as basic representations of
-uncertainty. It uses the Shenoy and Shafer version of the
-algorithm, so one of its unique features is that it supports
-both probability distributions and belief functions. It also
-has limited support for second order models (probability
-distributions on parameters).
-
-
-
- ; __bpnn.py__:
-
-
-
-
-*Web site:
-www.enme.ucalgary.ca/~nascheme/python/bpnn.py
-*
-
-
-
-A simple back-propogation ANN in Python.
-
-
-
-
-
-
- ; __CONICAL__:
-
-
-
-
-*Web site:
-strout.net/conical/
-*
-
-
-
-CONICAL is a C++ class library for building simulations common
-in computational neuroscience. Currently its focus is on
-compartmental modeling, with capabilities similar to GENESIS and
-NEURON. A model neuron is built out of compartments, usually
-with a cylindrical shape. When small enough, these open-ended
-cylinders can approximate nearly any geometry. Future classes
-may support reaction-diffusion kinetics and more. A key feature
-of CONICAL is its cross-platform compatibility; it has been
-fully co-developed and tested under Unix, DOS, and Mac OS.
-
-
-
-
-
-
-
-
-
- ; __IDEAL__:
-
-
-
-
-*Web site: ???
-www.rpal.rockwell.com/ideal.html
-*
-
-
-
-IDEAL is a test bed for work in influence diagrams and
-Bayesian networks. It contains various inference algorithms
-for belief networks and evaluation algorithms for influence
-diagrams. It contains facilities for creating and editing
-influence diagrams and belief networks.
-
-
-IDEAL is written in pure Common Lisp and so it will run in
-Common Lisp on any platform. The emphasis in writing IDEAL has
-been on code clarity and providing high level programming
-abstractions. It thus is very suitable for experimental
-implementations which need or extend belief network
-technology.
-
-
-At the highest level, IDEAL can be used as a subroutine
-library which provides belief network inference and influence
-diagram evaluation as a package. The code is documented in a
-detailed manual and so it is also possible to work at a lower
-level on extensions of belief network methods.
-
-
-IDEAL comes with an optional graphic interface written in
-CLIM. If your Common Lisp also has CLIM, you can run the
-graphic interface.
-
-
-
-
-
-
- ; __Jet's Neural Architecture__:
-
-
-
-
-*Web site:
-www.voltar-confed.org/jneural/
-*
-
-
-
-Jet's Neural Architecture is a C++ framework for doing neural net
-projects. The goals of this project were to make a fast, flexible
-neural architecture that isn't stuck to one kind of net and to make
-sure that end users could easily write useful applications. All the
-documentation is also easily readable.
-
-
-
-
-
-
- ; __Joone__:
-
-
-
-
-*Web site:
-joone.sourceforge.net
-*
-
-
-
-Joone is a neural net framework to create, train and test neural nets.
-The aim is to create a distributed environment based on !JavaSpaces both
-for enthusiastic and professional users, based on the newest Java
-technologies. Joone is composed of a central engine that is the
-fulcrum of all applications that already exist or will be developed.
-The neural engine is modular, scalable, multitasking and tensile.
-Everyone can write new modules to implement new algorithms or new
-architectures starting from the simple components distributed with the
-core engine. The main idea is to create the basis to promote a zillion
-of AI applications that revolve around the core framework.
-
-
-
-
-
-
- ; __Matrix Class__:
-
-
-
-
-*FTP site:
-ftp.cs.ucla.edu/pub/
-*
-
-
-
-A simple, fast, efficient C++ Matrix class designed for
-scientists and engineers. The Matrix class is well suited for
-applications with complex math algorithms. As an demonstration
-of the Matrix class, it was used to implement the backward error
-propagation algorithm for a multi-layer feed-forward artificial
-neural network.
-
-
-
-
-
-
- ; __nunu__:
-
-
-
-
-*Web site:
-ruby.ddiworld.com/jreed/web/software/nn.html
-*
-
-
-
-nunu is a multi-layered, scriptable, back-propagation neural network.
-It is build to be used for intensive computation problems scripted
-in shell scripts. It is written in C++ using the STL. nn is based
-on material from the "Introduction to the Theory of Neural
-Computation" by John Hertz, Anders Krogh, and Richard G. Palmer,
-chapter 6.
-
-
-
-
-
-
- ; __Pulcinella__:
-
-
-
-
-*Web site:
-iridia.ulb.ac.be/pulcinella/Welcome.html
-*
-
-
-
-
-
-
-Pulcinella is written in !CommonLisp, and appears as a library of
-Lisp functions for creating, modifying and evaluating valuation
-systems. Alternatively, the user can choose to interact with
-Pulcinella via a graphical interface (only available in Allegro
-CL). Pulcinella provides primitives to build and evaluate
-uncertainty models according to several uncertainty calculi,
-including probability theory, possibility theory, and
-Dempster-Shafer's theory of belief functions; and the
-possibility theory by Zadeh, Dubois and Prade's. A User's Manual
-is available on request.
-
-
-
-
-
-
-
-
-
- ; __S-!ElimBel__:
-
-
-
-
-*Web site ???:
-www.spaces.uci.edu/thiery/elimbel/
-*
-
-
-
-
-
-
-S-!ElimBel is an algorithm that computes the belief in a
-Bayesian network, implemented in MIT-Scheme. This algorithm has
-the particularity of being rather easy to understand. Moreover,
-one can apply it to any kind of Bayesian network - it being
-singly connected or muliply connected. It is, however, less
-powerful than the standard algorithm of belief propagation.
-Indeed, the computation has to be reconducted entirely for each
-new evidence added to the network. Also, one needs to run the
-algorithm as many times as one has nodes for which the belief is
-wanted.
-
-
-
-
-
-
- ; __scnANNlib__:
-
-
-
-
-*Web site:
-www.sentinelchicken.org/projects/scnANNlib/
-*
-
-
-
-SCN Artificial Neural Network Library provides a programmer with a
-simple object-oriented API for constructing ANNs. Currently, the
-library supports non-recursive networks with an arbitrary number of
-layers, each with an arbitrary number of nodes. Facilities exist for
-training with momentum, and there are plans to gracefully extend the
-functionality of the library in later releases.
-
-
-
-
-
-
- ; __Symbolic Probabilistic Inference (SPI)__:
-
-
-
-
-*FTP site:
-ftp.engr.orst.edu/pub/dambrosi/spi/
-*
-
-*Paper (ijar-94.ps):
-ftp.engr.orst.edu/pub/dambrosi/
-*
-
-
-
-
-
-
-Contains Common Lisp function libraries to implement SPI type baysean
-nets. Documentation is very limited.
-Features:
-
-
-*Probabilities, Local Expression Language Utilities, Explanation,
-Dynamic Models, and a TCL/TK based GUI.
-*
-
-
-
-
-
-
-
- ; __!TresBel__:
-
-
-
-
-*FTP site:
-iridia.ulb.ac.be/pub/hongxu/software/
-*
-
-
-
-
-
-
-Libraries containing (Allegro) Common Lisp code for Belief Functions
-(aka. Dempster-Shafer evidential reasoning) as a representation
-of uncertainty. Very little documentation. Has a limited GUI.
-
-
-
-
-
-
- ; __UTCS Neural Nets Research Group Software__:
-
-
-
-
-*Web site:
-www.cs.utexas.edu/users/nn/pages/software/software.html
-*
-
-
-
-A bit different from the other entries, this is a reference to a
-collection of software rather than one application. It was all
-developed by the
-UTCS Neural Net Research Group. Here's a summary of the packages available:
-
-
-
-
-
-*Natural Language Processing
-
-
-**MIR - Tcl/Tk-based rapid prototyping for sentence
-processing
-**
-
-**SPEC - Parsing complex sentences
-**
-
-**DISCERN - Processing script-based stories, including
-
-
-***PROC - Parsing, generation, question answering
-***
-
-***HFM - Episodic memory organization
-***
-
-***DISLEX - Lexical processing
-***
-
-***DISCERN - The full integrated model
-***
-
-
-**
-
-**FGREPNET - Learning distributed representations
-**
-
-
-*
-
-*Self-Organization
-
-
-**LISSOM - Maps with self-organizing lateral connections.
-**
-
-**FM - Generic Self-Organizing Maps
-**
-
-
-*
-
-*Neuroevolution
-
-
-**Enforced Sub-Populations (ESP) for sequential decision
-tasks
-
-
-***Non-Markov Double Pole Balancing
-***
-
-
-**
-
-**Symbiotic, Adaptive !NeuroEvolution (SANE; predecessor of
-ESP)
-
-
-***JavaSANE - Java software package for applying SANE to
-new tasks
-***
-
-***SANE-C - C version, predecessor of JavaSANE
-***
-
-***Pole Balancing - Neuron-level SANE on the Pole
-Balancing task
-***
-
-
-**
-
-**!NeuroEvolution of Augmenting Topologies (NEAT)
-software for evolving neural networks using structure
-**
-
-
-*
-
-
-
-
-
-
-
-
-
-
- ; __Various (C++) Neural Networks__:
-
-
-
-
-*Web site:
-www.dontveter.com/nnsoft/nnsoft.html
-*
-
-
-
-
-
-
-Example neural net codes from the book,
-The Pattern Recognition Basics of AI.
-These are simple example codes of these various
-neural nets. They work well as a good starting point for simple
-experimentation and for learning what the code is like behind the
-simulators. The types of networks available on this site are:
-(implemented in C++)
-
-
-
-
-
-
-
-
-*The Backprop Package
-*
-
-*The Nearest Neighbor Algorithms
-*
-
-*The Interactive Activation Algorithm
-*
-
-*The Hopfield and Boltzman machine Algorithms
-*
-
-*The Linear Pattern Classifier
-*
-
-*ART I
-*
-
-*Bi-Directional Associative Memory
-*
-
-*The Feedforward Counter-Propagation Network
-*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!!3.2 Connectionist software kits/applications
-
-
-
-
-
-
-These are various applications, software kits, etc. meant for research
-in the field of Connectionism. Their ease of use will vary, as they
-were designed to meet some particular research interest more than as
-an easy to use commercial package.
-
-
-
-
-
-
-
- ; __Aspirin - MIGRAINES__:
-
-(am6.tar.Z on ftp site)
-
-
-*FTP site:
-sunsite.unc.edu/pub/academic/computer-science/neural-networks/programs/Aspirin/
-*
-
-
-
-
-
-
-The software that we are releasing now is for creating,
-and evaluating, feed-forward networks such as those used with the
-backpropagation learning algorithm. The software is aimed both at
-the expert programmer/neural network researcher who may wish to tailor
-significant portions of the system to his/her precise needs, as well
-as at casual users who will wish to use the system with an absolute
-minimum of effort.
-
-
-
-
-
-
-
-
-
- ; __DDLab__:
-
-
-
-
-*Web site:
-www.santafe.edu/~wuensch/ddlab.html
-*
-
-*FTP site:
-ftp.santafe.edu/pub/wuensch/
-*
-
-
-
-DDLab is an interactive graphics program for research into the
-dynamics of finite binary networks, relevant to the study of
-complexity, emergent phenomena, neural networks, and aspects of
-theoretical biology such as gene regulatory networks. A network
-can be set up with any architecture between regular CA (1d or
-2d) and "random Boolean networks" (networks with arbitrary
-connections and heterogeneous rules). The network may also have
-heterogeneous neighborhood sizes.
-
-
-
-
-
-
- ; __GENESIS__:
-
-
-
-
-*Web site:
-www.bbb.caltech.edu/GENESIS/
-*
-
-*FTP site:
-genesis.bbb.caltech.edu/pub/genesis/
-*
-
-
-
-GENESIS (short for GEneral NEural SImulation System) is a
-general purpose simulation platform which was developed to
-support the simulation of neural systems ranging from complex
-models of single neurons to simulations of large networks made
-up of more abstract neuronal components. GENESIS has provided
-the basis for laboratory courses in neural simulation at both
-Caltech and the Marine Biological Laboratory in Woods Hole, MA,
-as well as several other institutions. Most current GENESIS
-applications involve realistic simulations of biological neural
-systems. Although the software can also model more abstract
-networks, other simulators are more suitable for backpropagation
-and similar connectionist modeling.
-
-
-
-
-
-
-
-
-
- ; __!JavaBayes__:
-
-
-
-
-*Web site:
-www.cs.cmu.edu/People/javabayes/index.html/
-*
-
-
-
-
-
-
-The !JavaBayes system is a set of tools, containing a
-graphical editor, a core inference engine and a parser.
-!JavaBayes can produce:
-
-
-* the marginal distribution for any variable in a network.
-*
-
-* the expectations for univariate functions (for example,
-expected value for variables).
-*
-
-* configurations with maximum a posteriori probability.
-*
-
-* configurations with maximum a posteriori expectation for
-univariate functions.
-*
-
-
-
-
-
-
-
-
-
-
- ; __Jbpe__:
-
-
-
-
-*Web site:
-cs.felk.cvut.cz/~koutnij/studium/jbpe.html
-*
-
-
-
-Jbpe is a back-propagation neural network editor/simulator.
-
-
-Features
-
-
-*Standart back-propagation networks creation.
-*
-
-*Saving network as a text file, which can be edited and loaded
-back.
-*
-
-*Saving/loading binary file
-*
-
-*Learning from a text file (with structure specified below),
-number of learning periods / desired network energy can be
-specified as a criterion.
-*
-
-*Network recall
-*
-
-
-
-
-
-
-
- ; __neuralnets__:
-
-
-
-
-*Web site:
-members.home.net/neuralnets/neuralnets/
-*
-
-
-
-neuralnets is a text-based program that allows someone to build,
-configure, train and run a Neural Network application. The code is
-written in Java and is easily extended or included within other code.
-The application comes ready to go with a Back Prop algorithm included.
-Well known applications...stock market, weather prediction, scheduling,
-image recognition, expert systems, research...basically anywhere you
-may need to make a complicated decision.
-
-
-
-
-
-
-
-
-
- ; __Neural Network Generator__:
-
-
-
-
-*Web site:
-www.idsia.ch/~rafal/research.html
-*
-
-*FTP site:
-ftp.idsia.ch/pub/rafal
-*
-
-
-
-The Neural Network Generator is a genetic algorithm for the
-topological optimization of feedforward neural networks. It
-implements the Semantic Changing Genetic Algorithm and the
-Unit-Cluster Model. The Semantic Changing Genetic Algorithm is
-an extended genetic algorithm that allows fast dynamic
-adaptation of the genetic coding through population
-analysis. The Unit-Cluster Model is an approach to the
-construction of modular feedforward networks with a ''backbone''
-structure.
-
-
-
-
-
-NOTE: To compile this on Linux requires one change in the Makefiles.
-You will need to change '-ltermlib' to '-ltermcap'.
-
-
-
-
-
-
-
-
-
- ; __Neureka ANS (nn/xnn)__:
-
-
-
-
-*Web site:
-www.bgif.no/neureka/
-*
-
-*FTP site:
-ftp.ii.uib.no/pub/neureka/
-*
-
-
-
-
-
-
-nn is a high-level neural network specification language. The
-current version is best suited for feed-forward nets, but
-recurrent models can and have been implemented, e.g. Hopfield
-nets, Jordan/Elman nets, etc. In nn, it is easy to change
-network dynamics. The nn compiler can generate C code or
-executable programs (so there must be a C compiler available),
-with a powerful command line interface (but everything may also
-be controlled via the graphical interface, xnn). It is possible
-for the user to write C routines that can be called from inside
-the nn specification, and to use the nn specification as a
-function that is called from a C program. Please note that no
-programming is necessary in order to use the network models that
-come with the system (`netpack').
-
-
-
-
-
-xnn is a graphical front end to networks generated by the nn
-compiler, and to the compiler itself. The xnn graphical
-interface is intuitive and easy to use for beginners, yet
-powerful, with many possibilities for visualizing network data.
-
-
-
-
-
-NOTE: You have to run the install program that comes with this
-to get the license key installed. It gets put (by default) in
-/usr/lib. If you (like myself) want to install the package
-somewhere other than in the /usr directory structure (the
-install program gives you this option) you will have to set up
-some environmental variables (NNLIBDIR & NNINCLUDEDIR are
-required). You can read about these (and a few other optional
-variables) in appendix A of the documentation (pg 113).
-
-
-
-
-
-
-
-
-
- ; __NEURON__:
-
-
-
-
-*Web site:
-www.neuron.yale.edu/
-*
-
-*FTP site:
-ftp.neuron.yale.edu/neuron/unix/
-*
-
-
-
-NEURON is an extensible nerve modeling and simulation
-program. It allows you to create complex nerve models by
-connecting multiple one-dimensional sections together to form
-arbitrary cell morphologies, and allows you to insert multiple
-membrane properties into these sections (including channels,
-synapses, ionic concentrations, and counters). The interface was
-designed to present the neural modeler with a intuitive
-environment and hide the details of the numerical methods used
-in the simulation.
-
-
-
-
-
-
-
-
-
- ; __PDP++__:
-
-
-
-
-*Web site:
-www.cnbc.cmu.edu/PDP++/
-*
-
-*FTP site (US):
-cnbc.cmu.edu/pub/pdp++/
-*
-
-*FTP site (Europe):
-unix.hensa.ac.uk/mirrors/pdp++/
-*
-
-
-
-
-
-
-As the field of Connectionist modeling has grown, so has the need
-for a comprehensive simulation environment for the development and
-testing of Connectionist models. Our goal in developing PDP++ has been
-to integrate several powerful software development and user interface
-tools into a general purpose simulation environment that is both user
-friendly and user extensible. The simulator is built in the C++
-programming language, and incorporates a state of the art script
-interpreter with the full expressive power of C++. The graphical user
-interface is built with the Interviews toolkit, and allows full access
-to the data structures and processing modules out of which the
-simulator is built. We have constructed several useful graphical
-modules for easy interaction with the structure and the contents of
-neural networks, and we've made it possible to change and adapt many
-things. At the programming level, we have set things up in such a way
-as to make user extensions as painless as possible. The programmer
-creates new C++ objects, which might be new kinds of units or new
-kinds of processes; once compiled and linked into the simulator, these
-new objects can then be accessed and used like any other.
-
-
-
-
-
-
-
-
-
- ; __RNS__:
-
-
-
-
-*Web site:
-www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/neural/systems/rns/
-*
-
-
-
-RNS (Recurrent Network Simulator) is a simulator for recurrent
-neural networks. Regular neural networks are also supported. The
-program uses a derivative of the back-propagation algorithm, but
-also includes other (not that well tested) algorithms.
-
-
-Features include
-
-
-*freely choosable connections, no restrictions besides memory
-or CPU constraints
-*
-
-*delayed links for recurrent networks
-*
-
-*fixed values or thresholds can be specified for weights
-*
-
-*(recurrent) back-propagation, Hebb, differential Hebb, simulated
-annealing and more
-*
-
-*patterns can be specified with bits, floats, characters, numbers,
-and random bit patterns with Hamming distances can be chosen for you
-*
-
-*user definable error functions
-*
-
-*output results can be used without modification as input
-*
-
-
-
-
-
-
-
-
-
-
- ; __Simple Neural Net (in Python)__:
-
-
-
-
-*Web site:
-http://www.amk.ca/python/unmaintained/
-*
-
-
-
-
-
-
-Simple neural network code, which implements a class for 3-level
-networks (input, hidden, and output layers). The only learning
-rule implemented is simple backpropagation. No documentation (or
-even comments) at all, because this is simply code that I use to
-experiment with. Includes modules containing sample datasets
-from Carl G. Looney's NN book. Requires the Numeric
-extensions.
-
-
-
-
-
-
-
-
-
- ; __SCNN__:
-
-
-
-
-*Web site:
-www.uni-frankfurt.de/fb13/iap/e_ag_rt/SCNN/
-*
-
-
-
-
-
-
-SCNN is an universal simulating system for Cellular Neural
-Networks (CNN). CNN are analog processing neural networks
-with regular and local interconnections, governed by a set of
-nonlinear ordinary differential equations. Due to their local
-connectivity, CNN are realized as VLSI chips, which operates
-at very high speed.
-
-
-
-
-
-
-
-
-
- ; __Semantic Networks in Python__:
-
-
-
-
-*Web site:
-strout.net/info/coding/python/ai/index.html
-*
-
-
-
-
-
-
-The semnet.py module defines several simple classes for
-building and using semantic networks. A semantic network is a
-way of representing knowledge, and it enables the program to
-do simple reasoning with very little effort on the part of the
-programmer.
-
-
-
-
-
-The following classes are defined:
-
-
-*__Entity__: This class represents a noun; it is
-something which can be related to other things, and about
-which you can store facts.
-*
-
-*__Relation__: A Relation is a type of relationship
-which may exist between two entities. One special relation,
-"IS_A", is predefined because it has special meaning (a sort
-of logical inheritance).
-*
-
-*__Fact__: A Fact is an assertion that a relationship
-exists between two entities.
-*
-
-
-
-
-
-
-With these three object types, you can very quickly define knowledge
-about a set of objects, and query them for logical conclusions.
-
-
-
-
-
-
-
-
-
- ; __SNNS__:
-
-
-
-
-*Web site:
-www.informatik.uni-stuttgart.de/ipvr/bv/projekte/snns/
-*
-
-*FTP site:
-ftp.informatik.uni-stuttgart.de/pub/SNNS/
-*
-
-
-
-Stuttgart Neural Net Simulator (version 4.1). An awesome neural
-net simulator. Better than any commercial simulator I've seen. The
-simulator kernel is written in C (it's fast!). It supports over 20
-different network architectures, has 2D and 3D X-based graphical
-representations, the 2D GUI has an integrated network editor, and can
-generate a separate NN program in C. SNNS is very powerful, though
-a bit difficult to learn at first. To help with this it comes with
-example networks and tutorials for many of the architectures.
-ENZO, a supplementary system allows you to evolve your networks with
-genetic algorithms.
-
-
-
-
-
-
- ; __SPRLIB/ANNLIB__:
-
-
-
-
-*Web site:
-www.ph.tn.tudelft.nl/~sprlib/
-*
-
-
-
-
-
-
-SPRLIB (Statistical Pattern Recognition Library) was developed
-to support the easy construction and simulation of pattern
-classifiers. It consist of a library of functions (written in C)
-that can be called from your own program. Most of the well-known
-classifiers are present (k-nn, Fisher, Parzen, ....), as well as
-error estimation and dataset generation routines.
-
-
-
-
-
-ANNLIB (Artificial Neural Networks Library) is a neural network
-simulation library based on the data architecture laid down by
-SPRLIB. The library contains numerous functions for creating,
-training and testing feed-forward networks. Training algorithms
-include back-propagation, pseudo-Newton, Levenberg-Marquardt,
-conjugate gradient descent, BFGS.... Furthermore, it is possible
-- due to the datastructures' general applicability - to build
-Kohonen maps and other more exotic network architectures using
-the same data types.
-
-
-
-
-
-
-
-
-
-
-
-
- ; __TOOLDIAG__:
-
-
-
-
-*Web site:
-www.inf.ufes.br/~thomas/home/tooldiag.html
-*
-
-*FTP site:
-ftp.inf.ufes.br/pub/tooldiag/
-*
-
-
-
-TOOLDIAG is a collection of methods for statistical pattern
-recognition. The main area of application is classification. The
-application area is limited to multidimensional continuous
-features, without any missing values. No symbolic features
-(attributes) are allowed. The program in implemented in the 'C'
-programming language and was tested in several computing
-environments.
-
-
-
-
-
-
- ; __XNBC__:
-
-
-
-
-*Web site:
-www.b3e.jussieu.fr/xnbc/
-*
-
-
-
-XNBC v8 is a simulation tool for the neuroscientists interested in
-simulating biological neural networks using a user friendly tool.
-
-
-XNBC is a software package for simulating biological neural networks.
-
-
-Four neuron models are available, three phenomenologic models (xnbc,
-leaky integrator and conditional burster) and an ion-conductance based
-model. Inputs to the simulated neurons can be provided by experimental
-data stored in files, allowing the creation of `hybrid'' networks.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-----
-
-!!4. Evolutionary Computing
-
-
-Evolutionary computing is actually a broad term for a vast
-array of programming techniques, including genetic algorithms,
-complex adaptive systems, evolutionary programming, etc.
-The main thrust of all these techniques is the idea of
-evolution. The idea that a program can be written that will
-''evolve'' toward a certain goal. This goal can be
-anything from solving some engineering problem to winning a
-game.
-
-
-
-
-
-
-
-!!4.1 EC class/code libraries
-
-
-
-
-
-
-These are libraries of code or classes for use in programming within
-the evolutionary computation field. They are not meant as stand alone
-applications, but rather as tools for building your own applications.
-
-
-
-
-
-
-
-
-
-
- ; __daga__:
-
-
-
-
-*Web site:
-GARAGe.cps.msu.edu/software/software-index.html
-*
-
-
-
-
-
-
-daga is an experimental release of a 2-level genetic algorithm
-compatible with the GALOPPS GA software. It is a meta-GA which
-dynamically evolves a population of GAs to solve a problem presented to
-the lower-level GAs. When multiple GAs (with different operators,
-parameter settings, etc.) are simultaneously applied to the same
-problem, the ones showing better performance have a higher probability
-of surviving and "breeding" to the next macro-generation (i.e.,
-spawning new "daughter"-GAs with characteristics inherited from the
-parental GA or GAs. In this way, we try to encourage good
-problem-solving strategies to spread to the whole population of GAs.
-
-
-
-
-
-
- ; __Ease__:
-
-
-
-
-*Web site:
-www.sprave.com/Ease/Ease.html
-*
-
-
-
-Ease - Evolutionary Algorithms Scripting Evironment - is an extension
-to the Tcl scripting language, providing commands to create, modify,
-and evaluate populations of individuals represented by real number
-vectors and/or bit strings.
-
-
-
-
-
-
-
-
-
- ; __EO__:
-
-
-
-
-*Web site:
-geneura.ugr.es/~jmerelo/EO.html
-*
-
-
-
-EO is a templates-based, ANSI-C++ compliant evolutionary
-computation library. It contains classes for any kind of
-evolutionary computation (specially genetic algorithms) you might
-come up to. It is component-based, so that if you don't find the
-class you need in it, it is very easy to subclass existing
-abstract or concrete class.
-
-
-
-
-
-
-
-
-
- ; __FORTRAN GA__:
-
-
-
-
-*Web site:
-cuaerospace.com/carroll/ga.html
-*
-
-
-
-
-
-
-This program is a FORTRAN version of a genetic algorithm driver.
-This code initializes a random sample of individuals with
-different parameters to be optimized using the genetic algorithm
-approach, i.e. evolution via survival of the fittest. The
-selection scheme used is tournament selection with a shuffling
-technique for choosing random pairs for mating. The routine
-includes binary coding for the individuals, jump mutation, creep
-mutation, and the option for single-point or uniform crossover.
-Niching (sharing) and an option for the number of children per
-pair of parents has been added. More recently, an option for
-the use of a micro-GA has been added.
-
-
-
-
-
-
-
-
-
- ; __GAGS__:
-
-
-
-
-*Web site:
-kal-el.ugr.es/gags.html
-*
-
-*FTP site:
-kal-el.ugr.es/GAGS/
-*
-
-
-
-
-
-
-Genetic Algorithm application generator and class library
-written mainly in C++.
-As a class library, and among other thing, GAGS includes:
-
-
-*A ''chromosome hierarchy'' with variable length
-chromosomes. ''Genetic operators'': 2-point crossover,
-uniform crossover, bit-flip mutation, transposition (gene
-interchange between 2 parts of the chromosome), and
-variable-length operators: duplication, elimination, and
-random addition.
-*
-
-*''Population level operators'' include steady state, roulette
-wheel and tournament selection.
-*
-
-*''Gnuplot wrapper'': turns gnuplot into a
-iostreams-like class.
-*
-
-*Easy sample file loading and configuration file parsing.
-*
-
-As an application generator (written in PERL),
-you only need to supply it with an ANSI-C or C++ fitness
-function, and it creates a C++ program that uses the above
-library to 90% capacity, compiles it, and runs it, saving
-results and presenting fitness thru gnuplot.
-
-
-
-
-
-
- ; __GAlib: Matthew's Genetic Algorithms Library__:
-
-
-
-
-*Web Site:
-lancet.mit.edu/ga/
-*
-
-*FTP site:
-lancet.mit.edu/pub/ga/
-*
-
-*Register GAlib at:
-lancet.mit.edu/ga/Register.html
-*
-
-
-
-
-
-
-GAlib contains a set of C++ genetic algorithm objects. The
-library includes tools for using genetic algorithms to do
-optimization in any C++ program using any representation and genetic
-operators. The documentation includes an extensive overview of how
-to implement a genetic algorithm as well as examples illustrating
-customizations to the GAlib classes.
-
-
-
-
-
-
-
-
-
- ; __GALOPPS__:
-
-
-
-
-*Web site:
-GARAGe.cps.msu.edu/software/software-index.html
-*
-
-*FTP site:
-garage.cps.msu.edu/pub/GA/galopps/
-*
-
-
-
-
-
-
-GALOPPS is a flexible, generic GA, in 'C'. It was based upon
-Goldberg's Simple Genetic Algorithm (SGA) architecture, in order to
-make it easier for users to learn to use and extend.
-
-
-
-
-
-GALOPPS extends the SGA capabilities several fold:
-
-
-* (optional) A new Graphical User Interface, based on TCL/TK,
-for Unix users, allowing easy running of GALOPPS 3.2 (single
-or multiple subpopulations) on one or more processors. GUI
-writes/reads "standard" GALOPPS input and master files, and
-displays graphical output (during or after run) of
-user-selected variables.
-*
-
-* 5 selection methods: roulette wheel, stochastic remainder
-sampling, tournament selection, stochastic universal sampling,
-linear-ranking-then-SUS.
-*
-
-* Random or superuniform initialization of "ordinary"
-(non-permutation) binary or non-binary chromosomes; random
-initialization of permutation-based chromosomes; or
-user-supplied initialization of arbitrary types of chromosomes.
-*
-
-* Binary or non-binary alphabetic fields on value-based
-chromosomes, including different user-definable field sizes.
-*
-
-* 3 crossovers for value-based representations: 1-pt, 2-pt, and
-uniform, all of which operate at field boundaries if a
-non-binary alphabet is used.
-*
-
-* 4 crossovers for order-based reps: PMX, order-based, uniform
-order-based, and cycle.
-*
-
-* 4 mutations: fast bitwise, multiple-field, swap and random
-sublist scramble.
-*
-
-* Fitness scaling: linear scaling, Boltzmann scaling, sigma
-truncation, window scaling, ranking.
-*
-
-*__Plus__ a whole lot more....
-*
-
-
-
-
-
-
-
- ; __GAS__:
-
-
-
-
-*Web site:
-starship.skyport.net/crew/gandalf
-*
-
-*FTP site:
-ftp.coe.uga.edu/users/jae/ai
-*
-
-
-
-
-
-
-GAS means "Genetic Algorithms Stuff".
-
-
-GAS is freeware.
-
-
-Purpose of GAS is to explore and exploit artificial evolutions.
-Primary implementation language of GAS is Python. The GAS
-software package is meant to be a Python framework for applying
-genetic algorithms. It contains an example application where it
-is tried to breed Python program strings. This special problem
-falls into the category of Genetic Programming (GP), and/or
-Automatic Programming. Nevertheless, GAS tries to be useful for
-other applications of Genetic Algorithms as well.
-
-
-
-
-
-
- ; __GECO__:
-
-
-
-
-*FTP site:
-ftp://ftp.aic.nrl.navy.mil/pub/galist/src/
-*
-
-
-
-
-
-
-GECO (Genetic Evolution through Combination of Objects), an
-extendible object-oriented tool-box for constructing genetic algorithms
-(in Lisp). It provides a set of extensible classes and methods
-designed for generality. Some simple examples are also provided to
-illustrate the intended use.
-
-
-
-
-
-
- ; __GPdata__:
-
-
-
-
-*FTP site:
-ftp.cs.bham.ac.uk/pub/authors/W.B.Langdon/gp-code/
-*
-
-*Documentation (GPdata-icga-95.ps):
-cs.ucl.ac.uk/genetic/papers/
-*
-
-
-
-
-
-
-GPdata-3..tar.gz (C++) contains a version of Andy Singleton's
-GP-Quick version 2.1 which has been extensively altered to support:
-
-
-*Indexed memory operation (cf. teller)
-*
-
-*multi tree programs
-*
-
-*Adfs
-*
-
-*parameter changes without recompilation
-*
-
-*populations partitioned into demes
-*
-
-*(A version of) pareto fitness
-*
-
-This ftp site also contains a small C++ program (ntrees.cc) to
-calculate the number of different there are of a given length and
-given function and terminal set.
-
-
-
-
-
-
- ; __gpjpp Genetic Programming in Java__:
-
-
-
-
-*
[[Dead Link
] Web site:
-http://www.turbopower.com/~kimk/gpjpp.asp
-*
-
-*Anyone who knows where to find gpjpp, please let me know.
-*
-
-
-
-gpjpp is a Java package I wrote for doing research in genetic
-programming. It is a port of the gpc++ kernel written by Adam
-Fraser and Thomas Weinbrenner. Included in the package are
-four of Koza's standard examples: the artificial ant, the
-hopping lawnmower, symbolic regression, and the boolean
-multiplexer. Here is a partial list of its features:
-
-
-*graphic output of expression trees
-*
-
-*efficient diversity checking
-*
-
-*Koza's greedy over-selection option for large populations
-*
-
-*extensible GPRun class that encapsulates most details of a
-genetic programming test
-*
-
-*more robust and efficient streaming code, with automatic
-checkpoint and restart built into the GPRun class
-*
-
-*an explicit complexity limit that can be set on each GP
-*
-
-*additional configuration variables to allow more testing
-without recompilation
-*
-
-*support for automatically defined functions (ADFs)
-*
-
-*tournament and fitness proportionate selection
-*
-
-*demetic grouping
-*
-
-*optional steady state population
-*
-
-*subtree crossover
-*
-
-*swap and shrink mutation
-*
-
-
-
-
-
-
-
- ; __jaga__:
-
-
-
-
-*Web site:
-cs.felk.cvut.cz/~koutnij/studium/jaga/jaga.html
-*
-
-
-
-Simple genetic algorithm package written in Java.
-
-
-
-
-
-
- ; __lil-gp__:
-
-
-
-
-*Web site:
-GARAGe.cps.msu.edu/software/software-index.html#lilgp
-*
-
-*FTP site:
-garage.cps.msu.edu/pub/GA/lilgp/
-*
-
-
-
-
-; __patched lil-gp *__:
-
-
-
-
-*Web site:
-www.cs.umd.edu/users/seanl/gp/
-*
-
-
-
-lil-gp is a generic 'C' genetic programming tool. It was written
-with a number of goals in mind: speed, ease of use and support for a
-number of options including:
-
-
-* Generic 'C' program that runs on UNIX workstations
-*
-
-* Support for multiple population experiments, using
-arbitrary and user settable topologies for exchange, for
-a single processor (i.e., you can do multiple population gp
-experiments on your PC).
-*
-
-* lil-gp manipulates trees of function pointers which are
-allocated in single, large memory blocks for speed and to
-avoid swapping.
-*
-
-* The patched lil-gp kernel is strongly-typed, with modifications on
-multithreading, coevolution, and other tweaks and features.
-
-
-
-
-
-
- ; __Lithos__:
-
-
-
-
-*Web site:
-www.esatclear.ie/~rwallace/lithos.html
-*
-
-
-
-Lithos is a stack based evolutionary computation system. Unlike most EC
-systems, its representation language is computationally complete, while
-also being faster and more compact than the S-expressions used in
-genetic programming. The version presented
here applies the system to
-the game of Go, but can be changed to other problems by simply plugging
-in a different evaluation function. ANSI C source code is provided.
-
-
-
-
-
-
-
-
-
- ; __PGAPack__:
-
-Parallel Genetic Algorithm Library
-
-
-*Web site:
-www-fp.mcs.anl.gov/CCST/research/reports_pre1998/comp_bio/stalk/pgapack.html
-*
-
-*FTP site:
-ftp.mcs.anl.gov/pub/pgapack/
-*
-
-
-
-PGAPack is a general-purpose, data-structure-neutral, parallel
-genetic algorithm library. It is intended to provide most capabilities
-desired in a genetic algorithm library, in an integrated, seamless,
-and portable manner. Key features are in PGAPack V1.0 include:
-
-
-*Callable from Fortran or C.
-*
-
-*Runs on uniprocessors, parallel computers, and workstation networks.
-*
-
-*Binary-, integer-, real-, and character-valued native data types.
-*
-
-*Full extensibility to support custom operators and new data types.
-*
-
-*Easy-to-use interface for novice and application users.
-*
-
-*Multiple levels of access for expert users.
-*
-
-*Parameterized population replacement.
-*
-
-*Multiple crossover, mutation, and selection operators.
-*
-
-*Easy integration of hill-climbing heuristics.
-*
-
-*Extensive debugging facilities.
-*
-
-*Large set of example problems.
-*
-
-*Detailed users guide.
-*
-
-
-
-
-
-
-
-
-
-
- ; __PIPE__:
-
-
-
-
-*Web site:
-www.idsia.ch/~rafal/research.html
-*
-
-*FTP site:
-ftp.idsia.ch/pub/rafal
-*
-
-
-
-Probabilistic Incremental Program Evolution (PIPE) is a novel
-technique for automatic program synthesis. The software is written in C. It
-
-
-*is easy to install (comes with an automatic installation tool).
-*
-
-*is easy to use: setting up PIPE_V1.0 for different problems
-requires a minimal amount of programming. User-written, application-
-independent program parts can easily be reused.
-*
-
-*is efficient: PIPE_V1.0 has been tuned to speed up performance.
-*
-
-*is portable: comes with source code (optimized for SunOS 5.5.1).
-*
-
-*is extensively documented(!) and contains three example applications.
-*
-
-*supports statistical evaluations: it facilitates running multiple
-experiments and collecting results in output files.
-*
-
-*includes testing tool for testing generalization of evolved programs.
-*
-
-*supports floating point and integer arithmetic.
-*
-
-*has extensive output features.
-*
-
-*For lil-gp users: Problems set up for lil-gp 1.0 can be easily ported to PIPE_v1..
-The testing tool can also be used to process programs evolved by
-lil-gp 1..
-*
-
-
-
-
-
-
-
-
-
-
- ; __Sugal__:
-
-
-
-
-*Web site:
-www.trajan-software.demon.co.uk/sugal.htm
-*
-
-
-
-Sugal [[soo-gall] is the SUnderland Genetic ALgorithm system. The aim of
-Sugal is to support research and implementation in Genetic Algorithms on a
-common software platform. As such, Sugal supports a large number of variants
-of Genetic Algorithms, and has extensive features to support customization
-and extension.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!!4.2 EC software kits/applications
-
-
-
-
-
-
-These are various applications, software kits, etc. meant for research
-in the field of evolutionary computing. Their ease of use will vary, as they
-were designed to meet some particular research interest more than as
-an easy to use commercial package.
-
-
-
-
-
-
-
-
-
-
- ; __ADATE__:
-
-
-
-
-*Web site:
-www-ia.hiof.no/~rolando/adate_intro.html
-*
-
-
-
-ADATE (Automatic Design of Algorithms Through Evolution) is a system
-for automatic programming i.e., inductive inference of algorithms,
-which may be the best way to develop artificial and general
-intelligence.
-
-
-
-
-
-The ADATE system can automatically generate non-trivial and novel
-algorithms. Algorithms are generated through large scale combinatorial
-search that employs sophisticated program transformations and
-heuristics. The ADATE system is particularly good at synthesizing
-symbolic, functional programs and has several unique qualities.
-
-
-
-
-
-
-
-
-
- ; __esep & xesep__:
-
-
-
-
-*Web site(esep):
-www.iit.edu/~elrad/esep.html
-*
-
-*Web site(xesep):
-www.iit.edu/~elrad/xesep.html
-*
-
-
-
-
-
-
-This is a new scheduler, called Evolution Scheduler, based on
-Genetic Algorithms and Evolutionary Programming. It lives with
-original Linux priority scheduler.This means you don't have to
-reboot to change the scheduling policy. You may simply use the
-manager program esep to switch between them at any time, and
-esep itself is an all-in-one for scheduling status, commands,
-and administration. We didn't intend to remove the original
-priority scheduler; instead, at least, esep provides you with
-another choice to use a more intelligent scheduler, which
-carries out natural competition in an easy and effective way.
-
-
-
-
-
-Xesep is a graphical user interface to the esep (Evolution
-Scheduling and Evolving Processes). It's intended to show users
-how to start, play, and feel the Evolution Scheduling and
-Evolving Processes, including sub-programs to display system
-status, evolving process status, queue status, and evolution
-scheduling status periodically in as small as one mini-second.
-
-
-
-
-
-
- ; __Corewars__:
-
-
-
-
-*Web site:
-corewars.sourceforge.net/
-*
-
-*!SourceForge site:
-sourceforge.net/project/corewars/
-*
-
-
-
-Corewars is a game which simulates a virtual machine with a number of
-programs. Each program tries to crash the others. The program that
-lasts the longest time wins. A number of sample programs are provided
-and new programs can be written by the player. Screenshots are
-available at the Corewars homepage.
-
-
-
-
-
-
-
-
-
- ; __Corewar VM__:
-
-
-
-
-*Web site:
-www.jedi.claranet.fr/
-*
-
-
-
-
-
-
-This is a virtual machine written in Java (so it is a virtual machine
-for another virtual machine !) for a Corewar game.
-
-
-
-
-
-
- ; __GPsys__:
-
-
-
-
-*Web site:
-www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html
-*
-
-
-
-GPsys (pronounced gipsys) is a Java (requires Java 1.1 or
-later) based Genetic Programming system developed by Adil
-Qureshi. The software includes documentation, source and
-executables.
-
-
-
-
-
-Feature Summary:
-
-
-*Steady State engine
-*
-
-*ADF support
-*
-
-*Strongly Typed
-
-
-*#supports generic functions and terminals
-*#
-
-*#has many built-in primitives
-*#
-
-*#includes indexed memory
-*#
-
-
-*
-
-*Save/Load feature
-
-
-*#can save/load current generation to/from a file
-*#
-
-*#data stored in GZIP compression format to minimise disk
-requirements
-*#
-
-*#uses serialisable objects for efficiency
-*#
-
-
-*
-
-*Fully Documented
-*
-
-*Example Problems
-
-
-*#Lawnmower (including GUI viewer)
-*#
-
-*#Symbolic Regression
-*#
-
-
-*
-
-*Totally Parameterised
-*
-
-*Fully Object Oriented and Extensible
-*
-
-*High Performance
-*
-
-*Memory Efficient
-*
-
-
-
-
-
-
-
- ; __Grany-3__:
-
-
-
-
-*Web site:
-guillaume.cottenceau.free.fr/html/grany.html
-*
-
-
-
-Grany-3 is a full-featured cellular automaton simulator, made in C++
-with Gtk--, flex++/bison++, doxygen and gettext, useful to granular
-media physicists.
-
-
-
-
-
-
-
-
-
- ; __JGProg__:
-
-
-
-
-*Web site:
-www.linuxstart.com/~groovyjava/JGProg/
-*
-
-
-
-Genetic Programming (JGProg) is an open-source Java implementation of
-a strongly-typed Genetic Programming experimentation platform. Two
-example "worlds" are provided, in which a population evolves and
-solves the problem.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-----
-
-!!5. Alife & Complex Systems
-
-
-
-
-
-Alife takes yet another approach to exploring the mysteries of
-intelligence. It has many aspects similar to EC and Connectionism, but
-takes these ideas and gives them a meta-level twist. Alife emphasizes the
-development of intelligence through ''emergent'' behavior of
-''complex adaptive systems''. Alife stresses the social or group
-based aspects of intelligence. It seeks to understand life and survival. By
-studying the behaviors of groups of 'beings' Alife seeks to discover the
-way intelligence or higher order activity emerges from seemingly simple
-individuals. Cellular Automata and Conway's Game of Life are probably the
-most commonly known applications of this field. Complex Systems
-(abbreviated CS) are very similar to alife in the way the are approached,
-just more general in definition (ie. alife is a type of complex system).
-Usually complex system software takes the form of a simulator.
-
-
-
-
-
-
-
-!!5.1 Alife & CS class/code libraries
-
-
-
-
-
-
-These are libraries of code or classes for use in programming within
-the artificial life field. They are not meant as stand alone
-applications, but rather as tools for building your own applications.
-
-
-
-
-
-
-
-
-
-
-
-
-
- ; __Biome__:
-
-
-
-
-*Web site:
-wosx30.eco-station.uni-wuerzburg.de/~martin/biome/
-*
-
-
-
-Biome is a C++ library aimed at individual-based/agent-based
-simulations. It is somewhat similar to Swarm, !EcoSim or Simex but tries
-to be more efficient and less monolithic without compromising object-
-oriented design. Currently there is an event based scheduling system, a
-C++ified Mersenne-Twister RNG, several general analysis classes, some
-Qt-based GUI classes, a very basic persistence/database framework (used
-also for parameter storage) and many other small useful things.
-
-
-
-
-
-
- ; __CASE__:
-
-
-
-
-*Web site:
-www.iu.hio.no/~cell/
-*
-
-*FTP site:
-ftp.iu.hio.no/pub/
-*
-
-
-
-CASE (Cellular Automaton Simulation Environment) is a C++
-toolkit for visualizing discrete models in two dimensions:
-so-called cellular automata. The aim of this project is to
-create an integrated framework for creating generalized cellular
-automata using the best, standardized technology of the day.
-
-
-
-
-
-
- ; __!EcoSim__:
-
-
-
-
-*Web site:
-offis.offis.uni-oldenburg.de/projekte/ecotools/project_ecotools4.htm
-*
-
-
-
-In !EcoSim an ecosystem is described by all static and dynamic
-properties of the individuals involved in the system as well as time
-varying properties of the environment. Individuals change their state
-over time or due to internal and external events. The environment is
-also defined via dynamic objects which can change. Supports on the fly
-analysis and animation of generated data. It is a C++ class library
-designed to support individual-oriented modelling and simulation
-of ecological systems.
-
-
-
-
-
-
- ; __Integrating Modelling Toolkit__:
-
-
-
-
-*Web site:
-flock.cbl.umces.edu/imt/
-*
-
-
-
-The Integrating Modelling Toolkit (IMT) is a generic, comprehensive,
-and extensible set of abstractions allowing definition and use of
-interoperable model components. Modellers create an IMT "world" made
-of IMT "agents" that will perform each a particular phase of a
-modelling task. The core set of IMT agents can describe generic,
-modular, distributed model components, either native to the IMT or
-integrating existing simulation toolkits, specialized for tasks that
-range from simple calculation of functions in an interpreted language
-to spatially explicit simulation, model optimization, GIS analysis,
-visualization and advanced statistical analysis. IMT agents are
-designed to easily "glue" together in higher-level simulations
-integrating different modelling paradigms and toolkits. The IMT can be
-easily extended by users and developers through a convenient plug-in
-mechanism
-
-
-
-
-
-
- ; __MAML__:
-
-
-
-
-*Web site:
-www.syslab.ceu.hu/maml/
-*
-
-
-
-The current version of MAML is basically an extension to Objective-C
-(using the Swarm libraries). It consists of a couple of
-'macro-keywords' that define the general structure of a simulation. The
-remaining must be filled with pure swarm-code. A MAML-to-Swarm (named
-xmc) compiler is also being developed which compiles the source code
-into a swarm application.
-
-
-
-
-
-
- ; __Simex__:
-
-
-
-
-*Web site:
-www.nmsr.labmed.umn.edu/nmsr/simex/
-*
-
-
-
-The SIMEX package contains a number of C++ classes that make it easier
-to build discrete-event, micropopulation models. (There is also some
-support for differential equation models.) It comes with a tuturial,
-quite a few examples and fairly decent documentation.
-
-
-
-
-
-
- ; __Swarm__:
-
-
-
-
-*Web site:
-www.swarm.org
-*
-
-*FTP site:
-ftp.swarm.org/pub/swarm/
-*
-
-
-
-
-
-
-The swarm Alife simulation kit. Swarm is a simulation environment
-which facilitates development and experimentation with simulations
-involving a large number of agents behaving and interacting within a
-dynamic environment. It consists of a collection of classes and
-libraries written in Objective-C and allows great flexibility in
-creating simulations and analyzing their results. It comes with three
-demos and good documentation.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!!5.2 Alife & CS software kits, applications, etc.
-
-
-
-
-
-
-These are various applications, software kits, etc. meant for research
-in the field of artificial life. Their ease of use will vary, as they
-were designed to meet some particular research interest more than as
-an easy to use commercial package.
-
-
-
-
-
-
-
-
-
-
- ; __Achilles__:
-
-
-
-
-*Web site:
-achilles.sourceforge.net
-*
-
-
-
-Achilles is an evolution simulation based on Larry Yaeger's !PolyWorld.
-It uses Hebbian neural networks, and an extremely simplified physical
-model that allows virtual organisms to interact freely in a simulated
-environment.
-
-
-
-
-
-
- ; __Avida__:
-
-
-
-
-*Web site:
-dllab.caltech.edu/avida/
-*
-
-
-
-The computer program avida is an auto-adaptive genetic system designed
-primarily for use as a platform in Artificial Life research. The avida
-system is based on concepts similar to those employed by the tierra
-program, that is to say it is a population of self-reproducing strings
-with a Turing-complete genetic basis subjected to Poisson-random
-mutations. The population adapts to the combination of an intrinsic
-fitness landscape (self-reproduction) and an externally imposed
-(extrinsic) fitness function provided by the researcher. By studying
-this system, one can examine evolutionary adaptation, general traits of
-living systems (such as self-organization), and other issues pertaining
-to theoretical or evolutionary biology and dynamic systems.
-
-
-
-
-
-
-
-
-
- ; __BugsX__:
-
-
-
-
-*FTP site:
-ftp.de.uu.net/pub/research/ci/Alife/packages/bugsx/
-*
-
-
-
-
-
-
-Display and evolve biomorphs. It is a program which draws the
-biomorphs based on parametric plots of Fourier sine and cosine series
-and let's you play with them using the genetic algorithm.
-
-
-
-
-
-
-
-
-
- ; __The Cellular Automata Simulation System__:
-
-
-
-
-*Web site:
-www.cs.runet.edu/~dana/ca/cellular.html
-*
-
-
-
-
-
-
-The system consists of a compiler for the Cellang cellular
-automata programming language, along with the corresponding
-documentation, viewer, and various tools. Cellang has been
-undergoing refinement for the last several years (1991-1995),
-with corresponding upgrades to the compiler. Postscript
-versions of the tutorial and language reference manual are
-available for those wanting more detailed information. The most
-important distinguishing features of Cellang, include support
-for:
-
-
-*any number of dimensions;
-*
-
-*compile time specification of each dimensions size;
-cell neighborhoods of any size (though bounded at compile time) and
-shape;
-*
-
-*positional and time dependent neighborhoods;
-*
-
-*associating multiple values (fields), including arrays,
-with each cell;
-*
-
-*associating a potentially unbounded number of mobile
-agents [[ Agents are mobile entities based on a mechanism of
-the same name in the Creatures system, developed by Ian
-Stephenson (ian@ohm.york.ac.uk).] with each cell; and
-*
-
-*local interactions only, since it is impossible to
-construct automata that contain any global control or
-references to global variables.
-*
-
-
-
-
-
-
-
- ; __Creatures Docking Station__:
-
-
-
-
-*Web site:
-http://ds.creatures.net/download.pl
-(free registration required)
-*
-
-*Linux info:
-http://www.simons-rock.edu/~rlovison/
-*
-
-
-
-This is a free version of the Creatures3 ALife game. It has fewer
-species and a small 'space-station' world, but can connect to other
-worlds over the internet and (if you have the windows version of the
-game) can connect to your C3 world. The game itself revolves around
-breeding and training the alife creatures, 'Norns'. Its strikes a
-pretty nice balance between fun and science, or so I'm told.
-
-
-
-
-
-
- ; __dblife & dblifelib__:
-
-
-
-
-*FTP site:
-ftp.cc.gatech.edu/ac121/linux/games/amusements/life/
-*
-
-
-
-
-
-
-''dblife:'' Sources for a fancy Game of Life program for X11
-(and curses). It is not meant to be incredibly fast (use xlife for
-that:-). But it IS meant to allow the easy editing and viewing of
-Life objects and has some powerful features. The related dblifelib
-package is a library of Life objects to use with the program.
-
-
-
-
-
-''dblifelib:'' This is a library of interesting Life objects,
-including oscillators, spaceships, puffers, and other weird things.
-The related dblife package contains a Life program which can read the
-objects in the Library.
-
-
-
-
-
-
-
-
-
- ; __Drone__:
-
-
-
-
-*Web site:
-pscs.physics.lsa.umich.edu/Software/Drone/
-*
-
-
-
-
-
-
-Drone is a tool for automatically running batch jobs of a simulation
-program. It allows sweeps over arbitrary sets of parameters, as well
-as multiple runs for each parameter set, with a separate random seed
-for each run. The runs may be executed either on a single computer or
-over the Internet on a set of remote hosts. Drone is written in Expect
-(an extension to the Tcl scripting language) and runs under Unix. It
-was originally designed for use with the Swarm agent-based simulation
-framework, but Drone can be used with any simulation program that
-reads parameters from the command line or from an input file.
-
-
-
-
-
-
- ; __!EcoLab__:
-
-
-
-
-*Web site:
-parallel.acsu.unsw.edu.au/rks/ecolab.html
-*
-
-
-
-
-
-
-!EcoLab is a system that implements an abstract ecology model. It
-is written as a set of Tcl/Tk commands so that the model
-parameters can easily be changed on the fly by means of editing
-a script. The model itself is written in C++.
-
-
-
-
-
-
-
-
-
- ; __Game Of Life (GOL)__:
-
-
-
-
-*FTP site:
-ftp.oss.cc.gatech.edu/pub/linux/science/ai/life
-*
-
-
-
-GOL is a simulator for conway's game of life (a simple cellular
-automata), and other simple rule sets. The emphasis here is on
-speed and scale, in other words you can setup large and fast
-simulations.
-
-
-
-
-
-
- ; __gant__:
-
-
-
-
-*Web site:
-gant.sourceforge.net
-*
-
-
-
-This project is an ANSI C++ implementation of the Generalized Langton
-Ant, which lives on a torus.
-
-
-
-
-
-
-
-
-
- ; __gLife__:
-
-
-
-
-*Web site:
-glife.sourceforge.net
-*
-
-*!SourceForge site:
-sourceforge.net/project/glife/
-*
-
-
-
-This program is similiar to "Conway's Game of Life" but yet it is very
-different. It takes "Conway's Game of Life" and applies it to a society
-(human society). This means there is a very different (and much larger)
-ruleset than in the original game. Things need to be taken into account
-such as the terrain, age, sex, culture, movement, etc
-
-
-
-
-
-
-
-
-
- ; __Langton's Ant__:
-
-
-
-
-*Web site:
-theory.org/software/ant/
-*
-
-
-
-Langton's Ant is an example of a finite-state cellular automata. The
-ant (or ants) start out on a grid. Each cell is either black or white.
-If the ant is on a black square, it turns right 90 and moves forward
-one unit. If the ant is on a white square, it turns left 90 and moves
-forward one unit. And when the ant leaves a square, it inverts the
-color. The neat thing about Langton's Ant is that no matter what
-pattern field you start it out on, it eventually builds a "road," which
-is a series of 117 steps that repeat indefinitely, each time leaving
-the ant displaced one pixel vertically and horizontally.
-
-
-
-
-
-
-
-
-
- ; __LEE__:
-
-
-
-
-*Web site:
-dollar.biz.uiowa.edu/~fil/LEE/
-*
-
-*FTP site:
-dollar.biz.uiowa.edu/pub/fil/LEE/
-*
-
-
-
-
-
-
-LEE (Latent Energy Environments) is both an Alife model and a
-software tool to be used for simulations within the framework of that
-model. We hope that LEE will help understand a broad range of issues
-in theoretical, behavioral, and evolutionary biology. The LEE tool
-described here consists of approximately 7,000 lines of C code and
-runs in both Unix and Macintosh platforms.
-
-
-
-
-
-
- ; __MATREM__:
-
-
-
-
-*Web site:
-www.phys.uu.nl/~romans/
-*
-
-
-
-Matrem is a computer program that simulates life. It belongs to the
-emerging science of "artificial life", which studies evolution and
-complex systems in general by simulation. Matrem is also a game, where
-players compete to create the fittest lifeform. Their efforts are the
-driving force behind the program.
-
-
-
-
-
-
- ; __Net-Life & !ZooLife__:
-
-
-
-
-*FTP site:
-ftp.coe.uga.edu/users/jae/alife/
-*
-
-*(netlife-2..tar.gz contains both Net-Life and !ZooLife)
-
-
-
-
-
-''Net-Life'' is a simulation of artificial-life, with neural "brains"
-generated via slightly random techniques. Net-Life uses artificial
-neural nets and evolutionary algorithms to breed artificial organisms
-that are similar to single cell organisms. Net-life uses asexual
-reproduction of its fittest individuals with a chance of mutation
-after each round to eventually evolve successful life-forms.
-
-
-
-
-
-''!ZooLife'' is a simulation of artificial-life. !ZooLife uses
-probabilistic methods and evolutionary algorithms to breed
-artificial organisms that are similar to plant/animal zoo
-organisms. !ZooLife uses asexual reproduction with a chance of
-mutation.
-
-
-
-
-
-
-
-
-
- ; __POSES++__:
-
-
-
-
-*Web site:
-www.gpc.de/eindex.html
-*
-
-
-
-The POSES++ software tool supports the development and
-simulation of models. Regarding the simulation technique models
-are suitable reproductions of real or planned systems for their
-simulative investigation.
-
-
-
-
-
-In all industrial sectors or branches POSES++ can model and
-simulate any arbitrary system which is based on a discrete and
-discontinuous behaviour. Also continuous systems can mostly be
-handled like discrete systems e.g., by quantity discretion and
-batch processing.
-
-
-
-
-
-
-
-
-
- ; __Primordial Soup__:
-
-
-
-
-*Web site:
-alife.santafe.edu/alife/software/psoup.html
-*
-
-
-
-
-
-
-Primordial Soup is an artificial life program. Organisms in the
-form of computer software loops live in a shared memory space
-(the "soup") and self-reproduce. The organisms mutate and
-evolve, behaving in accordance with the principles of Darwinian
-evolution.
-
-
-
-
-
-The program may be started with one or more organisms seeding
-the soup. Alternatively, the system may be started "sterile",
-with no organisms present. Spontaneous generation of
-self-reproducing organisms has been observed after runs as short
-as 15 minutes.
-
-
-
-
-
-
-
-
-
- ; __Tierra__:
-
-
-
-
-*Web site:
-www.isd.atr.co.jp/~ray/tierra/
-*
-
-
-
-
-
-
-Tierra's written in the C programming language. This source code
-creates a virtual computer and its operating system, whose
-architecture has been designed in such a way that the executable
-machine codes are evolvable. This means that the machine code can be
-mutated (by flipping bits at random) or recombined (by swapping
-segments of code between algorithms), and the resulting code remains
-functional enough of the time for natural (or presumably artificial)
-selection to be able to improve the code over time.
-
-
-
-
-
-
-
-
-
-
-
-
- ; __TIN__:
-
-
-
-
-*Web site:
-www.jetlag.demon.nl
-*
-
-*FTP site (old version):
-ftp.coe.uga.edu/users/jae/alife/
-*
-
-
-
-This program simulates primitive life-forms, equipped with some
-basic instincts and abilities, in a 2D environment consisting of
-cells. By mutation new generations can prove their success, and thus
-passing on "good family values".
-
-
-The brain of a TIN can be seen as a collection of processes, each
-representing drives or impulses to behave a certain way, depending on
-the state/perception of the environment ( e.g. presence of food,
-walls, neighbors, scent traces) These behavior process currently are
-: eating, moving, mating, relaxing, tracing others, gathering food and
-killing. The process with the highest impulse value takes control, or
-in other words: the tin will act according to its most urgent need.
-
-
-
-
-
-
-
-
-
- ; __XLIFE__:
-
-
-
-
-*FTP site:
-ftp.cc.gatech.edu/ac121/linux/games/amusements/life/
-*
-
-
-
-
-
-
-This program will evolve patterns for John Horton Conway's game
-of Life. It will also handle general cellular automata with the
-orthogonal neighborhood and up to 8 states (it's possible to recompile
-for more states, but very expensive in memory). Transition rules and
-sample patterns are provided for the 8-state automaton of E. F. Codd,
-the Wireworld automaton, and a whole class of `Prisoner's Dilemma'
-games.
-
-
-
-
-
-
-
-
-
- ; __Xtoys__:
-
-
-
-
-*Web site:
-www.physics.mun.ca/~johnw/xtoys.html
-*
-
-
-
-xtoys contains a set of cellular automata simulators for X windows.
-Programs included are:
-
-
-* xising --- a two dimensional Ising model simulator,
-*
-
-* xpotts --- the two dimensional Potts model,
-*
-
-* xautomalab --- a totalistic cellular automaton simulator,
-*
-
-* xsand --- for the Bak, Tang, Wiesenfeld sandpile model,
-*
-
-* xwaves --- demonstrates three different wave equations,
-*
-
-* schrodinger --- play with the Scrodinger equation in an
-adjustable potential.
-*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-----
-
-!!6. Agents
-
-
-
-Also known as intelligent software agents or just agents, this
-area of AI research deals with simple applications of small
-programs that aid the user in his/her work. They can be mobile
-(able to stop their execution on one machine and resume it on
-another) or static (live in one machine). They are usually
-specific to the task (and therefore fairly simple) and meant
-to help the user much as an assistant would. The most popular
-(ie. widely known) use of this type of application to date are
-the web robots that many of the indexing engines
-(eg. webcrawler) use.
-
-
-
-
-
-
-
-
-
-
-
-
-
- ; __AgentK__:
-
-
-
-
-*FTP site:
-ftp.csd.abdn.ac.uk/pub/wdavies/agentk
-*
-
-
-
-
-
-
-This package synthesizes two well-known agent paradigms:
-Agent-Oriented Programming, Shoham (1990), and the Knowledge Query
-& Manipulation Language, Finin (1993). The initial implementation
-of AOP, Agent-, is a simple language for specifying agent
-behaviour. KQML provides a standard language for inter-agent
-communication. Our integration (which we have called Agent-K)
-demonstrates that Agent-0 and KQML are highly compatible. Agent-K
-provides the possibility of inter-operable (or open) software agents,
-that can communicate via KQML and which are programmed using the AOP
-approach.
-
-
-
-
-
-
-
-
-
- ; __Agent__:
-
-
-
-
-*FTP site:
-www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Agent/
-*
-
-
-
-
-
-
-The Agent is a prototype for an Information Agent system. It is
-both platform and language independent, as it stores contained
-information in simple packed strings. It can be packed and shipped
-across any network with any format, as it freezes itself in its
-current state.
-
-
-
-
-
-
- ; __agentTool__:
-
-
-
-
-*Web site:
-en.afit.af.mil/ai/agentool.htm
-*
-
-*Download site:
-en.afit.af.mil/ai/_vti_bin/shtml.dll/registration.htm
-*
-
-
-
-Another Java based agent development framework. Fairly unique in that
-it emphasizes the use of a GUI for designing the system which will
-"semi-automatically synthesize multiagent systems to meet those
-requirements". You need a java enabled browser to download. :P
-
-
-
-
-
-
- ; __Aglets Workbench__:
-
-
-
-
-*Web site:
-www.trl.ibm.co.jp/aglets/
-*
-
-
-
-
-
-
-An aglet is a Java object that can move from one host on the
-Internet to another. That is, an aglet that executes on one host can
-suddenly halt execution, dispatch to a remote host, and resume
-execution there. When the aglet moves, it takes along its program code
-as well as its state (data). A built-in security mechanism makes it
-safe for a computer to host untrusted aglets. The Java Aglet API
-(J-AAPI) is a proposed public standard for interfacing aglets and
-their environment. J-AAPI contains methods for initializing an aglet,
-message handling, and dispatching, retracting,
-deactivating/activating, cloning, and disposing of the aglet. J-AAPI
-is simple, flexible, and stable. Application developers can write
-platform-independent aglets and expect them to run on any host that
-supports J-AAPI.
-
-
-
-
-
-
- ; __A.L.I.C.E.__:
-
-
-
-
-*Web site:
-www.alicebot.org
-*
-
-
-
-The ALICE software implements AIML (Artificial Intelligence Markup
-Language), a non-standard evolving markup language for creating chat
-robots. The primary design feature of AIML is minimalism. Compared with
-other chat robot languages, AIML is perhaps the simplest. The pattern
-matching language is very simple, for example permitting only one
-wild-card ('*') match character per pattern. AIML is an XML language,
-implying that it obeys certain grammatical meta-rules. The choice of
-XML syntax permits integration with other tools such as XML editors.
-Another motivation for XML is its familiar look and feel, especially to
-people with HTML experience.
-
-
-
-
-
-
- ; __Ara__:
-
-
-
-
-*Web site:
-wwwagss.informatik.uni-kl.de/Projekte/Ara/index_e.html
-*
-
-
-
-
-
-
-Ara is a platform for the portable and secure execution of
-mobile agents in heterogeneous networks. Mobile agents in this
-sense are programs with the ability to change their host machine
-during execution while preserving their internal state. This
-enables them to handle interactions locally which otherwise had
-to be performed remotely. Ara's specific aim in comparison to
-similar platforms is to provide full mobile agent functionality
-while retaining as much as possible of established programming
-models and languages.
-
-
-
-
-
-
- ; __!BattleBots__:
-
-
-
-
-*Web site:
-www.bluefire.nu/battlebots/
-*
-
-
-
-AI programming game where you design the bot by selecting hardware and
-programming its CPU, then competing with other bots. Competitions can have
-teams and special rules for a game.
-
-
-The hardware for use in your bot includes weapons, engine, scanners, CPU,
-etc. The programming lauguage is dependent on the CPU type and is similar
-to an assembly language.
-
-
-
-
-
-
- ; __Bee-gent__:
-
-
-
-
-*Web site:
-www2.toshiba.co.jp/beegent/index.htm
-*
-
-
-
-Bee-gent is a new type of development framework in that it is a 100%
-pure agent system. As opposed to other systems which make only some use
-of agents, Bee-gent completely "Agentifies" the communication that
-takes place between software applications. The applications become
-agents, and all messages are carried by agents. Thus, Bee-gent allows
-developers to build flexible open distributed systems that make optimal
-use of existing applications.
-
-
-
-
-
-
- ; __Bond__:
-
-
-
-
-*Web site:
-bond.cs.purdue.edu/
-*
-
-
-
-Yet another java agent system...
-
-
-Bond is a Java based distributed object system and agent framework. It
-implements a message based middleware and associated services like
-directory, persistence, monitoring and security. Bond allows to easily
-build multi agent, distributed applications. Another application of
-Bond will be a Virtual Laboratory supporting data annotation and
-metacomputing.
-
-
-
-
-
-
- ; __Cadaver__:
-
-
-
-
-*Web site:
-www.erikyyy.de/cadaver/
-*
-
-
-
-Cadaver is a simulated world of cyborgs and nature in realtime. The
-battlefield consists of forests, grain, water, grass, carcass (of
-course) and lots of other things. The game server manages the game and
-the rules. You start a server and connect some clients. The clients
-communicate with the server using a very primitive protocol. They can
-order cyborgs to harvest grain, attack enemies or cut forest. The game
-is not intended to be played by humans! There is too much to control.
-Only for die-hards: Just telnet to the server and you can enter
-commands by hand. Instead the idea is that you write artificial
-intelligence clients to beat the other artificial intelligences. You
-can choose a language (and operating system) of your choice to do that
-task. It is enough to write a program that communicates on standard
-input and standard output channels. Then you can use programs like
-"socket" to connect your clients to the server. It is NOT needed to
-write TCP/IP code, although i did so :) The battle shall not be boring,
-and so there is the so called spyboss client that displays the action
-graphically on screen.
-
-
-
-
-
-
- ; __Cougaar__:
-
-
-
-
-*Web site:
-www.cougaar.org/
-*
-
-
-
-Cougaar is java-based architecture for the construction of large-scale
-distributed agent-based applications. It is the product of a
-multi-year DARPA research project into large scale agent systems and
-includes not only the core architecture but also a variety of
-demonstration, visualization and management components to simplify the
-development of complex, distributed applications. [[Yet another java
-based agent system -- ed.]
-
-
-
-
-
-
- ; __D'Agent (was AGENT TCL)__:
-
-
-
-
-*Web site:
-agent.cs.dartmouth.edu/software/agent2./
-*
-
-*FTP site:
-ftp.cs.dartmouth.edu/pub/agents/
-*
-
-
-
-
-
-
-A transportable agent is a program that can migrate from machine
-to machine in a heterogeneous network. The program chooses when and
-where to migrate. It can suspend its execution at an arbitrary point,
-transport to another machine and resume execution on the new machine.
-For example, an agent carrying a mail message migrates first to a
-router and then to the recipient's mailbox. The agent can perform
-arbitrarily complex processing at each machine in order to ensure that
-the message reaches the intended recipient.
-
-
-
-
-
-
- ; __Dunce__:
-
-
-
-
-*Web site:
-www.boswa.com/boswabits/
-*
-
-
-
-Dunce is a simple chatterbot (conversational AI) and a language for
-programming such chatterbots. It uses a basic regex pattern matching
-and a semi-neural rule/response firing mechanism (with excitement/decay
-cycles).
-
-
-Dunce is listed about halfway down the page.
-
-
-
-
-
-
- ; __FIPA-OS__:
-
-
-
-
-*Web site:
-fipa-os.sourceforge.net
-*
-
-*Secondary Web site:
-www.nortelnetworks.com/products/announcements/fipa/
-*
-
-
-
-FIPA-OS is an open source implementation of the mandatory elements
-contained within the FIPA specification for agent interoperability. In
-addition to supporting the FIPA interoperability concepts, FIPA-OS also
-provides a component based architecture to enable the development of
-domain specific agents which can utilise the services of the FIPA
-Platform agents. It is implemented in Java.
-
-
-
-
-
-
- ; __!FishMarket__:
-
-
-
-
-*Web site:
-www.iiia.csic.es/Projects/fishmarket/
-*
-
-
-
-FM - The !FishMarket project conducted at the Artificial Intelligence
-Research Institute (IIIA-CSIC) attempts to contribute in that direction
-by developing FM, an agent-mediated electronic auction house which has
-been evolved into a test-bed for electronic auction markets. The
-framework, conceived and implemented as an extension of FM96.5 (a
-Java-based version of the Fishmarket auction house), allows to define
-trading scenarios based on fish market auctions (Dutch auctions). FM
-provides the framework wherein agent designers can perform controlled
-experimentation in such a way that a multitude of experimental market
-scenarios--that we regard as tournament scenarios due to the
-competitive nature of the domain-- of varying degrees of realism and
-complexity can be specified, activated, and recorded; and trading
-(buyer and seller) heterogeneous (human and software) agents compared,
-tuned and evaluated.
-
-
-
-
-
-
- ; __GNU Robots__:
-
-
-
-
-*Web site:
-www.gnu.org/software/robots/robots.html
-*
-
-
-
-GNU Robots is a game/diversion where you construct a program for a
-little robot, then watch him explore a world. The world is
-filled with baddies that can hurt you, objects that you can bump into,
-and food that you can eat. The goal of the game is to collect as
-many prizes as possible before are killed by a baddie or you run out of
-energy. Robots can be written in Guile scheme or using a GUI.
-
-
-
-
-
-
- ; __Grasshopper__:
-
-
-
-
-*Web site:
-www.grasshopper.de/
-*
-
-
-
-Another Java agent system. Full featured and actively developed.
-Commercial, but free. Historically targeted at embedded systems.
-
-
-
-
-
-
-
-
-
- ; __Hive__:
-
-
-
-
-*Web site:
-hive.sourceforge.net
-*
-
-*Web site:
-www.hivecell.net
-*
-
-
-
-Hive is a Java software platform for creating distributed applications.
-Using Hive, programmers can easily create systems that connect and use
-data from all over the Internet. At its heart, Hive is an environment
-for distributed agents to live, communicating and moving to fulfill
-applications. We are trying to make the Internet alive.
-
-
-
-
-
-
- ; __ICM__:
-
-
-
-
-*Web site:
-www.nar.fujitsulabs.com/icm/
-*
-
-*!SourceForge site:
-sourceforge.net/projects/networkagent/
-*
-
-
-
-The Inter-Agent Communication Model (ICM) is a communication mechanism
-that can be used for sending messages between agents in an asynchronous
-fashion. Its intended application area is as a transportation mechanism
-for agent communication languages (ACLs), such as KQML and FIPA's ACL.
-
-
-
-
-
-
- ; __Jacomma__:
-
-
-
-
-*Web site:
-jacomma.sourceforge.net
-*
-
-*!SourceForge site:
-sourceforge.net/projects/jacomma/
-*
-
-
-
-Jacomma is an agent development platform/framework for developing
-distributed, mobile, and reactive information agents with heterogeneous
-communication capabilities, in Java and JPython.
-
-
-Jacomma provides a development framework and an execution environment,
-which sits on top of the Inter-Agent Communication Model
-infrastructure. The ICM defines a communication protocol, a store and
-forward messaging architecture, and low level communication
-infrastructure for message exchange. Communication is truly
-asynchronous, based on TCP sockets.
-
-
-ICM has an entry in this howto, or you can find it via a link off the
-site.
-
-
-
-
-
-
-
-
-
- ; __Jade__:
-
-
-
-
-*Web site:
-sharon.cselt.it/projects/jade/
-*
-
-
-
-JADE (Java Agent DEvelopment Framework) is a software framework fully
-implemented in Java language. It simplifies the implementation of
-multi-agent systems through a middle-ware that claims to comply with
-the FIPA specifications and through a set of tools that supports the
-debugging and deployment phase. The agent platform can be distributed
-across machines (which not even need to share the same OS) and the
-configuration can be controlled via a remote GUI. The configuration can
-be even changed at run-time by moving agents from one machine to
-another one, as and when required.
-
-
-
-
-
-
-
-
-
- ; __JAFMAS__:
-
-
-
-
-*Web site:
-www.ececs.uc.edu/~abaker/JAFMAS
-*
-
-
-
-
-
-
-JAFMAS provides a framework to guide the coherent development of
-multiagent systems along with a set of classes for agent
-deployment in Java. The framework is intended to help beginning
-and expert developers structure their ideas into concrete agent
-applications. It directs development from a speech-act
-perspective and supports multicast and directed communication,
-KQML or other speech-act performatives and analysis of
-multiagent system coherency and consistency.
-
-
-
-
-
-Only four of the provided Java classes must be extended for any
-application. Provided examples of the N-Queens and Supply Chain
-Integration use only 567 and 1276 lines of additional code
-respectively for implementation.
-
-
-
-
-
-
-
-
-
- ; __JAM Agent__:
-
-
-
-
-*Web site:
-members.home.net/marcush/IRS/
-*
-
-
-
-JAM supports both top-down, goal-based reasoning and bottom-up
-data-driven reasoning. JAM selects goals and plans based on maximal
-priority if metalevel reasoning is not used, or user-developed
-metalevel reasoning plans if they exist. JAM's conceptualization of
-goals and goal achievement is more classically defined (UMPRS is more
-behavioral performance-based than truly goal-based) and makes the
-distinction between plans to achieve goals and plans that simply encode
-behaviors. Goal-types implemented include achievement (attain a
-specified world state), maintenance (re-attain a specified world
-state), and performance. Execution of multiple simultaneous goals are
-supported, with suspension and resumption capabilities for each goal
-(i.e., intention) thread. JAM plans have explicit precondition and
-runtime attributes that restrict their applicability, a postcondition
-attribute, and a plan attributes section for specifying
-plan/domain-specific plan features. Available plan constructs include:
-sequencing, iteration, subgoaling, atomic (i.e., non-interruptable)
-plan segments, n-branch deterministic and non-deterministic conditional
-execution, parallel execution of multiple plan segments, goal-based or
-world state-based synchronization, an explicit failure-handling
-section, and Java primitive function definition through building it
-into JAM as well as the invocation of predefined (i.e., legacy) class
-members via Java's reflection capabilities without having to build it
-into JAM.
-
-
-
-
-
-
-
-
-
- ; __JATLite__:
-
-
-
-
-*Web site:
-java.stanford.edu/java_agent/html/
-*
-
-
-
-
-
-
-JATLite is providing a set of java packages which makes easy to
-build multi-agent systems using Java. JATLite provides only
-light-weight, small set of packages so that the developers can
-handle all the packages with little efforts. For flexibility
-JATLite provides four different layers from abstract to Router
-implementation. A user can access any layer we are
-providing. Each layer has a different set of assumptions. The
-user can choose an appropriate layer according to the
-assumptions on the layer and user's application. The
-introduction page contains JATLite features and the set of
-assumptions for each layer.
-
-
-
-
-
-
-
-
-
- ; __JATLiteBeans__:
-
-
-
-
-*Web site:
-waitaki.otago.ac.nz/JATLiteBean/
-*
-
-
-
-
-
-
-*Improved, easier-to-use interface to JATLite features
-including KQML message parsing, receiving, and sending.
-
-*
-
-*Extensible architecture for message handling and agent
-"thread of control" management
-
-*
-
-*Useful functions for parsing of simple KQML message content
-
-*
-
-*JATLiteBean supports automatic advertising of agent
-capabilities to facilitator agents
-
-*
-
-*Automatic, optional, handling of the "forward" performative
-
-*
-
-*Generic configuration file parser
-
-*
-
-*KQML syntax checker
-
-*
-
-
-
-
-
-
-
-
-
-
- ; __Java(tm) Agent Template__:
-
-
-
-
-*Web site:
-cdr.stanford.edu/ABE/!JavaAgent.html
-*
-
-
-
-
-
-
-The JAT provides a fully functional template, written entirely in
-the Java language, for constructing software agents which communicate
-peer-to-peer with a community of other agents distributed over the
-Internet. Although portions of the code which define each agent are
-portable, JAT agents are not migratory but rather have a static
-existence on a single host. This behavior is in contrast to many other
-"agent" technologies. (However, using the Java RMI, JAT agents could
-dynamically migrate to a foreign host via an agent resident on that
-host). Currently, all agent messages use KQML as a top-level protocol
-or message wrapper. The JAT includes functionality for dynamically
-exchanging "Resources", which can include Java classes (e.g. new
-languages and interpreters, remote services, etc.), data files and
-information inlined into the KQML messages.
-
-
-
-
-
-
- ; __Kafka__:
-
-
-
-
-*Web site:
-www.fujitsu.co.jp/hypertext/free/kafka/
-*
-
-
-
-Kafka is yet another agent library designed for constructing
-multi-agent based distributed applications. Kafka is a
-flexible, extendable, and easy-to-use java class library for
-programmers who are familiar with distributed programming. It
-is based on Java's RMI and has the following added features:
-
-
-*Runtime Reflection:
-Agents can modify their behaviour (program codes) at
-runtime. The behaviour of the agent is represented by an
-abstract class Action. It is useful for remote maintenance or
-installation services.
-*
-
-*Remote Evaluation:
-Agents can receive and evaluate program codes (classes)
-with or without the serialized object. Remote evaluation is a
-fundamental function of a mobile agent and is thought to be a
-push model of service delivery.
-*
-
-*Distributed Name Service:
-Agents have any number of logical names that don't contain the host
-name. These names can be managed by the distributed directories.
-*
-
-*Customizable security policy:
-a very flexible, customizable, 3-layered security model is
-implemented in Kafka.
-*
-
-*100% Java and RMI compatible:
-Kafka is written completely in Java. Agent is a Java RMI
-server object itself. So, agents can directly communicate with
-other RMI objects.
-*
-
-
-
-
-
-
-
-
-
-
- ; __Khepera Simulator__:
-
-
-
-
-*Web site:
-diwww.epfl.ch/lami/team/michel/khep-sim/
-*
-
-
-
-Khepera Simulator is a public domain software package written by
-Olivier MICHEL
-during the preparation of his Ph.D. thesis, at the Laboratoire I3S,
-URA 1376 of CNRS and University of Nice-Sophia Antipolis, France. It
-allows to write your own controller for the mobile robot Khepera using
-C or C++ languages, to test them in a simulated environment and
-features a nice colorful X11 graphical interface. Moreover, if you own
-a Khepera robot, it can drive the real robot using the same control
-algorithm. It is mainly oriented toward to researchers studying autonomous
-agents.
-
-
-
- ; __lyntin__:
-
-
-
-
-*Web site:
-lyntin.sourceforge.net/
-*
-
-
-
-Lyntin is an extensible Mud client and framework for the creation of
-autonomous agents, or bots, as well as mudding in general. Lyntin is
-centered around Python, a dynamic, object-oriented, and fun programming
-language and based on !TinTin++ a lovely mud client.
-
-
-
-
-
-
- ; __Mole__:
-
-
-
-
-*Web site:
-mole.informatik.uni-stuttgart.de/
-*
-
-
-
-
-
-
-Mole is an agent system supporting mobile agents programmed in
-Java. Mole's agents consist of a cluster of objects, which have
-no references to the outside, and as a whole work on tasks given
-by the user or another agent. They have the ability to roam a
-network of "locations" autonomously. These "locations" are an
-abstraction of real, existing nodes in the underlying
-network. They can use location-specific resources by
-communicating with dedicated agents representing these
-services. Agents are able to use services provided by other
-agents and to provide services as well.
-
-
-
-
-
-
- ; __Narval__:
-
-
-
-
-*Web site:
-www.logilab.org
-*
-
-
-
-Narval is the acronym of "Network Assistant Reasoning with a Validating
-Agent Language". It is a personal network assistant based on artificial
-intelligence and agent technologies. It executes recipes (sequences of
-actions) to perform tasks. It is easy to specify a new action using XML
-and to implement it using Python. Recipes can be built and debugged
-using a graphical interface.
-
-
-
-
-
-
- ; __NeL__:
-
-
-
-
-*Web site:
-www.nevrax.org
-*
-
-
-
-NeL is actually a game development library (for massive multi-player
-games), but I'm including it here as it (will) include a fairly
-sizable AI library. Here's a blurb from the whitepaper:
-
-
-The purpose of the AI library is to provide a pragmatic approach to
-creating a distributed agents platform. Its focus is agents; individual
-entities that communicate regardless of location, using an
-action-reaction model.
-
-
-
-
-
-
- ; __OAA__:
-
-
-
-
-*Web site:
-www.ai.sri.com/~oaa/
-*
-
-
-
-The Open Agent Architecture is a framework in which a community of
-software agents running on distributed machines can work together on
-tasks assigned by human or non-human participants in the community.
-Distributed cooperation and high-level communication are two ideas
-central to the foundation of the OAA.
-
-
-It defines an interagent communication language and supports multiple
-platforms and programming languages.
-
-
-
-
-
-
-
-
-
- ; __PAI__:
-
-
-
-
-*Web site:
-utenti.tripod.it/Claudio1977/pai.html
-*
-
-
-
-AI (Programmable Artificial Intelligence) is a program capable of
-having a conversation in its mother tongue, English. Written in
-C++.
-
-
-
-
-
-
- ; __Penguin!__:
-
-
-
-
-*FTP site:
-www.perl.org/CPAN/modules/by-category/23_Miscellaneous_Modules/Penguin/FSG/
-*
-
-
-
-
-
-
-Penguin is a Perl 5 module. It provides you with a set of functions which
-allow you to:
-
-
-*send encrypted, digitally signed Perl code to a remote machine to be
-executed.
-*
-
-*receive code and, depending on who signed it, execute it in an
-arbitrarily secure, limited compartment.
-*
-
-The combination of these functions enable direct Perl coding of
-algorithms to handle safe internet commerce, mobile
-information-gathering agents, "live content" web browser helper
-apps, distributed load-balanced computation, remote software
-update, distance machine administration, content-based
-information propagation, Internet-wide shared-data applications,
-network application builders, and so on.
-
-
-
-
-
-
- ; __Ps-i__:
-
-
-
-
-*Web site:
-ps-i.sourceforge.net
-*
-
-
-
-Ps-i is an environment for running agent-based simulations. It is
-cross-platform, with binaries available for Win32. Features include:
-
-
-
-
-
-*declarative language for model specification
-*
-
-*industry standard Tcl/Tk scripting
-with built-in routine optimization, speculative evaluation
-and xf86 JIT compiler users can create complex models without
-sacrificing perfomance
-*
-
-*user friendly interface
-*
-
-*save and restore program runs
-*
-
-*change model parameters on the fly
-*
-
-*data visualization: field display with multiple agent shapes and
-color, statistics window, agent viewer, routine browser and
-highlight agents tool
-*
-
-
-
-
-
-
-
- ; __!RealTimeBattle__:
-
-
-
-
-*Web site:
-www.lysator.liu.se/realtimebattle/
-*
-
-
-
-!RealTimeBattle is a programming game, in which robots controlled by
-programs are fighting each other. The goal is to destroy the enemies,
-using the radar to examine the environment and the cannon to shoot.
-
-
-
-
-
-*Game progresses in real time, with the robot programs
-running as child processes to !RealTimeBattle.
-*
-
-*The robots communicate with the main program using the
-standard input and output.
-*
-
-*Robots can be constructed in almost any programming language.
-*
-
-*Maximum number of robots can compete simultaneously.
-*
-
-*A simple messaging language is used for communication, which
-makes it easy to start constructing robots.
-*
-
-*Robots behave like real physical object.
-*
-
-*You can create your own arenas.
-*
-
-*Highly configurable.
-*
-
-
-
-
-
-
-
-
-
-
- ; __Remembrance Agents__:
-
-
-
-
-*Web site:
-rhodes.www.media.mit.edu/people/rhodes/RA/
-*
-
-
-
-Remembrance Agents are a set of applications that watch over a user's
-shoulder and suggest information relevant to the current situation.
-While query-based memory aids help with direct recall, remembrance
-agents are an augmented associative memory. For example, the
-word-processor version of the RA continuously updates a list of
-documents relevant to what's being typed or read in an emacs buffer.
-These suggested documents can be any text files that might be relevant
-to what you are currently writing or reading. They might be old emails
-related to the mail you are currently reading, or abstracts from papers
-and newspaper articles that discuss the topic of your writing.
-
-
-
-
-
-
- ; __!RoboTournament__:
-
-
-
-
-*Web site:
-robotournament.sourceforge.net/
-*
-
-
-
-!RoboTournament is a !RoboRally inspired game where players program their
-robots to vanquish their opponents. !RoboTournament features: Multiple
-Game Types: Death Match, Rally, and Capture The Flag. Multi-Player
-through TCP/IP, Six weapons including BFG, Map Editor, and a wide
-variety of board elements.
-
-
-
-
-
-
- ; __!SimRobot__:
-
-
-
-
-*Web site:
-www.informatik.uni-bremen.de/~simrobot/
-*
-
-*FTP site:
-ftp.uni-bremen.de/pub/ZKW/INFORM/simrobot/
-*
-
-
-
-
-
-
-!SimRobot is a program for simulation of sensor based robots in a
-3D environment. It is written in C++, runs under UNIX and X11 and
-needs the graphics toolkit XView.
-
-
-*Simulation of robot kinematics
-*
-
-*Hierarchically built scene definition via a simple definition
-language
-*
-
-*Various sensors built in: camera, facette eye, distance
-measurement, light sensor, etc.
-*
-
-*Objects defined as polyeders
-*
-
-*Emitter abstractly defined; can be interpreted e.g. as
-light or sound
-*
-
-*Camera images computed according to the raytracing or
-Z-buffer algorithms known from computer graphics
-*
-
-*Specific sensor/motor software interface for communicating
-with the simulation
-*
-
-*Texture mapping onto the object surfaces: bitmaps in various
-formats
-*
-
-*Comprehensive visualization of the scene: wire frame w/o
-hidden lines, sensor and actor values
-*
-
-*Interactive as well as batch driven control of the agents
-and operation in the environment
-*
-
-*Collision detection
-*
-
-*Extendability with user defined object types
-*
-
-*Possible socket communication to e.g. the Khoros image
-processing software
-*
-
-
-
-
-
-
-
-
-
-
- ; __Sulawesi__:
-
-
-
-
-*Web site ???:
-wearables.essex.ac.uk/sulawesi/
-*
-
-
-
-A framework called Sulawesi has been designed and implemented to
-tackle what has been considered to be important challenges in a
-wearable user interface. The ability to accept input from any
-number of modalities, and perform if necessary a translation to any
-number of modal outputs. It does this primarily through a set
-of proactive agents to act on the input.
-
-
-
-
-
-
-
-
-
- ; __!TclRobots__:
-
-
-
-
-*FTP site:
-ftp.neosoft.com/pub/tcl/sorted/games/tclrobots-2./
-*
-
-*Redhat Patch:
-ftp.coe.uga.edu/users/jae/ai/tclrobots-redhat.patch
-*
-
-*RPMs (search at):
-http://rufus.w3.org/
-*
-
-
-
-
-
-
-!TclRobots is a programming game, similar to 'Core War'. To play
-!TclRobots, you must write a Tcl program that controls a robot. The
-robot's mission is to survive a battle with other robots. Two, three,
-or four robots compete during a battle, each running different
-programs (or possibly the same program in different robots.) Each
-robot is equipped with a scanner, cannon, drive mechanism. A single
-match continues until one robot is left running. Robots may compete
-individually, or combine in a team oriented battle. A tournament
-can be run with any number of robot programs, each robot playing every
-other in a round-robin fashion, one-on-one. A battle simulator is
-available to help debug robot programs.
-
-
-
-
-
-The !TclRobots program provides a physical environment, imposing
-certain game parameters to which all robots must adhere. !TclRobots
-also provides a view on a battle, and a controlling user interface.
-!TclRobots requirements: a wish interpreter built from Tcl 7.4 and Tk
-4..
-
-
-
-
-
-
-
-
-
- ; __TKQML__:
-
-
-
-
-*Web site:
-www.csee.umbc.edu/tkqml/
-*
-
-
-
-TKQML is a KQML application/addition to Tcl/Tk, which allows Tcl
-based systems to communicate easily with a powerful agent
-communication language.
-
-
-
-
-
-
-
-
-
- ; __The Tocoma Project__:
-
-
-
-
-*Web site:
-www.tacoma.cs.uit.no/
-*
-
-
-
-
-
-
-An agent is a process that may migrate through a computer network
-in order to satisfy requests made by clients. Agents are an attractive
-way to describe network-wide computations.
-
-
-
-
-
-The TACOMA project focuses on operating system support for agents and
-how agents can be used to solve problems traditionally addressed by
-operating systems. We have implemented a series of prototype systems
-to support agents.
-
-
-
-
-
-TACOMA Version 1.2 is based on UNIX and TCP. The system supports
-agents written in C, Tcl/Tk, Perl, Python, and Scheme (Elk). It is
-implemented in C. This TACOMA version has been in public domain since
-April 1996.
-
-
-
-
-
-We are currently focusing on heterogeneity, fault-tolerance, security
-and management issues. Also, several TACOMA applications are under
-construction. We implemented !StormCast 4., a wide-area network
-weather monitoring system accessible over the internet, using TACOMA
-and Java. We are now in the process of evaluating this application,
-and plan to build a new !StormCast version to be completed by June
-1997.
-
-
-
-
-
-
- ; __Ummon__:
-
-
-
-
-*Web site:
-www.spacetide.com/projects/ummon/
-*
-
-
-
-Ummon is an advanced Open Source chatterbot. The main principle of the
-bot is that it has no initial knowledge of either words or grammar; it
-learns everything "on the fly." Numerous AI techniques will be explored
-in the development of Ummon to achieve realistic "human" communication
-with support for different, customizable personalities.
-
-
-
-
-
-
-
-
-
- ; __UMPRS Agent__:
-
-
-
-
-*Web site:
-members.home.net/marcush/IRS/
-*
-
-
-
-UMPRS supports top-down, goal-based reasoning and selects goals and
-plans based on maximal priority. Execution of multiple simultaneous
-goals are supported, with suspension and resumption capabilities for
-each goal (i.e., intention) thread. UMPRS plans have an integrated
-precondition/runtime attribute that constrain their applicability.
-Available plan constructs include: sequencing, iteration, subgoaling,
-atomic (i.e., non-interruptable) blocks, n-branch deterministic
-conditional execution, explicit failure-handling section, and C++
-primitive function definition.
-
-
-
-
-
-
-
-
-
- ; __Virtual Secretary Project (!ViSe)__:
-
-(Tcl/Tk)
-
-
-*Web site:
-www.cs.uit.no/DOS/Virt_Sec
-*
-
-
-
-
-
-
-The motivation of the Virtual Secretary project is to construct
-user-model-based intelligent software agents, which could in
-most cases replace human for secretarial tasks, based on modern
-mobile computing and computer network. The project includes two
-different phases: the first phase (ViSe1) focuses on information
-filtering and process migration, its goal is to create a secure
-environment for software agents using the concept of user
-models; the second phase (ViSe2) concentrates on agents'
-intelligent and efficient cooperation in a distributed
-environment, its goal is to construct cooperative agents for
-achieving high intelligence. (Implemented in Tcl/TclX/Tix/Tk)
-
-
-
-
-
-
-
-
-
-
-
-
- ; __VWORLD__:
-
-
-
-
-*Web site:
-zhar.net/projects/vworld/
-*
-
-
-
-
-
-
-Vworld is a simulated environment for research with autonomous
-agents written in prolog. It is currently in something of an
-beta stage. It works well with SWI-prolog, but should work with
-Quitnus-prolog with only a few changes. It is being designed to
-serve as an educational tool for class projects dealing with
-prolog and autonomous agents. It comes with three demo worlds or
-environments, along with sample agents for them. There are
-two versions now. One written for SWI-prolog and one written for
-LPA-prolog. Documentation is roughly done (with a
-student/professor framework in mind), and a graphical interface
-is planned.
-
-
-
-
-
-
-
-
-
- ; __!WebMate__:
-
-
-
-
-*Web site:
-www.cs.cmu.edu/~softagents/webmate/
-*
-
-
-
-
-
-
-!WebMate is a personal agent for World-Wide Web browsing and
-searching. It accompanies you when you travel on the internet
-and provides you what you want.
-
-
-Features include:
-
-
-*Searching enhancement, including parallel search, searching
-keywords refinement using our relevant keywords extraction technology,
-relevant feedback, etc.
-
-*
-
-*Browsing assistant, including learning your current interesting,
-recommending you new URLs according to your profile and selected
-resources, monitoring bookmarks of Netscape or IE, sending the current
-browsing page to your friends, etc.
-
-*
-
-*Offline browsing, including downloading the following pages from
-the current page for offline browsing.
-
-*
-
-*Filtering HTTP header, including recording http header and all
-the transactions between your browser and WWW servers, etc.
-
-*
-
-*Checking the HTML page to find the errors or dead links, etc.
-
-*
-
-*Programming in Java, independent of operating system, runing in
-multi-thread.
-
-*
-
-
-
-
-
-
-
-
-
-
- ; __Zeus__:
-
-
-
-
-*Web site:
-www.labs.bt.com/projects/agents/zeus/
-*
-
-
-
-The construction of multi-agent systems involves long development
-times and requires solutions to some considerable technical
-difficulties. This has motivated the development of the ZEUS
-toolkit, which provides a library of software components and tools
-that facilitate the rapid design, development and deployment of
-agent system
-
-
-
-
-
-
-
-
-
-
-
-
-
-----
-
-!!7. Programming languages
-
-
-
-
-
-While any programming language can be used for artificial
-intelligence/life research, these are programming languages which
-are used extensively for, if not specifically made for, artificial
-intelligence programming.
-
-
-
-
-
-
-
-
-
-
-
-
-
- ; __Allegro CL__:
-
-
-
-
-*Web site:
-www.franz.com
-*
-
-
-
-Franz Inc's free linux version of their lisp development
-environment. You can download it or they will mail you a
-CD free (you don't even have to pay for shipping). It is
-generally considered to be one of the better lisp platforms.
-
-
-
-
-
-
- ; __APRIL__:
-
-
-
-
-*Web site:
-sourceforge.net/project/networkagent/
-*
-
-
-
-APRIL is a symbolic programming language that is designed for writing
-mobile, distributed and agent-based systems especially in an Internet
-environment. It has advanced features such as a macro sub-language,
-asynchronous message sending and receiving, code mobility, pattern
-matching, higher-order functions and strong typing. The language is
-compiled to byte-code which is then interpreted by the APRIL
-runtime-engine. APRIL now requires the !InterAgent Communications Model
-(ICM) to be installed before it can be installed. [[Ed. ICM can be found
-at the same web site]
-
-
-
-
-
-
- ; __Ciao Prolog__:
-
-
-
-
-*Web site:
-www.clip.dia.fi.upm.es/Software/Ciao/
-*
-
-
-
-Ciao is a complete Prolog system subsuming ISO-Prolog with a novel
-modular design which allows both restricting and extending the
-language. Ciao extensions currently include feature terms (records),
-higher-order, functions, constraints, objects, persistent predicates, a
-good base for distributed execution (agents), and concurrency.
-Libraries also support WWW programming, sockets, and external
-interfaces (C, Java, TCL/Tk, relational databases, etc.). An
-Emacs-based environment, a stand-alone compiler, and a toplevel shell
-are also provided.
-
-
-
-
-
-
-
-
-
- ; __DHARMI__:
-
-
-
-
-*Web site:
-http://megazone.bigpanda.com/~wolf/DHARMI/
-*
-
-
-
-DHARMI is a high level spatial, tinker-toy like language who's
-components are transparently administered by a background
-process called the Habitat. As the name suggests, the language
-was designed to make modelling prototypes and handle living
-data. Programs can be modified while running. This is accomplished
-by blurring the distinction between source code, program,
-and data.
-
-
-
-
-
-
-
-
-
- ; __ECoLisp__:
-
-
-
-
-*Web site (???):
-www.di.unipi.it/~attardi/software.html
-*
-
-
-
-
-
-
-ECoLisp (Embeddable Common Lisp) is an implementation of
-Common Lisp designed for being embeddable into C based
-applications. ECL uses standard C calling conventions for Lisp
-compiled functions, which allows C programs to easily call
-Lisp functions and viceversa. No foreign function interface is
-required: data can be exchanged between C and Lisp with no
-need for conversion. ECL is based on a Common Runtime Support
-(CRS) which provides basic facilities for memory managment,
-dynamic loading and dumping of binary images, support for
-multiple threads of execution. The CRS is built into a library
-that can be linked with the code of the application. ECL is
-modular: main modules are the program development tools (top
-level, debugger, trace, stepper), the compiler, and CLOS. A
-native implementation of CLOS is available in ECL: one can
-configure ECL with or without CLOS. A runtime version of ECL
-can be built with just the modules which are required by the
-application. The ECL compiler compiles from Lisp to C, and
-then invokes the GCC compiler to produce binaries.
-
-
-
-
-
-
-
-
-
- ; __ESTEREL__:
-
-
-
-
-*Web site:
-www-sop.inria.fr/meije/esterel/
-*
-
-
-
-Esterel is both a programming language, dedicated to programming
-reactive systems, and a compiler which translates Esterel programs into
-finite-state machines. It is particularly well-suited to programming
-reactive systems, including real-time systems and control automata.
-
-
-Only the binary is available for the language compiler. :P
-
-
-
-
-
-
-
-
-
- ; __Goumldel__:
-
-
-
-
-*Web page:
-www.cs.bris.ac.uk/~bowers/goedel.html
-*
-
-
-
-Goumldel is a declarative, general-purpose programming language
-in the family of logic programming languages. It is a strongly typed
-language, the type system being based on many-sorted logic with
-parametric polymorphism. It has a module system. Goumldel supports
-infinite precision integers, infinite precision rationals, and also
-floating-point numbers. It can solve constraints over finite domains
-of integers and also linear rational constraints. It supports
-processing of finite sets. It also has a flexible computation rule
-and a pruning operator which generalizes the commit of the concurrent
-logic programming languages. Considerable emphasis is placed on
-Goumldel's meta- logical facilities which provide significant
-support for meta-programs that do analysis, transformation,
-compilation, verification, debugging, and so on.
-
-
-
-
-
-
-
-
-
-
-
-
- ; __LIFE__:
-
-
-
-
-*Web page:
-www.isg.sfu.ca/life
-*
-
-
-
-LIFE (Logic, Inheritance, Functions, and Equations) is an
-experimental programming language proposing to integrate three
-orthogonal programming paradigms proven useful for symbolic
-computation. From the programmer's standpoint, it may be perceived as
-a language taking after logic programming, functional programming, and
-object-oriented programming. From a formal perspective, it may be
-seen as an instance (or rather, a composition of three instances) of a
-Constraint Logic Programming scheme due to Hoehfeld and Smolka
-refining that of Jaffar and Lassez.
-
-
-
-
-
-
-
-
-
-
-
-
- ; __CLisp (Lisp)__:
-
-
-
-
-*Web page:
-clisp.sourceforge.net
-*
-
-*Alt Web site:
-clisp.cons.org/
-*
-
-
-
-CLISP is a Common Lisp implementation by Bruno Haible and Michael
-Stoll. It mostly supports the Lisp described by
-Common LISP: The Language (2nd edition)
-and the ANSI Common Lisp
-standard. CLISP includes an interpreter, a byte-compiler, a large
-subset of CLOS (Object-Oriented Lisp) , a foreign language interface
-and, for some machines, a screen editor.
-
-
-
-
-
-The user interface language (English, German, French) is chosen at
-run time. Major packages that run in CLISP include CLX & Garnet.
-CLISP needs only 2 MB of memory.
-
-
-
-
-
-
- ; __CMU Common Lisp__:
-
-
-
-
-*Web page:
-www.cons.org/cmucl/
-*
-
-*FTP site:
-ftp2.cons.org/pub/languages/lisp/cmucl/release/
-*
-
-*Linux Installation:
-www.telent.net/lisp/howto.html
-*
-
-
-
-
-
-
-CMU Common Lisp is a public domain "industrial strength" Common
-Lisp programming environment. Many of the X3j13 changes have been
-incorporated into CMU CL. Wherever possible, this has been done so as
-to transparently allow the use of either CLtL1 or proposed ANSI
-CL. Probably the new features most interesting to users are SETF
-functions, LOOP and the WITH-COMPILATION-UNIT macro.
-
-
-
-
-
-
-
-
-
- ; __GCL (Lisp)__:
-
-
-
-
-*FTP site:
-ftp.ma.utexas.edu/pub/gcl/
-*
-
-
-
-
-
-
-GNU Common Lisp (GCL) has a compiler and interpreter for Common
-Lisp. It used to be known as Kyoto Common Lisp. It is very portable
-and extremely efficient on a wide class of applications. It compares
-favorably in performance with commercial Lisps on several large
-theorem-prover and symbolic algebra systems. It supports the CLtL1
-specification but is moving towards the proposed ANSI definition. GCL
-compiles to C and then uses the native optimizing C compilers (e.g.,
-GCC). A function with a fixed number of args and one value turns into
-a C function of the same number of args, returning one value, so GCL
-is maximally efficient on such calls. It has a conservative garbage
-collector which allows great freedom for the C compiler to put Lisp
-values in arbitrary registers.
-
-
-
-
-
-It has a source level Lisp debugger for interpreted code, with display
-of source code in an Emacs window. Its profiling tools (based on the
-C profiling tools) count function calls and the time spent in each
-function.
-
-
-
-
-
-
- ; __GNU Prolog__:
-
-
-
-
-*Web site:
-pauillac.inria.fr/~diaz/gnu-prolog/
-*
-
-*Web site:
-www.gnu.org/software/prolog/prolog.html
-*
-
-
-
-
-
-
-GNU Prolog is a free Prolog compiler with constraint solving over
-finite domains developed by Daniel Diaz.
-
-
-GNU Prolog accepts Prolog+constraint programs and produces native
-binaries (like gcc does from a C source). The obtained executable is
-then stand-alone. The size of this executable can be quite small since
-GNU Prolog can avoid to link the code of most unused built-in
-predicates. The performances of GNU Prolog are very encouraging
-(comparable to commercial systems).
-
-
-Beside the native-code compilation, GNU Prolog offers a classical
-interactive interpreter (top-level) with a debugger.
-
-
-The Prolog part conforms to the ISO standard for Prolog with many
-extensions very useful in practice (global variables, OS interface,
-sockets,...).
-
-
-GNU Prolog also includes an efficient constraint solver over Finite
-Domains (FD). This opens contraint logic pogramming to the user
-combining the power of constraint programming to the declarativity of
-logic programming.
-
-
-
-
-
-
-
-
-
- ; __Mercury__:
-
-
-
-
-*Web page:
-www.cs.mu.oz.au/research/mercury/
-*
-
-
-
-
-
-
-Mercury is a new, purely declarative logic programming language.
-Like Prolog and other existing logic programming languages, it is a
-very high-level language that allows programmers to concentrate on the
-problem rather than the low-level details such as memory management.
-Unlike Prolog, which is oriented towards exploratory programming,
-Mercury is designed for the construction of large, reliable, efficient
-software systems by teams of programmers. As a consequence,
-programming in Mercury has a different flavor than programming in
-Prolog.
-
-
-
-
-
-
-
-
-
-
-
-
- ; __Mozart__:
-
-
-
-
-*Web page:
-www.mozart-oz.org/
-*
-
-
-
-
-
-
-The Mozart system provides state-of-the-art support in two areas: open
-distributed computing and constraint-based inference. Mozart implements
-Oz, a concurrent object-oriented language with dataflow synchronization.
-Oz combines concurrent and distributed programming with logical
-constraint-based inference, making it a unique choice for developing
-multi-agent systems. Mozart is an ideal platform for both general-purpose
-distributed applications as well as for hard problems requiring
-sophisticated optimization and inferencing abilities. We have developed
-applications in scheduling and time-tabling, in placement and
-configuration, in natural language and knowledge representation,
-multi-agent systems and sophisticated collaborative tools.
-
-
-
-
-
-
-
-
-
- ; __SWI Prolog__:
-
-
-
-
-*Web page:
-www.swi.psy.uva.nl/projects/SWI-Prolog/
-*
-
-*FTP site:
-swi.psy.uva.nl/pub/SWI-Prolog/
-*
-
-
-
-
-
-
-SWI is a free version of prolog in the Edinburgh Prolog family
-(thus making it very similar to Quintus and many other versions).
-With: a large library of built in predicates, a module system, garbage
-collection, a two-way interface with the C language, plus many other
-features. It is meant as a educational language, so it's compiled code
-isn't the fastest. Although it similarity to Quintus allows for easy
-porting.
-
-
-
-
-
-XPCE is freely available in binary form for the Linux version of SWI-prolog.
-XPCE is an object oriented X-windows GUI development package/environment.
-
-
-
-
-
-
- ; __Kali Scheme__:
-
-
-
-
-*Web site:
-www.neci.nj.nec.com/PLS/Kali.html
-*
-
-
-
-
-
-
-Kali Scheme is a distributed implementation of Scheme that
-permits efficient transmission of higher-order objects such as
-closures and continuations. The integration of distributed
-communication facilities within a higher-order programming
-language engenders a number of new abstractions and paradigms
-for distributed computing. Among these are user-specified
-load-balancing and migration policies for threads,
-incrementally-linked distributed computations, agents, and
-parameterized client-server applications. Kali Scheme supports
-concurrency and communication using first-class procedures and
-continuations. It integrates procedures and continuations into a
-message-based distributed framework that allows any Scheme
-object (including code vectors) to be sent and received in a
-message.
-
-
-
-
-
-
-
-
-
- ; __RScheme__:
-
-
-
-
-*Web site:
-www.rscheme.org
-*
-
-*FTP site:
-ftp.rscheme.org/pub/rscheme/
-*
-
-
-
-
-
-
-RScheme is an object-oriented, extended version of the Scheme
-dialect of Lisp. RScheme is freely redistributable, and offers
-reasonable performance despite being extraordinarily portable.
-RScheme can be compiled to C, and the C can then compiled with a
-normal C compiler to generate machine code. By default, however,
-RScheme compiles to bytecodes which are interpreted by a
-(runtime) virtual machine. This ensures that compilation is fast
-and keeps code size down. In general, we recommend using the
-(default) bytecode code generation system, and only compiling
-your time-critical code to machine code. This allows a nice
-adjustment of space/time tradeoffs. (see web site for details)
-
-
-
-
-
-
-
-
-
-
-
-
- ; __Scheme 48__:
-
-
-
-
-*Web site:
-s48.org/
-*
-
-
-
-
-
-
-Scheme 48 is a Scheme implementation based on a virtual machine
-architecture. Scheme 48 is designed to be straightforward, flexible,
-reliable, and fast. It should be easily portable to 32-bit
-byte-addressed machines that have POSIX and ANSI C support. In
-addition to the usual Scheme built-in procedures and a development
-environment, library software includes support for hygienic macros (as
-described in the Revised^4 Scheme report), multitasking, records,
-exception handling, hash tables, arrays, weak pointers, and FORMAT.
-Scheme 48 implements and exploits an experimental module system
-loosely derived from Standard ML and Scheme Xerox. The development
-environment supports interactive changes to modules and interfaces.
-
-
-
-
-
-
-
-
-
-
-
-
- ; __SCM (__Scheme__) __:
-
-
-
-
-*Web site:
-www-swiss.ai.mit.edu/~jaffer/SCM.html
-*
-
-
-
-
-
-
-SCM conforms to the Revised^4 Report on the Algorithmic Language
-Scheme and the IEEE P1178 specification. Scm is written in C. It uses
-the following utilities (all available at the ftp site).
-
-
-*SLIB (Standard Scheme Library) is a portable Scheme
-library which is intended to provide compatibility and utility
-functions for all standard Scheme implementations, including
-SCM, Chez, Elk, Gambit, !MacScheme, MITScheme, scheme->C,
-Scheme48, T3.1, and VSCM, and is available as the file
-slib2c0.tar.gz. Written by Aubrey Jaffer.
-*
-
-*JACAL is a symbolic math system written in Scheme, and is
-available as the file jacal1a7.tar.gz.
-*
-
-*Interfaces to standard libraries including REGEX string
-regular expression matching and the CURSES screen management
-package.
-*
-
-*Available add-on packages including an interactive debugger,
-database, X-window graphics, BGI graphics, Motif, and
-Open-Windows packages.
-*
-
-*A compiler (HOBBIT, available separately) and dynamic linking
-of compiled modules.
-*
-
-
-
-
-
-
-
-
-
-
- ; __Shift__:
-
-
-
-
-*Web site:
-www.path.berkeley.edu/shift/
-*
-
-
-
-Shift is a programming language for describing dynamic
-networks of hybrid automata. Such systems consist of
-components which can be created, interconnected and destroyed
-as the system evolves. Components exhibit hybrid behavior,
-consisting of continuous-time phases separated by
-discrete-event transitions. Components may evolve
-independently, or they may interact through their inputs,
-outputs and exported events. The interaction network itself
-may evolve.
-
-
-
-
-
-
-
-
-
- ; __YAP Prolog__:
-
-
-
-
-*Web site:
-www.ncc.up.pt/~vsc/Yap/
-*
-
-
-
-YAP is a high-performance Prolog compiler developed at
-LIACC/Universidade do Porto. Its Prolog engine is based in the WAM
-(Warren Abstract Machine), with several optimizations for better
-performance. YAP follows the Edinburgh tradition, and is largely
-compatible with DEC-10 Prolog, Quintus Prolog, and especially
-with C-Prolog. Work on the more recent version of YAP strives at
-several goals:
-
-
-
-
-
-*Portability: The whole system is now written in C. YAP
-compiles in popular 32 bit machines, such as Suns and
-Linux PCs, and in a 64 bit machines, the Alphas running
-OSF Unix and Linux.
-*
-
-*Performance: We have optimised the emulator to obtain
-performance comparable to or better than well-known Prolog
-systems. In fact, the current version of YAP performs
-better than the original one, written in assembly language.
-*
-
-*Robustness: We have tested the system with a large array
-of Prolog applications.
-*
-
-*Extensibility: YAP was designed internally from the
-beginning to encapsulate manipulation of terms. These
-principles were used, for example, to implement a simple
-and powerful C-interface. The new version of YAP extends
-these principles to accomodate extensions to the
-unification algorithm, that we believe will be useful to
-implement extensions such as constraint programming.
-*
-
-*Completeness: YAP has for a long time provided most
-builtins expected from a Edinburgh Prolog implementation.
-These include I/O functionality, data-base operations,
-and modules. Work on YAP aims now at being compatible with
-the Prolog standard.
-*
-
-*Openess: We would like to make new development of YAP
-open to the user community.
-*
-
-*Research: YAP has been a vehicle for research within and
-outside our group. Currently research is going on on
-parallelisation and tabulation, and we have started work
-to support constraint handling
.
-*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-----
+Describe
[HowToAIAlifeHOWTO
] here.