Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
John Eikenberry
<jae@zhar.net>
Pierre-Yves Aimon
Laurent Fallet
Laurent Morretton
Yvon Benoist
Version : 2.3.fr.1.0
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/
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.3 - Pour rattraper le retard, jai ajout plus de 30 nouvelles entres aujourdhui et je lai soumis
au LDP.
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.
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 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.
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.
4
De tels systmes ont t utiliss comme support de diagnostiques mdicaux et systmes de vrification
de solvabilit.
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
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
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 :
5
Recherche bidirectionnelle horizontale (bidirectional breadth-first) dans un arbre ou un
graphe.
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.
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
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 :
FFLL
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
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
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
JCK est une nouvelle bibliothque pour la programmation et la recherche par contraintes pour
Java.
- JASE : Java Abstract Search Engine (moteur de recherche abstrait Java). Moteur de
recherche gnrique pour JCHR afin de rsoudre les problmes de contraintes.
KANREN
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
maxent
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
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.
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
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
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
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.
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.
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/
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
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
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
:TODO:
11
FOOL et FOX
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
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.
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.
Semble tre obsolte ??? Nest plus sur le site, bien que le projet parent se poursuive toujours.
12
de calculer des proprits de la grammaire ;
GSM Suite
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
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
LISA
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
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
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.
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
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
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
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 ;
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
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
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
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.
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
bpnn.py
CNNs
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 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
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
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)
:TODO:
NEURObjects
:TODO:
Pulcinella
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
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.
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 :
MIR - Prototypage rapide bas sur TCL/TK pour le traitement des phrases
Auto-organisation
Neurovolution
19
SANE-C - Version C, prdcesseur de JavaSANE.
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
ART I
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
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
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
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
Ara
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
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
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
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
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
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.]
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
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
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
GNU Robots
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/
Hive
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
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.
Il y a une rubrique sur ICM dans ce guide, vous pouvez galement le trouver via un lien partir
de ce site.
Jade
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
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
JATLiteBeans
26
Architecture extensible pour la gestion des messages et ladministration "thread of control"
(NdT : unit dexcution) des agents
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
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
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
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
NeL
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
"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.
PAI
28
Site Web : utenti.quipo.it/claudioscordino/pai.html
Penguin!
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.
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
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 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
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.
Un langage de transmission de messages simple est utilis pour communiquer, ce qui facilite
le dbut de la construction de robots.
Hautement configurable.
Remembrance Agents
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
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
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.
Emetteur dfini abstraitement : peut tre interprt par exemple comme lumire ou bruit
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
Communication par socket possible vers, par exemple, le logiciel de traitement dimage
Khoros
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.
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.
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
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++.
(Tcl/Tk)
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
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
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 :
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.
Zeus
Allegro CL
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
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
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
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
:TODO:
ECoLisp
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
Gdel
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)
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.
36
CMU Common Lisp
GCL (Lisp)
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
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
:TODO:
lush
:TODO:
Maude
:TODO:
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
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.
Push
:TODO:
Kali Scheme
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
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
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)
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 ;
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 ;
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
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 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
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.
Contient des bibliothques de fonction Common Lisp pour implmenter des rseaux baysiens de
type SPI. La documentation est trs limite. Caractristiques :
Projets inactifs.
EMA-XPS - A Hybrid Graphic Expert System Shell
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
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
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
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