Vous êtes sur la page 1sur 43

Guide pratique sur lintelligence artificielle et la vie

artificielle sous GNU/linux


Version franaise du GNU/Linux AI and Alife HOWTO

John Eikenberry
<jae@zhar.net>

Pierre-Yves Aimon

Laurent Fallet

Laurent Morretton

Yvon Benoist

Version : 2.3.fr.1.0

Historique des versions


Version 2.3.fr.1.0 2006-10-01 LF
Mise jour de la traduction franaise
Version 1.9.fr.1.0 2004-01-15 LM, LF, PYM
Premire traduction franaise
Version originale 2006-08-21 JE
Version 2.3. Consulter la section "Quoi de neuf" pour les rvisions antrieures.

Rsum

Ce guide contient principalement des informations et des liens relatifs diverses applications,
bibliothques, etc. sur lIA qui fonctionnent sur la plate-forme GNU/Linux. Tout ceci est libre dans le
cadre dun usage personnel (ou davantage). La page la plus jour de ce document se trouve ladresse
http://zhar.net/gnu-linux/howto/

Table des matires

Introduction [p 2]
But [p 2]
Quoi de neuf ? [p 2]
O trouver les logiciels ? [p 3]
Mises jour et commentaires [p 3]
Copyright/Licence [p 4]
Intelligence Artificielle traditionnelle [p 4]

1
Bibliothques de classes/code dIA [p 5]
Kits logiciels dIA, applications, etc. [p 10]
Connexionnisme [p 16]
Bibliothques de classe/code sur le connexionnisme [p 16]
A venir [p 20]
Informatique volutive [p 20]
A venir [p 21]
Les agents [p 21]
Les langages de programmation [p 34]
Manquant et Inactif [p 41]
MIA - Projets ne disposant pas de liens. [p 42]
Projets inactifs. [p 42]

Introduction
But
Le systme dexploitation GNU/Linux a volu depuis ses origines de systme pirate jusqu devenir
un systme UNIX complet, capable de rivaliser avec nimporte quel UNIX commercial. Il est
maintenant une base peu onreuse pour la construction de bonnes stations de travail. Il sest libr de
ses problmes de compatibilit matrielle en ayant t port sur des stations DEC Alpha, Sparcs,
Power PC et bien dautres. Son potentiel de croissance rapide ainsi que son support rseau le rend
idal pour le partage du temps de travail entre plusieurs ordinateurs. En tant que station de travail, il
permet toutes sortes de recherches et de dveloppements, y compris les travaux sur lintelligence
artificielle et la vie artificielle.

Le but de ce HOW-TO est de fournir une base permettant de trouver diffrents logiciels, bibliothques
de code, et tout ce qui peut aider dmarrer (et trouver les ressources) dans le monde de lintelligence
artificielle, de la vie artificielle, etc. Tout cela dans loptique GNU/Linux.

Quoi de neuf ?
v2.4 (en dveloppement) - Nouvelles entres : Eprover, Player et Robodeb. Jai divis la section
Agents en deux sous-sections, savoir Agents Logiciels et Simulateurs et Robotique. Je crains
dtre all un peu vite quand la rpartition, mais cest une amlioration. MIA trouv! Cellular,
le systme dautomate programmable cellulaire.

v2.3 - Nouvelles entres : Yamp, pygene, Push, ANNEvolve, dgpf, Golly, IBAL, 3APL, OSCAR,
and RobocodeNG. Mise jour des entres Yale, Joone, Drone, Biome, ECLiPSe, Xtoys, GECO,
Creatures Docking Station et dautres. Jai galement renomm la section MIA en Manquants et
Inactifs qui regroupe maintenant les liens morts ou errons pour lesquels je ne trouve de
remplacement et les projets qui ne sont plus actifs.

v2.2 - Quelques liens casss ont t rpars et quelques nouvelles entres ont du tre dplaces
dans la section MIA (manquante). Jai galement supprim une entre duplique. Nouvelles
entres : MASON, spyse, AntWars, OpenSteer, Pyro, Robocode, Trend and Open BEAGLE.

v2.1 - Nouvelles entres : NLTK, NEURObjects, KANREN, Neural Networks at your Fingertips,
SimWorld, SimAgent, Fuzzy sets for Ada, maxent, Evo, breve and AJA

2
v2.0 - Un vrificateur de liens ma permis de supprimer les liens errons ou de les remplacer.
Voir la liste des entres supprimes dans la section MIA (me contacter si vous connaissez le nouveau
lien). Nouvelles entres : Yale, DIET Agents, JASA, Jason, Noble Ape, Maude, ECLiPSe, lush, and
pygp

v1.9 - Ajout dune nouvelle entre (Bond) et rparation du lien donn plus bas, qui pointe vers la
liste dynamique.

v1.8 - Nettoyage de liens errons, recherche de nouveaux liens lorsque cela tait possible et
suppression de ceux qui semblent avoir disparus. Quelques nouvelles entres ajoutes galement :
Torch, Aleph, AI Kernel, OpenCyc, HTK, FFLL, JCK, Joone, scnANNlib, GAUL, Cougaar, and
RoboTournament

v1.7 - 9 autres nouvelles entres ajoutes, une srie de liens rpars, quelques lments enlevs
qui ont disparus du net. Nouvelles entres : SPASS, CNNs, JCASim, Genetic, CAGE, AgentFarms,
MATREM, OAA, et UTCS Neural Nets Research Group Software

v1.6 - Ajout de 9 nouvelles entres, deux liens rpars et un lment redondant enlev.

v1.5 - 26 nouvelles entres, ainsi que deux ou trois rparations de liens.

v1.4 - 10 mises jour effectues et rparation de liens en rapport avec LISP.

v1.3 - Pour rattraper le retard, jai ajout plus de 30 nouvelles entres aujourdhui et je lai soumis
au LDP.

Pas denregistrements sur les versions prcdentes :(

O trouver les logiciels ?


Tous les programmes devraient tre disponibles sur Internet (ftp ou http). Les liens vers ces ressources
sont fournis dans la description de chaque logiciel. Il y a galement une plthore de logiciels non
traits dans ces pages (qui sont gnralement indpendants de la plate-forme), situs sur une des
ressources listes dans la section lien du site principal (donn plus haut).

Mises jour et commentaires


Si vous trouvez des erreurs, que vous tes au courant des mises jour de lun des outils dcrit plus
loin, ou que vous rencontrez des problmes pour compiler lune des applications, crivez-moi
jae@zhar.net et je verrai ce que je peux faire.

Si vous connaissez des applications sur lIA/VA, des bibliothques de classe, etc, envoyez-moi un
email au sujet de celles-ci. Mentionnez votre nom, ladresse ftp ou http o lon peut trouver ces
applications, ainsi quun bref rsum/commentaire sur le logiciel (ces informations devraient me
rendre les choses beaucoup plus faciles... mais ne vous sentez pas obligs de le faire ;) ).

Je sais que garder cette liste jour et laugmenter demande pas mal de travail. Alors sil vous plait,
soyez patient (jai aussi dautres projets en cours). Jespre que vous trouverez ce document utile.

3
Copyright/Licence
Copyright (c) 1996-2006 John A. Eikenberry

LICENCE

Ce document peut tre reproduit et distribu entirement ou en partie, sur nimporte quel mdia, quil
soit physique ou lectronique, condition que cette licence apparaisse sur la reproduction. La
redistribution commerciale est autorise et encourage. Un pravis de 30 jours, par courriel lauteur,
de la redistribution serait apprcie, afin de donner lauteur le temps de fournir des documents jour.

A. CONDITIONS REQUISES POUR LES MODIFICATIONS

Tout document modifi, y compris les traductions, anthologies, ou documents partiels, doit se
conformer aux conditions suivantes :

Ces versions doivent tre identifies comme tant des versions modifies

Le nom de la personne ralisant ces modifications doit tre indiqu.

Il est ncessaire de mentionner le nom de lauteur original.

Lemplacement du document original non modifi doit tre indiqu.

Le ou les noms des auteurs ne doivent pas tres utiliss pour revendiquer ou impliquer leur
approbation du document qui rsulte de ces modifications sans laccord de lauteur original.

De plus, il est recommand (mais pas obligatoire) de respecter ces consignes :

Les modifications, y compris les suppressions, doivent tres signales.

Lauteur doit tre prvenu de toute modification avant la redistribution par courriel, si une adresse
lectronique est fournie dans le document.

Une exception cependant : les anthologies de documents LDP peuvent ninclure quune copie des
termes de cette licence de manire visible, lintrieur du recueil, et peut remplacer les autres copies
de cette licence par une rfrence la seule copie de la licence, sans considrer le document comme
"modifi" pour le besoin de cette section.

Le simple regroupement de documents LDP avec dautres documents ou programmes sur le mme
mdium ne doit pas impliquer que la licence porte galement sur ces autres travaux.

Toute traduction, document driv, ou document modifi qui incorporerait ce document nest pas
soumis des termes de licence plus restrictifs que ceux l, lexception du fait que vous pouvez
demander aux distributeurs de mettre disposition le document en question sous le format source.

Intelligence Artificielle traditionnelle


LIA traditionnelle se fonde sur tout ce qui tourne autour de la logique, des systmes de rgles, de la
linguistique, et du concept de rationalit. Ses racines sont les langages de programmation comme Lisp
et Prolog. Les systmes experts sont les plus grands exemples de russite de ce paradigme. Un systme
expert consiste en une base de connaissances dtaille et un systme complexe de rgles pour lutiliser.

4
De tels systmes ont t utiliss comme support de diagnostiques mdicaux et systmes de vrification
de solvabilit.

Bibliothques de classes/code dIA


Ce sont des bibliothques de classes ou code utiliser lorsque vous programmez dans le domaine de
lintelligence artificielle. Elles ne sont pas destines devenir des applications part entire, mais
plutt comme des outils afin de crer vos propres applications.

ACL2

Site web : www.cliki.net/ACL2

ACL2 (A Computational Logic for Applicative Common Lisp) permet de dmonter les thormes
pour des applications industrielles. Cest la fois de la logique mathmatique et un systme
doutils pour construire des preuves dans la logique. ACL2 marche avec GCL (GNU Common
Lisp).

AI Kernel

Site Web : aikernel.sourceforge.net

Site Web Sourceforge : sourceforge.net/projects/aikernel

AI Kernel (noyau dIA) est un moteur dintelligence artificielle rutilisable qui utilise le
traitement du langage naturel et un modle Activateur/Contexte afin de permettre le multi-tche
entre les cellules installes.

AI Search II

Site Web : www.bell-labs.com/topic/books/ooai-book/

En gros, cette bibliothque offre au programmeur une srie dalgorithmes de recherche qui
peuvent tre utiliss pour rsoudre toutes sortes de problmes diffrents. Lide est que lorsquil
dveloppe un logiciel de rsolution de problme, le programmeur devrait pouvoir se concentrer
sur la reprsentation du problme rsoudre, sans avoir se soucier de limplmentation du
moteur de recherche qui serait prcisment utilis pour mener la recherche. Cette ide a t
applique grce limplmentation dune srie de classes de recherche qui peuvent tre
incorpores dans dautres logiciels travers des spcifications de drivation ou dhritage du
C++. Les algorithmes de recherche suivants ont t mis en uvre :

Recherche en profondeur (deep-first) dans un arbre ou un graphe.

Recherche horizontale (breadth-first) dans un arbre ou un graphe.

Recherche par cots uniformes dans un arbre ou un graphe.

Recherche du meilleur en priorit (best-first).

Recherche bidirectionnelle en profondeur (bidirectional depth-first) dans un arbre ou un


graphe.

5
Recherche bidirectionnelle horizontale (bidirectional breadth-first) dans un arbre ou un
graphe.

Recherche ET/OU en profondeur dans un arbre.

Recherche ET/OU horizontale dans un arbre.

Il existe un livre qui correspond cette bibliothque, "Object-Oriented Artificial Instelligence,


Using C++".

Aleph

Site Web : web.comlab.ox.ac.uk/oucl/research/areas/machlearn/Aleph/

Ce document fournit des informations de rfrence sur "A Learning Engine for Proposing
Hypotheses" (Aleph : un moteur dapprentissage pour proposer des hypothses). Aleph est
systme de programmation par logique inductive (Inductive Logic Programming, ILP). La
fonction dAleph est celle de prototype pour explorer des ides. Aleph est un algorithme ILP mis
en uvre en Prolog par le Dr Ashwin Srinivasav au laboratoire informatique de luniversit
dOxford, et a t crit spcifiquement pour la compilation avec le compilateur Prolog YAP.

Chess In Lisp (CIL : les checs en Lisp)

Site Web : *fait partie de larchive CLOCC clocc.sourceforge.net

La fondation CIL (les checs en Lisp) est une implmentation "Common Lisp" de toutes les
fonctions principales ncessaires au dveloppement dapplications sur les jeux dchecs. Le but
principal du projet CIL est damener les chercheurs en IA intresss par lemploi de Lisp
travailler sur le domaine des checs.

DAI

Site Web : starship.python.net/crew/gandalf/DNET/AI/

Cest une bibliothque pour le langage de programmation Python qui fournit une interface
oriente objet loutil systme expert CLIPS. Il inclut une interface pour COOL (CLIPS Object
Oriented Langage : Langage orient objet CLIPS) qui permet de :

Examiner, tudier les classes COOL

Crer et manipuler des instances COOL

Manipuler les gestionnaires de messages COOL

Manipuler les modules

FFLL

Site Web : ffll.sourceforge.net

La bibliothque gratuite de logique floue (FFLL : Free Fuzzy Logic Library) est une bibliothque
de classe et une API libres de logique floue qui est optimise pour des applications dont la
rapidit est importante, comme les jeux vidos. FFLL est capable de charger des fichiers
conformes au standard IEC 61131-7.

6
Fuzzy sets for Ada

Site Web : http://www.dmitry-kazakov.de/ada/fuzzy.htm

Freshmeat : http://freshmeat.net/projects/fuzzy/

Les ensembles flous pour Ada (Fuzzy sets for Ada) est une librairie fournissant des
implmentations de facteurs de confiance pour les oprateurs NOT, AND, OR, XOR, + et *, les
ensembles flous classiques avec les oprations sur la thorie des ensembles, les oprations sur la
thorie des possibles, les oprations sur les ensembles intuitifs, la logique floue base sur la
thorie des possibles et les ensembles flous intuitifs ; les nombres flous, la fois entier et
virgule flottante avec leurs oprations arithmtiques classiques, les variables linguistiques et les
ensembles de variables linguistiques avec les oprations les concernant. Les entres/sorties base
de chanes de caractres sont supportes.

HTK

Site Web : htk.eng.cam.ac.uk

La bote outils du modle de Markov masqu (HTK : Hidden Markov Model ToolKit) est une
bote outils portable pour crer et manipuler des modles de Markov masqu. HTK consiste en
une srie de modules de bibliothques et doutils disponibles sous la forme de sources en C. Ces
outils founissent des solutions sophistiques pour lanalyse vocale, la formation HMM, les tests et
lanalyse de rsultats. Lapplication supporte les HMM en utilisant la fois les fonctions
gaussiennes sur les mlanges densit constante et les distributions discrtes et peut tre utilise
pour crer des systmes HMM complexes. Le logiciel HTK contient une grande quantit
dinformations et dexemples.

JCK

Site Web : www.pms.informatik.uni-muenchen.de/software/jack/

JCK est une nouvelle bibliothque pour la programmation et la recherche par contraintes pour
Java.

JCK est constitu de trois composants :

- JCHR : Java Constraint Handling Rules (rgles de manipulation de contraintes Java).


Langage de haut niveau pour crire des rsolveurs de contraintes.

- JASE : Java Abstract Search Engine (moteur de recherche abstrait Java). Moteur de
recherche gnrique pour JCHR afin de rsoudre les problmes de contraintes.

- VisualCHR : outil interactif pour visualiser les calculs JCHR.

Les sources et la documentation sont disponibles partir du lien ci-dessus.

KANREN

Site Web : http://kanren.sourceforge.net

7
KANREN est un systme de programmation par logique dclarative avec des relations de premier
ordre, inclus dans un sous-ensemble fonctionnel pur de Scheme. Le systme est constitu de
smantiques de la thorie des ensembles, de relations vraies, de relations de premier ordre, de variables
logiques porte lexicale, de stratgies en profondeur (deep-first) et itratif en profondeur (iterative
deepening). Le systme atteint de hautes expressivits et performances sans limination.

LK

Site Web : www.cs.utoronto.ca/~neto/research/lk/

LK est une implmentation de lheuristique de Lin-Kernighan pour le problme du commercial


dmarcheur et pour le problme de la correspondance parfaite de pondration minimum. Il est
spcialement adapt aux figures gomtriques en 2D, et a t appliqu dans certains exemples
jusqu un million de villes. Il comprend aussi des gnrateurs dexemples et des scripts Perl pour
manipuler les exemples TSPLIB.

Cette implmentation introduit la "compensation groupe efficace", une technique algorithmique


exprimentale dont le but est de rendre lheuristique de Lin-Kernighan plus robuste dans le cas de
donnes groupes.

maxent

Version Python / C++ : homepages.inf.ed.ac.uk/s0450736/maxent_toolkit.html

Version Java : maxent.sourceforge.net

La bote outils entropie maximum fournit un ensemble doutils et une librairie pour construire
des modles dentropie maximum (maxent) en Python ou C++. Il contient des modles dentropie
maximum conditionnels, une estimation des paramtres GIS et L-BFGS, un lissage Gaussien, une
API C++, un module dextension Python, un utilitaire en ligne de commande et une bonne
documentation. Une version Java est galement disponible.

Nyquist

Site Web : www-2.cs.cmu.edu/~music/nyquist/

Le projet de musique informatise (Computer Music Project) au CMU dveloppe la technologie


de la musique informatise, et de la performance interactive pour amliorer lexprience et la
crativit musicale de lhomme. Cet effort interdisciplinaire puise dans la thorie de la musique,
dans les sciences cognitives, lintelligence artificielle, lapprentissage des machines, linteraction
homme-machine, les systmes temps relles, les graphismes et animations informatiques, le
multimdia, les langages de programmation, le traitement du signal. Un exemple paradigmatique
de ces efforts interdisciplinaires est la cration de la performance interactive qui lie
limprovisation musicale de lhomme aux agents informatiques intelligents en temps rel.

OpenCyc

Site Web : www.opencyc.org

Site Web alternatif : sourceforge.net/projects/opencyc/

8
OpenCyc est la version libre de Cyc, la plus grande et la plus complte des bases de connaissance
gnrale ainsi que le plus grand moteur de raisonnement de sens communs. Une ontologie base
sur 6000 concepts en relation avec 60000 affirmations.

Module de logique floue Python

Site FTP : ftp://ftp.csh.rit.edu/pub/members/retrev/

Cest un simple module python pour la logique floue. Le fichier est fuz.tar.gz dans ce rpertoire.
Lauteur ambitionne galement dcrire un algorithme de gntique simple de mme quune
bibliothque sur les rseaux neuronaux. Regarder le fichier 00_index dans ce rpertoire pour
obtenir des informations sur la version.

Screamer

Site Web : www.cis.upenn.edu/~screamer-tools/home.html

La version la plus rcente fait partie de CLOCC : clocc.sourceforge.net

Screamer est une extension de Common Lisp qui ajoute un support pour la programmation non
dterministe. Screamer comprend deux niveaux. Le niveau non dterministe basique ajoute un
support pour la journalisation et les effets de cot irralisables. En plus de cet aspect non
deterministe, Screamer fournit un langage complet de programmation sous contraintes dans
lequel on peut formuler et rsoudre un mlange de systmes sous contraintes numriques ou
symboliques. Ensembles, ces deux niveaux tendent Common Lisp avec pratiquement toutes les
fonctionnalits de Prolog et des languages de programmation logiques sous contraintes comme
CHiP ou CLP(R). En outre, Screamer est compltement compatible avec Common Lisp. Les
programmes de Screamer peuvent coexister et interoprer avec dautres extensions de Common
Lisp comme CLOS, CLIM et Iterate.

SPASS

Site Web : spass.mpi-sb.mpg.de

SPASS : Dmontreur de thormes automatis pour des logiques de premier ordre avec galit.

Si vous tes intresss par les dmonstrations de thormes de logique du premier ordre, lanalyse
formelle de programmes, systmes, protocoles, les approches formelles de projets sur lIA, les
procdures de dcisions, la dmonstration de thormes logique modale, SPASS peut vous
offrir les bonnes fonctionnalits.

ThoughtTreasure

Site Web : www.signiform.com/tt/htm/tt.htm

ThoughtTreasure est un projet pour crer une base de donnes de rgles de sens communs
utiliser dans nimporte quelle application. Il consiste en une base de donnnes dun peu plus de
100 000 rgles et dune API C pour lintgrer dans vos applications. Les emballeurs Python, Perl,
Java et TCL sont dj disponibles.

Torch

9
Site Web : www.torch.ch

Torch est une bibliothque dapprentissage crit en C++. Son but est de fournir ltat de lart des
meilleurs algorithmes. Il est, et sera toujours en dveloppement.

Plusieurs mthodes bases sur les gradients, y compris des perceptions de niveau multiple,
fonctions sur des bases radiales et un mlange de comptences. Plusieurs petits modules
(modules linaires, modules Tanh, modules SoftMax, ...) peuvent tre relis ensembles.

Machine de vecteur de support, pour la classification et la regression.

Distributions logicielles, comprenant Kmeans, des modles de mlanges Gaussiens, des


modles de Markov Masqus, des classificateurs de Baye, et des classes pour la
reconnaissance vocale avec entrainement incorpor.

Modles ensemblistes tels que Bagging et Adaboost.

Modles non paramtriques comme les k plus proches voisins, la regression de Parzen et
lestimateur de densit de Parzen.

Torch est une bibliothque libre dont les auteurs encouragent tout le monde dvelopper de
nouveaux logiciels qui seront inclus dans les versions futures sur le site officiel.

Kits logiciels dIA, applications, etc.


Voici plusieurs applications, kits logiciels, etc. ayant pour but la recherche dans le domaine de
lintelligence artificielle. Leur facilit dutilisation peut varier, dans la mesure o ils ont t conus
pour satisfaire des intrts de recherche particuliers, plus que comme un logiciel commercial sorti de
ltagre.

ASA - Adaptive Simulated Annealing

Site web : www.ingber.com/#ASA-CODE

Site FTP : ftp.ingber.com

ASA (Adaptive Simulated Annealing : Recuit simul adaptatif) est un puissant algorithme en
code C doptimisation globale particulirement pratique pour les systmes non linaires et/ou
stochastiques.

ASA est dvelopp pour trouver statistiquement le meilleur ajustement global dune fonction cot
non linaire et non convexe sur un espace de dimension D. Cet algorithme permet un schma de
refroidissement du recuit pour une temprature T exponentiellement dcroissante dans le temps
recuit k, T=T_0 exp(-c k^1/D). Lintroduction du renouvellement de recuit permet galement une
adaptation aux changements de sensibilits dans un espace paramtrique multi-dimensionnel. Cet
schma de refroidissement de recuit est plus rapide que le recuit de Cauchy rapide, o T = T_0/k,
et encore plus rapide que le recuit de Boltzmann, o T = T_0/ln k.

Babylon

10
Site FTP : ftp.gmd.de/gmd/ai-research/Software/Babylon/

BABYLON est un environnement modulaire, configurable et hybride pour le dveloppement de


systmes experts. Ses caractristiques comprennent les objets, les rgles avec chanage avant et
arrire, la logique (Prolog) et les contraintes. BABYLON est cod et incorpor en Common Lisp.

cfengine

Site web : www.iu.hio.no/cfengine/

Cfengine, ou "moteur de configuration" est un langage de trs haut niveau pour la construction de
systmes experts qui administrent et configurent de grands rseaux informatiques. Cfengine
utilise lide de classes et une forme primitive dintelligence pour dfinir et automatiser la
configuration de grands systmes de faon la plus conomique possible. Cfengine est conu pour
tre une part des systmes immuniss informatiques.

CLEARS

Site web : ????? (Quelquun sait-il encore o trouver le site ?)

Le systme CLEARS est un environnement graphique interactif pour les smantiques de calcul.
Loutil permet lexploration et la comparaison de diffrents formalismes smantiques ainsi que de
leur interaction avec la syntaxe. Cela permet lutilisateur dobtenir une ide de ltendue des
possibilits en matire de construction smantique, ainsi quo se trouve la convergence relle
entre les thories.

CLIPS

Site web : www.ghg.net/clips/CLIPS.html

CLIPS est un outil productif de systme expert de dveloppement et de livraison qui fournit un
environnement complet pour la construction de systmes experts bass sur des rgles ou des
objets.

CLIPS fournit un outil cohsif pour la gestion dune grande varit de connaissances compatible
avec trois diffrents paradigmes de programmation : bas rgles, orient objet et procdural. La
programmation base sur les rgles permet de reprsenter les connaissances comme des
heuristiques, ou rgles empiriques, qui spcifient une srie dactions entreprendre pour une
situation donne. La programmation oriente objet permet des sytmes complexes dtre
models comme composants modulaires (qui peuvent tre facilement rutiliss pour modeler
dautres systmes ou pour crer de nouveaux composants). Les capacits de programmation
procdurale fournies par CLIPS sont similaires celles trouves dans les langages comme le C, le
Pascal, lAda et le Lisp.

Eprover

Site web : http://www.eprover.org/

Site web : http://www4.informatik.tu-muenchen.de/~schulz/WORK/eprover.html

:TODO:

11
FOOL et FOX

Site web : rhaug.de/fool/

Site FTP : ftp.informatik.uni-oldenburg.de/pub/fool

FOOL signifie organisateur flou Oldenburg [Fuzzy Organizer OLdenburg]. Cest le rsultat dun
projet de lUniversit dOldenburg. FOOL est une interface utilisateur graphique pour dvelopper
les rgles de base floues. FOOL va vous aider inventer et maintenir une base de donnes qui
spcifie le comportement dun contrleur flou ou quelque chose de similaire.

FOX est un petit mais puissant moteur flou qui lit la base de donnes, lit des valeurs dentre et
calcule la nouvelle valeur de contrle.

FUF et SURGE

Site web : www.cs.bgu.ac.il/research/projects/surge/index.htm

Site FTP : ftp.cs.bgu.ac.il/pub/fuf

FUF est une implmentation tendue du formalisme des grammaires dunification fonctionnelles
(FUGs : functional unification grammars) introduit par Martin Kay, spcialis dans la tche de
gnration de langage naturel. Il ajoute les fonctionnalits suivantes au formalisme de base :

Types et hritage.

Installation de contrle tendu (maintient de lobjectif, recherche inverse intelligente).

Syntaxe modulaire.

Ces extensions permettent le dveloppement de grandes grammaires qui peuvent tre traites
efficacement et peuvent tre maintenues jour et comprises plus facilement. SURGE est une
grande grammaire syntaxique de ralisations de langlais, crite en FUF. SURGE est dveloppe
pour servir de composant de gnration syntaxique de bote noire dans un systme de gnration
plus grand qui encapsule une connaissance riche de la syntaxe anglaise. SURGE peut aussi tre
utilis comme plate-forme pour lexploration de lcriture de la grammaire dans une perspective
de gnration.

The Grammar Workbench

Site web : ??? www.cs.kun.nl/agfl

Semble tre obsolte ??? Nest plus sur le site, bien que le projet parent se poursuive toujours.

The Grammar Workbench (Latelier de grammaire), ou GWB en abrg, est un environnement


pour le dveloppement ais de grammaires Affix dans le formalisme AGFL. Ses buts sont :

de permettre lutilisateur dintroduire, inspecter et modifier une grammaire ;

deffectuer des vrifications de cohrence sur la grammaire ;

12
de calculer des proprits de la grammaire ;

de gnrer des phrases dexemple ;

daider effectuer des transformations sur la grammaire.

GSM Suite

Site web : www.ibiblio.org/pub/Linux/apps/graphics/draw/

The GSM Suite (la suite GSM) est une srie de programmes pour lutilisation des machines tat
fini en mode graphique. Cette suite consiste en des programmes qui ditent, compilent, et
impriment des machines dtat. La suite comprend un programme ddition, gsmedit, un
compilateur, gsm2cc, qui produit une implmentation C++ dune machine dtat, un gnrateur
PostScript, gsm2ps, et deux autres programmes mineurs. GSM est sous licence publique GNU et
est donc libre dutilisation selon les termes de cette licence.

Isabelle

Site web : isabelle.in.tum.de

Isabelle est un dmontreur de thorme gnrique populaire dvelopp lUniversit de


Cambridge et au TU Munich. Les logiques existantes comme Isabelle/HOL fournissent un
environnement de dmontreur de thorme prt tre utilis pour dassez grandes applications.
Isabelle peut galement servir comme chssis pour un prototypage rapide de systmes dductifs.
Il est prsent avec une grande bibliothque comprenant Isabelle/HOL (logique classique dordre
suprieur), Isabelle/HOLCF (Logique de Scott pour des fonctions calculatoire avec HOL),
Isabelle/FOL (logique du premier ordre classique et intuitive), et Isabelle/ZF (ensemble de
thories de Zermelo-Fraenkel au dessus de FOL).

Jess, the Java Expert System Shell

Site web : herzberg.ca.sandia.gov/jess/

Jess (le shell systme expert Java) est un clone du populaire shell de systme expert CLIPS,
entirement crit en Java. Avec Jess, vous pouvez votre convenance donner vos applets
lhabilit raisonner. Jess est compatible avec toutes les versions de Java, partir de la version
1.0.2. Jess implmente les constructeurs suivants de CLIPS : defrules, deffunctions, defglobals,
deffacts, et deftemplates.

learn

Site web : www.ibiblio.org/pub/Linux/apps/cai/

Learn (apprendre) est programme dapprentissage vocal avec un modle de mmoire.

LISA

Site web : lisa.sourceforge.net

LISA (Lisp-based Intelligent Software Agents : agents logiciels intelligents bass sur Lisp) est un
systme de rgles de production lourdement influenc par JESS (Java Expert System Shell). Il a
en son squelette un moteur de raisonnement bas sur lalgorithme de filtrage de Rete. LISA

13
fournit galement lhabilit raisonner sur dordinaires objets CLOS.

NICOLE

Site web : nicole.sourceforge.net

NICOLE (Nearly Intelligent Computer Operated Language Examiner) est une thorie ou une
exprimentation qui, si on donne un ordinateur suffisamment de combinaisons sur la manire
dont les mots, groupes de mots ou phrases sont lis les uns aux autres, peut vous rpondre. Cest
un essai pour simuler une conversation en apprenant comment les mots se rapportent dautres
mots. Un humain communique avec NICOLE via le clavier et NICOLE rpond avec ses propres
phrases qui sont automatiquement gnres, bases sur ce que NICOLE a stock dans sa base de
donnes. Chaque nouvelle phrase qui a t crite et que NICOLE ne connat pas est ajoute la
base de donne de NICOLE, ce qui tend la base de connaissances de NICOLE.

NLTK

Site web : nltk.sourceforge.net

NLTK, la bote outils de langage naturel (the Natural Language Toolkit), est une suite de
librairies et de programmes en Python pour le traitement statistique et symbolique du langage
naturel. NLTK contient des dmonstrations graphiques et des chantillons de donnes. Il est
accompagn dune documentation fournie, y compris des tutoriels explicant les concepts
sous-jacents des tches de traitement du langage ralises par loutil.

NLTK convient parfaitement aux tudiants qui apprennent le traitement du langage naturel, ou
qui ralisent une recherche dans le TLN ou un domaine approchant, tels que la linguistique, les
sciences cognitives, lintelligence artificielle, lextraction de donnes, et lapprentissage par
machines. NLTK a t utilis avec succs comme outil dapprentissage, outil dtude individuel,
et comme une plateforme de prototypage et de construction de systmes de recherche.

Otter : Systme de dduction automatis (An Automated Deduction System)

Site web : www-unix.mcs.anl.gov/AR/otter/

Notre systme de dduction automatis actuel Otter est conu pour dmontrer les thormes de
logique du premier ordre avec une galit. Les rgles dinfrence dOtter sont bases sur la
rsolution et la paramodulation, et il comprend des procdures pour la rcriture de termes,
lordonnancement de termes, la compltion Knut-Bendix, le pesage, et les stratgies pour diriger
et restreindre les recherches de preuves. Otter peut aussi tre utilis comme un calculateur
symbolique et a un systme de programmation quationnelle incorpor.

PVS

Site web :pvs.csl.sri.com

PVS est un systme de vrification : cest dire un langage de spcification intgr des outils de
support et un dmontreur de thorme. Il est prvu pour capturer la plus sophistique des
mthodes formelles mcanises et pour tre suffisamment robuste pour pouvoir tre utilis pour
des applications significatives. PVS est un prototype de recherche : il volue et samliore au fur
et mesure que nous dveloppons ou appliquons de nouvelles capacits, et lorsque la charge en
utilisation relle expose de nouveaux besoins.

14
SNePS

Site web : www.cse.buffalo.edu/sneps

Site FTP : ftp.cse.buffalo.edu/pub/sneps

Le but long terme du groupe de recherche SNePS est la conception et la construction dun
langage naturel utilisant un agent cognitif informatis, et deffectuer la recherche dans
lintelligence artificielle, les linguistiques calculatoires, et la science cognitive ncessaire pour
cette entreprise. Les trois parties sur lesquelles le groupe met laccent sont la reprsentation du
savoir, le raisonnement, et la comprhension et la gnration du langage naturel. Le groupe est
largement connu pour son dveloppement du systme de reprsentation/raisonnement du savoir
SNePS, et pour Cassie, son agent cognitif informatis.

Soar

Site web : sitemaker.umich.edu/soar

Soar a t dvelopp pour tre une architecture cognitive gnrale. Nous avons lultime intention
de permettre larchitecture Soar de :

travailler sur lensemble des taches attendues dun agent intelligent, des routines jusquaux
problmes extrmement difficiles avec rponse ouverte ;

reprsenter et utiliser les formes appropries du savoir, comme les formes procdurales,
dclaratives, pisodiques et possiblement iconiques ;

se servir de tout lventail des mthodes de rsolution de problmes ;

interagir avec le monde extrieur et

apprendre tous les aspects des tches et leurs performances sur celles-ci.

En dautres termes, notre intention est de donner Soar toutes les comptences requises dun
agent globalement intelligent.

TCM

Site web : wwwhome.cs.utwente.nl/~tcm/

Site FTP : ftp.cs.utwente.nl/pub/tcm/

TCM (Toolkit for Conceptual Modeling : bote outil pour la modlisation conceptuelle) est
notre suite dditeurs graphiques. TCM contient des diteurs graphiques pour des diagrammes
entit-relation, des diagrammes classe-relation, des diagrammes de flux de donnes et
dvnements, des diagrammes de transition dtat, des diagrammes de structure de procd de
Jackson et des diagrammes de rseau systmes, darbres de dcomposition de fonction et
dditeurs de tables varis, tels quun diteur de table fonction-entit ou un diteur de table de
dcomposition de fonction. TCM est facile daccs et procde de nombreuses vrifications de
consistance, dont certaines sont effectues immdiatement, dautre pendant la requte.

15
Yale

Site web : yale.cs.uni-dortmund.de/index.html

Yale (Yet Another Learning Environment : Encore un autre environnement dapprentissage) est
un environnement pour les expriences dapprentissage des machines. Les expriences peuvent
tre faites dun grand nombre doprateurs embots les uns dans les autres de manire arbitraire
et leur installation est dcrite par des fichiers XML qui peuvent tre aisment crs laide de
linterface graphique. Les applications de YALE couvrent la fois les tches dapprentissage de
recherche et du monde rel.

WEKA

Site web : lucy.cs.waikato.ac.nz/~ml

WEKA (Waikato Environnement for Knowledge Analysis : Environnement Waikato pour


lanalyse de connaissance) est la pointe de la technologie de lapplication des techniques
dapprentissage de machines des problmes pratiques. Cest un banc dessai logiciel complet
qui permet danalyser les donnes du monde rel. Il intgre diffrents outils dapprentissage
machine avec un squelette identique et une interface utilisateur uniforme. Il a t conu selon la
mthode de "plus cest simple, mieux cest" qui permet lutilisateur dexprimenter de faon
interactive avec un outil dapprentissage machine simple avant de se tourner vers des solutions
plus complexes.

Connexionnisme
Le connexionnisme est un terme technique pour un groupe de techniques lies. Ces techniques
comprennent des notions comme les Rseaux de Neurones Artificiels, des Rseaux Smantiques et
quelques autres ides similaires. Dans cette section je me concentre essentiellement sur les rseaux de
neurones (bien que je cherche aussi des ressources sur les autres techniques). Les rseaux neuronaux
sont des programmes conus pour simuler le fonctionnement du cerveau. Ils consistent en un rseau de
petits nuds bass sur les mathmatiques, qui fonctionnent ensemble afin de former des schmas
dinformation. Ils ont un potentiel norme et semblent actuellement rencontrer un grand succs dans le
traitement de limage et le contrle de robots.

Bibliothques de classe/code sur le connexionnisme


Ce sont des bibliothques de code ou de classes utiliser dans la programmation dans le domaine du
connexionnisme. Elles ne sont pas destins tre des applications autonomes, mais plus des
applications pour construire vos propres applications.

Logiciel de modlisation Baysienne flexible

Site web : www.cs.utoronto.ca/~radford/fbm.software.html

Ce logiciel implmente les modles Baysiens flexibles pour des applications de rgression et de
classification qui sont bass sur les rseaux neuronaux perception multi-couche ou sur les
transformations Gaussiennes. Limplmentation utilise les mthodes de Monte Carlo de chane de
Markov. Les modules logiciels qui sont compatibles avec lchantillonnage des chanes de
Markov sont incluses dans la distribution, et peuvent tre utiles dautres applications.

16
BELIEF

Site web : www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/reasonng/probabl/belief/

BELIEF (croyance) est une implmentation Common Lisp de la fusion et de lalgorithme de


propagation de Dempster et Kong pour des Modles de Fonction de Croyances Graphique et
lalgorithme de Lauritzen et Spiegelhalter pour des Modles Probabilistes Graphiques. Il
comprend du code pour manipuler les modles de Croyance graphiques comme les rseaux
Baysiens et les diagrammes de Relevance (un sous-ensemble des diagrammes dInfluence) en
utilisant la fois les fonctions de croyance et les probabilits comme des reprsentations basiques
de lincertitude. Il utilise la version de Shenoy et de Shafer de cet algorithme, donc lune de ses
caractristiques uniques est le fait quil supporte la fois les distributions de probabilit et les
fonctions de croyance. Il possde aussi un support limit des modles de second ordre
(distributions de probabilit sur les paramtres).

bpnn.py

Site web : arctrix.com/nas/python/bpnn.py

Un simple ANN propagation arrire en Python.

CNNs

Site web : www.isi.ee.ethz.ch/~haenggi/CNNsim.html

Un site plus rcent : www.isi.ee.ethz.ch/~haenggi/CNNsim_adv_manual.html

Version Java : www.ce.unipr.it/research/pardis/CNN/cnn.html

Rseaux neuronaux cellulaires (CNN : Cellular Neural Networks) est un paradigme


dinformatique parallle massive dfini dans des espaces discrets de dimension N.

CONICAL

Site web : strout.net/conical/

CONICAL est une bibliothque de class en C++ pour construire des simulations communes la
neuroscience informatique. Actuellement, elles se concentrent sur la modlisation
compartimentale, avec des caractristiques proches de GENESIS et NEURON. Un modle de
NEURON est fait de compartiments, souvent avec une forme cylindrique. Quand ils sont assez
petits, ces cylindres possibilit dextension peuvent approximer quasiment toutes les
gomtries. Les classes futures pourront accepter les cinmatiques de raction-diffusion et bien
plus. Une caractristique clef de CONICAL est sa compatibilit travers les plates-formes, il a
t entirement codvelopp et test sous Unix, DOS et Mac OS.

Larchitecture neuronale de Jet

Site web : www.voltar-confed.org/jneural/

Larchitecture neuronale de Jet est un chssis C++ pour faire des projets de rseau neuronaux. Le
but de ce projet tait de faire une architecture neuronale rapide et flexible qui nest pas limit
une sorte de rseau, et de sassurer que lutilisateur final pourra facilement crire des applications
utiles. De mme, toute la documentation est facile daccs.

17
Joone

Site web : joone.sourceforge.net

Joone est un chssis de rseau neuronal pour crer, entraner et tester des rseaux neuronaux. Le
but est de crer un environnement distribu pour des utilisateurs enthousiastes ou professionnels,
bas la fois sur JavaSpaces et sur les dernires technologies Java. Joone est compos dun
moteur central qui est le fulscrum de toute application qui existe dj ou qui va tre dvelopp. Le
moteur neuronal est modulaire, de taille rglable, multi-tches et robuste. Tout le monde peut
crire de nouveaux modules pour implmenter de nouveaux algorithmes ou de nouvelles
architectures partir des simples composants distribus avec le moteur central. Lide principale
est de crer les bases pour promouvoir un million dapplications sur lIA qui rsolveront les
problmes autour du cur de la structure.

Classe Matrice

Site FTP : ftp.cs.ucla.edu/pub/

Une classe Matrice C++ simple, rapide et efficace conue pour les scientifiques et les ingnieurs.
La classe Matrice est tout fait adapte des applications avec des algorithmes mathmatiques
complexes. A titre dexemple de lutilit la classe Matrice, elle a t utilis pour implmenter
lalgorithme de rtropropagation de lerreur pour un rseau neuronal artificiel raction positive
multi-couche.

Neural Networks at your Fingertips (Rseaux Neuronaux sur le bout des doigts)

Site web : http://www.neural-networks-at-your-fingertips.com/

:TODO:

NEURObjects

Site web : http://www.disi.unige.it/person/ValentiniG/NEURObjects/

:TODO:

Pulcinella

Site web : iridia.ulb.ac.be/pulcinella/Welcome.html

Pulcinella est crit en Common Lisp, et semble tre une bibliothque de fonctions Lisp pour la
crer, modifier et valuer des systmes valus. Alternativement, lutilisateur peut choisir
dinteragir avec Pulcinella via une interface graphique (disponible uniquement dans le CL
Allegro). Pulcinella fournit les primitives pour construire et valuer des modles incertains en
accord avec plusieurs calculs incertains, comprenant la thorie de la probabilit, la thorie de la
possibilit, et la thorie des fonctions de croyance de Dempster-Shafer, et la thorie de la
possibilit par Zadeh, Dubois et Prade. Un manuel est disponible sur demande.

ScnANNlib

Site web : www.sentinelchicken.org/projects/scnANNlib/

18
SCN Artificial Neural Network Library (Bibliothque de rseau neuronal artificiel SCN) fournit
un programmateur avec une API simple oriente objet pour construire des ANNs. Actuellement,
la bibliothque est compatible avec les rseaux non rcursifs avec un nombre de couches
arbitraires, chacune avec un nombre de nuds arbitraires. Des installations existent pour
sentraner avidement, et il existe des plans pour tendre gracieusement les fonctionnalits de la
bibliothque dans ses versions futures.

Applications du UTCS Neural Nets Research Group

Site web : www.cs.utexas.edu/users/nn/pages/software/software.html

Cette entre, un peu diffremment des autres, est une rfrence une collection de logiciels plutt
qu une seule application. Elle a t dveloppe par le UTCS Neural Net Research Group
(Groupe de recherche sur les rseaux neuronaux UTCS). Voici un rsum des logiciels
disponibles :

Traitement du langage naturel

MIR - Prototypage rapide bas sur TCL/TK pour le traitement des phrases

SPEC - Analyse grammaticale des phrases complexes

DISCERN - Traitement dhistoires bases sur les scripts, comprenant :

PROC - Analyse grammaticale, gnration, rponse des questions

HFM - Organisation de la mmoire pisodique

DISLEX - Traitement lexical

DISCERN - Le modle intgr complet

FGREPNET - Apprentissage des reprsentations distribues

Auto-organisation

LISSOM - Carte auto-organisante avec des connections latrales.

FM - Cartes auto-organisantes gnriques

Neurovolution

Sous-populations disciplines (ESP : Enforced Sub-Populations) pour les taches de


dcision squentielle.

Equilibrage de ple double non markoviens.

Neurovolution adaptive et symbiotique (SANE : Symbiotic, Adaptive NeuroEvolution,


prdcesseur dESP)

JavaSANE - Application Java pour appliquer SANE de nouvelles tches.

19
SANE-C - Version C, prdcesseur de JavaSANE.

Equilibrage de ples - SANE de niveau neuronal sur la tche dquilibrage de


ple.

Programme de neurovolution daugmentation de topologies (NEAT : NeuroEvolution


of Augmenting Topologies) pour lvolution de rseau neuronaux utilisant une
structure.

Divers rseaux neuronaux (C++)

Site web : www.dontveter.com/nnsoft/nnsoft.html

Exemples de codes de rseaux neuronaux tirs du livre The Pattern Recognition Basics of AI. Ce
sont des exemples simples de codes de ces divers rseaux neuronaux. Ils fonctionnent
correctement comme un bon point de dpart pour des exprimentations simples et pour apprendre
quoi ressemble le code derrire les simulateurs. Les types de rseaux disponibles sur le site
(cods en C++) sont :

le paquetage Backprop

Les algorithmes du plus proche voisin

Lalgorithme dactivation interactive

Les algorithmes des machines de Hopfield et de Boltzman

Le classificateur de schma linaire

ART I

La mmoire associative bi-directionnelle

Le rseau rtropropagation et raction positive.

A venir
:TODO:

Informatique volutive
Linformatique volutive est en ralit un terme gnral pour un grand nombre de techniques de
programmation, y compris des algorithmes gntiques, systmes adaptatifs complexes, programmation
volutive, etc. Linitiative principale de toutes ces techniques est lide dvolution. Lide quun
programme pouvant voluer vers un certain objectif puisse tre crit. Cet objectif peut tre nimporte
o entre la rsolution dun problme scientifique et la victoire dans un jeu.

:TODO:

20
A venir
:TODO:

Les agents
Aussi connus sous le nom dagents intelligents ou simplement agents, ce domaine de recherche en IA
traite de petites applications destines aider lutilisateur(trice) dans son travail. Ils peuvent tre
mobiles (capables de stopper leur excution sur une machine et de la relancer sur une autre) ou
statiques (en demeurant dans une seule machine). Ils sont le plus souvent spcifiques une tche (donc
relativement simples) et conus pour aider lutilisateur la manire dun assistant. Jusqu prsent,
lutilisation la plus courante (cest dire la plus largement rpandue) de ce type dapplication concerne
les robots dindexation, que beaucoup de moteurs de recherche utilisent (ex.: webcrawler).

Agent

Site FTP : www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Agent/

Agent est le prototype dun systme "Information Agent". Il est la fois multiplateforme et
multilangue, car il stocke les informations rcoltes dans de simples chanes de caractres
condenses. Il peut tre condens et transport travers le rseau dans nimporte quel format, car
lagent peut sautobloquer dans son tat initial.

agentTool

Site Web : en.afit.af.mil/ai/agentool.htm

Site de tlchargement : en.afit.af.mil/ai/registration.htm

Autre cadre de dveloppement dagent conu en Java. Il est assez unique dans le fait quil
sappuie sur lutilisation dune interface graphique pour concevoir le systme qui va "synthtiser
semi-automatiquement des systmes multiagents pour rpondre ces exigences". Il vous faut un
navigateur compatible java pour pouvoir tlcharger le logiciel. :P

Aglets Workbench

Site Web : www.trl.ibm.com/aglets/index_e.htm

Un aglet est un objet Java qui peut se dplacer dun hte un autre sur Internet. Cela veut dire
quun aglet sexcutant sur une machine peut brusquement arrter son excution, sexpdier sur
une machine distante, et reprendre son droulement sur son nouvel hte. Quand laglet se
dplace, il emporte aussi bien son code source que son tat (ses donnes). Un mcanisme de
scurit intgr scurise laccueil daglets dorigine incertaine pour lhte. LAPI dAglet Java
(J-AAPI) est un standard propos au public pour interfacer les aglets et leur environnement.
J-AAPI contient des fonctions pour initialiser les aglets, grer les messages et expdier, retirer,
activer ou dsactiver, cloner, ou se dbarrasser de laglet. J-AAPI est simple, souple, et stable.
Les dveloppeurs dapplications peuvent coder des aglets multiplateformes en considrant quils
peuvent fonctionner sur nimporte quelle machine supportant J-AAPI.

A.L.I.C.E.

21
Site Web : www.alicebot.org

Le logiciel ALICE implmente lAIML (Artificial Intelligence Markup Language), un langage


balise non standard en volution, permettant de crer des robots de "chat". La caractristique de
base de sa conception est minimaliste. Compar dautres langages de robot de "chat", lAIML
est peut-tre le plus simple. Le langage de filtrage est trs simple, ne permettant par exemple
quun seul caractre joker (*) de comparaison par filtre. LAIML est un langage XML, ce qui
implique quil obit certaines mta-rgles grammaticales. Le choix dune syntaxe XML rend
possible lintgration avec dautres outils tels que des diteurs XML. Une autre motivation du
choix du XML est son apparence familire, particulirement pour les personnes exprimente en
HTML.

Ara

Site Web : wwwagss.informatik.uni-kl.de/Projekte/Ara/index_e.html

Ara est une plateforme dexcution sre et portable dagents mobiles dans les rseaux
htrognes. Dans ce contexte, les agents mobiles sont des programmes ayant la capacit de
changer de machine hte pendant leur excution tout en prservant leur tat interne. Cela leur
permet de grer des oprations localement, plutt que de devoir les effectuer distance. Par
rapport aux plateformes du mme type, le but prcis dAra est de fournir des fonctionnalits
compltes dagent mobile, tout en maintenant autant que possible des modles et langages de
programmation tablis.

BattleBots

Site Web : www.bluefire.nu/droidbattles/

Jeu de programmation dIA o lon conoit un robot en choisissant du matriel et en


programmant son unit centrale, puis en faisant des comptitions avec dautres robots. Les
comptitions peuvent engager des quipes et des rgles spciales pour un jeu.

Le matriel disponible pour concevoir votre robot comprend des armes, un moteur, des scanners,
un microprocesseur, etc. Le langage de programmation dpend du type de votre CPU et est
similaire un langage dassemblage.

Bee-gent

Site Web : www2.toshiba.co.jp/beegent/index.htm

Bee-gent est un nouveau type de cadre de dveloppement car cest un systme dagent 100%.
Par opposition dautres systmes qui ne font quune utilisation partielle des agents, Bee-gent
"agentifie" compltement la communication qui a lieu entre les applications logicielles. Les
applications deviennent des agents, et tous les messages sont transports par les agents. Ainsi,
Bee-gent permet aux dveloppeurs de construire des systmes ouverts, distribus et souples, qui
permettent une utilisation optimale des applications existantes.

Bond

Site Web : bond.cs.ucf.edu/

22
Encore un autre systme dagent en Java...

Bond est un systme dobjets distribus conu en Java et un cadre dagent. Il met en application
un logiciel mdian bas sur des messages et des services associs tels quun annuaire, la
persistance, la surveillance et la scurit. Bond permet de construire facilement des applications
rparties multiagents. Une autre application future de Bond est le Laboratoire Virtuel supportant
lannotation dinformations et linformatique rpartie grande chelle.

Cadaver

Site Web : www.erikyyy.de/cadaver/

Cadaver simule en temps rel des cyborgs et la nature. Le champ de bataille est constitu de
forts, de bl, deau, dherbe, de carcasses (bien sr) et de plein dautres choses. Le serveur de jeu
contrle le jeu et les rgles. Vous dmarrez le serveur et connectez quelques clients. Les clients
communiquent avec le serveur en utilisant un protocole trs primitif. Ils peuvent donner lordre
aux cyborgs de moissonner le bl, dattaquer des ennemis ou de couper du bois. Le jeu nest pas
destin tre jou par des humains! Il y a beaucoup trop de choses contrler. Rserv aux
experts : vous pouvez uniquement vous connecter au serveur par telnet et entrer les commandes
manuellement. Mais lide est plutt que vous criviez des clients dots dune intelligence
artificielle pour battre les autres intelligences artificielles. Vous pouvez slectionner un langage
(et un systme dexploitation) de votre choix pour effectuer cette tche. Il ny a qu crire un
programme qui communique sur les canaux dentre et de sortie standard. Puis vous pouvez
employer des programmes tels que "socket" pour connecter vos clients au serveur. Il nest PAS
ncessaire dcrire du code TCP/IP, bien que je lai fait :) La bataille ne sera pas ennuyeuse, donc
vous disposez du client appel "spyboss" qui affiche graphiquement laction lcran.

Cougaar

Site Web : www.cougaar.org/

Cougaar est une architecture Java pour la construction dapplications base dagents distribus
grande chelle. Cest le produit de plusieurs annes de recherche dans le cadre du projet DARPA
sur les systmes dagents grande chelle, et il inclut non seulement larchitecture du noyau mais
aussi un ensemble de composants de dmonstration, de visualisation et dadministration pour
simplifier le dveloppement dapplications complexes et distribues. [Encore un autre systme
dagents conu en Java - ed.]

DAgent (anciennement AGENT TCL)

Site Web : agent.cs.dartmouth.edu/software/agent2.0/

Site FTP : agent.cs.dartmouth.edu/pub/agents/

Un agent transportable est un programme qui peut migrer dune machine une autre dans un
rseau htrogne. Le programme choisit o et quand il va migrer. Il peut suspendre son
excution un certain point, se dplacer sur une autre machine et reprendre lexcution sur la
nouvelle machine. Par exemple, un agent transportant un courrier lectronique migre dabord vers
le routeur et ensuite vers la bote mail du destinataire. Lagent peut effectuer arbitrairement un
traitement complexe sur chaque machine afin de sassurer que le message atteint le bon
destinataire.

23
Dunce

Site Web : www.boswa.com/misc/dunce/

Dunce est un simple robot de "chat" (IA conversationnelle) et un langage pour programmer ce
type de robots. Il emploie un filtrage dexpressions rationnelles de base et un mcanisme
semi-neuronal de lancement de rgles et de rponses (avec des cycles acclration /
ralentissement dactivit).

FIPA-OS

Site Web : fipa-os.sourceforge.net/

Site Web secondaire : www.nortelnetworks.com/products/announcements/fipa/

FIPA-OS est limplmentation "open source" des lments obligatoires contenus dans la
spcification FIPA ncessaires linteroprabilit des agents. En plus dtre compatible avec le
concept dinteroprabilit de FIPA, FIPA-OS fournit galement une architecture base sur des
composants permettant le dveloppement dagents spcifiques un domaine, pouvant utiliser les
services des agents de la plateforme FIPA. Il est implment en Java.

FishMarket

Site Web : www.iiia.csic.es/Projects/fishmarket/newindex.html

FM - Le projet FishMarket men par l "Artificial Intelligence Research Institute" (IIIA-CSIC)


tente dapporter sa contribution dans cette direction en dveloppant FM, une maison de ventes
aux enchres lectronique gre par des agents, qui a t transforme en banc dessai pour les
marchs denchres lectroniques. Le cadre, conu et mis en application comme extension de
FM96.5 (une version Java de la maison de ventes de Fishmarket), permet de dfinir des scnarii
de transactions bass sur les enchres la crie (enchres hollandaises). FM fournit un cadre o
les concepteurs dagent peuvent raliser des expriences contrles de telle manire quune
multitude de scnarii de marchs exprimentaux - que nous considrons comme scnarii de
comptition du fait de la nature concurrentielle du domaine - dun ralisme et dune complexit
plus ou moins forts peuvent tre tablis, activs, et enregistrs ; et de telle manire que les agents
htrognes (humains et logiciels) dchange (acheteur et vendeur) peuvent tre compars,
accords et valus.

GNU Robots

Site Web : www.gnu.org/software/robots/robots.html

GNU Robots est un jeu / divertissement o il vous faut construire un programme pour un petit
robot, puis le regarder explorer un monde. Le monde en question est rempli de mchants qui
peuvent vous blesser, dobjets dans lesquels vous pouvez frapper, et de nourriture que vous
pouvez manger. Le but de ce jeu est de collecter autant de prix que possible avant dtre tu par
un ennemi ou dtre court dnergie. Les robots peuvent tre crits en script "Guile" ou en
utilisant une interface graphique.

Grasshopper

24
Site Web : www.grasshopper.de/

Autre systme dagent en Java. Possde de nombreuses fonctionnalits et est activement


dvelopp. Commercial mais libre. Orient lorigine vers les systmes embarqus.

Hive

Site Web : hive.sourceforge.net/

Hive est une plateforme logicielle en Java pour crer des applications rparties. En utilisant Hive,
les programmeurs peuvent facilement crer des systmes qui se connectent et utilisent des
donnes provenant dinternet. Au fond, Hive est un environnement dvolution pour les agents
distribus, qui communiquent et se dplacent pour accomplir des tches. Nous essayons de rendre
Internet vivant.

ICM

Site Web : www.nar.fujitsulabs.com/

Site sur SourceForge : sourceforge.net/projects/networkagent/

Inter-Agent Communication Model (ICM, Modle de Communication Inter-agents) est un


mcanisme de communication pouvant tre utilis pour envoyer des messages entre agents en
mode asynchrone. Son domaine dapplication prvu est le mcanisme de transport pour les
langages de communication dagent (ACLs), comme KQML et ACL de FIPA.

Jacomma

Site Web : jacomma.sourceforge.net/

Site sur SourceForge : sourceforge.net/projects/jacomma/

Jacomma est une plateforme / un cadre de dveloppement pour dvelopper des agents
dinformation distribus, mobiles et ractifs, avec des capacits de communication htrogne, en
Java et Jpython.

Jacomma fournit un cadre de dveloppement et un environnement dexcution, qui repose sur


linfrastructure "Inter-Agent Communication Model". ICM dfinit un protocole de
communication, une architecture de stockage et dexpdition de messages, et une infrastructure
de communication bas niveau pour lchange de messages. La communication est rellement
asynchrone, base sur des sockets TCP.

Il y a une rubrique sur ICM dans ce guide, vous pouvez galement le trouver via un lien partir
de ce site.

Jade

Site Web : sharon.cselt.it/projects/jade/

JADE (Java Agent DEvelopment Framework) est un cadre de dveloppement logiciel


compltement implment en langage Java. Cela simplifie limplmentation de systmes
multiagents travers un logiciel mdian dont on est assur quil est conforme aux spcifications
de la FIPA, et travers un ensemble doutils permettant le dbuggage et la phase de dploiement.

25
La plateforme dagents peut tre distribue entre diverses machines (qui nont mme pas besoin
de partager le mme systme dexploitation) et sa configuration peut tre ralise au moyen dune
interface graphique distante. La configuration peut mme tre change au cours de lexcution, en
dplaant les agents dune machine une autre, au fur et mesure que cela est ncessaire.

JAM Agent

Site Web : www.marcush.net/IRS/irs_downloads.html

JAM accepte aussi bien les modes de raisonnement descendant ( base de buts atteindre) que les
modes de raisonnement ascendant ( partir des donnes). JAM choisit ses objectifs et plans selon
la priorit maximale si le raisonnement mtaniveau nest pas utilis, ou sur les plans de
raisonnement mtaniveau dvelopps par lutilisateur si ceux-ci existent. Pour JAM, la
conceptualisation des objectifs et laccomplissement des objectifs est dfinie plus classiquement
(UMPRS est plus bas sur les performances comportementales que vritablement sur les
objectifs) et fait la distinction entre les plans pour atteindre un objectif et les plans qui encodent
simplement les comportements. Les objectifs-type implments incluent la ralisation (atteindre
un tat donn du systme), la maintenance (atteindre de nouveau cet tat donn du systme), et la
performance. Lexcution simultane dobjectifs multiples est possible, avec une capacit de
suspension et de reprise pour chaque processus dobjectif (c--d dintention). Les plans de JAM
ont des proprits explicites de condition priori et de fonctionnement qui restreignent leur
applicabilit, une proprit de condition posteriori et une section des proprits du plan sont
utilises pour dfinir des caractristiques spcifiques un plan ou un domaine. Les constructions
de plan disponibles incluent : lordonnancement, litration, les objectifs partiels, les segments de
plan atomiques (c--d non-interruptible), lexcution conditionnelle non dterministe et
dterministe n-branche, lexcution parallle de segments de plan multiples, la synchronisation
base sur ltat donn du systme ou les objectifs, une section de manipulation des dfaillances
explicite, et la dfinition de primitives de fonction Java au moyen de sa construction dans JAM
aussi bien que linvocation de membres de classe prdfinies (c--d propritaire) via les capacits
de rflexion de Java, sans avoir le construire dans JAM.

JATLite

Site Web : java.stanford.edu/

JATLite fournit un ensemble de paquetages Java qui facilite la conception de systmes


multiagents en Java. JATLite fournit seulement un ensemble petit et lger de paquetages, de sorte
que les dveloppeurs puissent se dbrouiller avec tous les paquetages avec un minimum defforts.
Pour plus de souplesse, JATLite fournit quatre couches diffrentes, dune implmentation
abstraite une implmentation "Router". Un utilisateur peut accder nimporte quelle couche
fournie. Chaque couche est base sur un ensemble de postulats diffrents. Lutilisateur peut
choisir la couche approprie selon les postulats de la couche et de lapplication de lutilisateur. La
page dintroduction prsente les fonctionnalits de JATLite et lensemble des postulats de chaque
couche.

JATLiteBeans

Site Web : waitaki.otago.ac.nz/JATLiteBean/

Interface de JATLite amliore et maniabilit accrue, comprenant lenvoi, la rception et


lanalyse lexicale des messages KQML

26
Architecture extensible pour la gestion des messages et ladministration "thread of control"
(NdT : unit dexcution) des agents

Fonctions utiles pour lanalyse lexicale du contenu de messages KQML simples

JATLiteBean permet la transmission automatique aux agents animateurs de linformation sur


les capacits des agents

Gestion automatique, facultative de la directive "forward"

Analyseur lexical des fichiers gnriques de configuration

Vrificateur syntaxique de KQML

Java(tm) Agent Template

Site Web : www-cdr.stanford.edu/ABE/JavaAgent.html

Le JAT fournit un modle pleinement fonctionnel, crit entirement en langage Java, qui permet
de construire des agents logiciels qui communiquent en poste--poste ("peer-to-peer") avec une
communaut dautres agents rpartis sur Internet. Bien que des portions du code utilis dans
chaque agent soient portables, les agents JAT ne sont pas mobiles mais restent statiques sur une
seule machine. Ce comportement est en opposition beaucoup dautres technologies "agent".
(Cependant, en utilisant le RMI Java, les agents JAT pourraient se dplacer dynamiquement sur
une machine extrieure par lintermdiaire dun agent rsidant sur cette seconde machine).
Actuellement, tous les messages dagent emploient KQML comme protocole de haut niveau ou
comme emballeur de message. Le JAT possde une fonctionnalit pour changer dynamiquement
les "Ressources", qui peuvent inclure des classes Java (ex.: nouveaux langages ou interprteurs,
services distants, etc.), des fichiers de donnes et des informations intgrs dans les messages
KQML.

Khepera Simulator

Site Web : diwww.epfl.ch/lami/team/michel/khep-sim/index.html

Khepera Simulator est un paquetage logiciel du domaine public crit par Olivier MICHEL
pendant la prparation de son doctorat, au Laboratoire I3S, URA 1376 du CNRS et de
lUniversit de Nice-Sophia Antipolis, en France. Il permet dcrire son propre contrleur en
langage C ou C++ pour le robot mobile Khepera, de le tester dans un environnement simul, et
comporte une belle interface graphique X11 colore. De plus, si vous possdez un robot Khepera,
le simulateur peut commander le vrai robot en utilisant le mme algorithme de contrle. Il est
principalement destin aux chercheurs tudiant les agents autonomes.

Lyntin

Site Web : lyntin.sourceforge.net/

Lyntin est un client "Mud" (Multi-User Dialog, dialogue multi-utilisateur) extensible et un cadre
de dveloppement dagents autonomes, ou de robots, aussi bien que tout ce qui approche le
"mudding" en gnral. Lyntin est bas sur du Python, langage de programmation amusant,
dynamique et orient objet, bas sur TinTin++, un beau client "mud".

27
Mole

Site Web : mole.informatik.uni-stuttgart.de/

Mole est un systme dagent compatible avec les agents mobiles programms en Java. Les agents
de Mole sont un regroupement dobjets, qui nont pas de rfrence vers lextrieur, et qui dans
lensemble travaillent sur des tches donnes par lutilisateur ou par dautres agents. Ils ont la
capacit dvoluer sur un rseau d"emplacements" de faon autonome. Ces "emplacements" sont
une abstraction de nuds rels, qui existent dans le rseau sous-jacent. Ils peuvent accder des
ressources de nature locale, en communiquant avec les agents ddis reprsentant ces services.
Les agents sont capables dutiliser les services fournis par dautres agents et de fournir galement
des services.

Narval

Site Web : www.logilab.fr/narval.html et www.logilab.org/projects/narval

Narval signifie Assistant Rseau pour la Visualisation de Ressources et Langage dAgent


("Network Assistant for Ressources Visualization and Agent Language"). Cest un assistant
personnel en rseau bas sur lintelligence artificielle et les technologies dagent. Il excute des
recettes (squences dactions) pour effectuer ses tches. Il est trs facile de dfinir une nouvelle
action grce du XML et de limplmenter en utilisant Python. Les recettes peuvent tre codes
et dbogues au moyen dune interface graphique.

NeL

Site Web : www.nevrax.org/

NeL est en fait une bibliothque de dveloppement de jeux (pour les jeux multijoueurs massifs),
mais je le signale ici car il devrait inclure une bibliothque dIA assez considrable. Voici une
notice tire du livre blanc :

Le but de cette bibliothque dIA est de fournir une approche pragmatique pour crer une
plateforme dagents distribus. Elle est centre sur les agents ; des entits individuelles
communiquant indpendamment de lendroit, en utilisant un modle action-raction.

OAA

Site Web : www.ai.sri.com/~oaa/

"Open Agent Architecture" (Architecture Ouverte dAgents) est un cadre dans lequel une
communaut dagents logiciels sexcutant sur des machines distribues peuvent travailler
ensemble sur des tches assignes par des participants de la communaut, humains ou non. La
coopration distribue et la communication haut-niveau sont deux ides centrales lorigine
dOAA.

Il dfinit un langage de communication inter-agent et est compatible avec de multiples


plateformes et langages de programmation.

PAI

28
Site Web : utenti.quipo.it/claudioscordino/pai.html

PAI ("Programmable Artificial Intelligence", Intelligence Artificielle Programmable) est un


programme capable de soutenir une conversation dans sa langue maternelle, langlais. Ecrit en
C++.

Penguin!

Site FTP : www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Penguin/FSG/

Penguin est un module Perl version 5. Il vous fournira un ensemble de fonctions qui vous
permettront de :

envoyer du code Perl crypt, avec signature numrique vers une machine distante o il sera
excut.

recevoir du code et, selon le signataire du message, lexcuter dans un compartiment


arbitrairement scuris et limit.

La combinaison de ces fonctions permet le codage direct en Perl dalgorithmes qui permettent un
commerce lectronique sr, des agents mobiles de rcupration dinformation, des applications
daide la navigation en contenu temps rel sur Internet ("live content"), le calcul distribu
rpartition de charge, la mise jour de logiciel distance, ladministration de machines distantes,
la propagation dinformation base sur le contenu, les applications de donnes partages travers
Internet, les gnrateurs dapplications rseau, et ainsi de suite.

Ps-i

Site Web : ps-i.sourceforge.net/

Ps-i est un environnement permettant deffectuer des simulations bases sur des agents. Il est
multiplateforme, et un excutable est disponible pour Win32. Ses fonctionnalits sont :

langage dclaratif pour la spcification des modles

langage de script Tcl/Tk conforme aux normes industrielles avec optimisation intgre des
sous-programmes, valuation spculative, de plus les utilisateurs du compilateur JIT xf86
pourront crer des modles complexes sans dgradation de performance

interface conviviale

sauvegarde et restauration du droulement du programme

changement des paramtres du modle la vole

visualisation des donnes : affichage dagent par champs avec de multiples formes et
couleurs, fentre de statistiques, visionneur dagents, explorateur de sous-programmes et
outil de mise en surbrillance dagents

RealTimeBattle

29
Site Web : www.lysator.liu.se/realtimebattle/

RealTimeBattle (Bataille Temps Rel) est un jeu de programmation dans lequel les robots,
contrls par des programmes, se battent les uns contre les autres. Lobjectif est de dtruire ses
ennemis, laide du radar pour observer les alentours et du canon pour tirer.

Le jeu se droule en temps rel, le programme du robot sexcutant en tant que processus fils
de RealTimeBattle.

Les robots communiquent avec le programme principal via lentre et la sortie standard.

Les robots peuvent tre construits dans presque nimporte quel langage de programmation.

Autant de robots que voulu peuvent concourir simultanment si le systme dexploitation le


permet.

Un langage de transmission de messages simple est utilis pour communiquer, ce qui facilite
le dbut de la construction de robots.

Les robots se comportent comme des objets physiques rels.

Vous pouvez crer vos propres arnes.

Hautement configurable.

Remembrance Agents

Site Web : www.remem.org/

Remembrance Agents (les Agents du Souvenir) sont un ensemble dapplications qui veillent sur
lutilisateur et suggrent des informations concernant la situation actuelle. Tandis que les moyens
mnmoniques bass sur des requtes aident la remmoration directe, les agents de souvenir sont
une mmoire associative tendue. Par exemple, la version du traitement de texte de RA met
continuellement jour une liste de documents en rapport avec ce qui est saisi ou lu dans un
tampon demacs. Ces documents suggrs peuvent tre nimporte quel fichier texte qui pourrait
tre en rapport avec ce que vous tres en train dcrire ou de lire. Ils pourraient tre de vieux
courriers lectroniques lis au courrier que vous tes en train de lire, ou des rsums de la
recherche et des articles de journaux qui traitent du mme sujet que ce que vous crivez.

RoboTournament

Site Web : robotournament.sourceforge.net/

RoboTournament est un jeu inspir de RoboRally o les joueurs programment leurs robots pour
vaincre leurs adversaires. Les fonctionnalits de RoboTournament sont : types de jeu multiples :
match mort, rallye et capture de drapeau. Multijoueurs via TCP/IP, six armes y compris le BFG,
un diteur de cartes, et une grande varit dlments de tableau de bord.

SimRobot

Site Web : www.informatik.uni-bremen.de/simrobot/index_e.htm

30
Site FTP : ftp.uni-bremen.de/pub/ZKW/INFORM/simrobot/

SimRobot est un programme de simulation de robots avec capteurs dans un environnement 3D.
Ecrit en C++, il fonctionne sous Unix et X11 et requiert la bote outils graphique Xview.

Simulation de la cinmatique du robot

Dfinition de scne construite hirarchiquement par lintermdiaire dune langue de


dfinition simple

Divers capteurs intgrs : appareil photo, il facettes, mesure de distances, capteur de


luminosit, etc.

Les objets sont dfinis comme des polydres

Emetteur dfini abstraitement : peut tre interprt par exemple comme lumire ou bruit

Images dappareil-photo calcules selon les algorithmes de raytracing ou de Z-buffer que


lon connat par linfographie

Interface logicielle de capteur/moteur spcifique pour communiquer avec la simulation

Mappage de textures sur les surfaces de lobjet : bitmaps dans divers formats

Visualisation complte de la scne : rendu en fil de fer sans lignes caches, ni valeurs de
capteur ou dacteur

Le contrle des agents et lopration dans lenvironnement sont aussi bien interactifs que
traits par lots

Dtection des collisions

Capacit dextension grce des types dobjet dfinis par lutilisateur

Communication par socket possible vers, par exemple, le logiciel de traitement dimage
Khoros

Sulawesi

Site Web : wearables.essex.ac.uk/sulawesi/

Un cadre de dveloppement appel Sulawesi a t conu et implment pour aborder ce qui est
considr comme des dfis importants dans les interfaces utilisateur tout usage [NdT : en anglais
le terme wearable est utilis, pour exprimer la possibilit dun systme que lon peut emporter sur
soi, intgr ou non aux vtements] : la capacit daccepter une entre venant de nimporte quel
nombre de modalits, et deffectuer au besoin une traduction vers nimporte quel nombre de
sorties modales. Cela est fait principalement au moyen dun ensemble dagents qui agissent par
anticipation sur lentre.

TclRobots

31
Site Web : www.nyx.net/~tpoindex/

TclRobots est un jeu de programmation, semblable Core War . Pour jouer TclRobots, vous
devez crire un programme en Tcl qui contrle un robot. La mission du robot est de survivre
une bataille contre dautres robots. Deux, trois ou quatre robots combattent pendant une bataille,
chacun utilisant un programme diffrent (ou ventuellement le mme programme dans diffrents
robots). Chaque robot est quip avec un radiomtre balayage, un canon, et un mcanisme de
dplacement. Un duel ne sarrte que lorsquil ne reste quun seul robot oprationnel. Les robots
peuvent combattre individuellement, ou par quipe. Un tournoi peut avoir lieu avec nimporte
quel nombre de programmes de robot, chaque robot jouant contre tous les autres dans une poule,
en face face individuel. Un simulateur de bataille est disponible pour aider la mise au point
des programmes de robot.

Le programme TclRobots fournit un environnement physique, imposant certains paramtres de


jeu auxquels tous les robots doivent adhrer. TclRobots fournit galement une vue de la bataille,
et une interface de contrle pour lutilisateur. Conditions pour utiliser TclRobots : un interprteur
"wish" conu pour Tcl 7.4 et Tk 4.0.

TKQML

Site Web : www.csee.umbc.edu/tkqml/

TKQML est une application / un ajout KQML Tcl/Tk, ce qui permet aux systmes bass sur Tcl
de communiquer facilement avec un puissant langage de communication dagent.

The Tocoma Project

Site Web : www.tacoma.cs.uit.no/

Un agent est un processus qui peut migrer travers un rseau informatique dans le but de
satisfaire des requtes mises par des clients. Les agents sont une manire attrayante de dcrire
les calculs distribus sur tout le rseau.

Le projet TACOMA se concentre sur le support des systmes dexploitation pour les agents et sur
la manire dont les agents peuvent tre utiliss pour rsoudre des problmes traditionnellement
destins aux systmes dexploitation. Nous avons implment une srie de systmes prototypes
pour accueillir des agents.

TACOMA version 1.2 est bas sur UNIX et TCP. Le systme est compatible avec des agents
crits en C, Tcl/Tk, Perl, Python, et Scheme (Elk). Il est implment en C. Cette version de
TACOMA a t rendue publique en Avril 1996.

Nous nous concentrons actuellement sur les problmes dhtrognit, de tolrance aux
anomalies, de scurit et de gestion. En outre, plusieurs applications de TACOMA sont en
construction. Nous avons implment StormCast 4.0, un vaste systme en rseau de surveillance
mtorologique sur Internet, en utilisant TACOMA et Java. Nous sommes actuellement en cours
dvaluation de lapplication, et nous prvoyons de construire une nouvelle version de StormCast
qui devrait tre acheve en Juin 1997.

Ummon

32
Site Web : www.advogato.org/proj/Ummon/

Ummon est un robot conversationnel avanc et "open source". Le principe gnral du robot est
quil ne possde aucune connaissance initiale en vocabulaire ou grammaire ; il apprend tout la
vole. De nombreuses techniques dIA seront explores au cours du dveloppement dUmmon
pour arriver une communication "humaine" raliste avec le support de diffrentes personnalits
paramtrables.

UMPRS Agent

Site Web : www.marcush.net/IRS/

UMPRS supporte le mode de raisonnement descendant, avec objectifs atteindre et il choisit ses
objectifs et plan selon la priorit maximale. Lexcution de plusieurs buts simultanment est
possible, ainsi que la suspension et reprise pour chaque tche de but (c--d dintention). Les plans
dUMPRS ont un attribut intgr de prcondition/moteur dexcution qui restreint leur
applicabilit. Les plans de construction disponibles comprennent : lordonnancement, litration,
la dfinition de sous-objectifs, les blocs atomiques (c--d non-interruptible), lexcution
conditionnelle dterministe n-branches, une section de gestion de pannes explicite, et la
dfinition de fonction primitive en C++.

Virtual Secretary Project (ViSe)

(Tcl/Tk)

Site Web : www.vise.cs.uit.no/vise/

Ce qui motive le projet Secrtaire Virtuelle est la construction dagents logiciels intelligents bass
sur des modles utilisateurs, qui pourraient dans la plupart des cas remplacer les hommes pour
des tches de secrtariat ; ces agents seraient bass sur linformatique mobile moderne et les
rseaux informatiques. Le projet comporte 2 diffrentes phases : la premire phase (ViSe1) se
concentre sur le filtrage des informations et la migration de processus, son but tant de crer un
environnement scuris pour les agents logiciels en utilisant le concept des modles utilisateur ; la
seconde phase (ViSe2) est axe sur la coopration efficace et intelligente des agents dans un
environnement distribu, son but tant de construire des agents coopratifs pour obtenir un niveau
dintelligence lev. (cod en Tcl/TclX/Tix/Tk)

VWORLD

Site Web : zhar.net/projects/vworld/

Vworld est un environnement simul, crit en prolog, pour la recherche avec des agents
autonomes. Il est actuellement plus ou moins en version bta. Il fonctionne bien avec
SWI-prolog, et devrait fonctionner avec Quitnus-prolog, avec seulement quelques modifications.
Il est destin tre utilis comme outil pdagogique pour des projets dlves traitant de prolog et
des agents autonomes. Il est livr avec trois mondes ou environnements de dmonstration, ainsi
quavec des exemples dagents qui leurs sont destins. Il y a deux version maintenant. Lune
delles est crite pour SWI-prolog et lautre pour LPA-prolog. Globalement, la documentation est
faite (dans loptique dun cadre tudiant/professeur), et une interface graphique est prvue.

33
WebMate

Site Web : www-2.cs.cmu.edu/~softagents/webmate/

WebMate est un agent personnel pour la recherche et la navigation sur le World-Wide Web. Il
vous accompagne quand vous surfez sur Internet et vous fournit ce que vous dsirez. Ses
fonctionnalits comprennent :

Amlioration des recherches, dont la recherche parallle, affinage des mots-cls de la


recherche en utilisant notre technologie dextraction de mots-cls appropris, retour
dinformation pertinente, etc.

Assistant la navigation, comprenant lapprentissage de votre centre dintrt actuel, avec


recommandation de nouveaux URLs selon votre profil et les ressources slectionnes,
gestion de vos signets de Netscape ou IE, envoie de la page actuellement affiche vos
amis, etc.

Navigation hors ligne, y compris le tlchargement des pages suivant la page affiche pour
une navigation hors ligne.

Filtrage des en-ttes HTTP, comprenant lenregistrement des en-ttes HTTP et de toutes les
transactions effectues entre le navigateur et les serveurs WWW, etc.

Vrification de la page HTML et dtection des erreurs et liens morts, etc.

Programmation en Java, indpendant du systme dexploitation, fonctionnant en


multiprocessus

Zeus

Site Web : more.btexact.com/projects/agents/zeus/

La construction de systmes multiagents implique une longue priode de dveloppement et exige


des solutions quelques difficults techniques considrables. Cest ce qui a motiv le
dveloppement de la bote outils ZEUS, qui fournit une bibliothque de composants logiciels et
des outils qui facilitent la conception, le dveloppement et le dploiement rapide de systmes
dagent.

Les langages de programmation


Bien que nimporte quel langage de programmation puisse tre utilis pour la recherche sur la vie ou
lintelligence artificielle, les langages de programmation dcrits ci-dessous sont, si ils nont pas t
spcifiquement crs pour cela, utiliss intensivement pour la programmation dintelligence
artificielle.

Allegro CL

Site Web : www.franz.com/

Version linux gratuite de lenvironnement de dveloppement Lisp de Franz Inc. Vous pouvez la
tlcharger ou ils vous expdieront un CD gratuitement (vous navez mme pas payer de frais
dexpdition). Elle est gnralement considre comme lune des meilleures plateformes Lisp.

34
APRIL

Site Web : sourceforge.net/projects/networkagent/ et


www.nar.fujitsulabs.com/april/index.html

APRIL est un langage de programmation symbolique conu pour le codage de systmes bass sur
des agents, mobiles et distribus dans lenvironnement Internet. Il a des fonctionnalits avances
telles quun sous-langage de macro, lenvoi et la rception asynchrone de messages, la mobilit
du code, le filtrage, des fonctions dordre suprieur et la dclaration type de variables. Ce
langage est compil en pseudo-code binaire qui est ensuite interprt par le moteur dexcution
APRIL. APRIL a maintenant besoin quInterAgent Communications Model (ICM) soit install
avant de pouvoir tre install son tour. [Ed. ICM est disponible sur le mme site web]

Ciao Prolog

Site Web : www.clip.dia.fi.upm.es/Software/Ciao/

Ciao est un systme complet Prolog englobant ISO-Prolog avec une nouvelle conception
modulaire qui permet la fois la restriction et lextension du langage. Parmi les extensions de
Ciao, on trouve actuellement les arguments nomms (enregistrements), les fonctions dordre
suprieur, les contraintes, les objets, les prdicats persistants, une bonne base pour lexcution
distribue (dagents) et la concurrence. Les bibliothques supportent aussi la programmation
WWW, les sockets, et les interfaces externes (C, Java, Tcl/Tk, les bases de donnes
relationnelles, etc.). Un environnement pour Emacs, un compilateur autonome, et un interprteur
de commandes haut niveau sont galement fournis.

DHARMI

Site Web : megazone.bigpanda.com/~wolf/DHARMI/

DHARMI est un langage spatial de haut niveau facile utiliser dont les composants sont
administrs de manire transparente par un processus en tche de fond appel "the Habitat".
Comme son nom lindique, ce langage a t conu pour faire des prototypes de modlisation et la
gestion des donnes actives. Les programmes peuvent tre modifis pendant leur excution. Cela
est rendu possible en estompant la distinction entre le code source, le programme et les donnes.

ECLiPSe

Site Web : eclipse.crosscoreop.com/eclipse/

:TODO:

ECoLisp

Site Web : www.di.unipi.it/~attardi/software.html

ECoLisp ("Embeddable Common Lisp", Lisp Commun Embarquable) est une implmentation de
"Common Lisp" conue pour tre insrable dans des applications crites en C. ECL utilise des
conventions dappel C standard pour les fonctions Lisp compiles, ce qui permet aux programmes
C dappeler facilement des fonctions Lisp et vice versa. Aucune interface de fonctions externes
nest requise : les donnes peuvent tre changes entre le C et le Lisp sans besoin de conversion.
ECL est bas sur un "Common Runtime Support (CRS)" (Appui dExcution Commun) qui
fournit des fonctionnalits de base pour la gestion de la mmoire, le chargement et le vidage

35
dynamique des images binaires, et le soutien de processus multiple dexcution. Le CRS est
intgr une bibliothque qui peut tre lie au code de lapplication. LECL est modulaire : les
modules principaux sont les outils de dveloppement du programme (niveau suprieur, dbogueur,
trace dune excution, excution pas pas), le compilateur, et CLOS. Une version native de CLOS est
disponible dans ECL : on peut de configurer ECL avec ou sans CLOS. Une version dexcution
dECL peut tre construite avec les modules requis par lapplication seulement. Le compilateur ECL
compile du Lisp vers le C, puis fait appel au compilateur GCC pour crer les binaires.

ESTEREL

Site Web : www-sop.inria.fr/esterel.org/

Esterel est la fois un langage de programmation, ddi la programmation de systmes ractifs,


et un compilateur qui traduit les programmes Esterel en machine tats finis. Il est
particulirement bien adapt la programmation de systmes ractifs, y compris les systmes
temps-rel et les automates de commande.

Seul lexcutable est disponible pour le compilateur de langage. :P

Gdel

Site Web : www.cs.bris.ac.uk/~bowers/goedel.html

Gdel est un langage de programmation dclaratif usage global, de la famille des langages de
programmation de logique. Cest un langage fortement typ, le systme de typage tant bas sur
de la logique multitri avec du polymorphisme paramtrique. Il a un systme de module. Gdel
supporte les entiers prcision infinie, les nombres rationnels prcision infinie, et les rels
virgule flottante galement. Il peut rsoudre les contraintes sur des domaines finis dentiers et
galement les contraintes rationnelles linaires. Il supporte le traitement des ensembles finis. Il a
galement une rgle de calcul flexible et un oprateur dlagage qui gnralise la validation des
langages de programmation de logique concourante. Un accent considrable est mis sur
linfrastructure mta-logique de Gdel qui fournit un support significatif pour les
mta-programmes qui font de lanalyse, de la transformation, de la compilation, de la vrification,
du dbogage, et ainsi de suite.

CLisp (Lisp)

Site Web : clisp.sourceforge.net/

Site Web officiel : clisp.cons.org/

CLisp est une implmentation de "Common Lisp" ralise par Bruno Haible et Michael Stoll. Il
supporte principalement le Lisp dcrit par Common LISP: The Language (2nd edition) et le
standard Common Lisp ANSI. CLisp comprend un interprteur, un byte-compilateur, un grand
sous ensemble de CLOS ("Object-Oriented Lisp", Lisp Orient Objet), une interface de langage
externe et, pour certaines machines, un diteur dcran.

On choisit la langue dinterface utilisateur (anglais, allemand, franais) au moment de


lexcution. Les principaux paquetages qui fonctionnent dans CLisp incluent CLX et Garnet.
CLisp ne requiert que 2 Mo de mmoire seulement.

36
CMU Common Lisp

Site Web : www.cons.org/cmucl/

Site Web : ww.telent.net/lisp/howto.html

CMU Common Lisp est un environnement de programmation Common Lisp de "puissance


industrielle" de domaine public. Une grande partie des changements de X3j13 ont t incorpors
dans CMU CL. Partout o cela tait possible, ceci a t fait afin de permettre de manire
transparente lutilisation soit du CLtL1, soit du CL ANSI propos. Les nouvelles fonctionnalits
les plus intressantes pour les utilisateurs sont probablement les fonctions SETF, LOOP et la
macro WITH-COMPILATION-UNIT.

GCL (Lisp)

Site FTP : ftp.ma.utexas.edu/pub/gcl/

GNU Common Lisp (GCL) possde un compilateur et un interprteur pour Common Lisp. Il tait
connu auparavant sous le nom de Kyoto Common Lisp. Il est trs portable et extrmement
efficace sur une large gamme dapplications. Il soutient la comparaison au niveau performance
avec les Lisps commerciaux sur un grand nombre de dmontreurs de thormes et de systmes
dalgbre symbolique. Il supporte la spcification CLtL1 mais volue vers la dfinition propose
de norme ANSI. GCL compile vers du C et utilise ensuite les compilateurs C doptimisation de
code natif (ex.: GCC). Une fonction comportant un nombre fixe darguments et une valeur se
transforme en une fonction C du mme nombre darguments, renvoyant une valeur, GCL a donc
une efficacit maximale sur de tels appels. Il a un garbage collector [NdT : ramasse-miettes]
classique qui offre une grande libert au compilateur C pour mettre les valeurs Lisp dans des
registres arbitraires.

Il possde un dbogueur Lisp niveau source pour le code interprt, avec affichage du code
source dans une fentre Emacs. Son outil de profilage (bas sur les outils de profilage C) compte
les appels de fonction et le temps pass dans chaque fonction.

GNU Prolog

Site Web : pauillac.inria.fr/~diaz/gnu-prolog/

Site Web : www.gnu.org/software/prolog/prolog.html

GNU Prolog est un compilateur Prolog gratuit, et rsolveur de contraintes sur les domaines finis,
dvelopp par Daniel Diaz. GNU Prolog accepte des programmes en Prolog+contraintes et
produit des excutables natifs (comme gcc le fait partir de code source C). Lexcutable obtenu
est alors autonome. La taille de cet excutable peut tre relativement petite puisque GNU Prolog
peut viter de lier le code de la plupart des prdicats intgrs inutiliss. Les performances de
GNU Prolog sont trs encourageantes (comparables celles des systmes commerciaux).

En plus de la compilation en code excutable natif, GNU Prolog offre un interprteur interactif
classique (haut niveau) avec un dbogueur.

La partie Prolog se conforme aux standards ISO pour Prolog avec beaucoup dextensions trs
utiles lusage (variables globales, interface systme dexploitation, sockets, ...).

37
GNU Prolog comprend galement un efficace rsolveur de contraintes sur Domaines Finis (FD),
ce qui ouvre la programmation logique par contraintes lutilisateur, en combinant la puissance de la
programmation par contraintes la dclarativit de la programmation logique.

IBAL

Site Web : www.eecs.harvard.edu/~avi/IBAL/

:TODO:

lush

Site Web : lush.sourceforge.net/

:TODO:

Maude

Site Web : maude.cs.uiuc.edu/

:TODO:

Mercury

Site Web : www.cs.mu.oz.au/research/mercury/

Mercury est un nouveau langage de programmation logique, purement dclaratif. Tout comme
Prolog et dautres langages de programmation logique existants, cest un langage trs haut niveau
qui permet aux programmeurs de se concentrer sur le problme plutt que sur les dtails bas
niveau tels que la gestion de la mmoire. Contrairement Prolog, qui est orient vers la
programmation exploratoire, Mercury est conu pour la construction de grands systmes logiciels
fiables et efficaces par des quipes de programmeurs. Par consquent, programmer en Mercury
apporte une touche diffrente par rapport la programmation en Prolog.

Mozart

Site Web : www.mozart-oz.org/

Le systme Mozart fournit un support de pointe dans 2 domaines : le calcul distribu ouvert et
linfrence base sur les contraintes. Mozart implmente Oz, un langage concourant orient objet
avec synchronisation des flux de donnes. Oz combine la programmation distribue et
concourante avec linfrence logique base sur les contraintes, ce qui en fait un choix excellent
pour le dveloppement des systmes multiagents. Mozart est une plateforme idale aussi bien
pour les applications distribues polyvalentes que pour les problmes difficiles ncessitant une
optimisation sophistique et des capacits dinfrence. Nous avons dvelopp des applications de
planification et de gestion du temps, de placement et de configuration, de reprsentation du
langage naturel et des connaissances, de systmes multiagent et doutils de collaboration
sophistiqus.

SWI Prolog

38
Site Web : www.swi-prolog.org/

SWI est une version gratuite de Prolog dans la famille Prolog Edinburgh (la rendant de ce fait trs
similaire Quintus et beaucoup dautres versions), qui contient : une grande bibliothque de
prdicats intgrs, un systme de modules, un garbage collector, une interface bidirectionnelle
avec le langage C, et beaucoup dautres dispositifs encore. Il est cens tre un langage ducatif,
donc son code compil nest pas le plus rapide. Bien que sa similarit avec Quintus permette un
portage facile.

XPCE est librement et gratuitement disponible en excutable pour la version Linux de


SWI-Prolog. XPCE est un paquetage/environnement de dveloppement dinterface graphique
(GUI) X-window orient objet.

Push

Site Web : hampshire.edu/lspector/push.html

:TODO:

Kali Scheme

Site Web : www.neci.nj.nec.com/PLS/Kali.html

Kali Scheme est une implmentation distribue de Scheme qui permet une transmission efficace
dobjets dordre suprieur tels que les fermetures et continuations. Lintgration dquipements
de communication distribue dans un langage de programmation volu engendre un certain
nombre dabstractions et de paradigmes nouveaux pour linformatique distribue. Parmi ces
derniers nous avons les politiques de migration des processus et lquilibrage de charge,
personnaliss par lutilisateur, les calculs distribus lis incrmentalement, les agents, et les
applications client-serveur paramtres. Kali Scheme supporte la simultanit et la
communication, grce aux procdures et continuations de premire classe. Il intgre les
procdures et continuations dans un cadre distribu bas sur des messages qui permet nimporte
quel objet Scheme (y compris les vecteurs de code) dtre envoy et reu dans un message.

RScheme

Site Web : www.rscheme.org/

Site FTP : ftp.rscheme.org/pub/rscheme/

RScheme est une version oriente objet tendue du dialecte Scheme de Lisp. RScheme est
librement redistribuable, et il offre des performances raisonnables en dpit de son extraordinaire
portabilit. RScheme peut tre compil en C, et le C peut ensuite tre compil avec un
compilateur C habituel pour gnrer du code machine. Cependant, par dfaut, RScheme compile
en code objet qui est interprt par une machine virtuelle (un moteur dexcution). Cela assure
une compilation rapide et permet de conserver un code de taille rduite. En gnral, nous
recommandons lutilisation du systme de gnration de code objet (activ par dfaut), et de ne
compiler en code machine que vos programmes dont le temps dexcution est critique. Cela
permet un bon compromis taille mmoire/temps dexcution. (voir le site web pour plus de
dtails)

39
Scheme 48

Site Web : s48.org

Scheme 48 est une implmentation de Scheme base sur une architecture de machine virtuelle.
Scheme 48 est conu pour tre simple, souple, fiable, et rapide. Il devrait tre facilement portable
vers des machines 32 bits qui ont POSIX et le support du C ANSI. En plus de lenvironnement de
dveloppement et des procdures usuelles intgres de Scheme, les logiciels de bibliothques
incluent le support des macros hyginiques (comme cela est dcrit dans le rapport Scheme
Revised^4), du multitche, des enregistrements, de la gestion des exceptions, des tables de
hachage, des tableaux, des pointeurs nuls, et du FORMAT. Scheme 48 implmente et exploite un
systme exprimental de modules vaguement driv de Standard ML et de Scheme Xerox.
Lenvironnement de dveloppement supporte les changements interactifs de modules et
dinterfaces.

SCM (Scheme)

Site Web : swissnet.ai.mit.edu/~jaffer/SCM.html

SCM est conforme la rvision 5 du rapport sur lAlgorithmic Language Scheme (le langage
algorithmique Scheme) et la spcification IEEE P1178. SCM est crit en C. Il utilise les
utilitaires suivants (tous disponibles sur le site ftp) :

SLIB (Standard Scheme Library) est une bibliothque Scheme portable qui est prvue pour
fournir des fonctions de compatibilit et des utilitaires pour toutes les implmentations
Scheme standard, y compris SCM, Chez, Elk, Gambit, MacScheme, MITScheme,
scheme->C, Scheme 48, T3.1, et VSCM, et est disponible sous le nom de fichier
slib2c0.tar.gz. Ecrit par Aubrey Jaffer ;

JACAL est un systme symbolique de mathmatiques crit en Scheme, et est disponible sous
le nom de fichier jacal1a7.tar.gz ;

Des interfaces vers les bibliothques standards comprenant un filtrage dexpressions


rgulires de chanes de caractres REGEX et le paquetage de gestion dcran CURSES ;

Sont disponibles pour tre ajouts des paquetages parmi lesquels un dbogueur interactif,
une base de donnes, des composants X-window, des traitements graphiques BGI, Motif, et
des paquetages Open-Windows ;

Un compilateur (HOBBIT, disponible sparment) et la liaison dynamique des modules


compils.

Shift

Site Web : www.path.berkeley.edu/shift/

Shift est un langage de programmation permettant de dcrire les rseaux dynamiques dautomates
hybrides. De tels systmes sont constitus de composants qui peuvent tre crs, interconnects et
dtruits au fur et mesure que le systme volue. Les composants montrent un comportement
hybride, constitu de phases continues spares par des transitions vnements discrets. Les
composants peuvent voluer indpendamment, ou ils peuvent interagir par leurs entres, leurs
sorties et les vnements exports. Le rseau dinteraction lui-mme peut voluer.

40
YAP Prolog

Site Web : www.ncc.up.pt/~vsc/Yap/

YAP est un compilateur Prolog haute performance dvelopp par LIACC/Universidade do


Porto. Son moteur Prolog est bas sur WAM (Warren Abstract Machine, Machine Abstraite
Warren), avec plusieurs optimisations pour de meilleures performances. YAP suit la tradition
dEdinburgh, et est en grande partie compatible avec Prolog DEC-10, Quintus Prolog, et
particulirement avec le C-Prolog. Le travail sur la version la plus rcente de YAP tends vers
plusieurs objectifs :

la portabilit : le systme tout entier est maintenant crit en C. YAP compile sur les
machines 32 bits les plus courantes, tels que les Sun et les PC sous Linux, et sur les
machines 64 bits, les Alphas sur lesquelles tournent OSF Unix et Linux.

la performance : nous avons optimis lmulateur pour obtenir des performances


comparables voire meilleures que celles des systmes Prolog les plus connus. En ralit, la
version actuelle de YAP est plus puissante que loriginale, crite en assembleur.

la robustesse : nous avons test le systme avec un grand chantillonnage dapplications


Prolog.

lextensibilit : YAP a ds lorigine t conu structurellement pour encapsuler la


manipulation de termes. Ces principes taient utiliss, par exemple, pour implmenter une
interface C simple et puissante. La nouvelle version de YAP tend ces principes pour
adapter les extensions lalgorithme dunification, qui, selon nous, sera utile pour
limplmentation dextensions telles que la programmation de contraintes.

la compltude : YAP fournit depuis longtemps la plupart des installations intgres que lon
attend dune implmentation Prolog Edinburgh. Celles-ci comprennent les fonctionnalits
dentres/sorties, les oprations de bases de donnes, et les modules. Le travail sur YAP a
maintenant pour objectif dtre compatible avec le standard Prolog.

louverture : nous voudrions faire en sorte que les nouveaux dveloppements de YAP soient
ouverts la communaut des utilisateurs.

la recherche : YAP est un projet moteur pour la recherche dans et en dehors de notre groupe.
Actuellement la recherche continue sur le paralllisme et la tabulation, et nous avons
commenc travailler sur la prise en compte de la manipulation des contraintes.

Manquant et Inactif
Ceci est lespace pour les entres anciennes ou errones. Le chapitre MIA est destine aux entres
pour lesquelles je nai plus de page daccueil valide. Si vous avez la moindre information sur
lemplacement actuel de ces logiciels, merci de me le faire savoir. La section Inactifs est destine aux
projets qui ne semblent plus maintenus. Les dplacer ici me permet de conserver les chapitres
principaux propres ; les parties intresses peuvent malgr tout me corriger, auquel cas je les
dplacerai nouveau.

41
MIA - Projets ne disposant pas de liens.
:TODO:

IDEAL

Site web : yoda.cis.temple.edu:8080/ideal/

IDEAL est un banc dessai pour le travail sur les diagrammes dinfuence et les rseaux
Baysiens. Il comprend des algorithmes dinfrence varis pour les rseaux de croyance et des
algorithmes dvaluation pour les diagrammes dinluence. Il contient des installations pour crer
et diter les diagrammes dinfluence et les rseaux de croyance.

IDEAL est crit purement en Common Lisp et ainsi il tournera en Common Lisp sur nimporte
quelle plate-forme. Laccent dans lcriture dIDEAL a t mis sur la clart du code et sur la
fourniture dabstractions de programmation de haut niveau. Il est ainsi tout fait adapt aux
implmentations exprimentales qui ncessitent ou tendent la technologie de rseau de croyance.

Au plus haut niveau, IDEAL peut tre utilis comme une bibliothque de sous-routine qui fournit
lvaluation du diagramme dinfrence et dinfluence du rseau de croyance dans un paquetage
logiciel. Le code est document dans un manuel dtaill et ainsi il est aussi possible de travailler
un niveau infrieur sur les extensions des mthodes du rseau de croyance.

IDEAL est fourni avec une interface graphique optionnelle crite en CLIM. Si votre Common
Lisp possde aussi CLIM, vous pouvez lancer linterface graphique.

Symbolic Probabilistic Inference (SPI)

Site FTP : ftp.engr.orst.edu/pub/dambrosi/spi/

Paper (ijar-94.ps) : ftp.engr.orst.edu/pub/dambrosi/

Contient des bibliothques de fonction Common Lisp pour implmenter des rseaux baysiens de
type SPI. La documentation est trs limite. Caractristiques :

Probabilits, Utilitaires du langage dexpression locale, explications, modles dynamiques,


et une GUI base sur TCL/TK.

Projets inactifs.
EMA-XPS - A Hybrid Graphic Expert System Shell

Site web : www.iai.uni-wuppertal.de/EMA-XPS

EMA-XPS est un interprteur de commande [shell] de systme expert graphique hybride bas sur
le shell orient ASCII Babylon 2.3 du Centre National Allemand de Recherche pour les Sciences
Informatiques (GMD). En plus de la puissance dIA de Babylon (reprsentation de donnes
orientes objet, rgles de chanage avant et arrire - regroupables en sries, en clauses de Horn, et
en rseaux de contraintes), une interface graphique base sur le systme X11 Window System et
la OSF/Motif Widget Library ont t fournies.

42
PDKB

Site Web : lynx.eaze.net/~pdkb/web/

Site SourceForge : sourceforge.net/projects/pdkb/

La banque de connaissances sur le domaine publique (PDKB : Public Domain Knowledge Bank)
est une banque de connaissances sur lintelligence artificielle des lois et rgles de sens commun.
Elle est base sur lontologie de niveau suprieur de Cyc (CUO : Cyc Upper Ontology) et le
langage MELD.

QUANT1

Site Web : linux.irk.ru/projects/QUANT/

Quant/1 signifie QUANTifieur de type 1. Son but est dtre une alternative pour les systmes
semblables Prolog (ou rsolutionnaux). Les principales caractristiques comprennent la
non-ncssit dliminer les quantifieurs, la scolmisation, la facilit de comprhension, les
oprations sur des formules de grande chelle, lacceptation de fomules nonHorn,
lapprofondissement iterratif. La bibliothque relle implmente dans ce projet est appele
ATPPCF (Automatic Theorem Prover in calculus of Positively Constructed Formulae : preuve
automatique du thoreme dans le calcul de formules construites positivement)

ATPPCF deviendra une bibliothque (moteur dinfrence) et une extension du langage de calculs
de prdiction comme un nouveau langage logique. Cette bibliothque sera incorporable dans
dautres programmes, comme TCL, Python, Perl. La mthode dinfrance primaire du moteur
sera la "recherche dinfrances dans le langage des formules construites positivement (PCF :
Positively Constructed Formulas)" (comme un sous-ensemble de calculs de prdicats bien traduits
dans les deux sens). Le langage sera utilis comme langage de script pour le moteur. Mais il y
aura la possibilit de le remplacer par des extension de langage du programme principal.

TresBel

Site FTP : iridia.ulb.ac.be/pub/hongxu/software/

Bibliothques comprenant du code Common Lisp (Allegro) pour les fonctions de croyance (c--d
le raisonnement probant de Dempster-Shafer) comme la reprsentation de lincertain.
Documentation pauvre. Possde une GUI limite.

43

Vous aimerez peut-être aussi