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 homme­machine. 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. Assiste­t­on à 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: au­delà 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.