Title: Ressources Matrielles MC3
1Ressources Matérielles MC3
Cours 3 (Ressources informationnelles) Systèmes
à base de connaissance, Introduction au génie
logiciel Yasmine Charif Yasmine.Charif_at_lip6.fr
2Plan du Cours 3
- Partie 1
- Introduction à lIA
- Les systèmes experts
- Les systèmes à base de connaissance
- Partie 2
- Introduction au Génie Logiciel
3Système à base de connaissance
- Introduction à lIntelligence Artificielle
4Système à base de connaissance
- Lintelligence artificielle
- Définition IA
- Artificiel. désigne ce qui n'est pas un produit
de la nature.
- Intelligence. "Faculté de connaître, de
comprendre et de s'adapter ...". Jean-Pol
Tassin (Pour la Science, Décembre 1998).
- Produire une IA consisterait donc à utiliser une
technique (informatique) pour concevoir un
système capable de raisonnement (résoudre un
problème, s'adapter à des situations
nouvelles,...).
- LIA est une discipline de linformatique dont
le but est que les ordinateurs puissent raisonner
comme les humains. - Elle sadresse à une classe de problèmes
exponentiels.
5Système à base de connaissance
- Lintelligence artificielle
- Exemple du jeu déchec
- La programmation classique utilise
l'algorithmique pour calculer et analyser tous
les coups possibles à chaque étape du jeu. - LIA, quant à elle, introduit une nouvelle vision
du jeu - chaque coup joué fait maintenant partie d'une
tactique qui consiste à réaliser un objectif la
victoire. - L'IA a donc une vision globale du jeu, élabore
des stratégies, s'adapte aux coups joués par
l'adversaire, etc. - LIA
- L'IA est une conception différente de la
résolution de problèmes. - D'après JL. Laurière, "Tout problème pour lequel
aucune solution algorithmique n'est connue relève
a priori de l'IA".
6Système à base de connaissance
- Lintelligence artificielle
- Reprenons la phrase de Marvin Minsky, figure
célèbre de l'IA des années 50 - "... the science of making machines do things
that would require intelligence if done by
humans". - L'IA est la branche de l'informatique qui
consiste à concevoir des systèmes intelligents,
c'est-à-dire qui soient capables de produire un
raisonnement proche de celui de l'être humain.
7Système à base de connaissance
- Débuts de lIA
- 1950 le mathématicien britannique Alan Turing
publie, dans le journal philosophique Mind, un
article intitulé Computing Machinery and
Intelligence. Dans cet article, il décrit le test
de Turing. - 1955 - 1956 Allen Newell, John Shaw, et Herbert
Simon créent le "Logic Theorist", considéré comme
le premier programme d'IA. - 1956 John McCarthy, considéré comme le père de
l'IA, organise "The Dartmouth summer research
project on Artificial Intelligence". - 1959 élaboration du GPR (General Problem
Resolver), qui consiste à définir un état
initial, un ou plusieurs états finaux, et des
opérateurs de transition entre les états.
8Système à base de connaissance
- Débuts de lIA
- 1967 Echec et abandon du GPR
- 1972 Hubert Dreyfus, un des détracteurs de
lIA, écrit "What Computers Can't Do" dénonçant
les sommes importantes dépensées par le
gouvernement US pour le développement de l'IA. - Problèmes des premiers systèmes en IA
- incapacité à imiter la capacité de l'homme à
utiliser le contexte d'un problème pour
déterminer le sens des mots et des phrases. - Exemples.
- Dans louvrage de Dreyfus In spite of
journalistic claims at various moments that
machine translation was at last operational, this
research produced primarily a much deeper
knowledge of the unsuspected complexity of syntax
and semantics". - En 1968, la sortie du film 2001, L'odyssée de
l'espace , de Stanley Kubrick, qui montrera un
aspect de l'IA au grand public, à travers son
ordinateur HAL.
9Système à base de connaissance
- Débuts de lIA
- Années 70 de nombreuses nouvelles méthodes de
développement de l'IA sont testées. En 1971, le
langage PROLOG est créé par Colmerauer. - 1974 verra l'avènement des premiers systèmes
experts. - dont le plus célèbre MYCIN (Edward H.
Shortliffe), conçu pour l'aide au diagnostic et
au traitement de maladies bactériennes du sang.
En 1979, Mycin sera considéré par le "Journal of
American Medical Assoc" comme aussi bon que les
experts médicaux. - La même année, le premier robot piloté par
ordinateur est conçu. - On notera également dans les années 70, l'abandon
des subventions versées par les gouvernements (US
pour la plupart) pour quelques programmes de
recherche en IA.
10Système à base de connaissance
- Débuts de lIA
- 1980-1990 Accélération du mouvement.
- Avec l'efficacité prouvée des systèmes experts,
les ventes de matériels IA (hardware ou logiciel)
grimpent en flèche. - L'IA commence à intéresser les grandes firmes
(Boeing, General Motors, etc). - Face aux détracteurs, les "pro-IA" se défendent
en 1982, Minsky écrit "Why People Think Computers
Can't", en réponse notamment aux critiques de
Dreyfus.
11Système à base de connaissance
12Système à base de connaissance
- Les systèmes experts
- Un système expert est un outil capable de
reproduire les mécanismes cognitifs d'un expert,
dans un domaine particulier. - Plus précisément, un système expert est un
logiciel capable de répondre à des questions, en
effectuant un raisonnement à partir de faits et
de règles connus. - Il peut servir notamment comme outil daide à la
décision.
13Système à base de connaissance
- Les systèmes experts
- Un système expert se compose de 3 parties
- une base de faits
- une base de règles
- Un moteur dinférence
- Le moteur d'inférence est capable d'utiliser
faits et règles pour produire de nouveaux faits,
jusqu'à parvenir à la réponse à la question
experte posée.
14Système à base de connaissance
15Système à base de connaissance
- Mécanismes de raisonnement
- La plupart des systèmes experts existants
reposent sur des mécanismes de logique formelle
(logique aristotélicienne) et utilisent le
raisonnement déductif. - Pour l'essentiel, ils utilisent le syllogisme
- si P est vrai (fait ou prémisse) et si on sait
que P ? Q (règle) - alors, Q est vrai (nouveau fait ou conclusion).
- Les plus simples des systèmes experts s'appuient
sur la logique des proposition (dite aussi
logique d'ordre 0 ). - Dans cette logique, on n'utilise que des
propositions, qui sont vraies, ou fausses. - D'autres systèmes s'appuient sur la logique des
prédicats du premier ordre (dite aussi logique
d'ordre 1 ), que des algorithmes permettent de
manipuler aisément.
16Système à base de connaissance
- Historique
- Les premiers systèmes experts voient le jour aux
USA dans les années 1970. - MYCIN, qui manipulait de l'expertise dans le
domaine médical, est l'un des plus connus. - Dans les années 1970, une équipe de Stanford
University, sous la direction d'Ed Feigenbaum, a
fait lhypothèse que lintelligence repose sur le
stockage des grandes quantités de connaissance. - Connaissances représentées sous forme de règles.
- En 1973, ils ont cherché un nouveau domaine pour
refaire une étude. Ils ont retenu le domaine de
Thérapie Anti-Biotique. - Résultat MYCIN (500 règles avec des faits
fortement typés).
17Système à base de connaissance
- MYCIN
- Quest-ce que cest?
- Cest un "programme de consultation" qui donne
des avis aux médecins concernant les thérapies
anti-microbiennes. - Domaine
- anti-microbien ou antibiotique
- Principe
- Il existe un grand choix de médicaments
anti-microbiens ainsi qu'un grand nombre de
microbes. - Chaque antibiotique agit différemment avec chaque
microbe. - À cause de cette grande variété, seuls certains
médecins spécialisés connaissent bien ce domaine.
18Système à base de connaissance
- MYCIN
- La séquence de tâches
- 1) Demande des informations sur le cas.
- 2) Applique ses connaissances.
- 3) Donne son jugement et conseille.
- 4) Répond aux questions sur son raisonnement.
- Buts à atteindre
- Facile à utiliser
- Fiable
- Manipule un grand nombre de connaissances
- Utilise des renseignements inexacts ou incomplets
- Explique et justifie ses conseils
19Système à base de connaissance
- MYCIN
- Répond à 4 questions
- 1) Quelles infections importantes existent ?
- 2) Quel microbe est la cause de chaque infection
? - 3) Quels médicaments sont efficaces ?
- 4) Quel est le meilleur traitement ?
- A tout instant, l'utilisateur peut demander
- Pourquoi ?
- Trace de la chaîne de raisonnement en cours.
- Comment ?
- Trace la source d'un fait.
20Système à base de connaissance
- Raisonnement dans MYCIN
- Chaînage arrière, dirigé par un but
- Règles sous forme dabduction
- A ? B ? C
- Pour prouver C, il faut
prouver A et B.
21Système à base de connaissance
- Raisonnement dans MYCIN
- La base de connaissance statique comporte des
règles - On dispose donc dun ensemble de règles (ici,
déduction), approximatives.
22Système à base de connaissance
- Les inférences
- Moteur d'inférence déduit des faits à partir de
faits initiaux et des règles. - Deux approches de base
- A partir de ce qu'on veut trouver et remonter
vers les faits (chaînage arrière) - A partir des faits et aller vers ce qu'on veut
trouver (chaînage avant). - La structure classique des systèmes experts
utilisaient toujours un ensemble de règles de
production.
23Système à base de connaissance
- Evaluation de MYCIN
- En 1979 MYCIN en compétition face à 8 médecins
sur 10 cas réel, MYCIN arrive premier. - Limites de MYCIN
- Peu de flexibilité (adapté à un problème précis)
- Connaissances difficiles à entrer
- beaucoup de règles
- dépendantes du système d'inférence.
- Manque d'explications sur le résultat.
- MYCIN était un programme de recherche et n'a
jamais été réellement utilisé à l'hôpital, car - incomplet, difficile à évaluer, mauvaise
interface... - Mais il a montré qu'on peut approcher un domaine
d'expertise.
24Système à base de connaissance
- Systèmes à base de connaissance
25Système à base de connaissance
- Quest-ce quun SBC ?
- Un programme construit pour
- modéliser les compétences de résolution de
problèmes des humains. - avoir la même performance que les humains (Test
de Turing).
Human
Human interrogator
26Système à base de connaissance
- SE vs. SBC
- Système expert (SE) Système informatique
permettant de résoudre les problèmes dans un
domaine d'application déterminé à l'aide d'une
base de connaissances établie à partir de
l'expertise humaine. - Système à base de connaissances (SBC) Système
informatique fonctionnant avec une base de
connaissances sur un sujet donné.
27Système à base de connaissance
- SE vs. SBC
- Les systèmes experts classiques seraient un cas
particuliers des systèmes à base de
connaissances. - Tout système informatique utilise de la
connaissance, mais dans un système à base de
connaissances, celle-ci est représentée de façon
explicite.
28Système à base de connaissance
- Connaissance
- Différence entre donnée, information,
connaissance
- Une donnée transporte l'information. Ce sont des
signaux non interprétés. - Exemple. ! ...- - -... C
- Linformation est une interprétation de la
donnée. - Exemple. (!, point dexclamation), (...- - -...,
SOS), (C, lettre) ou (C, note)
- La connaissance utilise l'information dans le
cadre d'actions, dans un but précis. Les actions
peuvent être la prise de décisions, la création
de nouvelles informations, etc. - Exemple.
- écrire un ! pour marquer une exclamation en
fin de phrase - si le signal ...- - -... reçu alors déclencher
lalerte et envoyer des secours - si C apparaît sur une partition alors la
référence est la gamme de Do, jouer dans la gamme
associée.
29Système à base de connaissance
- Tâches utilisant des connaissances
- Classement issu de la méthodologie CommonKADS
- Tâches d'analyse
- classification, diagnostique, évaluation,
supervision, prédiction. - Tâches de synthèse
- conception/configuration, modélisation,
planification, ordonnancement, répartition. - Ce classement se veut relativement exhaustif des
différentes tâches demandant de la connaissance.
30Système à base de connaissance
- Types de problèmes résolus par les SBC
- Contrôle
- Conception
- Diagnostic
- Instruction
- Interprétation
- Monitoring
- Planification
- Prédiction
- Prescription
- Sélection
- Simulation
31Système à base de connaissance
- Pourquoi utiliser un SBC ?
- Remplacer un expert
- Automatiser une tâche routinière nécessitant un
expert - Un expert quitte la compagnie
- Besoin dune expertise dans un environnement
hostile. - Exemples
- Drilling advisor (Elf-Aquitaine)
- Cooker advisor (Campbell Soup Company) 95 de
réussite. - Assister un expert
- Améliorer la productivité
- Gérer la complexité
- Exemples
- R1/XCON (DEC CMU), économie pour DEC de 25 M /
an - Lending advisor (Banques).
32Système à base de connaissance
- Utilisation des SBC
- Agriculture
- Affaires
- Chimie
- Communications
- Informatique
- Éducation
- Électronique
- Ingénierie
- Géologie
- Domaine juridique
- Manufacture
- Mathématiques
- Médecine
- Météorologie
- Militaire
- Prospection et exploitation minière
- Production dénergie
- Hydrologie / hydroélectricité
- Espace
33Système à base de connaissance
- Exemple de problèmes
- Le problème des seaux à remplir
- On dispose de deux seaux, lun de trois litres et
lautre de 4 litres. - Comment mesurer 2 litres dans le seau de 4 litres
? - Variante
- Une personne a une bonbonne de douze litres de
vin elle veut en donner 6 litres à un ami. Pour
les mesurer, elle na que deux autres bouteilles,
lune contenant 7 litres et lautre contenant 5
litres. Comment doit-elle opérer pour avoir les
6 litres dans la bonbonne de 7 litres ?
4 litres
3 litres
2 litres
34Système à base de connaissance
- Exemple de problèmes
- Le problème du taquin
- Trouver la séquence de déplacements la plus
courte qui permet de passer de létat initial à
létat final.
35Système à base de connaissance
- Exemple de problèmes
- Un problème de crypto-arithmétique
- Une lettre correspond à un nombre (entre 0 et 9)
et un seul, décrypter laddition.
S E N D M O R E M O N E Y
36Système à base de connaissance
- Exemple de problèmes
- Un problème logique
- Bernard, Jacques et Sylvain sont prévenus de
fraude fiscale et déclarent - Bernard Jacques est coupable et Sylvain est
innocent . - Jacques Si Bernard est coupable alors Sylvain
est coupable . - Sylvain Je suis innocent mais au moins un des
deux autres est coupable . - Qui est coupable ?
37Système à base de connaissance
- Exemple de problèmes
- Un problème de contrainte
- Patrick, Antoine et Émilie sont musiciens il y
a un saxophoniste, un guitariste, et un
violoniste - Une personne a peur du chiffre 13, une autre des
chats, et une autre a le vertige. - Patrick et le guitariste font de la montagne
- Antoine et le saxophoniste aiment les chats
- Le violoniste habite lappartement 13 au 13ième
étage. - Qui est qui ?
38Système à base de connaissance
- Exemple de problèmes
- Les tours de Hanoi
- Lunivers du problème consiste en un ensemble de
trois piliers notés de la gauche vers la droite,
p1, p2 et p3, et de deux disques, notés d1 et d2,
où le premier est plus petit et posé sur le
second.
- Le problème consiste à faire passer les deux
disques, d1 et d2, du pilier p1 au pilier p3 en
se servant du pilier intermédiaire p2 en
respectant la règle ci-dessous - Le petit disque d1 ne peut jamais être sous la
grand disque d2. - Le problème se généralise à un nombre quelconque
de disques.
39Système à base de connaissance
Interface
Base de connaissances
Moteur dinférence
Utilisateur
Base de faits
40Système à base de connaissance
- Représentation des connaissances
41Système à base de connaissance
- Connaissance
- Donnée ? information ? connaissance
- La représentation des connaissances est le
problème clé en IA. - Les objets, actions, concepts, situations,
relations, etc. sont représentés selon certains
formalismes (cerveau vs. mémoire de lordinateur).
42Système à base de connaissance
- Représentation des connaissances
- Cest le transfert des connaissances dun expert
vers une machine ? Psychologie cognitive - Changement de media
- Changement de forme de représentation
- Cest une tâche de modélisation linguistique
- puissance expressive
- applicable pour le raisonnement
- efficace
43Système à base de connaissance
44Système à base de connaissance
- Ontologies, quest-ce que cest ?
- Selon le dico du net
- Organisation hiérarchique de la connaissance sur
un ensemble d'objets par leur regroupement en
sous-catégories suivant leurs caractéristiques
essentielles. - Plus généralement
- Ensemble des connaissances du domaine d'action
d'un agent (pour la réalisation de sa tâche) - Ne pas confondre avec
- Taxinomie Classification de concepts
- Thésaurus
- Ensemble de termes organisé (hiérarchique ou
thématique en général) - Chaque terme représente un concept du domaine
- Relations entre les termes (synonymie,
hyperonymie...) - Exemple. WordNet http//wordnet.princeton.edu/
45Système à base de connaissance
- Ontologies, quest-ce que cest ?
- La définition la plus cité en IA, due à T. Gruber
- an ontology is an explicit specification of a
conceptualization. - conceptualization pour lexistence dun modèle
abstrait dun certain aspect du monde, qui se
compose dun ensemble de définitions de concepts
et de relations. - explicit specification pour la spécification du
modèle dans un langage non ambigu, qui peut être
compris et manipulé aussi bien par les machines
(agents logiciels) que par les personnes (agents
humains).
46Système à base de connaissance
- Les ontologies
- Ensemble de concepts
- Reliés entre eux
- Regroupement en classe (structure hiérarchique)
47Système à base de connaissance
- Les ontologies
- Ensemble de termes (représentant des concepts)
- Liens entre les concepts
- Liens hiérarchiques (is-a, part-of...)
- Liens sémantiques (relations)
- Idée
- La définition d'un terme est l'ensemble de ses
relations dans l'ontologie. - Différentes formes d'ontologies selon
- Nature des connaissances à inclure
- Niveau de détail (granularité)
- Tâche, domaine, application
48Système à base de connaissance
- Exemple dontologie (liens is-a)
49Système à base de connaissance
- Exemple Lontologie dAristote
50Système à base de connaissance
- Les ontologies
- Lutilisation effective dune ontologie nécessite
- un langage de représentation des ontologies bien
défini - et des modules associés de raisonnement qui
soient efficaces.
51Système à base de connaissance
- Représentation des connaissances
- Triplets ltobjet, attribut, valeurgt
- Réseaux sémantiques
- Frames
- Logique
- Règles
52Système à base de connaissance
- Triplets ltobjet, attribut, valeurgt
- Syntaxe
- Objet (sujet) la ressource (URI ou nud local)
- Attribut (prédicat) la propriété
- Valeur (objet)
- Exemple.
- la ressource http//www.w3c.org/ a un propriété
titre dont la valeur est World Wide Web
consortium.
titre
http//www.w3c.org
World Wide Web Consortium
53Système à base de connaissance
- Réseaux sémantiques
- Il s'agit de réseaux dont les nuds représentent
les concepts et les arcs représentent les
relations. - Le but des réseaux sémantiques est de fournir une
représentation souple des connaissances.
Moyen de transport
sorte-de
possède
sorte-de
Avion
Aile
sorte-de
Voiture
est-un
Avion de chasse
est-un
Citroën C4
Airbus A380
54Système à base de connaissance
- Lorigine des langages de frames peut être
trouvée dans les RS. En fixant une relation
hiérarchique de base (est-un) et une relation
d'appartenance (appartient-à), on a la structure
d'un langage de frames. Les autres relations se
cachent dans les attributs des entités. - Les entités hiérarchisées sont les classes (avec
au sommet une classe racine souvent appelée
OBJET). Les autres entités, les objets proprement
dits, appartiennent aux différentes classes.
55Système à base de connaissance
- Logique (Calcul des propositions et prédicats)
- On peut représenter la situation de la figure de
la manière suivante en utilisant les prédicats
'sur', 'surtable', 'libre - sur(C,A)
- surtable(A)
- surtable(B)
- libre(C)
- libre(B)
- Par ailleurs, à l'aide d'opérateurs de la logique
du premier ordre, il est possible de définir de
nouveaux prédicats ôter', 'empiler' et de
donner des équivalences - 1) libre(x) ? (y sur(y,x)) (il n'existe pas de
y sur x) - 2) sur(y,x) ? oter(y,x) ? libre(x) ? sur(y,x)
- 3) libre(x) ? libre(y) ? empiler(x,y) ? sur(x,y)
- Il est possible de donner un but à atteindre (par
un robot) de la même façon. - Exemple sur(A,B). A partir de cette information
et de la règle 3, le système déduit libre(A),
libre(B) et empiler(C,A). La règle 2 conduit à
l'action ôter(C,A).
56Système à base de connaissance
- Logiques de description
- Les RS mélangeaient plusieurs types de liens. Les
LD donnent une place à part entière aux relations
entre concepts (relation ? rôle). - Exemple
- Humain Homme ? Femme
- Humain ? ?est_parent
- Femme Personne ? Féminin
- Parent Personne ? ?a_enfant.Personne
- Gandmère Femme ? ? a_enfant.Parent
57Système à base de connaissance
- Règles
- Connaissance servant à faire le lien entre des
informations connues et dautres informations que
lon peut déduire ou inférer. - Exemple.
- Si ltballe, couleur, rougegt alors jaime la balle
- Si jaime la balle alors jachète la balle
- Peut exécuter des procédures.
- Si délailt30 et âge_étudiantlt28 "oui" et
présent_communication "oui" alors
réduction_congrés 50
58Système à base de connaissance
- Règles
- Représentent des formes de connaissances variées
- Relation
- Recommandation
- Directive
- Stratégie
- Heuristique
Si batterie morte alors lauto ne démarrera pas
Si lauto ne démarre pas alors prendre un taxi
Si lauto ne démarre pas le système
dalimentation en essence est ok alors vérifier
le système électrique
Si lauto ne démarre pas alors vérifier le
système dalim. en essence puis le système
électrique
Si lauto ne démarre pas lauto est une Ford de
1962 alors vérifier le radiateur
59Système à base de connaissance
- Règles avec variables
- Réaliser la même opération sur un ensemble
dobjets. - Exemple.
- Si ?x est employé ?x âge gt 65
- alors ?x peut prendre sa retraite
-
60Système à base de connaissance
- Règles incertaines
- Traduisent des associations incertaines entre
prémisses et conclusions. - Exemple.
- Si inflation élevée
- alors taux dintérêt élevé CF0.8
-
61Système à base de connaissance
- Méta-règles
- Traduisent une connaissance sur lutilisation et
le contrôle de la connaissance du domaine. - Disent comment utiliser les autres règles.
- Exemple.
- Si auto ne démarre pas système électrique
normal - alors exploiter les règles concernant le
système d alim. en ess.
62Système à base de connaissance
- Ensemble de règles
- Les règles sont divisées en ensembles.
- Chaque ensemble est applicable à un problème
donné.
63Système à base de connaissance
- Raisonnement dans les SBCs
64Système à base de connaissance
- Raisonnement processus de
- Faire coopérer connaissances, faits, et
stratégies de résolution de problèmes, dans le
but datteindre des conclusions. - Comprendre comment un expert humain raisonne lors
de la résolution dun problème.
65Système à base de connaissance
Raisonnement
Déductif
Inductif
Du sens commun
Abductif
Analogique
66Système à base de connaissance
- Types de raisonnements
- Raisonnement
- A est vrai
- A ? B est vrai
- On en déduit que B est vrai
- Raisonnement
- Un ensemble dobjets a, b, c, d,
- Une propriété P vraie pour les objets a, b, c,
de lensemble - On induit que P est vraie pour tout x de
lensemble - Raisonnement
- Cest une inférence plausible.
- B est vrai
- A ? B est vrai
- on abduit que A est vrai
Déductif
Inductif
Abductif
67Système à base de connaissance
- Types de raisonnements
- Raisonnement
- Faire une analogie entre 2 situations, rechercher
les similarités et différences, etc. - Exploite par exemple la notion de frame pour
raisonner. - Raisonnement
- Sappuie sur lexpérience de lexpert, sur la
notion de bon jugement, plus que sur la
logique. Notion dheuristique.
Analogique
Du sens commun
68Système à base de connaissance
- Raisonnement à base de règle
- 3 composants essentiels
- un ensemble de règles
- un ensemble de faits
- un moteur dinférence
- Avantages
- Facile à comprendre, naturel, modulaire.
- Utilisation
- Gérer les problèmes de contrôle.
Base de faits initiale
Moteur dinférence
Base de connaissance
Base de faits enrichie
69Système à base de connaissance
- Raisonnement à base de règle
- Principe de fonctionnement
- Trouver parmi les règles celles candidates
- Choisir une de ces règles
- Exécuter la règle
- Résolution de conflits
- Si plusieurs règles satisfaites, choisir laquelle
déclenchée - Critère darrêt
- Pour déterminer la fin du processus dinférence
(plus aucune règle nest déclenchée, une solution
acceptable a été trouvée, impossibilité de
trouver une solution, etc.)
70Système à base de connaissance
- Base de règles
- La base de règles rassemble la connaissance et le
savoir-faire de lexpert. - Elle névolue donc pas au cours dune session de
travail. - Une règle se présente sous la forme si X alors
Y - X est la prémisse
- Cest une conjonction de conditions, i.e. une
suite de comparaison dattributs et de valeurs à
laide dopérateurs. - Y est la conclusion
- La conclusion est une affectation.
- Exemple base de règles
- si lâge du patient lt 18 et
- si il a de la fièvre gt 39 et
- si présence dun germe X
- alors le patient a peut-être une méningite
71Système à base de connaissance
- Base de faits
- La base de faits constitue la mémoire de travail
du SBC. - Elle est variable au cours de lexécution et
vidée lorsque lexécution se termine. - Au début de la session, elle contient tout ce
quon sait à propos du cas examiné avant toute
intervention du moteur dinférence. - A la fin, elle est complétée par les faits
déduits par le moteur ou demandés à
lutilisateur. - Exemple base de faits
- Âge est 6
- Fièvre est 40
- Germe X
- Sexe féminin
72Système à base de connaissance
- Moteurs dinférence
- Il existe de nombreux types de moteurs, capables
de traiter différentes formes de règles logiques
pour déduire de nouveaux faits à partir de la
base de connaissance. - On distingue 3 catégories, basées sur la manière
dont les problèmes sont résolus - les moteurs à chaînage avant
- les moteurs à chaînage arrière
- les moteurs à chaînage mixte
- Certains moteurs dinférence peuvent être
partiellement pilotés ou contrôlés par des
méta-règles qui modifient leur fonctionnement et
leurs modalités de raisonnement.
73Système à base de connaissance
- Mécanisme simple pour déduire un fait
particulier, on déclenche les règles dont les
prémisses sont connues jusquà ce que le fait à
déduire soit également connu ou quaucune règle
ne puisse être déclenchée.
74Système à base de connaissance
- On va analyser chaque fait, et on va examiner
toutes les règles où ce fait apparaît en
prémisse. - Pour les règles déclenchées, on va affecter les
attributs en conclusion des valeurs qui leur
correspondent. - Ces attributs affectés feront partie du
résultat final de lexpertise, et en même temps,
ils seront eux-mêmes propagés. - On fait cela jusquà lépuisement des faits, et
on communique le résultat à lutilisateur.
75Système à base de connaissance
- Mécanisme consistant à partir du fait que lon
souhaite établir, à rechercher toutes les règles
qui concluent sur ce fait, à établir la liste des
faits quil suffit de prouver pour quelles
puissent se déclencher, puis à appliquer
récursivement le même mécanisme aux faits
contenus dans ces listes. - Le chaînage arrière est clairement un mécanisme
dinduction on vérifie les hypothèses en
remontant depuis lobjectif. On cherche ainsi à
vérifier si un fait est possible.
Exemple. MYCIN
76Système à base de connaissance
- Pour prouver une hypothèse en recherchant les
informations pouvant la supporter. - On sélectionne alors les règles ayant ce but
comme conclusion, et on vérifie si les prémisses
de ces règles font partie de la base des faits. - Les prémisses nappartenant pas à la base de
faits deviennent à leur tour des buts à prouver
de la même façon. - Le raisonnement se fait des solutions vers les
faits initiaux.
Exemple. MYCIN
77Système à base de connaissance
78Système à base de connaissance
- Chaînage mixte
- Les mêmes règles sont utilisées an chaînage avant
et arrière, selon que des faits nouveaux arrivent
ou que lon ait des faits à établir. - On peut alors aussi bien raisonner à partir des
faits que lon connaît comme prédicats ou comme
objectifs.
Faits initiaux
Solutions possibles
79Système à base de connaissance
- Quel chaînage utiliser ?
- Ce sont les caractéristiques du problème qui vont
conditionner le chaînage quil est judicieux
dutiliser. - Ainsi, lorsque les faits sont peu nombreux ou que
le but est inconnu ? chaînage avant. - Par contre, dans les cas où les buts sont peu
nombreux ou précis ? chaînage arrière.
80Système à base de connaissance
- Raisonnement monotone vs. non monotone
81Système à base de connaissance
- Stratégies de parcours darbre
- Notion de réseau dinférences et de parcours
dans le réseau. - Exemple.
- Si P1 alors C1
- Si P2 alors C2
- Si P3 P4 alors P2
- Si P5 P6 alors P1
- Si P7 alors P6
- Si P8 alors P4
- Si P9 alors C2
Différentes stratégies de parcours de lespace !
82Système à base de connaissance
- Stratégies de parcours darbre
- Parcours en profondeur d abord
- Parcourir le graphe verticalement dabord, pour
ensuite explorer dautres nuds (de gauche à
droite). - Lorsquil est connu que lespace de recherche
est profond, la stratégie en profondeur dabord
est un bon choix. - De plus, cette stratégie se focalise sur une
solution et est donc à même dêtre comprise par
un utilisateur qui interagit avec le système, car
les questions sont relatives à un même chemin.
83Système à base de connaissance
- Stratégies de parcours darbre
- Parcours en largeur dabord
- Parcourir dabord les nuds dun même niveau,
avant de considérer les nuds du niveau
inférieur. - Si la solution se situe profondément dans
lespace de recherche, cette stratégie nest pas
payante. - Les interactions avec un utilisateur sont
difficiles en raison de lexploration de chemins
nombreux (manque de focalisation).
84Système à base de connaissance
- Stratégies de parcours darbre
- Parcours meilleur dabord
- Cest une solution non aveugle.
- Elle exploite des connaissances du problème pour
guider la recherche. - À chaque nud, la technique juge du meilleur
chemin à emprunter, suivant une heuristique
donnée.
- Exemples d heuristiques
- Ordonner les buts
- Ordonner les prémisses
- Utiliser des méta-règles
- Attribuer des priorités aux règles
- Utiliser des facteurs de confiance
- etc.
85Génie Logiciel
- Introduction au Génie Logiciel
86Génie Logiciel
- Introduction
- Objectif conception des SI avec une vision plus
générale sur la conception de tout système
informatique. - Système informatique
données
traitement
Propriétés dynamiques
Propriétés statiques
87Génie Logiciel
- Introduction
- Dans les logiciels classiques , les traitement
revêtent le plus souvent une part prépondérante
dans la conception du logiciel.
données
traitement
Propriétés dynamiques
Propriétés statiques
88Génie Logiciel
- Introduction
- Dans les SI, orientation données entrepôt de
données - Persistance des données.
- Les systèmes actuels accordent une part
croissante aux traitements fouille de
données (data mining), aide à la décision (SIAD).
données
traitement
Propriétés dynamiques
Propriétés statiques
89Génie Logiciel
- Objectif du génie logiciel
- Connaître les méthodes qui permettent de
développer les systèmes logiciels complexes (SI,
traitement, conception objet). - ? pour être méthodique.
- ? pour le développement en équipe.
90Génie Logiciel
- Pourquoi connaître le génie logiciel ?
- Vos compétences programming-in-the-small
- Programmation individuelle sur de petits
problèmes. - Structures de données, algo, langages de
programmation. - (parfois) un peu de méthodologie analyse
descendante.
spécifications
Spécifications données complètes et précises
analyse
Analyse descendante décomposition fonctionnelle
implémentation
Implémentation un seul langage de programmation
validation
Validation jeux dessais
91Génie Logiciel
- Pourquoi connaître le génie logiciel ?
- Étapes du processus de développement / Exemple de
coûts
Projet concernant 5 personnes, durée 12 mois,
avec maintenance longue (plusieurs années)
92Génie Logiciel
- Pourquoi connaître le génie logiciel ?
- En entreprise programming-in-the-large
- Travail en équipe sur des projets longs et
complexes. - Spécifications de départ peu précises.
- Dialogue avec le client/utilisateur.
- Organisation, planification, gestion du risque.
- ? démarche ingénierique génie logiciel
(software engineering).
93Génie Logiciel
- Quest-ce que le génie logiciel ?
- Définition
- Méthodologie de construction en équipe dun
logiciel complexe et à multiples versions. - Programmation vs. Génie logiciel
- Programmation activité personnelle.
- Génie logiciel activité déquipe.
- Suivant les projets, la partie programmation
(codage) ne représentera quentre 10 et 30 du
coût total !
94Génie Logiciel
- Logiciel Aspects économiques
- Importance économique du logiciel
- Importance croissante de linformatique dans
léconomie. - 1985 150 Mrd 1995 450 Mrd
- Coût du logiciel supérieur à celui du matériel.
- Coût maintenance supérieur au coût de conception.
- ? Améliorer la qualité du logiciel.
95Génie Logiciel
- La crise du logiciel
- Démarche ingénierique encore mal intégrée.
- Pannes logicielles
- Avion F1 retourné au passage de léquateur non
prise en compte du référentiel hémisphère sud. - Échec sonde Venus virgule remplacée par un
point. - Bug de lan 2000.
- Instabilité de Windows.
- Coût global
- 1998 80 Mrd 2000 175 Mrd
- Systèmes critiques
- Nucléaire, transport (? 10-10 pannes/h), systèmes
bancaire,
96Génie Logiciel
- La crise du logiciel
- Échec de projet
- Abandon du projet dinformatisation de la bourse
de Londres - 4 années de travail et 100 M perdus.
- Abandon du système de trafic aérien américain.
- Retard (1 an) du système de livraison des bagages
de Denver. - Coût global (USA)
- 1995 80Mrd
97Génie Logiciel
- La crise du logiciel
- Influence de la taille du projet
98Génie Logiciel
- Qualité du logiciel
- Privilégier la qualité à lefficacité
- La prévention des erreurs coûte des dizaines de
fois moins cher que leur correction. - Démarche qualité ISO 9126 (http//www.osil.ch/no
de15.html) - Qualité externe vs. Qualité interne
- Externe vision client.
- Interne vision développeur.
99Génie Logiciel
- Facteurs de qualité
- Qualité externe
- Complétude fonctionnelle réalise les tâches
attendues (ISO) - Ergonomie facilité dutilisation (ISO
usability) - Fiabilité fonctionne même dans les cas
atypiques (ISO) - Adaptabilité adaptation aux modifications (ISO
maintenability) - Qualité interne
- Réutilisabilité de plus en plus importante
aujourdhui - Traçabilité capacité à retracer tout le
parcours d'un logiciel - Efficacité bonne utilisation des ressources
matérielles (ISO) - Portabilité adaptation à de nouveaux
environnements (ISO)
100Génie Logiciel
- Complexité croissante du logiciel
- Complexité croissante du logiciel
- Systèmes offrant de plus en plus de
fonctionnalités. - Exemple. SI BD SIAD
- Systèmes distribués machines hétérogènes en
réseau. - Mutation technologiques rapides langages et
environnement de développement, O.S. - Évolution des besoins du client en cours de
projet. - Solutions proposées par le génie logiciel
- Séparer aspects fonctionnels et technologiques.
- Décomposition en sous-systèmes ? approche objet.
- Démarche itérative ? approche objet.
101Génie Logiciel
- Génie logiciel
- Le GL doit fournir des méthodes de conception de
systèmes complexes permettant - Une prise en compte du client.
- Une démarche qualité.
- Une organisation du travail en équipe.
- Le GL ce sont aussi des outils associés
- AGL (Ateliers de Génie Logiciel)
- AGL méthodologiques
- Exemple Rational Rose (UML)
102 103Bibliographie
- LIA
- Arsac, Jacques Les machines à penser, Le Seuil,
Paris, 1987. - Crevier, Daniel A la recherche de l'IA,
Flammarion, collection champs, Paris, 1999. - Les SBC
- C. L. Paris. Systèmes Experts Explicatifs. In
EXPL 92 pp 3-23. - D. Kayser, La représentation des connaissances,
Hermès - (Paris), 1997.
- J.L. Laurière, Intelligence Artificielle
(résolution de problèmes par lhomme et la
machine), Eyrolles, Paris, 1987. - M. Stefik, Introduction to Knowledge Systems,
Morgan Kaufmann Publishers, San Francisco (CA),
1995. - A. Thayse et al., Approche logique de
lIntelligence Artificielle (5 tomes), Dunod
Informatique (Paris), 1988. - P.H. Winston, Artificial Intelligence,
Addison-Wesley, Reading (MA), 1982. - E. Rich, Artificial Intelligence, Mac Graw Hill
(New York), 1983. - Génie logiciel
- Christian Bénard. Les 9 points clés de la
conduite d'un projet informatique. Collection
Homme et Technique. Les Éditions d'Organisation,
Paris, 1992. - Marie-Claude Gaudel, Bruno Marre, Françoise
Schlienger, and Gilles Bernot. Précis de génie
logiciel. Enseignement de l'Informatique. Masson,
Paris, 1996. - Patrick Jaulent. Génie Logiciel les méthodes.
Armand Colin, Paris, 1990.