WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'un système expert diagnostic d'aide à  la décision médicale. Cas de l'ophtalmologie.

( Télécharger le fichier original )
par Esther BONGENDA
Université de Kinshasa, RD Congo - Licence 2012
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

DEDICACES

A mon cher père BONGENDA BAYINIAMA Evariste

A ma chère mère ENGWELE NYANDIMO Christine

A la famille BONGENDA

A tous mes amis

REMERCIEMENTS

En tout premier lieu, je remercie mon Dieu, tout puissant, qui a éclairé le bon chemin et qui m'a aidé à réaliser ce travail dans les meilleures conditions.

J'exprime ma profonde gratitude et mon respect à mon directeur Mr le Professeur Docteur Eugène MBUYI MUKENDI, qui m'a guidé avec patience et gentillesse et m'a fait profiter de sa grande expérience ainsi que ses précieuses remarques qui ont grandement contribué à améliorer la qualité de ce mémoire.

Je tiens aussi à remercier mon encadreur Mr le Chef de travaux Pierre KAFUNDA, pour sa volonté de m'aider dans ce travail, malgré toutes ses préoccupations, que ma reconnaissance lui soit accordée.

Je tiens à remercier sincèrement l'ensemble des membres du Jury qui me font grand honneur d'accepter que cet humble travail leur soit présenté.

Je tiens à exprimer toute ma reconnaissance à Monsieur l'assistant BEPOUKA pour avoir accepté d'être consulté dans l'élaboration de ce travail et pour le temps qu'il a investi à l'évaluer malgré ses nombreuses obligations.

Je tiens à remercier la Docteur Joyce KABWE pour nous avoir donné son temps dans l'obtention des éléments nécessaires dans le domaine d'ophtalmologie pour la réalisation du système expert SEDADOPHTA.

Je tiens tout particulièrement à remercier tous les professeurs de la faculté des sciences parmi lesquels nous citerons Professeur Léonard MANYA NDJADI, Professeur MUBENGA KAMPOTU.

Je remercie tous mes collègues de la promotion Poste graduation, et toutes les personnes qui ont contribué de près ou de loin à l'élaboration de notre travail et tout particulièrement à l'ingénieur Norbert TSHIYOYO.

Merci infiniment à toutes mes soeurs et frères, mes collègues du travail.

LISTE DES FIGURES

Fig. 1 : Architecture d'un système expert

Fig.2 : Réseaux sémantiques

Fig. 3 : Graphe ET/OU d'un SE fonctionnant en chainage arrière

Fig.4  : Composition de l'oeil

Fig.5 : Orgelet

Fig.6  : Blépharite

Fig.7  : Cataracte et cataracte congénital

Fig.8  : Conjonctivite gonocoque et conjonctivite viral

Fig.9 : Chalazion

Fig.10 : Glaucome

Fig.11 : Kératite à candida

Fig.12  : Diagramme de cas d'utilisation

Fig.13  : Diagramme de séquence pour initialisation du système

Fig.14 : Diagramme d'activité pour initialisation du système

Fig.15 : Diagramme de séquence mettre à jour les connaissances

Fig.16  : Diagramme d'activité mettre à jour les connaissances

Fig.17  : Diagramme de séquence diagnostique de la maladie

Fig.18  : Diagramme d'activité diagnostique de la maladie

Fig.19  : diagramme de séquence pour la prescription

Fig.20  : Diagramme d'activité pour la prescription

Fig.21  : Diagramme de classes

LISTE DES ABREVIATIONS

BF : Base des faits

SEDADOPHTA : Système expert diagnostic d'aide à la décision ophtalmologique

SE : Système Expert

IA : Intelligence Artificielle

0. INTRODUCTION GENERALE [1]

Ce mémoire s'inscrit dans le contexte de l'émergence des nouvelles technologies informatiques sur des systèmes experts dans notre environnement quotidien. Un système expert est un système capable d'imiter les comportements ou les méthodes de résolution des problèmes utilisées par les experts. Les années antérieures les premiers systèmes experts ont été développés dans des universités tels que : université de Stanford, dans le but de résoudre les problèmes qui se posait dans des diverses domaines que nous connaissons bien tels que la médecine, la chimie, la biologie etc. Après ce fut des entreprises industrielles pour le diagnostic des pannes. Des années plus tard, ces applications ont été vulgarisées dans des domaines bancaires et financiers. De nos jours, ces innovations ingénieuses sont sans doute des moyens efficaces de perpétuer les connaissances de l'expert dans des domaines précis. Et cela, grâce à leurs capacités d'expliquer le raisonnement réel de l'expert, des nombreuses entreprises préfèrent ces systèmes en vue d'obtenir des solutions très efficaces et sûres dans la résolution des problèmes qui se présentent. A présent nous constatons que le système expert peut remplacer l'expert dans des tâches exigeant une compétence intellectuelle qui d'autres part échappe l'expert à cause de sa nature humaine.

0.1. PROBLEMATIQUE

Tenant compte des énormes besoins spécifiques que connaissent certaines de nos institutions médicales ou hospitalières, pour la mise en disponibilité des différents problèmes qu'elles organisent (diagnostic, traitement, consultation et prescription etc.). Donc cela, nous disons que les connaissances d'un expert ophtalmologue est un élément essentiel dans la résolution des problèmes de son domaine. Cependant, l'expert ophtalmologue est une personne rare et qu'il est difficile de résoudre un bon nombre des problèmes posés par les patients.

Nous nous sommes ainsi posé trois questions : Comment faire pour faciliter les mécanismes de traitement rapide pour résoudre les différents problèmes et quels sont les en jeux mis en place ?

Ø Le nombre de problèmes traités est-il important pour subir un traitement par systèmes expert ?

Ø Les méthodes actuelles de résolution de problèmes posés par le patient kinois sont elles efficaces ?

Ø Y-a-t-il une possibilité de passer de la résolution humaine à une résolution par système expert ?

0.2. INTERET DU SUJET

L'intérêt de ce sujet, en particulier sur le plan académique ou professionnel, est de permettre à une multitude tels que : savoir concevoir un système expert qui permettrait à des nombreuses institutions hospitalières de satisfaire, d'une manière efficace et rapide le patient kinois atteint d'une maladie de l'oeil, savoir concevoir et de réaliser un système expert en vue de perpétuer les idées ou connaissances de l'expert ophtalmologue à cause de sa rareté et de sa nature humaine , afin bien comprendre les notions apprises au cours de notre processus en intelligence artificielle, intelligence approfondie, programmation, génie logiciel etc.

0.3. METHODOLOGIES

UML est la méthode que nous avons utilisée pour la modélisation de notre système expert, la technique d'interview et technique documentaire pour l'extraction des connaissances dans le domaine de l'ophtalmologie.

0.4. DELIMITATION DU TRAVAIL

Dans le présent travail, nous avons opté présenter les notions essentielles des systèmes experts et de l'ophtalmologie.

0.5. SUBDIVISION DU TRAVAIL

Notre travail est subdivisé en quatre chapitres hormis l'introduction et la conclusion.

Le Chapitre I intitulé « Intelligence artificielle », donne un bref aperçu sur les aspects théoriques de l'intelligence artificielle.

Le Chapitre II intitulé « Systèmes experts », présente les concepts essentiels du système expert et la procédure à suivre pour acquérir les connaissances auprès d'un expert.

Le Chapitre III intitulé «  Généralités sur l'ophtalmologie », présente les différents symptômes et pathologies en ophtalmologie.

Le Chapitre IV intitulé « Conception et réalisation du système expert SEDADOPTHA », présente la modélisation et l'application du système expert.

CHAP.I. INTELLIGENCE ARTIFICIELLE [7], [10]

I.1. INTRODUCTION

Le terme intelligence artificielle date de 1956, lors de la conférence de Darmouth par John McCarthy, Marvin Lee Minsky, Shannon, Allen Newell, Hebert Simon et Rochester. Cela étant, l'IA tire naissance d'une fusion d'idées provenant de plusieurs disciplines (Philosophie, Mathématique, Logique, Psychologie, Ophtalmologie, Cybernétique, Linguistique, etc). L'intelligence artificielle a connu le succès de ce qu'il énonce une problématique fondamentale : la possibilité de concevoir une machine intelligente. En quoi consiste La machine intelligente ? Pour pouvoir répondre à cette question, nous allons utiliser deux approches :

Première approche : Une machine est dite intelligente lorsqu'elle est capable de reproduire le comportement humain dans un domaine spécifié ou non.

Deuxième approche : Une machine est dite intelligente lorsqu'elle est capable de modéliser le fonctionnement d'un être humain.

I.2. DEFINITIONS

D'après Richard ATKINSON ; l'intelligence est la capacité de comprendre un contexte nouveau, et à réagir à cette nouvelle situation de façon adaptée.

D'après le LAROUSSE ; l'adjectif artificiel se dit de tout ce qui est produit par une technique humaine.

En dépit de ces définitions, la définition de l'intelligence artificielle n'est universelle car chaque auteur a une compréhension propre de ce terme.

1. D'après FEIGENBAUM ; L'intelligence artificielle est la partie de l'informatique consacrée à la conception de systèmes informatiques intelligents.

2. D'après BUCHAMAN ; L'intelligence artificielle est le domaine de l'informatique qui effectue les traitements symboliques et qui emploie des méthodes non algorithmiques.

3. D'après BONNET ; L'intelligence artificielle est une discipline qui vise à comprendre la nature de l'intelligence en construisant des programmes d'ordinateurs imitant l'intelligence humaine.

4. D'après RICH, l'intelligence artificielle est le domaine qui étudie comment faire exécuter par l'ordinateur des tâches pour lesquelles l'homme est encore toujours le meilleur.

5. D'après WINSTON, L'intelligence artificielle est une étude des concepts qui permettent de rendre les machines intelligentes.

6. D'après MARVIN Lee Minsky, L'intelligence artificielle est la construction de programmes informatiques qui s'adonnent à des tâches qui sont, pour l'instant, accomplies de façon plus satisfaisante par des êtres humains car elles demandent des processus mentaux de haut niveau tels que : l'apprentissage perceptuel, l'organisation de la mémoire et le raisonnement critiqué.

En vertu de ces définitions, nous disons que l'intelligence artificielle est la science qui étudie les moyens nécessaires permettant la substitution de l'homme par la machine dans l'accomplissement des tâches nécessitant des capacités intellectuelles.

I.3. AMBITIONS DE L'INTELLIGENCE ARTIFICIELLE

Il existe deux ambitions de l'intelligence artificielle :

ü L'intelligence artificielle forte

ü L'intelligence artificielle faible

I.3.1. L'intelligence artificielle forte

Le concept de l'intelligence artificielle forte fait référence à la construction des machines capables non seulement de produire un comportement humain intelligent, mais aussi d'éprouver une impression d'une réelle conscience de soi, de vrais sentiments et une compréhension de ses propres raisonnements. Bref, on cherche à égaler l'homme, voire même le dépasser.

I.3.2. L'intelligence artificielle faible

Le concept de l'intelligence artificielle faible fait référence à la construction des machines capables de simuler l'intelligence humaine en vue d'aider l'homme dans l'accomplissement de ses tâches tel que le système expert. Bien que ces machines puissent produire le comportement humain, elles sont inconscientes de ce comportement et n'éprouvent aucun sentiment humain. Il s'agit d'une approche pragmatique de l'ingénieur.

I.4. LES DOMAINES DE L'INTELLIGENCE ARTIFICIELLE

Quelques domaines de l'intelligence artificielle sont :

· Les systèmes experts : un système expert est un logiciel capable de simuler le comportement d'un expert humain effectuant une tâche précise. Il s'agit là d'un domaine où le succès de l'intelligence artificielle est incontestable et cela est sans doute dû au caractère très ciblé de l'activité que l'on demande de simuler. Le logiciel MYCIN (1974) par exemple est capable de fournir un très bon diagnostic dans la mesure où il est spécialisé dans certains types de leucémies.

· La représentation des connaissances : si l'on veut qu'un logiciel soit capable de manipuler des connaissances, il faut savoir les représenter symboliquement. C'est là un des secteurs les plus importants de la recherche en intelligence artificielle.

· La simulation du raisonnement humain. Les hommes sont capables de raisonner sur des systèmes incomplets, incertains et même contradictoires. On tente de mettre au point des logiques qui formalisent de tels modes de raisonnement (logiques modales, temporelles, floue, non monotones, etc.).

· Le traitement du langage naturel. Qu'il s'agisse de traduire un texte dans une autre langue ou de le résumer, le problème crucial à résoudre est celui de sa compréhension. On pourra dire qu'un logiciel comprend un texte lorsqu'il pourra le représenter sous une forme indépendante de la langue dans laquelle il est écrit : c'est une tâche très difficile mais, bien que l'on soit très loin des enthousiasmes des premiers temps, des progrès significatifs ont d'ores et déjà été réalisés. On commence à trouver des traducteurs automatiques d'autant meilleurs qu'ils traitent d'un domaine spécialisé et des logiciels documentaires non triviaux.

· La résolution de problèmes : représentation, analyse et résolution de problèmes concrets. Les jeux fournissent une bonne illustration de ce domaine : le champion du monde de Backgammon est un programme depuis quelques années déjà et cela sera vraisemblablement aussi le cas pour le jeu d'échecs dans peu de temps. Le jeu de Go résiste beaucoup plus aux efforts des programmeurs de jeux.

· la reconnaissance de la parole : les progrès sont beaucoup plus lents qu'on ne l'imaginait mais constants. On est encore loin de pouvoir produire un logiciel capable de reconnaître les paroles d'un locuteur quelconque et cela essentiellement parce que la compréhension d'un mot, d'une phrase requiert beaucoup d'informations extra-langagières (le contexte, la connaissance du monde dans lequel nous vivons interviennent de manière fondamentale). Un Dictaphone automatique a malgré tout été proposé dans le commerce en 1994 mais il ne fonctionne que si le locuteur sépare chacun des mots et n'effectue aucune liaison.

· La reconnaissance de l'écriture : même la reconnaissance de l'écriture dactylographiée n'est pas un problème facile (bien qu'on commence à trouver sur le marché des logiciels très performants). L'écriture manuscrite pose des problèmes autrement plus ardus : cela n'est pas étonnant dans la mesure où cette tâche peut nous poser à nous aussi des problèmes insolubles. Certains chercheurs essaient de reconstituer le mouvement de la main à partir du texte qu'elle a écrit afin de comprendre ce qui a été écrit.

· La reconnaissance des visages : longtemps considéré comme un des problèmes les plus difficiles de l'intelligence artificielle, il semble que l'on obtienne des résultats intéressants en utilisant des réseaux neuronaux.

· la robotique. Il y a déjà longtemps que des robots industriels ont fait leur apparition dans les usines. On appelle robot de la première génération, ceux qui sont capables d'exécuter une série de mouvements préenregistrés. Un robot de la deuxième génération est doté de moyens de perception visuelle lui permettant de prendre certaines décisions. Un robot de la troisième génération, objet des recherches actuelles, doit acquérir une plus grande autonomie comme se déplacer dans un environnement inconnu. On est encore loin du robot domestique ou ménager.

· l'apprentissage. L'idée est d'avoir un logiciel qui devrait avoir des capacités d'apprentissage autonome pour pouvoir être véritablement qualifié d'intelligent.

· les réseaux neuronaux. Un réseau de neurones formels est un modèle rudimentaire du cerveau humain, chaque cellule neuronale étant décrite comme une fonction à seuil possédant une sortie et dont les entrées sont reliées à d'autres neurones. Il est pourtant possible d'effectuer des tâches non triviales à l'aide de tels réseaux (la reconnaissance des formes et en particulier des visages en étant l'exemple le plus frappant). Ces réseaux partagent plusieurs propriétés importantes avec le cerveau humain : répartition de l'information sur l'ensemble du réseau (où se trouve la mémoire dans le cerveau ?), programmation non explicite (nous ne savons pas non plus ce que nous savons), etc.

· les systèmes complexes adaptatifs : on regroupe sous ce vocable les algorithmes génétiques et les modèles de vie artificielle. Il s'agit là, énoncé de manière abusivement succincte, d'étudier comment des populations soumises à des lois simples et naturelles convergent naturellement vers des formes organisées.

I.5. LES PRINCIPAUX LANGAGES DE L'INTELLIGENCE ARTIFICIELLE

ü Lisp (1960, J. McMathy)

ü Prolog (1973, A.Columerauer)

ü SMALLTALK (1972, A.Kay)

ü JAVA (1994), C++, Schème 

ü Docteur schème.

I.6. AVANTAGES DE L'INTELLIGENCE ARTIFICIELLE

· L'avantage premier de l'intelligence artificielle est la limitation d'erreurs.

· Grâce à l'IA, l'homme est dispensé de certains travaux difficiles, répétitifs ou pénibles (exemple des robots domestiques, système expert etc.).

· Les machines n'ont pas de contraintes physiques, ni besoin de manger.

I.7. INCONVENIENTS DE L'INTELLIGENCE ARTIFICIELLE

D'après plusieurs auteurs, les perspectives de l'intelligence artificielle peuvent avoir des inconvénients dans la mesure où les machines devenaient plus intelligentes que les hommes et incontrôlées. Si tel est le cas, elles peuvent prendre le contrôle des hommes, voire même les exterminer. De la même manière que la conception de ces machines faisait partie des activités intellectuelles de l'homme, elles peuvent aussi à leur tour créer des machines beaucoup plus intelligentes qu'elles mêmes.

CHAP.II. LES SYSTEMES EXPERTS [1], [6], [7], [10], [14]

II.1. INTRODUCTION

En 1965, une équipe de l'université de Stanford se mit à travailler sur la résolution d'un problème pour lequel on ne connaissait pas de solution algorithmique. Edward Feigenbaum avait pour objectif d'aider le chimiste à trouver la structure d'un composé organique à partir de la donnée de son spectrogramme de masse et de sa formule chimique. De là le premier système expert connu sous le nom de Dendral est né. Cependant, les règles de ce système expert étaient mélangées au moteur.

C'est ainsi que par la suite, Feigenbaum et ses collègues ont eu l'idée de séparer explicitement les connaissances spécifiques du domaine et les mécanismes d'interprétation, il fut alors modifier de manière à extraire le moteur d'inférence. Ce qui a donné naissance au système expert nommé Metal - Dendral. Le plus connu de tous était Mycin (Université de Stanford, 1976), Système de diagnostic des maladies du sang et de prescription de médicaments. L'idée était de rendre les ordinateurs intelligents en introduisant la connaissance d'un expert et un moteur d'inférence qui devait raisonner à partir de cette connaissance. Cette connaissance traduisait un mode de raisonnement et pouvait s'exprimer par des règles de la forme : « SI telle condition vérifié ALORS effectuer telle action ».

Aujourd'hui, un système expert est l'expression d'un savoir sous forme de connaissances qui généralement résultent d'une expérience dans un domaine précis.

II.2. DEFINITIONS

Définition 1

Un Système Expert est un programme informatique intelligent qui utilise de connaissances et des procédures d'inférences dans le but de résoudre des problèmes d'une difficulté telle qu'ils requièrent une expertise humaine conséquente. Les connaissances nécessaires pour y'arriver ainsi que les procédures d'inférence utilisées peuvent être assimilées à une modélisation de l'expertise des meilleurs spécialistes du domaine considéré.

Définition 2

Un Système Expert est aussi un système d'aide à la décision basé sur un moteur d'inférence et une base de connaissances. Il est la transcription logicielle de la réflexion d'un expert dans un domaine donné. Il est capable de déduction logique et de produire une solution qui semble la plus juste. Il reste toutefois un outil d'aide à la décision et est loin de pouvoir remplacer l'intelligence de l'expert.

Définition 3

Un Système Expert est encore une application capable d'effectuer dans un domaine précis des raisonnements logiques comparables à ceux que feraient des experts humains de ce domaine.

Définition 4

Un Système Expert est un système informatique qui utilise une représentation de connaissance d'un expert dans un domaine spécialisé dans le but d'effectuer des fonctions similaires à celles d'un expert humain.

Définition 5

Un Système Expert est un système informatique qui fonctionne par application d'un mécanisme d'inférence sur une représentation de la connaissance d'un expert.

En vertu de toutes ces définitions nous disons qu'un Système Expert est un programme informatique capable d'effectuer des tâches intellectuelles nécessitant des connaissances dans un domaine bien spécifique qui permet aux non-experts d'arriver aux mêmes déductions que celle d'un expert et qui vient en aide à l'expert en cas d'oublie de prendre une décision bien précise.

II. 3. LES APPORTS DES SYSTEMES EXPERTS

Les motivations pour une entreprise de réaliser un système expert sont regroupées en 3 catégories :

- La gestion de l'expertise

- L'augmentation de la capacité de l'expert

- La diffusion de la connaissance

II.3.1. La gestion de l'expertise

Un expert est une personne de grande importance dans une entreprise car toutes les décisions d'une entreprise face à des situations relatives au domaine dont il possède le savoir émanent de lui.

En effet, les experts sont des hommes rares, très chers et difficiles à remplacer. D'où la nécessité pour une entreprise de s'approprier de la technique de systèmes experts et de conserver ainsi l'expertise (le savoir et savoir faire de l'expert) sous une forme aussi claire et accessible à tous. Le système expert devient alors un moyen de formation.

II.3.2. l'augmentation de la capacité de l'expert

A cause de la nature humaine l'expert peut donc être sujet à la fatigue, à l'oublie, etc. Alors que le système expert est insensible à des telles considérations. Cela étant un système expert peut trouver plus rapidement une solution à un problème en donnant accès à la connaissance des autres experts du domaine. Un système expert peut donc assister un spécialiste du fait que sa connaissance provient de plusieurs experts.

II.3.3. la diffusion de la connaissance

Vu la nature humaine de l'expert il est souvent nécessaire pour une entreprise que leur expertise soit diffusée à des nombreux services afin de décentraliser les prises de décision et d'accroître ainsi la rapidité et l'homogénéité. Ainsi, la diffusion permet aux utilisateurs de disposer à tout moment de l'expertise.

ü La diffusion de l'expertise dans le temps

Elle consiste à une mise à jour des règles d'un métier. Le système expert doit être adéquat à l'évolution des connaissances car les connaissances d'un spécialiste dans un système expert peuvent être accessibles aux autres spécialistes qui peuvent les mettre à jour. Ce qui permet à toute personne nouvelle dans l'entreprise de disposer de connaissances par ses prédécesseurs.

ü La diffusion de l'expertise dans l'espace

Elle consiste à unifier les méthodes de travail. On distingue deux types de diffusion :

1. La diffusion horizontale 

2. La diffusion verticale 

On parle de la diffusion horizontale : lorsque plusieurs personnes de l'entreprise réalisent les mêmes travaux et adoptent les mêmes méthodes de travail.

On parle de la diffusion verticale lorsque les non-spécialistes peuvent effectuer des tâches réservées aux experts.

II.4. LES SORTES DE SYSTEMES EXPERTS

Selon la complexité des variables et du langage d'évaluation les systèmes experts sont classés en 3 principaux types :

1. Système Expert d'ordre 0 : Faits booléens sans variable.

Exemple : Si la voiture ne démarre pas et les phares ne s'allument pas alors il n'y a plus de batterie.

Il s'agit ici d'une version primaire des systèmes experts qui n'est capable que d'évaluation binaire. Ses capacités sont limitées mais ses performances sont en général excellentes.

2. Système Expert d'ordre 0+ : Symboliques, Réels, Priorités.

Exemple : Si Age > 17 Alors statut = « Majeur ».

Ce type de systèmes experts assimile la notion de priorité qui permet de faire passer certains tests ou évaluations avant d'autres, leurs importances étant plus grande. Il intègre aussi l'arrivée de nombres réels et les évaluations symboliques (<, >, =, !=).

3. Système Expert d'ordre 1 : Variables et Quantificateurs.

Exemple : Si Commutateur [M].status = libre alors Exec(PriseEnCharge, M).

A ce niveau, les systèmes experts savent gérer des variables (donc stocker des informations pendant une évaluation) et peuvent utiliser des quantificateurs (évaluation des connaissances incertaines) ou états (ex : libre, occupé, transféré, en attente...).

Selon le type d'activités, on distingue 3 types de système experts :

1. Les systèmes experts dédiés : ce sont des systèmes experts orientés vers la résolution des problèmes spécifiques à un domaine.

2. Les Shell : ce sont des systèmes experts possédant un Moteur d'Inférence incorporé et un formalisme de représentation des connaissances

3. Les systèmes experts globaux : ce sont les environnements de constructions des systèmes experts.

II.5. LES COMPOSANTS DE BASE D'UN SYSTEME EXPERT

Le système expert se compose de :

ü Une base de connaissances

ü Une base de faits

ü Un moteur d'inférence

II.5.1. la Base de Connaissances (BC)

Elle rassemble le savoir et le savoir-faire de l'expert, dans le domaine concerné. Il s'agit donc de connaissances qui sont permanentes et qui sont exprimées sous forme de faits ou de règles. Les faits constituent des connaissances factuelles et les règles constituent des connaissances opératoires.

II.5.2. la Base des Faits (BF)

Elle contient en tout instant ce que le système expert sait sur le cas étudié. Toutes ces informations sont fournies d'une part par les utilisateurs qui dialogue avec le système et d'autre part par le système lui-même au travers des déductions qu'il a pues faire en exploitant la base de connaissance. C'est pourquoi la base des faits constitue la mémoire de travail du système expert c'est - à - dire l'état du processus de résolution du problème.

II.5.3. Le Moteur d'Inférence

Le moteur d'inférence consistez à l'élaboration de la solution en faisant le choix des règles de production et leur séquence d'utilisation. C'est lui qui simule le raisonnement de l'expert. Lorsque le raisonnement est fondé sur des faits connus on parle de chaînage avant ou mode déductif. Lorsqu'il est régressif on parle de chaînage arrière ou mode inductif.

Le cycle de base du moteur d'inférence est généralement divisé en quatre grandes étapes :

ü La sélection

ü Le filtrage

ü La résolution de conflit

ü L'exécution

Phase de sélection :

Elle a pour but de trier et de rassembler en un sous-ensemble, les faits et les règles de la connaissance qui mérite plus d'attention que d'autres. Elle consiste à sélectionner des règles ayant au moins un fait connu dans leurs parties prémisses.

Phase de filtrage

Au cours de cette phase, le moteur d'inférence compare les faits de la base de faits(le problème posé ou les informations qui décrivent la situation initiale) pour déterminer l'ensemble des règles applicables.

Phase de la résolution des conflits

Elles se contredisent par le choix de la règle à appliquer

Phase d'exécution

Elle consiste à appliquer ou à activer la règle choisie lors de l'étape de la phase de résolution des conflits. Elle se termine généralement par une modification de la base de fait c'est - à - dire par l'ajout d'un ou de plusieurs faits nouveaux (provenant de la déduction) à l'ancienne base des faits.

II.6. ARCHITECTURE D'UN SYSTEME EXPERT

L'architecture de base d'un système expert comprend au moins les éléments ci- après :

ü Moteur d'inférence

ü Base de connaissances

ü Module d'acquisition de connaissances

ü Interface utilisateur

ü Module explicatif

BASE DE CONNAISSANCES

MODULES D'ACQUISITION DE CONNAISSANCES

MOTEUR D'INFERENCE

MODULES EXPLICATIF

INTERFACE UTILISATEUR

Base de Règles

Base de Faits

EXPERT

UTILISATEUR

SYSTEME EXPERT

Fig. 1. Architecture d'un système expert

II .6.1.Moteur d'inférence

Le moteur d'inférence est un mécanisme qui permet d'inférer des connaissances nouvelles à partir de la base de connaissances du système. Il est basé sur des règles d'inférence qui régissent son fonctionnement. Il a pour fonction de répondre à une requête de la part d'un utilisateur ou d'un serveur afin de déclencher une réflexion définie par ses règles d'inférence qui utiliseront la base de connaissance. Il peut alors fonctionner en chaînage avant, chaînage arrière ou chaînage mixte.

II .6.2.Base de connaissances

Elle contient en tout instant ce que le système expert sait sur le cas étudié. Toutes ces informations sont fournies d'une part par les utilisateurs qui dialogue avec le système et d'autre part par le système lui-même au travers des déductions qu'il a pues faire en exploitant la base de connaissance. C'est pourquoi la base des faits constitue la mémoire de travail du système expert c'est - à - dire l'état du processus de résolution du problème.

La base des faits est ainsi variable au cours de l'exécution et est vidée lorsque l'exécution se termine.

II .6.3.Module d'acquisition de connaissances

Ce module consiste à l'acquisition de façon aisée de différentes unités de l'expertise et offre à l'expert une facilité des modifications de la base de connaissances. Sa fonction est de faciliter la consultation et la gestion de la base de connaissance c'est un outil précieux qui est donc le concepteur lors de l'élaboration de la base de connaissance.

II .6.4.Interface utilisateur

Il permet une bonne utilisation d'un système expert en facilitant le dialogue entre le système expert et l'utilisateur.il peut être sous forme de menu, de question-réponse ...

II .6.5.Module explicatif

Il permet de retracer le raisonnement qui a conduit à la résolution du problème.il permet de juger la validité de la base de connaissance et la fiabilité du système expert.

II.7. REPRESENTATION DES CONNAISSANCES

Cette phase vient après celle d'acquisition de connaissances, En effet, à l'issue de l'interview, l'ingénieur de connaissance, dans son rôle, doit traduire l'expertise informelle en un langage formel adapté au mode du raisonnement du système.

Plusieurs points doivent être soulevés concernant l'acquisition des connaissances :

1. La compétence humaine n'est pas souvent accessible via la conscience. Avec l'expérience acquise, la compétence et la performance d'un expert s'installe et opère dans l'inconscient.

Par conséquence, il est difficile aux experts d'expliciter son savoir-faire.

2. L'expertise humaine prend souvent la forme du savoir comment plus que la forme du savoir quoi.

3. L'expertise humaine représente un modèle individuel ou un modèle de communauté. Ces modèles sont soumis aux conventions et aux procédés sociaux.

4. L'expertise change et peut subir des reformulations radicales. A cause de l'ambiguïté posée par le problème de l'acquisition de connaissances, l'ingénieur de connaissances doit avoir un modèle conceptuel lui permettant de faire la liaison entre l'expertise humaine et le langage de programmation, ce modèle constituera ce qu'on appellera représentation de connaissances.

Plusieurs formalismes sont utilisés pour représenter les connaissances, entre autre, nous avons la règle de production, les objets, les frames, les réseaux sémantiques ...

II.7.1. Faits

Sont la manière la plus élémentaire de représenter la connaissance. Ils peuvent être fournis par l'utilisateur, une base de données, des capteurs etc. ou voire même déduits par le système à partir d'un raisonnement. Ils sont représentés par les formalismes ci-dessous :

Dans la logique des propositions pures ou d'ordre 0, ils sont souvent représentés par un symbole c'est-à-dire un mot ou un ensemble de mots.

Exemple :

Femme_en_risque

Christine est la mère d'Esther.

Le professeur MBUYI est le superviseur de l'étudiante BONGENDA.

Dans la logique des propositions avec variables globales ou logique d'ordre 0+, ils sont représentés par le triplet < objet comparateur valeur >

Exemple :

L'ampoule allumée = normale

Prix voiture > 3500$

En logique des prédicats ou logique d'ordre 1, ils sont représentés par le couple < prédicat variable>

Exemple

Est_ directeur_ de (MBUYI, Esther)

Est_ mère_ de (ENGWELE, Esther)

II.7.2 Règles de production

Montrent le savoir faire de l'expert dans un domaine bien précis. Elles décrivent les diverses conséquences ou conclusions à tirer devant une situation. Elles sont de la forme :

Si < condition>

Alors <action ou conclusion>

Nous constatons que la partie < condition> représente l'ensemble des faits (prémisses) qui permettent l'établissement de < action> lorsqu'ils sont tous vérifiés c'est à dire lorsqu'ils sont tous vrais. Dans ces conditions, la règle est déclenchée sinon elle est abandonnée. La partie < action> représente ce que l'on est sensé faire lorsque la règle est déclenchée les règles sont représentées par les formalismes ci-dessous :

En logique des propositions pures ou logiques d'ordre 0 :

Si Junior est le fils de Norbert

Si Jean est le fils de Junior

Alors Norbert est le grand père de Jean.

En logique des propositions avec variables globales ou logiques d'ordre 0+

Si marque_ laptop= DELL

Si indice de performance > 2 GHZ

Alors prix laptop= très couteux

En logique des prédicats ou logique d'ordre 1

Si est_fils_de (Junior, Norbert)

Si est_fils_de (Jean, Junior)

Alors est_grand père_de (Norbert, Jean)

II.7.3. Objets structurés

Cette manière représentative peut être considérée comme une extension des réseaux sémantiques, en admettant que le noeud peut correspondre à une structure complexe qui représente un objet encapsulant des attributs, des valeurs et encore des procédures pour effectuer des tâches données. On parlera des scripts des frames et des objets.

Les objets structurés nous permettent, en fait de représenter plus finement la connaissance.

II.7.4. Réseaux sémantiques

Dans cette partie nous remarquons que les réseaux sémantiques présentent les connaissances comme étant une structure de graphe. Les noeuds correspondent aux objets ou aux concepts tandis que les arcs représentent les relations ou les associations entre ces concepts.

Femme

Etre vivant

Esther

Est un

Enceinte

Est une

Est

Fig. 2. Réseaux sémantiques

II.8. LES ACTEURS D'UN SYSTEME EXPERT

La construction d'un système expert repose essentiellement sur trois personnes à savoir, l'expert, le cogniticien et l'informaticien.

Chacun à un rôle particulier à jouer dans la manière suivante : le cogniticien recueille et analyse la connaissance fournie par l'expert, ensuite l'informaticien choisit l'outil de développement et structure les données pour les entrer en machine.

Le développement d'un système expert est un processus d'ingénierie de connaissance qui impliquent plusieurs personnes dont :

II.8.1. L'Expert

Un expert est une personne qui a longuement travaillé dans un domaine et qui connaît tous les rouages. Il est différent d'une personne novice.

Les experts constituent le point clé du développement d'un système expert. Ils doivent donc être suffisamment disponibles lors de la phase de l'extraction de la connaissance et lors du suivi de l'application. C'est l'expert qui détient le savoir et le savoir-faire du domaine d'expertise. C'est l'expert du domaine qui fournit les connaissances nécessaires liées au problème.

II.8.2. L'Ingénieur de la connaissance ou cogniticien

L'ingénieur de la connaissance c'est une personne qui est chargée de l'extraction de la connaissance auprès des experts et de proposer plusieurs modèles de bases de connaissances reproduits le plus fidèlement possible.

C'est une personne qui permet de définir le champ d'application du système expert à concevoir. Elle permet aussi d'incorporer l'information extraite dans la base de connaissances sous une forme rationnelle, de tester et de valider le système expert ainsi produit.

L'ingénieur de connaissance a pour rôle de trouver les outils et les logiciels nécessaire pour l'accomplissement du projet, d'aider l'expert du domaine à expliciter sa connaissance et d'implanter cette connaissance dans la base de connaissances.

Les qualités requises pour un bon cogniticien sont les suivantes :

Ø Il doit être capable de conduire une interview

Ø Il doit connaître les différents modes de représentation des connaissances

Ø Il doit faire preuve de diplomatie afin de gagner la participation des autres intervenants

Ø Il doit travailler en étroite collaboration avec les experts, et à ce titre il doit se familiariser au vocabulaire utilisé dans le domaine concerné.

II.8.3. Les Développeurs

C'est sont des personnes qui devront traduire l'application en employant un outil de développement approprié tel qu'un langage de programmation. Naturellement ces personnes sont des informaticiens.

II.8.4. Les Utilisateurs

C'est sont des personnes qui devront utiliser l'outil conçu. En effet, les utilisateurs doivent travailler en collaboration avec les développeurs, afin que ces derniers puissent inclure leurs desiderata dans la conception des interfaces utilisateurs.

Le rôle de l'utilisateur final est de spécifier l'application et de déterminer les contraintes de la conception.

II.8.5. Les Managers

C'est sont des personnes pour qui on développe le système expert.

II.9. NATURE DE SYSTEMES EXPERTS REALISABLES

Dans cette partie du cours, nous essayons de définir la nature des prototypes réalisables en termes d'efficacité, de temps de développements, les problèmes pour lesquels le système apporte une réponse.

Prototype de démonstration

C'est un système expert qui ne traite qu'une partie du problème et qui sert à montrer la faisabilité de l'approche. Il nécessite un temps de développement allant de 1 à 3 mois.

Prototype de recherche

C'est un système expert de taille moyenne et qui a des performances crédibles sur un certain nombre de tests. Il peut se tromper si l'on sort du cadre des problèmes qu'il sait résoudre et de fois sur des cas prévus. Il nécessite un temps de développement allant de 1 à 2 ans.

Prototype du domaine

C'est un système expert de taille moyenne ou grande et qui a été suffisamment testé sur des cas réels. Il est assez fiable et possède une interface pratique et servant aux utilisateurs et résout correctement un grand nombre de problèmes classiques. Il nécessite un temps de développement allant de 2 à 3 ans.

Prototype de production

C'est un programme de démonstration, très largement testé, réimplanté dans un langage rapide et en optimisant le stockage. Il résout correctement un grand nombre de problèmes classiques. Il nécessite un temps de développement allant de 2 à 3 ans.

Système commercial

Ce sont des systèmes experts dits « prototypes de production » utilisés en milieu commercial. Il nécessite de 5 à 6 ans de développement intensifs.

II.10. ACQUISITION DES CONNAISSANCES

Etant donné nous percevons beaucoup des problèmes dans un domaine quelconque pour sa résolution, il est important de prendre ou capturer la connaissance de l'expert du problème. Cette approche est une tâche complexe où l'ingénieur de la connaissance (cogniticien) doit interagir avec l'expert pour acquérir, organiser et étudier la méthodologie de la connaissance de problème. L'acquisition des connaissances reste le plus grand défi dans le développement d'un système expert. Le but poursuivi dans l'acquisition de connaissance réside dans la complication d'un corps de la connaissance sur un problème quelconque qu'un système expert peut résoudre en le codifiant. Pour y parvenir il faut une étape de discussion interactive au cours de laquelle a lieu un échange de connaissance qui aboutit à la constitution de ce corps d'où le nom de «  méthode d'interview » qui est le modèle le plus employé pour acquérir la connaissance.

II.10.1. Processus d'acquisition des connaissances

Ce processus contient de tâches suivantes :

ü Collecte des connaissances

ü L'interprétation

ü L'analyse

ü La conception des méthodes pour rassembler des connaissances additionnelles.

a. La collection

Cette phase permet d'acquérir le savoir faire de l'expert et elle exige donc des qualités suivantes :

- Posséder une certaine connaissance technique d'interview ;

- Posséder des bonnes qualifications interpersonnelles de communication ;

- Posséder un esprit coopératif

b. L'interprétation

A cette phase, on interprète les informations collectées en identifiant des morceaux principaux de la connaissance, telles que les règles.

c. L'analyse

Elle nous permet après localisation des différents morceaux lors de la tache d'interprétation, de les étudier en vue d'avoir un aperçu sur la matière dont seront organisées les connaissances et les stratégies de résolution des problèmes.

d. La conception

Cette tache est une étape préparatoire de la prochaine séance avec l'expert car elle permet d'éclairer les tâches effectuées antérieurement en élucidant de mieux en mieux la compréhension du problème. Elle aura préalablement mis en exergue des nouveaux concepts qu'il faut d'avantage explorer. Cela exige des techniques d'inspiration des connaissances choisies pour obtenir l'information d'éclaircissement au cours de la prochaine séance.

1. Technique d'entrevue

Cette technique fait partie des techniques d'informations de la connaissance ; par un jeu de questions visant à découvrir des connaissances, elle implique une interaction directe entre l'expert et le cogniticien.

La gestion de l'entrevue doit être efficace en vue de rendre cette démarche productrice. Elle exige que les points suivants soient adressés :

- La préparation de l'ordre du jour ;

- Savoir comment efficacement, conduire et finir une entrevue ;

- Le tact dans la manière de poser des questions pour extraire l'information souhaitée ;

- L'esprit coopératif.

a) Types de question

La question est le moyen de base de la technique d'interview. Elle est d'autant plus utilisée dans le but d'obtenir des informations sur le problème à résoudre. En effet, chacune présente un intérêt dans l'interview. Seulement il s'agit d'étudier une bonne façon de la poser correctement.

Question directe

Ces types de question sont posés quand l'ingénieur de connaissance voudrait extraire des informations spécifiques sur une certaine question précédemment découverte. Ces questions ont la forme suivante :

- « Qu'est ce qui... dire ? »

- « Est -ce que .....vrai ? »

Question indirecte

Considérées comme exploratoires, les questions indirectes permettent à l'expert de donner une réponse selon son appréhension de la question et sa capacité de répondre.

Ces questions se présentent sous la forme suivante :

- « Quelles apports donnez-vous... ? »

- « Comment débrouiller vous ... ? »

- « Que cherchez vous quand.... ? »

- « Comment vous ... ? »

Les questions indirectes donnent lieu à un aperçu de la connaissance procédurale générale en incluant des stratégies générales de résolution des problèmes ainsi que des règles générales.

b) Bonne conception des questions

La meilleure formulation des questions est un autre facteur important dans l'obtention d'une certaine information et même pour réussir une entrevue. Une question qui n'atteint pas son but est traitée de mauvaise. Voici quelques préalables qui permettent d'annoncer une bonne question :

- Décider précisément sur l'information à rechercher

- Penser à la concision de la question, de telle sorte qu'étant courte qu'elle soit cependant précise de réflexion ou de débat.

N.B : une question très bien conçue produit la connaissance cherchée et clarifie l'entrevue.

2. Analyse de la connaissance

Après la série d'étapes qui ont abouti à l'inspiration de la connaissance auprès d'un expert, les informations ainsi obtenues et rassemblées doivent être analysées afin de dégager par identification les principaux concepts, règles, faits...qui après analyse formeront des théories sur l'organisation de connaissances.

3. Problématique de l'acquisition des connaissances

Nous pouvons rencontrer plusieurs problèmes lors de l'acquisition des connaissances, l'extraction de la connaissance auprès de l'expert constitue la majorité des ennuis rencontrés dans cette phase.

Ainsi, nous pouvons évoquer les difficultés ci-après :

Incapacité par l'expert de la connaissance

La difficulté de l'expert à ce niveau réside dans la description de ses propres méthodes de résolution de problèmes provenant de son expérience en négligeant dans ses descriptions les issues importantes.

Incapacité d'exprimer des connaissances

Ayant appris certaines tâches observant un autre individu les accomplissant, l'expert peut éprouver beaucoup de difficultés à exprimer ses connaissances. Ceci arrive très souvent quand les connaissances à exprimer découlent d'un travail manuel.

Fourniture des connaissances non pertinentes

Nous disons après une multiple séance d'entrevue avec l'expert lors de l'acquisition des connaissances au bénéfice du projet, la quantité d'information récoltée devient abondante si bien que dans ce lot, certaines sont non pertinentes. D'où il est impérieux de tamiser.

Fourniture des connaissances incomplètes

Cette contrainte débute lorsque l'expert fournit une description incomplète de sa manière de raisonner ou de travailler pour résoudre un problème. Cette description peut être assimilée à une omission (dans ce cas, la situation peut être améliorée).

Fourniture des connaissances de contradictoire

Dans l'explication de ses stratégies de résolution des problèmes, un expert peut fournir des déclarations durant les entretiens avec le cogniticien.

II.11. PROCESSUS DE RAISONNEMENT

C'est lorsque nous avons acquis les connaissances, et nous devons chercher une bonne manière de représenter toutes ces connaissances.

Des nombreux formalismes ont été évoqués pour le faire. Une fois que les connaissances sont représentées, l'étape suivante concerne son exploitation. Cette exploitation est assurée par un programme informatique appelé Moteur d'Inférence. Ce mécanisme d'exploitation des connaissances est une procédure qui utilise la méta connaissance pour trier la connaissance utilisable, et choisir la connaissance à utiliser.

Ou en outre le moteur d'inférence est une procédure destinée à extraire les connaissances utilisables et précise la connaissance dont on a besoin d'utiliser pour un pour cas que nous avons à faire.

Comment représenter la méta-connaissance ? La méta-connaissance correspond à la connaissance ayant comme objectif de traiter les formalismes de représentation de connaissances sur le domaine. Puisque les données traitées sont des connaissances, on appelle ce type de connaissances méta-connaissance.

a. le Moteur d'Inférence

Quant au moteur d'Inférence, c'est l'un d'élément constitutif du système expert qui représente le coeur même du système. Son rôle permet de raisonner sur la base de connaissances en exploitant le formalisme de la représentation des connaissances retenu. Donc le moteur d'inférence est alimenté par la base de connaissances et constitue dynamiquement la solution au problème posé en décidant par exemple de quelles règles de production déclencher.

Parmi les caractéristiques d'un Moteur d'Inférence nous avons :

Ø Un cycle de base

Ø Une méthode de chaînage

Le cycle de base

Il comprend 4 phases que nous citons :

ü Phase de sélection

ü Phase de filtrage

ü Phase de la résolution des conflits

ü Phase d'exécution

Toutes ces phases sont bien expliquées dans la partie ci-dessus au point 3.

Méthode de chainage

D'une manière générale, le moteur d'inférence d'un système expert fonctionne selon deux modes :

- Chaîne avant

- Chaîne arrière

Chaînage avant (mode déductif)

Dans ce mode, le moteur d'inférence raisonne à partir des faits dont il dispose. Ce raisonnement implique une déduction de nouveaux faits à partir des faits et des règles connus. On dit que le système expert fonctionne en chaînage.

La règle :

Si Junior est le fils de Norbert,

Si Norbert est le père de Gérard

Alors Junior est frère de Gérard

Ne peut être en chaînage avant que si les deux prémisses sont connues et ont pour valeur de vérité vraie (true). En conséquence, le fait déduit (Junior est le frère Gérard) est ajouté à la base de faits. Le processus doit se poursuivre jusqu'à ce que la base de faits soit saturée c'est-à-dire qu'il n'y ait plus de faits à déduire.

Soient la base de règles :

R1: a, b - > e

R2: b, d, f - > g

R3: c, b - > d

R4: c, g, i -> j

Et la base de faits initiale :

Faits connus et vrais {a, b, c, i, f}

Le but à atteindre {j}

Si nous considérons dans la phase de résolution des conflits que les règles sont déclenchées selon l'ordre d'apparition dans la base de règles, on a la situation suivante :

Premier cycle

Toutes les règles sont sélectionnées (chaque règle a au moins un fait connu). Cependant, seules les règles R1 et R3 ont toutes les prémisses vérifiées. Elles seront donc déclenchées en tenant compte de l'ordre d'apparition dans la base de règle. De ce qui précède, on a :

Sélection : R1, R2, R3, R4

Filtrage : R1 et R3 constituent l'ensemble des conflits

Résolution de Conflits : R1 est déclenchée

Exécution : ajout de e dans la base de faits. La base de faits devient donc

BF= {a, b, c, i, f, e}

La règle R1 est désactivée afin d'éviter son déclenchement lors du prochain cycle.

Deuxième cycle

Sélection : R2, R3, R4

Filtrage : R3

Résolution des conflits : R3 est déclenchée

Exécution : ajout de la conclusion d dans la base de faits. La base de faits devient

BF= (a, b, c, i, f, e, d)

La règle R3 est désactivée

Troisième cycle

Sélection : R2, R4

Filtrage : R2

Résolution des conflits : R2 est déclenchée

Exécution : ajout de g dans la base de faits. La base de faits devient

BF = {a, b, c, i, f, e, d, g}

La règle R2 est désactivée

Quatrième cycle

Sélection : R4

Filtrage : R4

Résolution des conflits : R4 est déclenchée

Exécution : ajout de j dans la base de faits. La base de faits devient

BF = {a, b, c, i, f, e, d, g, j}

La règle R4 est désactivée

Le but est atteint et le système s'arrête.

Chaînage arrière (mode inductif)

Dans ce mode, le moteur d'inférence raisonne à partir des objectifs (buts, hypothèses) fixés. Ce raisonnement implique la vérification de ces objectifs c'est-à-dire que le système évalue les valeurs de vérité des buts. On dit alors que le système expert fonctionne en chainage arrière.

Le système expert choisit la règle concluant sur le but à atteindre. Après que la règle ait été choisie, le système vérifie ses prémisses. Le but est prouvé ou atteint que si ces prémisses sont connues c'est-à-dire que ces prémisses appartiennent à la base de fait, sinon le système considère ces prémisses inconnues et comme étant des sous buts qu'il devra prouver. Le processus se poursuit jusqu'à ce que le but initial soit établi. Notons que ce processus est exprimé par le graphe « ET/OU » où les noeuds « OU » représentent l'ensemble des règles pouvant déduire par un même fait et les noeuds « ET » représente la conjonction des prémisses d'une règle.

Ce raisonnement nécessite au préalable un fait à prouver appelé « but » ou « hypothèse ». En considérant que le but est j, le chaînage consiste à évaluer les valeurs de vérité des faits (prémisses) des règles concluent sur ces but. Si toutes ces prémisses sont vérifiées, alors le but est atteint.

Lors du chainage, on peut constater dans certains cas qu'au moins une prémisse de règle dont la conclusion est le but nécessite aussi une preuve de la même manière que le but. Dans ce conditions, ce fait est appelé « sous-but ». En considérant l'exemple donné en chaînage avant, voyons à présent comment se présente la situation lors du chaînage arrière :

Première cycle

Filtrage : l'ensemble de conflits ne contient qu'une seule règle R4.

Car c'est la seule règle qui conclue sur ce but.

Résolution des conflits : Etant donné que l'ensemble de conflits ne contient qu'une seule règle, la règle R4 est choisit. Au cas contraire, on choisit la règle ayant plus de prémisses connues.

Exécution : Etant donné que les faits c et i appartiennent à la base de faits initiale, donc ils sont vrais. Cependant, le but j n'est pas encore prouvé car le fait g est inconnu. En conséquence, g devient le sous-but à prouver au prochain cycle.

Deuxième cycle

Filtrage : R2

Résolution des conflits : R2

Exécution : les faits b et f sont vrais. Ce pendant le fait d est inconnu. D'où il devient le sous-but au prochain cycle.

Troisième cycle

Filtrage : R3

Résolution des conflits : R3

Exécution : les faits c et b sont vrais. Donc le sous-but d est prouvé.

Comme le sous-but d est prouvé, donc le sous-but g prouvé.

Comme le sous-but g est prouvé, donc le but j est prouvé.

Succès et arrêt du système.

R4

ET

j

i

f

b

c

b

R3

ET

ET

d

R2

g

c

Fig. 3. Graphe ET/OU d'un SE fonctionnant en chainage arrière

Signalons qu'il existe aussi des systèmes qui fonctionnent en utilisant ces deux modes de raisonnement. Lorsqu'un système fonctionne en utilisant ces deux modes de raisonnement, on dit qu'il fonctionne en chaînage mixte.

CHAP.III.GENERALITES SUR L'OPHTALMOLOGIE

[2], [8], [12], [13]

III.1. INTRODUCTION

En raison de l'importance de l'oeil dans la perception humaine et du rôle de l'oeil dans l'esthétisme du visage, l'ophtalmologie est une science très ancienne. Plusieurs techniques se sont développées dans de nombreux endroit du monde de façon indépendante : Chine, Japon, Amérique centrale, Europe, Égypte et Inde depuis l'Antiquité. Un des documents les plus anciens parlant d'ophtalmologie et d'obstétrique est le papyrus de Carlsberg. Il date, pour sa partie la plus ancienne, du 2ème millénaire avant Jésus-Christ.

III.2. DEFINITION

L'ophtalmologie est la branche de la médecine chargée du traitement des maladies de l'oeil et la correction des troubles de la vision.

III.3. OEIL

Définition

L'oeil est un organe qui perçoit les ondes émises par une source lumineuse.

Rôle de l'oeil

Il a pour rôle de diriger les rayons lumineux vers la rétine. Afin de visualiser plus profondément.

La composition de l'oeil

Fig.4. Composition de l'oeil

Comme chez la plupart des mammifères, oiseaux, reptiles et poissons, l'oeil humain est constitué d'un globe oculaire, formé de 3 enveloppes : la sclèro-cornée, l'uvée, et la rétine (de dehors en dedans).

La composition de l'oeil se présente comme suit :

· Segment antérieur

Ø La cornée, partie antérieure du globe oculaire, est une lentille transparente dont le rôle est de capter et de focaliser la lumière sur la rétine.

Ø L'uvée, composée de l'iris, muscle délimitant la pupille zone "virtuelle" située au centre de l'iris, et permettant la modification de la luminosité entrante, de la choroïde et du corps ciliaire.

Ø le cristallin, lentille biologique servant à l'accommodation (« mise au point » sur l'objet à visualiser permettant d'obtenir d'un point objet un point image focal sur la rétine) est relié au corps ciliaire par l'intermédiaire de la zonule de Zinn; C'est cette lentille qui, en s'opacifiant, occasionne la cataracte.

Ø l'humeur aqueuse, liquide située entre la face postérieure de la cornée en avant et le cristallin en arrière. Elle est sécrétée par le corps ciliaire.

· Segment postérieur

Ø la rétine, membrane regroupant des cellules nerveuses photoréceptrices appelées cônes ou des bâtonnets, servant à la transformation de l'onde lumineuse en impulsions électriques, pour traitement des images par le système nerveux.

Ø la choroïde, membrane nourricière de la rétine et véritable « éponge vasculaire » qui tapisse la face interne de la sclère.

Ø le corps vitré, sorte de gel qui remplit la cavité située en arrière du cristallin et en avant de la rétine.

· Annexes de l'oeil

Au nombre de quatre :

L'orbite, les muscles, la paupière et la glande lacrymal.

Fonctionnement de l'oeil

La cornée oriente les rayons lumineux vers le centre de l'oeil. L'image sera mise au point et retournée par le cristallin. L'iris quant à lui va permettre de recevoir la quantité de lumière en se rétrécissant ou en s'agrandissant. Plus il fait sombre, plus l'iris sera grand. La rétine transforme les rayons lumineux en excitations physiologiques qui sont transmises au nerf optique par l'intermédiaire de liaisons nerveuses.

La rétine est formée de trois couches distinctes.la première est composée de cônes et des bâtonnets. Les bâtonnets permettent de distinguer les lumières de faible intensité. Les cônes quant à eux, la lumière vive, ce sont eux qui vont permettre la reconnaissance des couleurs. La seconde couche est appelé tâche jaune ou fovéa, c'est elle qui va permettre de déterminer le mouvement et les détails de couleurs. La troisième couche est formée d'un grand nombre de cellules ganglionnaires terminées par des fibres nerveuses reliées entre elles, il s'agit du nerf optique. Le nerf optique apporte l'influx au cerveau où il est transformé en sensation chromatique qui donne naissance au phénomène de la vie. Le cerveau à son tour reconstitue la sensation visuelle en couleur de propagation.

III.4. SYMPTOMES

Les symptômes dominants cités par les patients peuvent être classés en deux catégories :

ü Les symptômes visuels d'une part et

ü Les symptômes non visuels d'autre part.

III.4.1. LES SYMPTOMES VISUELS

Parmi les symptômes visuels on peut citer :

1. Amblyopie : Baisse de la vue, une vue brouillée ou floue soit de loin, soit de près.

2. Myodésopsies : Perception d'une ombre, d'une tache noire, des mouches volantes ou d'une toile d'araignée.

3. Photopsie : Perception d'un éclair unique ou des éclairs répétés devant l'oeil.

4. Métamorphopsie : Les objets sont vus soit plus petits (microscopie), soit plus grand (macropsie) que normalement.

5. Photophobie : Crainte de la lumière d'intensité habituellement tolérable.

6. Héméralopie : Difficulté de voir et de se conduire dans une salle obscure ou la nuit.

7. Diplopie : est la sensation de voir double en vision.

III.4.2. LES SYMPTOMES NON VISUELS

Parmi les symptômes non visuels on peut citer :

1. Sensation de corps étranger : La présence d'un corps étranger introduit accidentellement dans l'oeil peut éveiller pareille sensation.

2. Picotement : Il peut être dû à la sécheresse de l'oeil par insuffisance de sécrétion lacrymal. Certaines affections inflammatoires de la conjonctive et/ou de la cornée peuvent s'accompagner de picotement.

3. Prurit : Ce symptôme est d'observation fréquente chez les enfants et personnes présentant une affection oculaire avec une composante allergique.

4. Strabisme : Il s'agit d'une déviation des axes visuels avec perte d'alignement sur l'objet fixé. Ce signe traduit le plus souvent soit un déséquilibre de la vision binoculaire, soit une paralysie de l'oeil.

5. Nystagmus : C'est un trouble de la statique oculaire consécutif à un déséquilibre des couples musculaires.

6. Céphalées : Les céphalées d'origine ophtalmologique se manifestent sous l'influence de la lecture, du travail sur écran avec une fatigabilité, un flou visuel, une baisse d'acuité visuelle.

7. Néoformation sur l'oeil : Il s'agit de l'observation d'une structure anormale sous forme d'une excroissance, d'une néoformation du siège palpébral, conjonctival.

III.5. EXAMEN OPHTALMOLOGIQUE

Un examen ophtalmologique complet comprend l'interrogatoire du malade, et un examen physique.

ü Acuité visuelle

L'acuité visuelle est le terme qui désigne la mesure de l'angle de résolution minimum. L'acuité visuelle normale est de 10/10 à chaque oeil.

ü Examen du segment antérieur

Il est effectué à l'aide d'une lampe à fente ou biomicroscope, c'est un examen indolore et non invasif permettant d'étudier le segment antérieur et les annexes de l'oeil.

ü Examen du segment postérieur

C'est l'examen du fond d'oeil, on visualise ainsi de façon directe ou indirecte (elon le matériel employé) la rétine et ses composants : papille (lieu de naissance du nerf optique), macula (zone de la rétine responsable de la vision précise), veines, artères, rétine périphérique.

ü Examens complémentaires en ophtalmologie

Échographie oculaire

Radiographie de l'orbite (dans le cas des pathologies traumatiques, ou de certaines tumeurs)

Scanner orbitaire et rétro-orbitaire

Électrorétinogramme

Électro-oculogramme

III.6. LES TROUBLES DE LA VISION

ü Myopie : trouble de la vision caractérisé par une baisse de l'acuité visuelle de loin. L'image se forme en avant de la rétine : vision de loin floue.

ü L'hypermétropie : trouble de la vision caractérisé par une baisse de l'acuité visuelle à toute distance, mais prédominant dans la vision de près. l'image se forme en arrière de la rétine : vision de près floue.

ü L'astigmatisme : trouble de la vision associé à la myopie et à hypermétropie et faisant partie comme ces dernières des troubles de la réfraction de l'oeil, ou amétropies. Il est dû en général à une anomalie de forme de la cornée, soit congénitale, soit due à une affection cornéenne.

ü La presbytie : modification de la vision liée à l'âge et caractérisée par une baisse de l'acuité visuelle de près, la vision de loin est bonne.

III.7. LES PATHOLOGIES DE L'OEIL

ü L'orgelet : est la nécrose purulente d'un follicule pilo-sébacé, c'est un petit furoncle du cil et de la glande de Zeis. Le staphycoccus aureus et le streptocoque sont le plus souvent incriminés dans la genèse de l'infection.

Fig.5.orgelet

ü La Blépharite : est une atteinte inflammatoire ou infectieuse du bord libre des paupières. La blepharite se manifeste par des paupières rouges, oedémateuses et s'accompagne de démangeaisons. La blépharite peut être d'origine microbienne, mycosique ou surtout allergique.

Fig.6.blepharite

ü La cataracte : se caractérise par une opacification du cristallin entraînant une baisse de vue.D'évolution généralement lentement progressive, elle est la cause d'une baisse de vision de plus en plus gênante. Au début, le sujet est gêné par une sensibilité anormale à la lumière (photophobie), surtout marquée sous forte lumière (éblouissement au soleil ou lors de la conduite de nuit) pouvant s'accompagner de larmoiement réflexe. Progressivement, la baisse de vision devient de plus en plus pénible et entrave les gestes les plus courants de la vie, ce qui entraîne l'indication d'une intervention chirurgicale.

Fig.7. cataracte

ü la Conjonctivite : Il s'agit des atteintes inflammatoires ou infectieuses de la conjonctive. Elles se traduisent par des rougeurs de l'oedeme et parfois des sécrétions plus ou moins purulentes. Elles peuvent être dues à des germes banaux (pneumocoque, streptocoque, staphylocoque) ou par des germes plus rares comme le gonocoque, ou par des virus (souvent adénovirus). Celles-ci sont très contagieuses.

On peut aussi trouver des conjonctivites dans certaines maladies comme la rougeole, la rubéole ou la mononucléose infectieuse.

Fig.8.conjonctivite gonocoque

ü Le chalazion : est un kyste (petite tuméfaction) de l'épaisseur des paupières dû à l'obstruction d'une glande appelée "glande de Meibomius." Le chalazion est en général peu douloureux, mais il peut se surinfecter.

Fig.9. chalazion

ü Le glaucome : est l'une de causes majeures de la cécité et de la malvoyance dans le monde en général, particulièrement dans le pays en développement dont notre pays. Le processus glaucomateux aboutit, par des mécanismes d'ischémie chronique au niveau de la tête du nerf optique (papille), à la détérioration puis à la destruction des fibres visuelles.

Fig.10.glaucome

ü Keratite à candida : pathologie cornéenne chronique, avec utilisation de corticoïdes au long cours. Présence d'une infiltration stromole focalisée surélevée

Fig.11. kératite à candida

Le chapitre qui vient nous allons essayer d'aborder une grande partie pour concrétiser notre travail, et cela nous avons choisi la le modèle UML qui est un langage de modélisation la plus rependue et beaucoup plus utilisé dans de domaine plus complexe.

CHAP IV : CONCEPTION ET REALISATION DU SYSTEME EXPERT SEDADOPTHA. [3], [4]

Dans cette dernière partie, nous avons opté de faire une mise en oeuvre d'un système expert qui pourrait bel et bien répondre à quelques problèmes que nos hôpitaux affrontent dans la vie sociale ou professionnelle. Donc, nous devons avoir déjà une image générale de quelques concepts qui ont été décrit et expliqué en profondeur à la première partie, tels que : les méthodes de chainage avant et arrière, la base des connaissances, le moteur d'inférence, la base de règle, etc.

Signalons que ce système expert permettra principalement :

Ø Le diagnostic des maladies des patients

Ø L'ordonnance de traitement aux patients.

IV.1. STADES DE DEVELOPPEMENT

Concernant ce point, nous allons montrer les différentes étapes ou processus pour la réalisation de notre mini système expert qui est tout un système mis en place. Donc, nous procéderons par le recensement des acteurs, le recensement des messages entre le système expert et ses acteurs, la spécification initiale, l'analyse, la description des éléments qui pourraient intervenir dans le système et la mise en oeuvre.

IV.1.1. Recensement des acteurs

Comme vu dans le cours d'UML, un acteur représente une abstraction d'un rôle joué par plusieurs entités externes qui doivent interagir directement avec le système considéré. Il est capable de consulter, modifier directement l'état du système en émettant ou en recevant des messages.

Pour notre travail nous avons recensé les acteurs ci-dessous :

- L'utilisateur

C'est celui qui consulte le système expert pour le diagnostic et la prescription.

- L'expert (ou le médecin)

C'est une personne dotée d'un pouvoir de mises à jour du système. Il peut donc faire des mises à jour si cela est nécessaire.

IV.1.2. Recensement des messages entre le système et les acteurs

Ici un message montre une communication particulière entre plusieurs objets. Parmi ces différents messages qui existent nous pouvons citer :

Pendant l'émission du système nous avons :

Prescription de traitement

Message d'échec d'opération

Message de succès d'opération

La description de la pathologie

Message de validation

Risques d'une maladie, etc.

Et pendant la réception du système nous avons :

Les symptômes et les maladies

Confirmation ou non d'un symptôme

Les créations et les modifications des causes, d'une prescription et de des risques associés au fait (maladie)

Les créations et les modifications des fichiers détaillant les maladies.

IV.1.3. La spécification initiale

Elle permet de décrire une application et formuler des contraintes provisoires. Et par la suite nous allons faire la rédaction de l'énoncé comme : 

« Le problème consiste à faire une conception et mettre en place un mini système expert dans une institution médicale ou autres qui prenne en charge les différents problèmes ou cas, effectués par cette institution. Il est constitué de toutes informations nécessaires qui aideront les médecins ou autres personnes bénéficiaires. Ce mini système expert est installé dans la direction de chaque médecin, dans laquelle toutes opérations d'échanges peuvent se réaliser. Il doit être en mesure de fournir les informations sur les diagnostics, la consultation, et pourquoi pas de prescrire un traitement final c'est-à-dire donner une ordonnance. En effet, lorsque les médecins veulent avoir des diagnostics concernant un cas quelconque, ils lancent ce mini système et ce système déclenche les processus d'interaction avec ce médecin, en lui demandant quels types de traitement il veut effectuer ; une fois le traitement choisi, le mini système génère les résultats de chaque traitement jusqu'à l'aboutissement d'informations utiles aux médecins.

IV.1.4. Analyse

Ce point d'analyse du domaine a pour objectif d'obtenir un modèle précis, concis, compréhensible et correct du monde réel. Donc, lors de l'analyse, nous construirons des modèles et nous commencerons à comprendre plus clairement les exigences.

IV.1.4.1. Le modèle d'interactions

Il permet d'exprimer la façon dont les objets interagissent pour produire des résultats utiles à l'application. Il comporte trois diagrammes qui sont le cas d'utilisation, séquence et d'activité. Au point suivant nous faisons une description de chaque diagramme.

IV.1.4.1.1. Cas d'utilisation d'un système expert

Mettre à jour

Initialisation du système

Diagnostic

Obtenir une Prescription

« include»

Traitement

Utilisateur

Médecin

Patient

Fig.12. Diagramme de cas d'utilisation

C'est une partie cohérente des fonctionnalités qu'un système peut fournir en interagissant avec les acteurs.

Ø Initialisation du système : Ce cas d'utilisation est très important pour les acteurs du système ça leurs permettent d'initialiser le système au besoin de l'utilisation c'est à dire lancer le mini système expert pour pouvoir explorer toutes les fonctionnalités en introduisant votre nom et mot de passe requis.

Ø Mettre à jour la base de connaissance : A pour comme effet d'actualiser notre base des connaissances, cette base comporte deux parties qui sont la base des faits et base des règles. Cette actualisation permet à l'expert d'ajouter, de supprimer et de modifier un fait ou une règle dans le cas d'acquisition des nouvelles connaissances.

Ø Diagnostique de malade : le cas d'utilisation diagnostiqué permet à l'expert ou à l'utilisateur de faire une consultation générale par rapport aux contraintes posées chez le patient afin de déterminer une maladie. Cela s'effectue que, si l'expert ou l'utilisateur aient introduit les différents symptômes.

Ø Prescrire une ordonnance : Ce cas d'utilisation intervient quand l'expert ou l'utilisateur ont fini le diagnostic, elles permettent aux patients de suivre un traitement nécessaire.

IV.1.4.1.2. Diagramme de séquence pour initialisation du système

Ce diagramme montre les interactions qui se passent entre l'expert et le système avant l'utilisation de l'application pour commencer le diagnostic ou les mises à jour de certains faits ou règles.

Expert

Système

Utilisateur

Ouverture de session

Afficher boite de connexion

Saisie de nom et mot de passe

Validation de session

Message de succès

En cas d'erreur message d'erreur

Retour à l'écran d'accueil

Ouverture de session

Afficher boite de connexion

Saisie de nom et mot de passe

Validation de session

Message de succès

En cas d'erreur message d'erreur

Retour à l'écran d'accueil

Fig.13. Diagramme de séquence d'initialisation du système

IV.1.4.1.3. Diagramme d'activité pour initialisation du système

Ici dans ce diagramme les acteurs sont appelés de s'authentifier pour utiliser le système, c'est-à-dire donc saisir le nom et le mot de passe que l'administrateur avait configuré selon le niveau des tâches à chacun.

Saisie de nom et de mot de passe

Exécution de l'application

Choix de l'opération à effectuer

Retour à l'écran de saisie

De user et password

Sortie du système

Si valide

Si non valide

Fig.14. Diagramme d'activité cas d'initialisation du système

IV.1.4.1.4. Diagramme de séquence mettre à jour les connaissances

Il permet de montrer les participants à une interaction et la séquence des messages qu'ils échangent.

: Médecin

: Système

Lancement du système

Menu de sélection des opérations

Choisir modifier

Sélectionner le fait ou la règle

Saisir le numéro du fait ou de règle

Valider la sélection

Afficher l'interface correspondant

Saisir le fait ou la règle

Valider

Afficher le message de succès ou d'échec

Choisir ajouter fait ou règle

Supprimer la sélection

Choisir supprimer

Sélectionner le fait ou la règle

Afficher le message de succès ou d'échec

Cliquer sur le bouton ajouter

Afficher l'interface correspondant

Fermer la session

Afficher le message de succès ou d'échec

Fig.15. Diagramme de séquence mettre à jour les connaissances

IV.1.4.1.5. Diagramme d'activité pour mettre à jour les connaissances

Cette étape de diagramme montre comment l'expert et l'utilisateur vont procédés pour modifier, ajouter et supprimer un fait ou règle selon le type d'opération choisie jusqu'à l'aboutissement des résultats.

Choix de type d'opération

Sélection opération faits ou règles

Continuer

Valider

Modifier les prémisses

Afficher sélectionner les faits ou règles

Ajouter

Modifier

Modifier les règles

Règle

Fait

Base des faits modifiés

Annuler

Ok

Si non

Si non

Si oui

Saisie des faits

Saisie des règles

Validation

Règle ajouté dans la BR

Fait ajouté dans la base BF

Choisir faits ou règles

Fait

Règle

Ok BF

Fin de l'exécution

Sortie

Ok BR

Sélectionner numéro fait

Supprimer

Valider

Opération réussie

Sélectionner numéro règle

Supprimer

Valider

Sortie

Ok fait

Ok règle

Fig.16. Diagramme d'activité mettre à jour les connaissances

IV.1.4.1.6. Diagramme de séquence pour diagnostique de la maladie

A ce niveau nous constatons les interactions entre le système et les acteurs, les acteurs procède aux différentes phases de sélectionner des faits ou règles en se basant sur des méthodes de raisonnement très efficaces tels que le chainage avant et arrière ou mixte.

Système expert

Expert

Choix du raisonnement avant ou arrière

Valider le choix

Sélection du raisonnement avant

Lecture des faits constatés

Valider la lecture des faits

Résultat du diagnostic

Sélection du raisonnement arrière

Sélection de la maladie

Listes de faits susceptibles de provoquer la maladie

La reconnaissance de faits

Confirmation de la maladie

Un de faits n'est pas constaté

Quitter la session

Vous ne souffrez pas de cette maladie

Fermeture de la session

Fig.17. Diagramme de séquence diagnostique de la maladie

IV.1.4.1.7. Diagramme d'activité pour diagnostique de la maladie

Ce diagramme décrit une succession des étapes pour un processus complexe, donc il est fait voir la confirmation d'une maladie en procédant par les méthodes de raisonnement du chainage avant ou arrière.

Choix du raisonnement avant ou arrière

Chainage arrière

Chainage avant

Lecture d'une maladie

Lecture d'un fait

Ajouter fait

Ajouter fait

Renvoi les faits concernant la maladie

Exécution du chainage

Fait confirmé

Fait non confirmé

Sortie du résultat

Malade confirmé

Malade non confirmé

Fin de l'exécution

Fig.18. Diagramme d'activité diagnostique de la maladie

IV.1.4.1.8. Diagramme de séquence pour la prescription

Ce cas permet à l'expert de fournir chez le patient une liste de traitement qu'il va suivre jusqu'à la guérison de sa malade.

Expert

Patient

Donner l'ordonnance

Suivre les instructions

Terminer le traitement

Fig.19. Diagramme de séquence pour la prescription des maladies

IV.1.4.1.9. Diagramme d'activité pour la prescription

Nous constatons ici que, l'expert remet une ordonnance chez le patient pour suivre son traitement médicale. Et donc, cette ordonnance contient tous les examens nécessaires à faire.

Donner la prescription

Fin du traitement

Prendre et suivre le traitement

Sortie

²

Fig.20. Diagramme d'activité pour la prescription des maladies


IV.1.4.2. Diagramme de classe

FAIT

- Numéro : int

-Prémisse : Boolean

- Conclusion: Boolean

+ Modifier()

+Ajouter()

+supprimer()

REGLE

- Numéro : int

-Prémisse : string

- Conclusion: string

- Active: Boolean

+ Modifier()

+Ajouter()

+supprimer()

1...*

1

1...*

· 1...*

BASE DE REGLES

- Numéro : int

-Prémisse : string

- Conclusion: string

- Active: Boolean

+ Modifier()

+Ajouter()

+supprimer()

BASE DE FAITS

- Numéro : int

-Prémisse : string

- Conclusion: string

- Active: Boolean

+ Modifier()

+Ajouter()

+supprimer()

PRESCRIPTION

- Numéro : int

-Prémisse : string

- Conclusion: string

- Active: Boolean

+ Modifier()

+Ajouter()

+supprimer()

1

1

1...*

Fig.21. Diagramme de classes

IV.1 .5. Conception de la base de connaissance et du moteur d'inférence

La conception de ce système est subdivisée en 2 parties :

ü Conception de la base des connaissances

ü Conception du moteur d'inférence

IV.1.5.1. Conception de la base de connaissances

La base de connaissances étant l'ensemble de la base de faits et de la base de règles, sa conception consiste à la conception de ces deux dernières. Elles ont été mises en place grâce à l'extraction de connaissances. Compte tenu de la liste exhaustive de faits et de règles que nous détenons, Nous ne citerons que quelques uns :

IV.1.5.1.1. Présentation de la base de faits

1. Prurit

2. Hyperplasie des papilles

3. Infiltrat limbique cornéo conjonctival

4. Concrétions calcaires s

5. Hyperpigmentation de la conjonctivite bulbaire

6. Démangeaison

7. Larmoiement

8. Brûlure

9. Hypersécrétion des mucus

10. Photophobie

11. Blépharospasme

12. Rougeur oculaire

13. Un oedème palpébral

14. Période d'incubation de 2 à 3 jours

15. Secrétions conjonctivales abondantes, purulentes et verdâtres

16. Accolement des paupières

17. Forte hyperhémie

18. Chemosis

19. OEil sec

20. Xérosis conjonctival

21. Tache de bilot

22. Picotement

23. Naévus

24. Larmes sanguinolentes

25. Vascularisation anormale

26. Tendance hémorragique

27. Masse bourgeonnante près du limbe

28. Couleur jaunâtre

29. Nodule rouge et bosselée

30. Télangectasique de surface bosselée

31. Exophtalmie

32. Malaise

33. Abcedation

34. Fièvre

35. Myosite

36. Thrombophlébite orbitaire

37. Pertes de cils

38. Mauvaise vision

39. Baise de la vision

40. Cécité

41. Strabisme

42. Nystagmus

43. Megalocornée

44. Dacryo - adénites

IV.1.5.1.2. Présentation de la base de règles

Règle 1 :

Si megalocornée

Si oedème de la cornée

Si buphtalmie

Si larmoiement

Si photophobie

Si mauvaise vision

Alors Glaucome congénital

Règle 3 :

Si mauvaise vision

Si cecité

Si une tâche dans l'air pupillaire

Si strabisme

Si nystagmus

Si photophobie

Alors Cataracte congénital

Règle 5 :

Si douleur oculaire

Si hémicrânie homolatérale

Si photophobie

Si plephorasme

Si trouble de la vision

Si sécrétion conjonctivale

Si hyperémie

Si chemosis

Alors Kératite ulcéreuse

Règle 8 :

Si douleur oculaire

Si larmoiement

Si photophobie

Si vision trouble

Si ulcération superficielle linéaire

Si hypoesthésie

Alors kératite superficielle

Règle 10 :

Si exophtalmie

Si chemosis

Si dacryo - adenites

Si myosites

Si thrombophlébites orbitaires

Alors pseudo - tumeurs inflammation

Règle 12 :

Si sécrétion lipidique anormale de l'orifice tubulaire de la glande

Si l'existence d'une inflammation chronique

Si la surinfection du staphylococcus aureus

Alors chalazion

Règle 14 :

Si debut brutal avec douleurs violentes

Si oèdeme palpébral

Si chémosis

Si exophtalmie

Si fièvre

Si prostration

Si abcedation

Alors phlegmon orbitaire

Règle 16 :

Si purit

Si hyperplasie de papille

Si concrétion calcaire

Si hyperpigmentation de la conjonctivite bulbaire

Si démangeaison

Si larmoiement

Si hypersécrétion de mucus

Alors Conjonctivite allergique

Si photophobie

Si blephorasme

Alors Conjonctivite allergique

Règle 2 :

Si un sujet adulte

Si l'âge avancé

Si baisse progressive de la vision

Eblouissement

Photophobie

Tâche blanche dans l'air pupillaire

Alors Cataracte acquise

Règle 4 :

Si rougeur

Si douleur oculaire

Si formation violacée ou pourpre

Alors Sclérite

Règle 6 :

Si inflammation superficielle à l'episclère

Si douleur

Si photophobie

Si rougeur du paractaute à la phenylephire

Alors Episclerite

Règle 7 :

Si infiltration stromole

Si pisciforme

Si entouré d'un anneau necrotique

Alors Kératite parasitaire

Règle 9 :

Si oedème palpébral

Si hyperhémie

Si douleur localisée en un point précis du bord de la paupière

Si un petit abcès visible

Alors orgelet

Règle 11 :

Si sensation de brûlure ou de cuisson

Si purit

Si hyperhémie

Si squames cutanées blanchâtres

Si sécrétions sèches

Si desquamation cutanée exagérée

Si perte des cils

Si petite ulcération surinfectée adjacente à la racine des cils

Si syndrome du triple S

Alors blépharite

Règle 13 :

Si présence de nodule rouge et douloureuse

Si télangectasiques de surface bosselée

Si VIH/Sida

Alors angio sarcorme de kaposi

Règle 15 :

Si naévus

Si tumeur siège près du limbe s'étend aux paupières

Alors tumeurs naéviques

Règle 17 :

Si masse bourgeonnante près du limbe

Si vascularisation anormale

Si tendance hémorragique

Alors carcinome

Règle 18 :

Si couleur jaunâtre

Si picotement

Si hyperhémie au niveau de pingueculite

Alors pinguecula

IV.1.5.2. Conception du moteur d'inférence

Concevoir un moteur d'inférence consiste à la conception du raisonnement. Signalons que ce raisonnement est soit déductif (chainage avant), soit inductif (chainage arrière). Dans le cadre de notre travail, nous allons mettre en place un moteur d'inférence qui fonctionnera en chainage avant.

IV.1.5.2.1. Le raisonnement

Cette étape consiste à une bonne analyse en vue d'en dégager une suite d'étapes (Algorithme) nécessaires à la résolution du problème posé.

a) Chainage avant

Chainage avant

Si la base des règles est vide

Alors échec

Sortir

Fin si

Parcourir la base de règles

Si la règle est active

Alors tester la règle

Sinon passer à la règle suivante

Fin si

Si aucune règle n'est déclenchée

Alors chainage arrière

Fin si

Fin chainage avant

Tester la règle

Parcourir les prémisses de la règle

Pour chaque prémisse de la règle

Si prémisse est présente dans la base de faits

Alors passer à la prémisse suivante

Sinon échec

IV.2. Application

Sortir

Fin si

Si toutes les prémisses de la règle sont vérifiées

Alors la règle est déclenchée

Placer l'action dans la base des faits

Succès

Sinon échec

Fin si

Fin Tester règle

b) Chainage arrière

Chainage arrière

Si le fait correspondant au but est vrai

Alors succès

Sortir

Fin si

Si l'état de vérité du fait reste à déterminer

Alors parcourir la base de règles

Pour chaque règle concluant sur le but

Si on peut prouver la règle

Alors succès

Sortir

Sinon prendre la règle suivante

Fin si

Fin si

Si le fait est inconnu ou non demandable

Alors échec

Sortir

Fin si

Demander l'état de vérité du fait correspondant

Si l'état de vérité du fait correspondant n'est pas celui attendu pour vérifier le but

Alors échec

Sinon succès

Fin si

Fin chainage arrière

IV.2. APPLICATION

Nous avons opté dans le cadre ce mémoire, réaliser un système expert qui permettra aux experts de bien analyser tous les traitements. Et nous présentons quelques interfaces qui guideront tout acteur de bien parcourir l'application.

IV.2.1.INTERFACES

a) Le menu fichier

Cette fenêtre aide l'expert d'effectuer l'opération d'ajout dans notre base des connaissances. Ce sous menu contient l'onglée maladie, faits, règles et prescription médicale. Avant tout l'utilisateur ou l'expert doit s'authentifier.

b) Le menu édition

Ce menu permet à l'expert de faire toutes sortes des mises à jour sur chacune des parties du système telles que la modification, la suppression et la construction de règles.

Ø Présentation de l'interface de modification ou suppression pour la maladie

Ø Modification de faits dans la base de faits

Cette phase donne à l'expert la possibilité de modifier un fait qui est était déjà enregistré dans la base de faits ou de le supprimer.

Ø Construction et ajout de règles dans la base de règles

Ici l'expert possède le pouvoir de construire les différentes règles à ajouter dans la base de règles.

Ø Modification ou suppression de règles dans la base de règles

Cette interface permet l'expert de visualiser et de sélectionner la règle qu'il voudra modifiée ou supprimer pour que cette base de règles soit à jour.

c) Le menu traitement

Ce menu est la base pour notre système parce que c'est ici que le moteur d'inférence opère le processus de traitement suivant le raisonnement du chainage avant à partir des symptômes sélectionnés ou introduites par l'utilisateur.

Ce traitement génère une maladie si tous les faits sont valides. Comme pour ce cas, nous remarquons que la maladie ayant pour symptômes oedème de la cornée, larmoiement,... est le Glaucome congénital.

IV.2.2. CODE

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Data.Odbc;

using System.Windows.Forms;

namespace SEDADOPHTA

{

public partial class FPrincipale : Form

{

ClassConnexion pconect = new ClassConnexion();

OdbcCommand command;

OdbcDataReader reader;

string a, b, c, d, e;

string zcdmal,zcdfait,point;

int i, j,k,l,x,nligne,ncolone,nbrligne,nbrcol;

string[] tab; string[] t;

string[] t1; string[] t2; string[] t3; string[] t4;

string[] tas; string[] tes;

string[] tf; string[] tr; string[,] filter;

Boolean etat;

public FPrincipale()

{

InitializeComponent();

PCreerUser.Visible = false; PAutres.Visible = false;

POuverture.Visible = false; PFait.Visible = false;

PMaladie.Visible = false; PRegle.Visible = false;

PPrescription.Visible = false; PGmodifier.Visible = false;

PTavant.Visible = false;

//CONTROLE DE MODIFICATION

zcode.KeyPress+=new KeyPressEventHandler(zcode_KeyPress);

}

private void zcode_KeyPress(object sender, EventArgs e)

{

if (((KeyPressEventArgs)e).KeyChar == (int)Keys.Enter)

{

}

}

private void BYes_Click(object sender, EventArgs e)

{

string user = zuser.Text.ToUpperInvariant();

string password = zpassword.Text.ToUpperInvariant();

if (user == "ADMIN" & password=="SYSTEME")

{

PCreerUser.Visible = true;

PAcces.Hide();

}

private void BCancel_Click(object sender, EventArgs e)

{

zuser.Clear(); zpassword.Clear();

}

private void BModifier_Click(object sender, EventArgs e)

{

a = zcode.Text.ToUpperInvariant();

b = znom.Text.ToUpperInvariant();

c = zpasword.Text.ToUpperInvariant();

ClassAuthentification p = new ClassAuthentification(a, b, c);

p.modifier();

zcode.Clear(); znom.Clear(); zpasword.Clear();

BModifier.Visible = false; BSave.Visible = true; BSupprimer.Visible = false;

}

private void BSupprimer_Click(object sender, EventArgs e)

{

a = zcode.Text.ToUpperInvariant();

b = znom.Text.ToUpperInvariant();

c = zpasword.Text.ToUpperInvariant();

ClassAuthentification p = new ClassAuthentification(a, b, c);

p.supprimer();

zcode.Clear(); znom.Clear(); zpasword.Clear();

BModifier.Visible = false; BSave.Visible = true;

BSupprimer.Visible = false;

}

}

private void suppmaladie()

{

DialogResult repons = MessageBox.Show("Voulez vous supprimer cette information ?","Alerte",MessageBoxButtons.YesNo,MessageBoxIcon.Question);

if(repons==DialogResult.Yes)

{

pconect.conect.Open();

int index = Data.CurrentCell.RowIndex;

string res = "delete from t_maladie where id_malade="+Data.Rows[index].Cells["dnumero"].Value+"";

command = new OdbcCommand(res);

command.Connection = pconect.conect;

command.ExecuteNonQuery();

pconect.conect.Close();

}

}

{

tf = new string[1000];

tr=new string[1000]; //libelle faits

//MessageBox.Show("auto=" + t1[l]);

pconect.conect.Open();

string ras1 = "select nom_faits from t_faits where id_faits="+t3[l]+"";

command = new OdbcCommand(ras1);

command.Connection = pconect.conect;

reader = command.ExecuteReader();

while(reader.Read())

{

tas=new string[reader.FieldCount];

for (i = 0; i < reader.FieldCount;i++ )

{

tas[i]=reader[i]+"";

}

}

pconect.conect.Close();

//libelle malade

pconect.conect.Open();

string ras2 = "select nom_maladie from t_maladie where id_malade=" + t4[l] + "";

command = new OdbcCommand(ras2);

command.Connection = pconect.conect;

reader = command.ExecuteReader();

while (reader.Read())

{

tes = new string[reader.FieldCount];

for (i = 0; i < reader.FieldCount; i++)

{

tes[i] = reader[i] + "";

}

}

pconect.conect.Close();

a = "Si \t" + tas[0];

Datar.Rows.Add(new string[] { t1[l], t2[l], a, "" });

}//fin libelle

b = "Alors";

Datar.Rows.Add(new string[] { "", "Conclusion", b, tes[0] });

}//FIN FOR DISTINCT

}

private void suppregle()

{

DialogResult repons = MessageBox.Show("Voulez vous supprimer cette information ?", "Alerte", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (repons == DialogResult.Yes)

{

pconect.conect.Open();

int index = Datar.CurrentCell.RowIndex;

string res = "delete from t_regle where id_auto=" + Datar.Rows[index].Cells["idauto"].Value + "";

command = new OdbcCommand(res);

command.Connection = pconect.conect;

command.ExecuteNonQuery();

pconect.conect.Close();

}

}

private void BUCancel_Click(object sender, EventArgs e)

{

rdbmaladie.Checked = false; rdbfait.Checked = false; rdbregle.Checked = false; rdbprescription.Checked = false;

Data.Rows.Clear(); PGmodifier.Hide();

Datar.Rows.Clear(); grbregle.Visible = false; trid.Clear(); combrfait.Items.Clear(); combrmaladie.Items.Clear();

Affecter.Visible = false;

}

private void Bdelete_Click(object sender, EventArgs e)

{

if(point=="maladie")

{

suppmaladie();

Data.Rows.Clear(); rdbmaladie.Checked = false;

}

else if (point == "fait")

{

suppfait();

Data.Rows.Clear(); rdbfait.Checked = false;

}

else if (point == "prescription")

{

suppprescrire();

Data.Rows.Clear(); rdbprescription.Checked = false;

}

else if(point=="regle")

{

suppregle();

Datar.Rows.Clear(); rdbregle.Checked = false;

Affecter.Visible = false; trid.Clear(); combrfait.Items.Clear(); combrmaladie.Items.Clear();

grbregle.Visible = false;

}

}

private void Affecter_Click(object sender, EventArgs e)

{

affecteregle();

}

private void affecteregle()

{

int index = Datar.CurrentCell.RowIndex;

a =(string) Datar.Rows[index].Cells["id_regle"].Value;

trid.Text = a;

}

private void combrfait_SelectedIndexChanged(object sender, EventArgs e)

{

pconect.conect.Open();

string res = "select id_faits from t_faits where nom_faits='" + combrfait.Text + "'";

command = new OdbcCommand(res);

command.Connection = pconect.conect;

reader = command.ExecuteReader();

while (reader.Read())

{

tab = new string[reader.FieldCount];

for (i = 0; i < reader.FieldCount; i++)

{

zcdfait = reader[i] + "";

}

}

pconect.conect.Close();

}

private void combrmaladie_SelectedIndexChanged(object sender, EventArgs e)

{

pconect.conect.Open();

string res = "select id_malade from t_maladie where nom_maladie='" + combrmaladie.Text + "'";

command = new OdbcCommand(res);

command.Connection = pconect.conect;

reader = command.ExecuteReader();

while (reader.Read())

{

tab = new string[reader.FieldCount];

for (i = 0; i < reader.FieldCount; i++)

{

zcdmal = reader[i] + "";

}

}

pconect.conect.Close();

}

private void SChainageAvant_Click(object sender, EventArgs e)

{

PTavant.Visible = true;

PMaladie.Hide(); PFait.Hide(); PRegle.Hide(); PPrescription.Hide();

PGmodifier.Hide();

}

private void ztraiter_TextChanged(object sender, EventArgs e)

{

a = ztraiter.Text.ToUpperInvariant();

if (a != "")

{

recherchetraiter();

}

else if (a == "") { datatraiter.Rows.Clear(); }

}

private void recherchetraiter()

{

pconect.conect.Open();

string res = "select nom_faits,id_faits from t_faits ";//where nom_faits like '"+a+"%'

command = new OdbcCommand(res);

command.Connection = pconect.conect;

reader = command.ExecuteReader();

while(reader.Read())

{

tab=new string[reader.FieldCount];

for (i = 0; i < reader.FieldCount;i++ )

{

tab[i]=reader[i]+"";

}

if(tab[0]!="")

{

datatraiter.Rows.Add(new object[] { tab[1],tab[0],false });

}

}

a = "";

pconect.conect.Close();

nligne = datatraiter.Rows.Count;

ncolone = datatraiter.Columns.Count;

}

private void button2_Click(object sender, EventArgs e)

{

datatraiter.Rows.Clear();

PTavant.Hide();

}

private void trtreche_Click(object sender, EventArgs e)

{

traitement();

}

private void traitement()

filter=new string[1000,1000];

j = 0;

for (i = 0; i < nligne-1;i++ )

{

etat=(Boolean)datatraiter.Rows[i].Cells["Cnetat"].Value;

if(etat==true)

{

a = (string)datatraiter.Rows[i].Cells["idref"].Value;

tf[j] = a;

j++;

//MessageBox.Show("cdfait="+a);

}

//FILTRAGE DE LA SELECTION

for (x = 0; x <nbrligne ;x++ )

{

//MessageBox.Show("ligne=" + x);

for (k = 0; k < nbrcol; k++)

{

//MessageBox.Show("data=" + filter[x,k]);

if(filter[x,k]==filter[x+1,k])

{

b=filter[x,k];

}

else if(filter[x,k]!="")

{

c=filter[0,0];

}

//MessageBox.Show("k=" +k);

}

}//Fin filtrage*/

if (b != "")

{

pconect.conect.Open();

string res = "select id_malade from t_regle where id_regle='"+b+"'";

command = new OdbcCommand(res);

command.Connection = pconect.conect;

reader = command.ExecuteReader();

while(reader.Read())

{

tab=new string[reader.FieldCount];

for (i = 0; i < reader.FieldCount;i++ )

{

tab[i]=reader[i]+"";

}

d = tab[0];

}

pconect.conect.Close();

//AFFICHE NOM MALADE A PARTIR DE REGLE

pconect.conect.Open();

string req = "select nom_maladie from t_maladie where id_malade=" + d + "";

command = new OdbcCommand(req);

command.Connection = pconect.conect;

reader = command.ExecuteReader();

while (reader.Read())

{

tab = new string[reader.FieldCount];

for (l = 0; l < reader.FieldCount; l++)

{

tab[l] = reader[l] + "";

}

}

pconect.conect.Close();

MessageBox.Show("La maladie est "+tab[0]+", merci" );

}}}}

CONCLUSION

Nous voici au terme de notre travail, où il a été question de parler de la conception et la réalisation d'un Système expert diagnostic d'aide à la décision médicale : Cas de l'ophtalmologie.

Nous avons dans ce travail, épinglé l'importance de l'intelligence artificielle dans la vie humaine, de même nous avons parlé des apports des systèmes experts dans la vie quotidienne.

L'ophtalmologie était le domaine de la médecine où nous avons opté réaliser un système expert qui pourra apporter la précision dans la prise de décision du médecin et de l'utilisateur formé.

L'application que nous avons présentée dans ce travail est une solution au problème dû à la nature humaine de l'expert qui peut commettre des erreurs et aussi au fait que l'expert peut être en déplacement. Le système pourra alors venir en aide pour palier à ce problème.

Ce travail est une bouteille jetée à la mer pour tous ceux qui voudront s'en servir afin de contribuer au développement de la science.

BIBLIOGRAPHIE

I. OUVRAGES

[1] FROT Pierre, Trois systèmes experts en Turbo pascal, Edition Sybex, 1987

[2] KANSKI Jack, Précis d'ophtalmologie clinique, Edition Française, 2005

[3] ROQUES Pascal, UML2 en action - de l'analyse des besoins à la conception, Eyrolles, 4ème édition, 2007

[4] SERGE Tahé, Apprentissage du langage Csharp, 2002

II. NOTES DE COURS

[5] DJUNGU Saint jean, Génie logiciel, Unikin, 2010 - 2011

[6] KASORO Nathanaël , Système expert et temps réel, Unikin, 2011 - 2012

[7] KASORO Nathanaël , Intelligence artificielle, Unikin, 2010 - 2011

[8] KAYEMBE Lubeji, Cours ophtalmologie, Unikin, 2005 - 2006

[9] MBUYI MUKENDI Eugène, Intelligence artificielle approfondie, Unikin, 2011 - 2012

III. MEMOIRES

[10] BALUSA Jack, Conception et réalisation d'un système expert d'aide à la décision

médicale (cas de la neurologie), Unikin, 2009 - 2010

IV. LIENS

[12] http://fr.wikipedia.org/wiki/ophtalmologie, le 05 Août 2012

[13] http://www.ophtasurf.free.fr, le 20 Août 2012

[14] http://www.eisti.fr/mma/Html-SE/Cours/SEO3.pdf, le 26 Septembre 2012

[15] http://www.grappa.univ-lille3.fr/torre/Enseignement/Cours/Intelligence-Artificielle/, le 28 Août 2012

TABLE DES MATIERES

DEDICACES................................................................................................................................................ i

REMERCIEMENTS.................................................................................................................................... ii

LISTE DES FIGURES................................................................................................................................. iii

LISTE DES ABREVIATIONS........................................................................................................................ v

0.INTRODUCTION GENERALE [1] ............................................................................................................ 1

0.1. PROBLEMATIQUE 1

0.2. INTERET DU SUJET 2

0.3. METHODOLOGIES 2

0.4. DELIMITATION DU TRAVAIL 2

0.5. SUBDIVISION DU TRAVAIL 2

CHAP.I. INTELLIGENCE ARTIFICIELLE [7], [10] ................................................................................. 4

I.1. INTRODUCTION 4

I.2. DEFINITIONS 4

I.3. AMBITIONS DE L'INTELLIGENCE ARTIFICIELLE 5

I.3.1. L'intelligence artificielle forte.................................................................................................. 5

I.3.2. L'intelligence artificielle faible.......................................................................................... 6

I.4. LES DOMAINES DE L'INTELLIGENCE ARTIFICIELLE 6

I.5. LES PRINCIPAUX LANGAGES DE L'INTELLIGENCE ARTIFICIELLE 8

I.6. AVANTAGES DE L'INTELLIGENCE ARTIFICIELLE 8

I.7. INCONVENIENTS DE L'INTELLIGENCE ARTIFICIELLE 8

CHAP.II. LES SYSTEMES EXPERTS [1], [6], [7], [10], [14] ........................................................................... 9

II.1. INTRODUCTION 9

II.2. DEFINITIONS 9

II. 3. LES APPORTS DES SYSTEMES EXPERTS 11

II.3.1. La gestion de l'expertise................................................................................... 11

II.3.2. l'augmentation de la capacité de l'expert ............................................................ 11

II.3.3. la diffusion de la connaissance..................................................................... 11

II.4. LES SORTES DE SYSTEMES EXPERTS 12

II.5. LES COMPOSANTS DE BASE D'UN SYSTEME EXPERT 13

II.5.1. la Base de Connaissances (BC) ............................................................................................. 14

II.5.2. la Base des Faits (BF) ........................................................................................................... 14

II.5.3. Le Moteur d'Inférence................................................................................................................................. 14

II.6. ARCHITECTURE D'UN SYSTEME EXPERT 15

II .6.1.Moteur d'inférence................................................................................................................................. 16

II .6.2.Base de connaissances......................................................................................................... 16

II .6.3.Module d'acquisition de connaissances.............................................................................................................................. 17

II .6.4.Interface utilisateur ............................................................................................................... 17

II .6.5.Module explicatif............................................................................................................... 17

II.7. REPRESENTATION DES CONNAISSANCES 17

II.7.1. Faits ............................................................................................................................................. 18

II.7.2 Règles de production............................................................................................................ 19

II.7.3. Objets structurés............................................................................................................ 20

II.7.4. Réseaux sémantiques......................................................................................................... 20

II.8. LES ACTEURS D'UN SYSTEME EXPERT 21

II.8.1. L'Expert.............................................................................................................................. 21

II.8.2. L'Ingénieur de la connaissance ou cogniticien.................................................................. 21

II.8.3. Les Développeurs ................................................................................................................. 22

II.8.4. Les Utilisateurs ................................................................................................................. 22

II.8.5. Les Managers ................................................................................................................. 22

II.9. NATURE DE SYSTEMES EXPERTS REALISABLES 22

II.10. ACQUISITION DES CONNAISSANCES 24

II.10.1. Processus d'acquisition des connaissances ............................................................................ 24

II.11. PROCESSUS DE RAISONNEMENT 28

CHAP.III.GENERALITES SUR L'OPHTALMOLOGIE................................................................................. 34

III.1. INTRODUCTION 34

III.2. DEFINITION 34

III.3. OEIL 34

III.4. SYMPTOMES 36

III.4.1. LES SYMPTOMES VISUELS............................................................................................ 37

III.4.2. LES SYMPTOMES NON VISUELS .................................................................................... 37

III.5. EXAMEN OPHTALMOLOGIQUE .............................................................................................. 38

III.6. LES TROUBLES DE LA VISION 38

III.7. LES PATHOLOGIES DE L'OEIL 39

CHAP IV : CONCEPTION ET REALISATION DU SYSTEME EXPERT SEDADOPTHA. [3], [4] 43

IV.1. STADES DE DEVELOPPEMENT 43

IV.1.1. Recensement des acteurs............................................................................. 43

IV.1.2. Recensement des messages entre le système et les acteurs ............................ 44

IV.1.3. La spécification initiale................................................................................ 44

IV.1.4.Analyse............................................................................................................. 45

IV.1.4.1. Le modèle d'interactions........................................................................ 45

IV.1.4.1.1. Cas d'utilisation d'un système expert................................................ 46

IV.1.4.1.2. Diagramme de séquence pour initialisation du système............... 47

IV.1.4.1.3. Diagramme d'activité pour initialisation du système.............. 47

IV.1.4.1.4. Diagramme de séquence mettre à jour les connaissances............ 48

IV.1.4.1.5. Diagramme d'activité pour mettre à jour les connaissances... 49

IV.1.4.1.6. Diagramme de séquence pour diagnostique de la maladie........... 51

IV.1.4.1.7. Diagramme d'activité pour diagnostique de la maladie................. 52

IV.1.4.1.8. Diagramme de séquence pour la prescription........................... 53

IV.1.4.1.9. Diagramme d'activité pour la prescription................................. 53

IV.1.4.2. Diagramme de classe.............................................................................. 54

IV.1 .5. Conception de la base de connaissance et du moteur d'inférence...... 55

IV.1.5.1. Conception de la base de connaissances............................................................ 55

IV.1.5.1.1. Présentation de la base de faits........................................................................... 55

IV.1.5.1.2. Présentation de la base de règles.................................................................. 57

IV.1.5.2. Conception du moteur d'inférence ........................................................................ 60

IV.1.5.2.1. Le raisonnement................................................................................................... 60

IV.2. APPLICATION 63

IV.2.1.INTERFACES ................................................................................................................. 63

IV.2.2. CODE................................................................................................................. 68

CONCLUSION................................................................................................................. 74

BIBLIOGRAPHIE ................................................................................................................. 75

TABLE DES MATIERES................................................................................................................. 77






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Tu supportes des injustices; Consoles-toi, le vrai malheur est d'en faire"   Démocrite