Vous êtes sur la page 1sur 10

Cours : Introduction à l’Intelligence Artificielle

Master 1 SITW

1h30 de cours (Pr Z. Boufaida) et 1h30 de TD (Dr A. Bentellis)


Plan du cours :
Chapitre 0 : Introduction à l’Intelligence Artificielle
Chapitre 1 : Représentation des problèmes d’Intelligence Artificielle et leur résolution
Définition du problème
Représentation d’un problème en IA
En espaces d’états
En réduction de problèmes
Les graphes et/ou
Définition
Méthodes de recherche dans un espace d’états
En largeur d’abord
En profondeur d’abord
Recherche heuristique
Les arbres de jeux

Chapitre 2 : Représentation des connaissances


Généralités
Les représentations logiques
La logique propositionnelle
La logique du calcul des prédicats du 1er ordre
Les règles de production
Les réseaux sémantiques
Les frames

Chapitre 3 : Les systèmes experts


Introduction
Architecture d’un système expert
Les composants d’un système expert
Base de connaissances : base de faits + base de règles
Moteur d’inférences : fonctionnement en chaînage avant – chaînage arrière –
chaînage mixte
Exemple de systèmes experts
Chapitre 0 : Introduction à l’Intelligence Artificielle
Chapitre 1 : Représentation des problèmes d’Intelligence Artificielle et leur résolution
1.1 Introduction :
Pour résoudre un problème dans sa globalité, il faut suivre une méthodologie qui assure que la solution
fonctionne dans tous les cas. Une méthode rigoureuse consiste à :
 Poser correctement le problème : Définition du problème.
 Analyser la structure du problème
 Définir une stratégie de résolution à partir de l’analyse

1°/ En général, l’objectif est d’atteindre un but précis en appliquant une séquence d’opérateurs à une
situation initiale.
2°/ Pour analyser la structure du problème, il faut essayer de trouver la représentation adéquate à ce
problème. En Intelligence Artificielle, il existe 2 types de représentation : la représentation en espaces
d’états et celle en réduction de problèmes.

1.2 Représentation en espaces d’états :


Elle utilise 2 types d’entités : les états et les opérateurs.
Les états constituent les conditions d’un problème à chaque étape de sa résolution et les opérateurs
permettent de passer d’un état à un autre.
Exemple :
2 1 6 1 2 3
4 8 4 5
7 5 4 6 7 8
Situation initiale Objectif à atteindre

un état : matrice 3X3


Opérateurs possibles : A : déplacer le carré blanc vers le haut
B : ======================= bas
C : ======================= gauche
D : ======================= droite

Etat initial

2 1 6
4 8
7 5 3
I
--------------------------------------------------------------------------------------------------------------
I A I B I C I D
2 6 2 1 6 2 1 6 2 1 6
4 1 8 4 5 8 4 8 4 8
7 5 3 7 3 7 5 3 7 5 3
I

I
--------------------------------------------------------------------------------------------------------------
I A I B I C I D
2 6 2 1 6 2 6 2 6
4 1 8 4 8 4 1 8 4 1 8
7 5 3 7 5 3 7 5 3 7 5 3
Impossible Etat initial
Etc.

Une variante possible de la représentation en espaces d’états est le problème du voyageur du


commerce.
A B C D
A 0 4 6 10
B 4 0 7 10
C 6 7 0 5
D 10 10 5 0
A

AB AC AD

ABC ABD ACB ACD ADB ADC

ABCD ABDC ACBD ACDB ADBC ADCB

ABCDA ABDCA ACBDA ACDBA ADBCA ADCBA

Graphe de l’espace d’états du problème du voyageur du commerce

Un autre exemple est le problème des missionnaires et des cannibales qui sera traité en travaux
dirigés.

1.3 Représentation en réduction de problèmes :


Elle est définie par :
 Une description du problème initial
 Un ensemble d’opérateurs transformant les problèmes en sous-problèmes
 Un ensemble de descriptions de problèmes primitifs

Un exemple de problèmes qui se représente en réduction de problèmes est la Tour de Hanoi.

Considérons trois piquets, notés A, B et C, et un nombre fini de disques de tailles différentes que l’on
suppose placés initialement par taille décroissante sur le piquet A. Le but est ici de transférer cette
tour de disques du piquet A au piquet C en respectant les règles suivantes :

 un seul disque peut être déplacé à la fois,


 un disque ne peut être placé sur un disque de taille plus petite.

Par exemple, pour trois disques, on peut déplacer la tour du piquet A au piquet C en effectuant 7
mouvements comme illustré ci-dessous.
Le problème : déplacer une pile de taille n d’un piquet 1 vers un piquet 3 peut être remplacé par les 3
sous-problèmes suivants :
 déplacer une pile de taille n-1 du piquet 1 vers le piquet 2
 déplacer une pile de taille 1 du piquet 1 vers le piquet 3
 déplacer une pile de taille n-1 du piquet 2 vers le piquet 3

N=3
1à3
N=2 N=1 N=2
1à2 1à3 2à3
N=1 N=1 N=1 N=1 N=1 N=1
1à3 1à2 3à2 2à1 2à3 1à1

1.4 Les graphes et/ou

Dans l’exemple précédent (Tour de Hanoi), un arbre est utilisé pour représenter la solution du
problème. La notation en arbre peut être généralisée en graphe et/ou.

Définition d’un graphe et/ou


Un arbre et/ou se construit selon les règles suivantes :

 Chaque nœud représente un problème unique.


 Le graphe contient un nœud de départ qui correspond au problème d’origine.
 Un nœud terminal représente un problème primitif. Le nœud terminal n’a pas de fils.
 Il existe des opérateurs permettant de passer d’un nœud i vers un nœud j.
Exemple :

A B et C sont des nœuds OU

D E F G et H sont des nœuds ET

1.5 Méthodes de recherche dans un espace d’états :


Recherche en largeur d’abord
1. Mettre le nœud initial dans une liste appelée OUVERT de noeuds non traités. Si le nœud
initial est un nœud terminal alors une solution est trouvée.
2. Si OUVERT est vide et si aucune solution n’a pas déjà été trouvée alors le problème n’a pas
de solution.
3. Enlever le premier nœud n de OUVERT et le placer dans une liste appelée FERMEde nœuds à
traiter.
4. Développer le nœud n (traiter ses successeurs). S’il n’a pas de successeurs alors aller à 2.
5. S’il a des successeurs alors placer les successeurs de n à la fin de OUVERT.
6. S i l’un des successeurs de n est un nœud terminal alors une solution est trouvée sinon aller
à 2.

Exemple :

Un cube ne peut être déplacé que s’il n’a rien dessus.


Un cube qui reçoit n’a rien sur lui. Le cube peut être posé sur la table.
Construire l’espace d’états et appliquer l’algorithme de recherche en largeur d’abord.

Recherche en profondeur d’abord (avec profondeur limitée)


Nous reprenons l’algorithme de recherche en largeur d’abord avec les modifications suivantes :
1. Inchangé
2. Inchangé
3. Inchangé
3’. Si la profondeur du nœud n est égale à la hauteur maximum alors aller à 2.
4. Inchangé
5. Placer tous les successeurs du nœud n au début de la liste OUVERT.
6. Inchangé
Exemple : reprendre l’exemple des cubes et appliquer l’algorithme en profondeur d’abord avec une
hauteur maximum = 10

Recherche heuristique
Une heuristique est une information qui peut être utilisée pour réduire l’espace d’états. Une
méthode de recherche qui utilise une heuristique s’appelle méthode heuristique.
Les points sur lesquels l’heuristique peut s’appuyer sont :
 Déterminer le nœud suivant à développer au lieu d’effectuer un parcours en largeur d’abord
ou en profondeur d’abord.
 Déterminer quels sont les successeurs à générer au lieu de générer tous les successeurs
possibles.
 Décider quels sont les nœuds à ignorer.
Le problème est comment déterminer et comment décider ?

Graphe de solution
Le graphe définit le problème entier. La partie du graphe qui ne représente que la solution du
problème s’appelle graphe de solution. Dans un graphe de solution, tous les nœuds sont solubles.
Un nœud est soluble si :
 C’est un nœud terminal qui a une solution
 C’est un nœud non terminal dont les fils sont des nœuds « et » et qui sont solubles.
 C’est un nœud non terminal dont les fils sont des nœuds « ou » et au moins un parmi eux est
soluble

1.6 Les arbres de jeux


Les jeux ont généralement les caractéristiques suivantes :
 2 joueurs effectuent alternativement un déplacement
 A chaque tour, des règles définissent les coups à accepter
 Le jeu commence à partir d’un état précis
 Il se termine par la victoire d’un joueur et la défaite ou l’abandon de l’autre
Un arbre de jeu complet une représentation de toutes les possibilités
 La racine est l’état initial et c’est au tour du premier joueur de jouer
 Les fils de la racine sont les coups joués par le premier joueur
 Les nœuds « et » résultants sont les réponses possibles du deuxième joueur
 Les nœuds terminaux représentent une victoire, une défaite ou un abandon
 Chaque chemin de la racine vers un nœud terminal constitue une partie possible de jeu
L’arbre de jeu représente les déplacements des deux joueurs mais du point de vue d’un seul joueur.
Les déplacements possibles de ce joueur sont représentés par des nœuds « ou » et ceux de
l’adversaire sont représentés par des nœuds « et ».

Du point de vue du premier jour :


 Un nœud représentant une victoire pour le premier joueur est un nœud terminal
 Un nœud représentant une victoire pour le deuxième joueur est un nœud insoluble (pour le
premier joueur).
Remarque :
Pour considérer l’arbre du point de vue du deuxième joueur, les nœuds « et » deviennent des nœud
« ou » et vice-versa. Victoire devient défaite et défaite devient victoire.

Exemple : le jeu du tic-tac-toe

OU

x x
x
x
ET
x x o x
o o

OU
x x x x x
o o o x o
x x

Comment trouver les solutions dans le graphe et/ou ?


C’est bien sûr le rôle des méthodes de recherche.
Chapitre 2 : Représentation des connaissances

Vous aimerez peut-être aussi