Introduction aux systèmes à
base de connaissances
INTRODUCTION
Depuis toujours, l'homme a rêvé de construire
un automate à son image. L'histoire nous rapporte de nombreuses tentatives
ou légendes à ce propos. Ainsi, par exemple, dans la culture
juive, le Golem est une sorte de robot à figure humaine que de saints
rabbins avaient le pouvoir d'animer. Fait de bois ou pétri avec de
l'argile à l'imitation de Dieu créant l'homme, le Golem a
l'aspect d'un enfant ou d'un petit homme. Pour l'animer, il suffisait d'inscrire
sur son front le mot hébreu emet (vérité). Il
devenait alors un serviteur docile et muet. Pour le détruire, on
enlevait au mot emet la première lettre. Il reste alors le mot met
signifiant mort.
Chaque acquis en science ou en technique ravive le mythe. Après le
joueur d'échec de Maelzel (Edgar Poe), on trouve Frankenstein. But
ultime: créer une intelligence "artificielle". La création
de l'ordinateur (souvent baptisé cerveau électronique) n'échappe
pas à la règle. Hal (du film "2001, Odyssée de
l'espace" de Stanley Kubrick) fait partie de ces utopies basées
sur la technologie informatique.
De fait, jusqu'en 1950, les ordinateurs étaient trop rudimentaires
(malgré les puissances consommées) pour pouvoir traiter efficacement
autre chose que des calculs. Depuis 1950, des programmes commencent à
pouvoir réaliser des calculs formels. En 1956, un programme de Newell,
Shaw et Simon, "Logic Theorist", réalise des démonstrations
de théorèmes de logique. C'est en 1956 également que
le terme "Intelligence artificielle" est adopté comme thème
d'une réunion au collège de Dartmouth. Depuis lors, en tenant
compte de résultats obtenus en biologie, psychologie, logique, linguistique
et informatique, l'intelligence artificielle (IA) constitue un programme
scientifique en soit. Elle sort des laboratoires depuis quelques années,
après divers succès dans le monde de l'économie.
Voici quelques événements qui ont jalonnés l'histoire
de cette communauté. En 1958, Newell et Simon prédisent que
10 ans suffiront pour que l'ordinateur ait découvert un théorème
de mathématique et soit champion du monde d'échec. Vingt-cinq
ans après, leurs prédictions ne sont pas encore réalisées.
Ce qui montre le caractère utopique des pionniers dans le domaine.
En 1959, le programme de "checkers" de A. Samuel utilise une fonction
d'évaluation et est capable "d'apprentissage". En 1960
paraît la définition du langage Lisp (John McCarthy) qui sera
le langage phare du monde de l'IA. L'année 1965 marque un arrêt.
Après de nombreux échecs, c'est la fin de l'euphorie. Les
recherches sur la traduction automatique sont stoppées. C'est à
cette époque que l'on perçoit les limites des techniques utilisées
basées sur la plupart sur la combinatoire.
En 1967 le programme d'échec de Greenblatt bat un joueur "normal"
et en 1970 on assiste à la réalisation de l'ancêtre
des systèmes experts, le programme DENDRAL qui effectue des analyses
spectrales.
1970 marque le renouveau dans le domaine. On introduit des méthodes
et des connaissances tirées de l'expérience humaine. Les objectifs
sont moins ambitieux mais des résultats pratiques commencent à
être enregistrés. Les recherches de traduction automatique
sont reprises en limitant les ambitions. En 1974, MYCIN est le premier système
qui sépare connaissances et programme. Le programme (moteur d'inférence)
sera utilisé pour d'autres applications, en particulier PROSPECTOR
un système de prospection pétrolière. En 1975 le langage
Prolog (Alain Colmerauer) voit le jour comme application d'une découverte
en logique mathématique.
Depuis cette époque les principaux problèmes posés
concernent la formalisation des connaissances et la nécessité
de définir et d'utiliser des métaconnaissances, connaissances
sur la connaissance. Les années quatre-vingt ont vu se multiplier
les pistes de recherche et les domaines d'application: réseaux neuronaux,
systèmes experts de deuxième génération.
En 1982, se crée, au Japon, l'ICOT (institut pour les techniques
informatiques de la nouvelle génération) dont le but est la
création de KIPS (knowledge information processing system) qui sont
des outils "grand public". En 1992, on peut dire que ces recherches
n'ont pas toutes abouti aux résultats escomptés, peut-être
par manque d'adaptation des objectifs et des méthodes à l'évolution
de la science informatique.
Citons encore en 1984 la création du SGAICO (swiss group for artificial
intelligence and cognitive science) qui regroupe des universités,
des entreprises, des instituts de recherche et des particuliers.
Actuellement il est difficile de parler d'intelligence artificielle en général.
Il vaut mieux distinguer différents secteurs tels que:
La science cognitive qui appartient au domaine de la psychologie
et qui étudie l'intelligence humaine en analysant et en recréant
différentes actions et divers comportements intelligents.
Les systèmes intelligents qui sont des techniques et des environnements
qui facilitent la communication hommemachine. On n'oubliera pas de
mettre au bénéfice des chercheurs de l'IA l'usage du terminal
pour remplacer le batch par des interventions interactives, les langages
objets (liés au réseaux sémantiques), les langages
interactifs (signalons que John G. Kemeny, créateur avec Thomas E.
Kurtz, du langage BASIC a participé à la réunion où
la communauté IA a pris naissance !).
Le génie de la connaissance (où les cogniticiens jouent
le rôle des analystes de l'informatique traditionnelle) qui conçoit
des systèmes où l'on dispose d'une grande quantité
de données, souvent sous forme symbolique. De plus, ces données
ne sont pas figées; elles peuvent évoluer. Elles sont parfois
incertaines, souvent incomplètes. De plus leur traitement ne relève
pas toujours d'algorithmes. Il faut alors introduire des méthodes,
pour lesquelles on utilise le nom d'heuristiques, qui dépendent du
jugement ou de l'expérience, mais qui ne mènent pas toujours
à la solution.
La communauté des informaticiens semble toutefois encore partagée
quant à l'utilité, voire la légitimité de ces
nouvelles techniques. Assisteton à un débat entre
les anciens et les modernes ? On lui réserve souvent une place particulière.
Ainsi, V. Scardigli, maître de recherche au CNRS, estime que
"l'intelligence artificielle est un bel outil. Mais à part quelques
applications industrielles et militaires, on ne sait qu'en faire".
Toutefois, on ne peut s'y tromper: audelà des cercles économiques,
des appellations et des "chapelles", nous ne vivons que la préhistoire
des systèmes informatiques. L'intégration de techniques diverses,
les développements originaux et l'augmentation des utilisateurs rendront
les catégorisations actuelles désuètes. Il est inéluctable
que les machines fassent preuve de plus en plus d'"intelligence",
si l'on donne comme définition au développement de l'intelligence
des machines une meilleure adaptation aux besoins et aux usages de l'homme.
En définitive on laissera à chacun le droit de prendre position
par rapport aux liens entre l'homme et la machine et d'interpréter
à sa manière le vocable d'"intelligence artificielle".
Le but de cette partie du manuel est plus modeste. Il s'agit simplement
de donner un aperçu des techniques utilisées dans les systèmes
à base de connaissances et de s'attacher à des données
dont le traitement n'est plus forcément algorithmique mais qui dépendent
de la décision d'experts qui jouent le rôle de garant (plutôt
que des techniques d'analyse classique) de la cohérence du système.
En résumé, quelques caractéristiques des problèmes
traités par les systèmes à base de connaissance:
problèmes plus QUALITATIFS que quantitatifs,
données souvent SYMBOLIQUES,
données qui EVOLUENT, parfois INCERTAINES souvent INCOMPLETES,
traitement ayant recours à une HEURISTIQUE
La méthode adoptée compte souvent autant que la solution obtenue.
C'est grâce à la démarche adoptée que l'utilisateur
pourra parfois se persuader de la validité des résultats fournis
par le programme.
(c) L.-O. Pochon, 1995