Vous êtes sur la page 1sur 37

Intelligence Artificielle

Sahnoun Zaidi
Professeur à l ’Université
Constantine2
e-mail: sahnounz@yahoo.fr

Prof. SAHNOUN Z. 1
Intelligence Artificielle?

• Permettre à la Machine d’accomplir des tâches qui


nécessitent une intelligence humaine.

Prof. SAHNOUN Z. 2
Tâches de l ’IA
• Raisonnement Mondain: actions de Routine pour
interagir avec le monde. Plus difficile à automatiser
– Vision
– Langage naturel
– Planification
– Robotique
• Raisonnement Expert: nécessite un entraînement
(Systèmes Experts)
– Diagnostic Médical
– Maintenance d’équipements
– Configuration d ’ordinateurs
Prof. SAHNOUN Z. 3
– Plan Financier
Techniques de l’IA
• Comment représenter, manipuler et
raisonner sur des connaissances afin de
résoudre des problèmes.

– Représentation des Connaissances

– Recherche

Prof. SAHNOUN Z. 4
Représentation des Connaissances
• Élément Fondamental.
• Résultat clair de la recherche en IA: Résoudre des problèmes, même
simples, nécessite beaucoup de Connaissances.
– Comprendre le sens d’une phrase
– Comprendre une scène
• Résoudre un problème nécessite des connaissances sur les objets du
domaine et des connaissances sur comment raisonner dans ce
domaine.
• La connaissance doit être représentée:
– Efficacement: impossible de représenter explicitement chaque élément.
– Avec sens: comment relier les connaissances avec le monde réel.
• Représentation des connaissances: correspondance entre les
caractéristiques du monde et le langage formel (sémantiques des
langages de représentation.)
Prof. SAHNOUN Z. 5
Recherche
• En général pas de chemin direct vers une solution
d’un problème.
• Générer des possibilités.
• Résoudre un Puzzle
• Bonnes techniques pour rechercher à travers les
différentes possibilités.

• Techniques directes (brute force): inefficace


(explosion combinatoire)
• Heuristiques
Prof. SAHNOUN Z. 6
Représentation des Connaissances et
Raisonnement (Inférence)

Prof. SAHNOUN Z. 7
• Comportement Intelligent obtenu à travers la manipulation des
structures de symboles (représentant des bits de connaissances)
• Ces symboles sont représentés sur n’importe quel support
• Les machines offrent les puissances de représentation et de
raisonnement pour progresser vers l’automatisation d’un
comportement intelligent.
• Comment représenter les connaissances sous forme de structures
de symboles et utiliser ces connaissances pour résoudre des
problèmes de manière intelligente
• Utilisation d’un langage de représentation des connaissances
(KRL)
• Ces langages doivent supporter l’inférence
• Représenter explicitement tout aboutit à une perte de mémoire.
• Compromis entre puissance et efficacité d’inférence
Prof. SAHNOUN Z. 8
Qualités d’un Langage de
Représentation des
Connaissances
• Puissance d’expression
• Puissance d’Inférence: inférer de nouvelles connaissances à
partir des faits de base.
• Une Syntaxe et une Sémantique bien définies
• Trois Approches de représentation de connaissances en IA:
– La Logique
– Les Objets Structurés
– Les Règles de Production
Prof. SAHNOUN Z. 9
La Logique
• La Logique a une syntaxe et une sémantique bien définie et
a pour objectif de préserver la correction de l’induction
(inférence).
• N ’est pas efficace:
– si on fait de sévères restrictions sur les classes d’inférence où on
n’a pas besoin de toute la puissance d’un démonstrateur de
théorème basé sur la logique.
– Difficulté de représenter certain faits de sens commun (l’aspect
temporel par exemple).
• Recours à une logique plus complexe (Logique temporelle,
par défaut, modale…)
• Abandonner les contraintes imposées par la logique et
Prof. SAHNOUN Z. 10
utiliser un langage de Représentation plus flexible.
Les Objets Structurés
• Représenter la Connaissance comme une collection d ’Objets
et de relations.
• Les Principales Relations:
– Sous classe: une classe est une sous classe d ’une autre classe
(relation est-un).
– Instance: un élément appartient à une classe.
• Exemple:
– Ahmed est une instance de la classe représentant tous les étudiants du module
RepCon.
– La classe étudiant du module RepCon est une sous classe de la classe des étudiants
PG.
• On peut définir la propriété d’héritage, tel que, par défaut:
– Ahmed hérite des attributs types de la classe étudiants du moule Repcon
– Prof.
La classe étudiants
SAHNOUN Z. du module RepCon hérite des attributs de la classe des 11
étudiants PG.
Les Systèmes à base de Règles
• Constitués:
– Une mémoire de travail: représente les faits qui
sont actuellement vraies.
– Un ensemble de règles if-then: si certaines
conditions sont vraies (certains faits sont dans
la mémoire de travail), alors une action est
déclenchée (rajouter ou supprimer des faits) .

Prof. SAHNOUN Z. 12
Programmation IA
• Programme en IA peuvent être écrits dans n’importe
quel langage de programmation.
• Mais, certains langages ont certaines
caractéristiques qui facilitent l’écriture de
programmes en IA
• D’autres la rendent plus difficile
• Critères de choix d ’un langage de programmation
pour l’Intelligence Artificielle:
– Support du calcul symbolique
– support de la programmation exploratoire
Prof. SAHNOUN Z. 13
Support du Calcul Symbolique
• Programmation en IA concerne principalement la manipulation
de symboles au lieu des nombres.
• Ces symboles représentent des objets et des relations entre ces
objets
• Des structures complexes symboliques sont nécessaires pour
représenter notre connaissance du monde.
• Les structures symboliques sont souvent représentées par des
structures de données listes.
• Un élément d ’une liste peut être un symbole ou une autre liste.
• Exemple: (amis idir (mustapha rachid ali)) est une liste
• Manipuler une structure symbolique implique souvent le filtrage
• Un langage d ’IA doit donc supporter des structures de données
Prof. SAHNOUN Z. 14
flexibles basées sur les listes et le filtrage (pattern matching).
Les Systèmes à Base de Règles
• Un Système à Base de Règles est constitué:
– Un ensemble de règles qui indiquent ce qu’il faut faire on conclure
dans différentes situations
– Un ensemble de faits
– Un interpréteur qui contrôlent l ’application des règles étant donné
certains faits.
• Deux types de systèmes à règles de production:
– Chaînage avant: commencer par les faits initiaux et continuer à
utiliser les règles pour conclure de nouveaux faits (ou prendre
certaines actions) selon ces faits. Orienté par les données
– Chaînage arrière: commencer par certaines hypothèses (ou but) à
atteindre ou améliorer et continuer à chercher les règles qui
aboutissent à ces hypothèses, peut être définir de nouveaux sous
Prof. SAHNOUN Z. 15
buts. Orienté par les objectifs.
Système Expert (Principe)

• But :
– Modélisation d'un expert humain
– Tâche de ésolution
– Explications sur les raisonnements
• Composition :
– Base de connaissances
– Moteur d'inférence
Structures de contrôle
• Cycle du moteur d'inférence :
– Phase de sélection
– Phase de filtrage
– Phase de résolution de conflits
– Phase d'exécution
• Mode de raisonnements :
– Chaînage avant (données)
– Chaînage arrière (but)
– Chaînage mixte
Fonctionnement
• Dans un SBR, il existe une considération
nette (ou séparation) entre :
– Les connaissances
– Les programmes qui utilisent ces connaissances

18
• Moteur d’inférence (MI) :
c’est un programme (dans certains dispositifs, c’est un
circuit intégré) qui met en œuvre des mécanismes
généraux de combinaison des CA ou des CO.

BC

CO
MI
CA

19
Expert
du Système-expert
domain
e Moteur
d’inférences Interfa
ce
utilisat
Cogniticien eur
Base
de Utilisateur
connaissances
Les Systèmes en Chaînage Avant
• Les faits du système sont représentés dans la mémoire de travail
qui est mise à jour continuellement
• Les règles représentent les actions possibles à effectuer lorsque
les conditions spécifiées sur les éléments de la mémoire de
travail sont remplies.
• Appelées aussi les règles conditions-actions
• Les conditions sont , généralement, des patterns qui doivent
correspondre aux éléments dans la mémoire de travail.
• Les actions correspondent à l ’addition ou la suppression des
éléments de la mémoire de travail.
• L ’interpréteur (le moteur d ’inférence) contrôle l ’exécution des
règles selon le contenu de la mémoire de travail. Il contrôle donc
lesProf.
activités
SAHNOUN du
Z. système. 21
• Il est basé sur un cycle d ’activités appelé cycle
« reconnaissance-action ».
• Le système vérifie toutes les règles qui remplissent les
conditions selon le l ’état de la mémoire de travail.
• Ensuite, il choisit une règle et accomplit les actions dans la
partie action de la règle.
• La sélection de la règle à exécuter est basée sur un critère
fixe appelé lé résolution du conflit.
• L ’exécution des actions aboutit à une nouvelle mémoire de
travail et le cycle commence à nouveau.
• Ce cycle est répété jusqu’à ce qu’il n ’a aucune règle à
exécuter ou satisfaction de l ’objectif spécifiée.
Prof. SAHNOUN Z. 22
Chaînage avant
• Saisie des faits initiaux
• Début
– Phase de filtrage => Détermination des règles
applicables
– Tant que ensemble de règles applicables n'est pas
vide ET que le problème n'est pas résolu Faire
• Phase de choix => Résolution des conflits
• Appliquer la règle choisie (exécution)
• Modifier (éventuellement) l'ensemble des règles
applicables
– Fin faire
• Fin
ALGORITHME DU CHAINAGE AVANT
ENTREE : BF, BR, F
• DEBUT
– TANT QUE F n'est pas dans BF ET QU'il existe dans BR une
règle applicable FAIRE
• choisir une règle applicable R (étape de résolution de conflits,
utilisation d'heuristiques, de métarègles)
• BR = BR - R (désactivation de R)
• BF = BF union concl(R) (déclenchement de la règle R, sa conclusion
est rajoutée à la base de faits)
– FIN DU TANT QUE
– SI F appartient à BF ALORS
• F est établi
– SINON
• F n'est pas établi
• FIN
Stratégies de résolution de conflits
– Ne pas exécuter une règle deux fois sur les
mêmes données ( ne pas rajouter plusieurs
fois le même fait dans la mémoire de travail)

– Exécuter les règles sur les éléments les plus


récents en mémoire avant les plus anciens
(éviter que le système ne fait que déduire de
nouvelles conclusions à partir des données
anciennes).
Prof. SAHNOUN Z. 25
– Exécuter les règles avec des conditions
spécifiques avant celles ayant des
conditions générales (ceci permet de
traiter les cas particuliers).

Prof. SAHNOUN Z. 26
• Ces stratégies aident à obtenir un
comportement raisonnable du système en
chaînage avant. Le plus important c ’est
comment écrire les règles.
• Elles doivent être construites avec attention
avec des pré-conditions spécifiant de manière
précise quand elles doivent être exécutées.
• Sinon, on n ’a pas une idée claire et un
contrôle sur ce que va faire le système.

Prof. SAHNOUN Z. 27
• Parfois, des éléments spéciaux sont rajoutés à
la mémoire de travail pour permettre le
contrôle du comportement du système.
• Par exemple, on peut décider qu’il y ’a des
niveaux de base de traitement pour accomplir
certaines tâches et que certaines règles ne
seront exécutées qu’à un niveau donné.

Prof. SAHNOUN Z. 28
• On peut avoir un élément spécial: (niveau 1) et
ajouter (niveau 1) aux pré-conditions de toutes
le règles concernée
• ensuite supprimer l ’élément lorsque ce niveau
est terminé

Prof. SAHNOUN Z. 29
Chaînage arrière
• Le principe est le suivant :
– Le moteur recherche les règles qui concluent sur le but
à vérifier, et s'assurent que ces règles sont
"déclenchables".
– La règle est déclenchable si ses prémisses sont vérfiées.
– Si parmi les règles sélectionnées, une règle est
déclenchable, alors le but est vérifié.
– Si ce n'est pas le cas, alors les prémisses à vérifier
deviennent de nouveaux buts, appelés sous-buts, et le
processus est réitéré.
• Les principales conditions d'arrêt :
– L'ensemble des sous-buts est vide
(succès) = tous les sous-buts ont été
vérifiés et le problème est résolu
– Impasse ou échec : Soit un des sous -
buts n'est pas vérifiable avec la règle
courante et il faut choisir une nouvelle
règle pour le vérifier, et si cela n'est pas
possible, alors il y a échec.
Prof. SAHNOUN Z. 31
Chaînage arrière
• Phase de filtrage
• Si l'ensemble des règles sélectionnées est
vide Alors questionner l'utilisateur
• Sinon
– Tant que le but n'est pas résolu ET qu'il reste
des règles sélectionnées Faire
• Phase de choix
• Ajouter les sous-buts (partie gauche de la règle
choisie)
• Si un sous-but n'est pas résolu Alors mettre le sous-
but en but à résoudre
– Fin faire
Les Systèmes en Chaînage Arrière
• Systèmes en chaînage avant utiles lorsque on
connaît les faits initiaux
• Mais on n ’a aucune idée comment seront les
conclusions
• Si on connaît les conclusions, ou on a des
hypothèses spécifiques à tester, alors le chaînage
avant n ’est pas efficace. On continue le chaînage
avant jusqu’à saturation (plus de règles à appliquer
ou ajouter l ’hypothèse à la mémoire de travail).
Mais durant ce processus, le système pourrait
effectuer des tâches non relevantes ou rajouter des
éléments non intéressants à la mémoire de travail.
Prof. SAHNOUN Z. 34
• Mais on peut avoir un ensemble de règles qui
tirent des conclusions sur ce que fait idir durant
son enseignement ou sur ce qui est arrivé en
février.
• Mais on n ’a nullement besoin de ceci.
• On ne s ’intéresse qu’aux conclusions
aboutissant à l ’objectif.

Prof. SAHNOUN Z. 35
• Le système en chainage arrière n ’a pas
besoin de mettre à jour la mémoire de
travail
• Mais, il a besoin de garder quels sont les
buts à atteindre pour démontrer son
hypothèse de départ.

Prof. SAHNOUN Z. 36
• Implémentation:
• Utilisation d ’une pile de buts à atteindre.
• Dépiler, d ’une manière répétitive, un but et essayer de le
démontrer.
• S ’il est dans les faits initiaux, alors il est démontré.
• S ’il correspond à une règle ayant un ensemble de pré-
conditions, alors les buts dans la pré-condition est empilé dans
la pile.

Prof. SAHNOUN Z. 37

Vous aimerez peut-être aussi