• Aucun résultat trouvé

Un Système Expert et un Outil pour la Reconnaissance Automatique des Manœuvres Automobiles

7. Bilan du méta-moteur

Cette section présente un bilan du travail réalisé. Elle comporte trois sous-sections présentant les avantages, les inconvénients et les perspectives concernant la conception et le développement du méta-moteur.

7.1. Avantages du méta-moteur

Le méta-moteur présente de nombreux avantages car il est un outil permettant le développement facile de différents type de méta-régles : des règles d'introspection, de suppression de règles, de modification de règles, de création de règles. Ces méta-règles ont également l'avantage de pouvoir être déclenchées avant, pendant ou après l'exécution du système expert du domaine. Cette caractéristique permet le développement de modules de contrôle, d'apprentissage ou de d'explication.

Dans le cadre du projet CASSICE, un module de contrôle consisterait à superviser le déclenchement des règles afin de déclencher en premier les règles concluant sur la reconnaissance d'une étape (par exemple "Début déboîtement" ou "Fin déboîtement") puis les règles de reconnaissance d'une manœuvre (par exemple, "dépassement"). Le remplacement de la règle "Stratégie_basic" par les deux règles décrites ci-après permet de spécifier cette priorité sur les règles du domaine d'application.

Règle Stratégie1

(?instance (= Type Instance)) ; Une règle candidate

(?instance (= Règle ?Règle)) (?instance (= Etat Candidate))

(?action (= Type Action)) ; possède une action

(?action (INCLUDE Liste_règles ?Règle)) ; qui agit sur

(?action (= Objet Etape)) ; l'objet Etape

Alors (Modify ?instance Etat Prête)

La méta-règle "Stratégie1" indique qu'une règle candidate possédant, en partie action, une opération sur un objet "Etape" deviendra "Prête" à être déclenchée.

Règle Stratégie2

(?instance1 (= Type Instance)) (?instance1 (= Etat Candidate)) (not (and (?action2 (= Type Action))

(?action2 (INCLUDE Liste_règles ?Règle)) (?action2 (= Objet Etape))

(?instance2 (= Type instance)) (?instance2 (= Règle ?Règle)) (?instance2 (= Etat Candidate)) ))

Alors (Modify ?instance1 Etat Prête)

La méta-règle "Stratégie2" se déclenchera s'il n'y a plus de règles candidates concluant sur une action agissant sur un objet "Etape". Dans ce cas, les autres règles candidates sont proposées au déclenchement : l'attribut "Etat" de l'instance prend la valeur "Prête".

Un module d'apprentissage par règles est également réalisable puisque le méta-moteur a la possibilité de modifier, d'ajouter ou de supprimer des règles du domaine d'application en cours de résolution. Le méta-moteur permet donc des modifications en temps réel sur les connaissances du domaine (les faits et les règles).

Un exemple de règles d'apprentissage est présentée ci-après. Elle indique la propriété suivante : Si une règle "R1" conclut sur un fait "A" et une autre règle "R2" ne possède que le fait "A" en partie prémisse alors elles peuvent être remplacées par une nouvelle règle "FusionR1etR2" avec les prémisses de "R1" et avec les actions de "R2" auxquelles ont ajoute la création du fait "A".

Règle R1 Si Prémisse1 Prèmisse2 PrèmisseN Alors Création du fait A Règle R2 Si le fait A présent Alors Action 1 Action 2 Action Q Règle FusionR1etR2 Si Prémisse1 Prèmisse2 PrèmisseN Alors Création du fait A

Action 1, Action 2, …, Action Q

Cet apprentissage pourrait s'écrire avec des méta-règles de la manière suivante :

Règle Apprentissage1

(?R1 (= Type Règle))

(?R1 (= Nbr_Actions 1)) ; Une seule action pour R1

(?R1 (INCLUDE Liste_Actions ?ActionR1)) (?R1 (= Nbr_Prémisses ?Nbr_prémissesR1) (?R1 (= Liste_Prémisses ?Liste_prémissesR1))

(?ActionR1 (= Type Action)) ;Description de l'action pour R1

(?ActionR1 (= Opération Création)) (?ActionR1 (= Objet ?Obj)) (?ActionR1 (= Attribut ?Att)) (?ActionR1 (= Valeur ?Val)) (?R2 (= Type Règle))

(?R2 (= Nbr_Prémisses 1)) ;Une seule prémisse pour R2 (?R2 (INCLUDE Liste_Prémisses ?PrémisseR2)) (?R2 (= Nbr_Actions ?Nbr_actionsR2))

(?R2 (= Liste_Actions ?Liste_actionsR2))

(?prémisseR2 (= Type Prémisse)) ; La seule prémisse de R2

(?prémisseR2 (= Objet ?Obj)) ; concerne le fait créé en (?prémisseR2 (= Attribut ?Att)) ; partie action de R1 (?prémisseR2 (= Valeur ?Val))

Alors

(Create (NewRegle) Type Règle)

(Create (NewRegle) Règle (concat "Fusion" ?R1 "et" ?R2)) (Create (NewRegle) Nbr_prémisses ?Nbr_prémissesR1) (Create (NewRegle) Liste_Prémisses ?Liste_prémissesR1) (Create (NewRegle) Nbr_Actions (+1 ?Nbr_actionsR2)) (Create (NewRegle) Liste_Actions

(+ ?ActionR1 ?Liste_actionsR2))

(Retract ?R1) ; Effacement des règle R1 et R2 sans effacer (Retract ?R2) ; Les prémisses et actions des deux règles

Un module d'explication peut être également développé. En effet, le méta-moteur donne la possibilité de scruter très facilement les différentes informations représentées sous la forme de faits, règles et instances. De même, les explications peuvent se faire en temps réel sans gêner la résolution du problème.

7.2. Inconvénients du méta-moteur

Le principal inconvénient est la relative lenteur du méta-moteur due à une double interprétation : exécution des règles du méta-moteur qui appliquent les règles du domaine (représentées sous la forme de faits) sur les faits du domaine.

Un autre inconvénient est le manque actuel de souplesse au niveau de la structure des règles. En effet, actuellement les systèmes experts du domaine ne peuvent utiliser des variables que pour des objets et des valeurs. Il n'est pas prévu, pour le moment, que le méta-moteur gère des systèmes experts du domaine d'ordre 2.

8. Conclusion

Le système IDRES est fonctionnel. Les différents niveaux de décision ont été implémentés et donne des résultats satisfaisants avec les données fournies par le simulateur. Le système de reconnaissance des manœuvres est générique : l'ajout d'une nouvelle manœuvre ne changera absolument rien au niveau reconnaissance des manœuvres ou de la gestion de la reconnaissance des états. La prochaine étape sera de confronter IDRES aux données fournies par les capteurs du véhicule expérimental lors d'une situation réelle de conduite.

Actuellement, le méta-moteur d'inférences est en cours d'implémentation. Il permet de mettre en œuvre différents types de méta-règles afin de créer, modifier ou supprimer d'autres règles. Le méta-moteur autorise également la construction de méta-règles d'introspection pour rechercher des informations dans les instances, les prémisses ou les actions des règles. Il permet également de développer des méta-règles réflexives (qui sont capables de s'appliquer à elles-même).

Le méta-moteur est en cours de réalisation. La perspective à court terme est donc de terminer son implémentation. Dans un second temps, afin d'améliorer la rapidité d'exécution du méta-moteur, il sera nécessaire de construire un méta-moteur compilé.

Parallèlement au développement d'un méta-moteur compilé, il est important de construire des modules de contrôle, de stratégie de déclenchement de règles, d'explication et d'apprentissage destinés à des systèmes d'aide à la décision comme le système ADSS [Chuang 98].

Il faut également appliquer le méta-moteur à différents domaines d'application. Ainsi, en plus du système expert IDRES développé dans le cadre du projet CASSICE, il est prévu de tester le méta-moteur dans le cadre du développement d'un système expert pour la modélisation du comportement d'un conducteur automobile en situation de conduite.

9. Bibliographie

[Clips 98] CLIPS98 : www.ghg.net/clips/download/documentation

[Davis 79] Davis R. : Interactive transfer of expertise: Acquisition of new inference rules - Artificial Intelligence, volume 12, 1979.

[Giarratano&al 98] Giarratano and Riley : Expert Systems: Principles and Programming - ISBN 0-534-95053-1, 1998.

[Kormann 95] Kormann S. : A Meta-Level Architecture for Self-Monitoring - workshop "On reflection and Meta-Level Architecture and their Applications in AI", IJCAI 95, Montréal, 1995.

[Loriette 98] Loriette-Rougegrez S. : Raisonnement à partir de cas pour des évolutions spatio-temporelles

de processus - Revue internationale de géomatique "Les nouveaux usages de l'information géographique",

actes des journées Cassini 1998, vol.8, n°1-2/1998, pp.207-227, 1998.

[Nigro&al 98] Nigro J.M., Ricaud P. : A Method to Diagnose the User's Level - Lecture Notes in Artificial Intelligence 1484, Progress in Artificial Intelligence - IBERAMIA 98, Ed. Springer Verlag, pp 361-372, 1998.

[Nigro&al 99] Nigro J.M., Loriette-Rougegrez S. : Characterization of driving situations - Santiago de Compostela (Espagne), MS'99 (International Conference on Modeling and Simulation), 1999.

[Pitrat 90] Pitrat J. : Métaconnaissance - Futur de l'Intelligence Artificielle - Hermès, 1990.

[Rosenbloom 91] Rosenbloom P.S., Laird J.E., Newell A., McCarl Robert : A preliminary analysis of Soar

[Saad&al 96] Saad F., Villame T. : Assessing new driving support systems : contribution of an analysis of

driver's activity in real situations - in proceedings of 3rd

annual world congress on intelligent transport systems - topic : human factors - Orlando, 1996.

[Chuang 98] Chuang T., Yadav S.B. : The development of an adaptive decision support system - Decision support systems, Volume 24, Issue 2, 1998.

Un système général de jeu de cartes