M. Lloyd, J. W. Hill, P. M. Gallagher, and J. G. , Partial Evaluation in Logic Programming, Handbook of Logic in Artificial Intelligence and Logic Programming, vol.5, pp.217-242, 1991.

. Mitchell, Explanation-based Generalization : A unifying view, Machine Learning, vol.1, issue.1, 1986.

J. Pitrat and J. Pitrat, Métaconnaissance -Futur de l'Intelligence Artificielle. Hermès, Paris, Pettorossi A., Proietti M. 1996. A Comparative Revisitation of Some Program Transformation Techniques. LNCS 1110, vol.14, pp.355-385, 1976.

A. Pettorossi and M. Proietti, Transformation of Logic Programs. Handbook of Logic in Artificial Intelligence and Logic Programming, vol.5, pp.697-787, 1998.

D. Sahlin, H. Tamaki, and T. Sato, An Automatic Partial Evaluator for Full Prolog, Proc. 2 nd Intl. Logic Programming Conf, 1984.

. Van-harmelen, The MEDIATOR: Analysis of an early case-based problem solver, Artificial Intelligence, vol.36, pp.507-549, 1984.

P. Koton-;-m.-labenne and B. Goldfarb, Blind-protected specimen brush and brochoalveolar lavage in ventilated children, Proceedings of the Xth Annual Conference of the Cognitive Science Society, 1988.

M. Masson, Réifier le raisonnement pour améliorer les explications dans les systèmes à base de connaissances: une application au diagnostic médical, RJC-IA'96, 1996.

B. W. Porter, R. Bareiss, and R. C. Holte, Concept learning and heuristic classification in weak-theory domains, Artificial Intelligece, vol.45, pp.229-263, 1990.

J. R. Quinlan, Discovering rules by induction from large collections of examples, Expert Systems in the Microelectronic Age, pp.168-201, 1979.

J. R. Quinlan-;-michalski, R. S. Carbonell, J. G. , and M. , Learning efficient classification procedures and their application to chess end games, Machine Learning, pp.463-482, 1983.

J. R. Quinlan, Induction of decision trees, Machine Learning, vol.1, pp.81-106, 1986.

R. Tomassone-;-r.-tomassone, Comment interpréter les résultats d'une analyse factorielle discriminante ? ITCF, Machine Learning, vol.4, pp.161-186, 1988.

, Si l'occupation de l'état futur est en augmentation, alors le système pondère en fonction de cette augmentation (4* hausse de l'occupation). La hausse du taux d'occupation est calculée par rapport à la taille moyenne d

, Si la zone est au centre et l'occupation reste stable et l'état futur n'est atteint que par 1 seul arc alors on augmente la valeur de cet arc

, Pour les arcs réflexifs, si l'occupation et l'arrêt sont stable alors le système pondère positivement cet arc selon son remplissage actuel

, Si l'occupation et l'arrêt sont stables dans l'état futur et la zone de l'état présent est différent de la zone de l'état futur alors le système pose qu'il est impossible d'entrer dans cette zone

, Pour chaque possibilité de déplacement l'i-acteur récupère les pondérations topologiques (Cf. Paragraphe précédent). Cette valeur topologique est complétée par des pondérations issues de règles associées aux caractéristiques des i-véhicules : leurs comportements, leurs historiques et leurs positionnements. Ces règles étudient entre autre les interactions intra et inter zones avec les autres i-véhicules

L. Qu, un état-zone possède de la place libre si le nombre de i-véhicule présent sur cet état est

, Le système va privilégier les états-zones futurs n'ayant aucun autre i-véhicule (+2)

, Si l'état futur possède de la place libre alors (+20) sinon

, Si le débit est saturé alors le système soustrait une pondération calculée selon les débits fixé dans le graphe spatial Si l'état futur possède de la place libre et le i-véhicule

, Si l'on n'est pas au centre et si le i-véhicule se trouve le premier de sa file d'attente et si il reste de la place libre alors (+5) pour ce choix

, Espionnage : possibilité d'observer les processus au moment où ils interagissent avec d'autres entités

. Dans, En substance, nous modélisons les entités présentes dans la machine en considérant que certaines de ces entités sont des entités actives (ou acteurs) ; ces entités actives effectuent des actions portant sur d'autres entités, et ce sont ces actions que nous sommes à même d'observer dans notre environnement. Espionner une action consiste à fournir au système un triplet qui peut être partiellement instancié, nous rappelons simplement les points principaux pour permettre au lecteur non initié de comprendre ce dont il est question, mais nous le renvoyons à de précédentes publications pour une information plus détaillée

, L'action que nous cherchons à espionner

, Les programmes sont constitués par des suites d'instructions à la Prolog, qui effectuent des lectures en énumérant tous les cas possibles, Programme P1 : $P:(? TYPE:PERSONNE NOM:DUPONT)

$. , PRENOM:$N)

, Ce programme est équivalent à l'énoncé du but Prolog suivant : ?-personne(dupont,N)

S. Dans-notre, les objets sont représentés sous la forme de listes attribut-valeur dans lesquelles il est possible de supprimer et de rajouter des attributs ; d'autre part, le langage nous permet de référencer les objets eux mêmes avec des variables

, Pour espionner tous les processus lisant des informations au sujet de personnes dont le nom est DUPONT, ce qui inclut le programme P1 donné plus haut, nous écrivons alors : Programme P2 : $P:(¿? TYPE:PERSONNE NOM:DUPONT)

, Cette fois-ci, au moment où le programme P1 exécute sa première instruction de lecture, le programme P2 se déclenche, et à l'issue de la première instruction, la variable $P du programme P2 est instanciée et contient alors l'objet représentant le processus instance du programme P1 ayant effectué l'action. L'instruction qui suit lit l'identificateur de processus de l

, Pour faire ce qui est décrit ci-dessus, il faut qu'existe un autre type d'instruction, servant à l'espionnage. L'instruction de lecture est préfixée par un '?', alors que l'instruction d'espionnage est préfixée par un caractère '¿' ; comme il existe d'autres types d'instructions que la lecture et l'espionnage, il faut spécifier ensuite le type d'action qu'on espionne

¿. ,

, ¿¿ : espionner les espions

, Il est possible aussi d'espionner et d'interdire tel ou tel type de pattern d'action, ce qui nous donne la possibilité d

$. ,

, et dans ce cas-là seulement, les fait redémarrer. C'est sur ce genre d'exemple qu'il est possible d'utiliser les espionnages dans UNIX précédemment mis au point nous faut trouver un moyen de focaliser l'attention du système sur les aspects « intéressants » de la scène observée ; le mécanisme de focalisation doit utiliser un modèle du monde, une grille à partir de laquelle on associe des significations aux percepts entrants dans la mémoire du système. La perception telle que nous la décrivons peut donc être vue comme une forme d'abstraction, puisqu'elle nous amène à ne pas prendre en compte certains éléments dont nous avons connaissance. Cet aspect des choses est connu depuis longtemps déjà. C'est par exemple l'opinion de Rudolf Arnheim [ARN69], pour qui l'origine de la pensée abstraite n'est pas à chercher dans le mécanisme de formation des mots, mais se situe au contraire bel et bien dans les mécanismes de nos organes sensoriels : le processus de perception se définit en réalité par la collaboration de deux aspects, l'un de nature abstractive, l'autre de nature généralisante. Des travaux plus récents sont venus étayer ce point de vue, Ce programme P3 espionne et stoppe tous les processus consultant l'entité contenant les mots de passe des utilisateurs, teste si ces programmes ont le droit de consulter ce fichier (s'ils ont le type SUPER-USER)

, Qualifier un percept consiste à évaluer les relations qui le lient avec le reste des éléments perçus, à lui assigner un rôle dans l'ensemble de ce qui est vu. Ce traitement qualificatif a pour objet de structurer ce qui figure sur la « rétine » de l'ordinateur, et d'extraire un modèle de travail à partir de ceci, ce qui est un aspect bien connu du fonctionnement de la perception

D. Hammourabi, activation des situations d'erreur qui assure la qualification : une situation d'erreur contient en particulier un pattern servant à détecter la présence de certaines configurations d'événements, à tester l'état de certains objets, etc. Nous retrouvons très souvent un tel mécanisme de qualification dans divers systèmes, bien que ceci ne soit pas toujours apparent au premier abord ; dans le système Lombric [LEC98] par exemple, qui est un système dédié à la reconstitution de scènes de trafic dans un carrefour routier, il n'existe pas à proprement parler de composant destiné à prendre en charge la qualification : à cause des contraintes temps réel que doit assurer Lombric

G. De-façon, le modèle perceptif dont nous avons discuté est supposé basé sur la mémoire à court terme du système

, Dans notre système, nous avons choisi de définir le mécanisme de compréhension et de production d'explications par la donnée d'un processus de construction d'interprétations cohérentes : quand un nombre suffisant d'éléments issus de la première couche perceptive ont été amenés dans la mémoire à moyen terme du système, il s'agit alors de regrouper certains de ces éléments en des sous ensembles cohérents par rapport à certains critères. Par abus de langage, nous appelons de tels sous ensembles cohérents des interprétations, ou encore des explications. Les critères de cohérence peuvent être diversement choisis

, une approche basée sur les mêmes principes est adoptée, qui utilise en sus une logique possibiliste ; de façon générale, il nous semble que la compréhension présente un aspect émergent absolument irréductible ; mais encore faut-il que cette émergence se base sur quelque chose, ce qui signifie définir une propriété désirée pour les ensembles obtenus

D. Hammourabi, Ce n'est qu'ensuite, peut-être longtemps après, qu'Hammourabi aura la possibilité de lier entre elles plusieurs de ces traces de façon cohérente, construisant ainsi des explications recherchées des phénomènes observés. En conclusion, un traitement lié à la cohérence est apparu nettement dans Hammourabi parce que dans une situation donnée les informations dont on a besoin pour trouver la source des phénomènes observés ne sont pas toutes disponibles en même temps (elles peuvent même ne l'être jamais), ce qui nous oblige à les stocker dans une mémoire à long terme, le traitement de la cohérence est lié au fait que les alarmes et événements observés sont des conséquences d'autres problèmes situés ailleurs dans l'univers, et actuellement inconnus d'Hammourabi

P. Dans-ce, Bien que nous ne nous en démarquions pas totalement, l'approche majoritairement adoptée en IA est plutôt d'un type logique dans lequel on considère des propriétés, des phrases émises au sujet du monde, et où le problème principal consiste à étudier des procédures de décision capables d'évaluer la véracité de tels prédicats portant sur ce monde, nous avons décrit nos travaux dans le domaine de la réalisation de systèmes d'IA dotés de capacités perceptives, vol.63

, prolongés au vingtième siècle par Gödel, puis Turing (qui répond par la négative à la question de Hilbert concernant l'existence d'une procédure mécanique capable de résoudre un ensemble de problèmes suffisamment vaste), nous connaissons mieux les limites de telles procédures de décision mécaniques

, Ce que nous pouvons dire en tout état de cause, c'est qu'il est au moins une différence fondamentale entre un automate enchaînant des règles logiques et un être intelligent : ce dernier est capable de prendre en compte la réalité [ARN69, DEL94], ce qui donne à penser que les mécanismes liés à l'appréhension de cette réalité sont ceux qui jouent le plus grand rôle. Nous pensons qu'aujourd'hui de plus en plus, avec l'augmentation de la puissance des machines, il deviendra possible de mettre en oeuvre des expériences d'IA mettant en jeu des machines capables d

, Le système Hammourabi est encore pour sa part bien loin d'être doté de telles capacités ; nous devrions en avoir terminé une première version opérationnelle dans le courant du mois de Janvier 98, date à partir de laquelle nous entamerons la mise en oeuvre d'expérimentations selon le plan esquissé au paragraphe 3 de cet article

R. Arnheim, La pensée visuelle, 1969.

T. Cazenave, Système d'apprentissage par auto-observation, 1997.

J. Delacour, Biologie de la conscience, PUF (Que sais-je ?), 1994.

O. Etzioni, N. Lesh, and R. Segal, Building Softbots for UNIX -Working paper, 1992.

, Oren Etzioni -A Softbot-based interface to the internet -CACM, vol.94

M. Ghallab, P. Grandjean, S. Lacroix, and J. P. Thibault, Représentation et raisonnement pour une machine de perception multi-sensorielle, 1992.

G. , Kiczales -Towards a New Model Of Abstraction in Software Egineering, Proceedings of the International Workshop on New Models for Software Architecture '92 ; Reflection and Meta-Level Architectures, 1992.

C. T. Kwok and D. S. Weld, Planning to Gather Information. AAAI'96 proceedings, 1996.

, Pour une information exhaustive sur Snark, le meilleur document est la thèse de Vialatte, soutenue à Paris 6 sous la direction de J.L. Laurière (je n'en ai malheureusement pas la référence exacte au moment où j

V. , L. Cerf, and V. L. Cerf, Reconstitution de déplacements de véhicules en milieu urbain à partir de données bruitées, 1998.

H. Lesourd--le-système and H. , une intelligence artificielle semi-autonome opérant dans l'environnement système UNIX -Rapport de présoutenance de thèse, vol.6, 1998.

H. Lesourd--le-système and H. , un agent semi-autonome opérant dans l'environnement système UNIX -RJCIA'98, 1998.

A. Newell and H. Simon, GPS : a program that simulates human thought, 1963.

, François Pachet -Pluggable advisors as epiphyte systems -Rapport LAFORIA, 1994.

H. Poincaré, La science et l'hypothèse, 1902.

P. Ricaud, Une approche pragmatique de l'abstraction appliquée à la modélisation de la stratégie élémentaire du jeu de Go, 1995.

B. Roger, Un système de dialogue intelligent avec un interlocuteur à la découverte du monde simulé par un logiciel quelconque, 1987.

J. F. Sowa, Conceptual structures, p.69, 1984.

P. Thagard and K. Verbeurgt, Coherence as constraint satisfaction, Cognitive Science, vol.22, 1998.

R. Au and . De-go-1, De même, au Go, [Cazenave, 1996], tente d'apprendre des théorèmes du jeu liés à des événements tactiques précis (connexion/déconnexion de chaînes, vie/mort de groupes, formations d'yeux?). Par contre, il n'existe pas à ma connaissance de programme d'apprentissage automatique de stratégies, ce qui est dû notamment à la difficulté de reconnaître des événements stratégiques (choix entre plusieurs tactiques par exemples). Il s'agit pourtant là d'un aspect essentiel pour un programme de jeu. C'est ce manque de vision stratégique qui explique en partie la faiblesse des programmes de Go actuels, qui gaspillent fréquemment leurs ressources dans des combats inutiles. Dans cet article, nous décrivons un système de planification destiné à servir de support à un programme capable d'apprendre automatiquement des stratégies. Bien que le système ait été conçu dans le cadre de jeux non coopératifs à deux joueurs, nous nous limiterons ici au cas du Go, jeu de plateau inventé en Chine il y a près de 4000 ans, les Grands Maîtres analysaient les positions du jeu à l'aide de patterns complexes tels que les menaces, les clouages, les échecs à la découverte, les blocages? [Berliner, 1977.

, La Représentation des Jeux

, Pour définir un nouveau jeu, nous fournissons au système : un coup légal donné (par exemple, comment jouer une prise de pierres au Go) des règles de terminaison de la partie (mat aux Echecs, règles chinoises au Go), qui vont permettre au système, par régression, de calculer un arbre des buts pour le jeu. Des règles de modélisation de la position en cours, Notre système a été conçu afin d'être applicable pour une classe de jeux bien particulier, à savoir les jeux : déterministes, à information complète, à deux joueurs, à plateau de jeu fini et à tour de jeu alterné

, SI (i2,j2) est une intersection

, SI (i1,j1) <> (i2,j2)

, ALORS (i1,j1,i2,j2) est une instance de LIENS(C)

, Représentation des Stratégies

, Opposition Tactique /Stratégie

, Au contraire, cette même capture sera perçue par un bon joueur comme un simple outil tactique à sa disposition en vue de satisfaire des buts "plus élevés", comme faire du territoire par exemple. C'est la raison pour laquelle nous n'avons pas souhaité faire de distinction dans notre système entre les niveaux tactiques et stratégiques : les deux sont représentées par des plans. Ainsi, toute stratégie peut être vue comme une tactique par un plan plus élevé qu'elle et réciproquement, tout plan "tactique" est du point de vue de ses sous-plans, un plan stratégique. Ceci peut sembler en contradiction avec ce que nous avions dit en introduction sur les programmes de jeux actuels, pourtant, il n'en est rien : les systèmes d'apprentissage actuels se basent tous sur la capacité de reconnaître dans l'environnement quand une tactique/stratégie adverse a réussi (mat, prise d'une pièce, d'un groupe de pierres?), S'il est déjà difficile de définir avec précision ce qu'on entend par stratégie, il est peut-être encore plus difficile de distinguer entre "tactiques" et "stratégie

, Chaque plan est constitué : d'un "pattern logique" exprimé dans le même langage que les règles définissant le jeu, qui spécifie les conditions devant être vérifiées pour "essayer" le plan en mode simulation. Ainsi, dans le plan de la Figure3, le pattern logique exige qu'un groupe de pierres ennemies soit entouré par deux groupes amis plus "forts" que lui (la force d'un groupe étant mesurée par des règles de modélisation non présentées ici, Représentation des Plans Stratégiques Nous avons mis en oeuvre une nouvelle méthode de planification assez éloignée des modèles traditionnels tels que STRIPS ou HTN, 1997.

, Ainsi, dans le plan de la Figure 3, le joueur qui déclenche le plan échange NIL (= rien dans ce cas précis) contre du territoire ou de l'influence. Le but du plan sert à juger en mode simulation si le plan a réussi ou non en comparant la position initiale avec les positions terminales après simulation. Dans le cas du plan de la Figure 3, la simulation est considérée comme réussie si le territoire ou l'influence des positions terminales est supérieure à celle de la position initiale. Ceci permettra par la suite de distinguer les plans qui n'ont pas pu être correctement appliqués (les buts du plan n'ont pas été atteints) des plans faux (les buts du plan n'ont été atteints, arbre des sous-plans précisant les calculs devant être effectués en mode simulation lorsque le pattern logique a matché. d'un but représenté sous la forme d'un échange de ressources

, mode simulation : en effet, si le pattern logique d'un plan a été vérifié, mais que le système est incapable de faire aboutir le plan en mode simulation, c'est que peut-être la modélisation de la position est en cause. Dans ce cas, le système applique l'action décrite par le champ SI_ECHEC (dans le plan Figure 3, si la simulation de la capture de G a échoué, c'est que G devait être plus fort que prévu initialement

;. T. Cazenave, . Cazenave-«-;-shui, P. E. Hu, and . Lehner-«, Charness, 1977] N. CHARNESS « Chess Skill in Man and Machine. » in Human Chess Skill, Explanation-Based Learning in Games : an Application to the Game of Go. » in Proceedings of the 8 th International Conference on Artificial Intelligence Applications (EXPERSYS-96), vol.19, pp.165-203, 1965.

P. E. Utgoff-«, Feature Function Learning for Value Function Approximation, 1996.