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