FONDEMENT DE L’IA
Chapitre 2 : Résolution de
problème
Ali Ben Mrad
A.U : 2020/2021 ISAAS 2ème LIG
Introduction
2
Résoudre un problème revient à chercher un chemin qui
permet d’aller d’une situation initiale à une situation finale
(but)
Introduction
3
L’ordinateur possède une très grande capacité de calcul et de
mémorisation
Il doit pouvoir résoudre ces problèmes plus vite que l’homme
Mais le nombre de voies à explorer pour arriver à une
solution est très grand
La structure de l’ordinateur est insuffisante
Le joueur se base sur des règles et des stratégies et non pas
sur la puissance de calcul
Il faudra doter la machine de telles capacités
La résolution de problème nécessite des techniques de l’IA
fondées sur des démarches de natures intelligente
L’IA s’attaque aux problèmes que l’homme ne sait pas
résoudre facilement
La résolution de problème joue un rôle central en IA
Introduction
4
Résolution de Problèmes
Définir les problèmes
Nature
Représentation des problèmes
Logique
Arbres et Graphes d’états
Algorithmes de résolution
Définitions :
Solution du problème : la séquence d’action menant de l’état
initial à l’état objectif
Algorithme de Recherche : procédure qui calcule une (ou
plusieurs) solution à partir d’un problème (état initial, actions,
états objectifs).
General Problem Solver (GPS)
5
Un solveur général de problèmes a été construit en 1959 par
Newel et Simon
But : modéliser l’activité humaine de résolution de problèmes
(dans des domaines multiples)
Très ambitieux
En pratique il s’est limité à la résolution d’énigmes
Idée : essayer de réduire les différences entre la situation
courante et le but final
L’influence de ce système est très grande sur les recherches
en IA
Les systèmes actuels sont dédiés à des tâches bien
particulières
Toys Problems
6
Exemple de Toys Problems
Les Toys Problems sont des problèmes types utilisés pour tester
des algorithmes. Parmi ceux-ci :
le taquin
le chien, la chèvre et le chou
le Wumpus
l’aspirateur
le voyageur de commerce
le labyrinthe
les mots croisés
l’arithmétique cryptée
les jeux d’échecs, de dames, ...
Formulation d'un problème à état unique
7
Un problème peut être vu comme un triplet (I, O, B) :
I : ensemble des états initiaux
O : ensembles des opérateurs qui permettent de changer
d’un état à un autre
B : ensembles des états finales (But)
On pourra éventuellement déterminer aussi le coût du chemin;
Coût-chemin : permet de déterminer quel est le meilleur
chemin menant à la solution si plusieurs chemins existent.
Un état est une structure de données dépendante du problème
Solution du problème : est une séquence d'opérateurs
menant de l'état initial (un élément de I) à l'état final (un
élément de B)
Deux méthodes de résolution
constructive
8
Deux méthodes de résolution constructive :
Résolution par espace d’états
Exemple : Jeu de taquin
Résolution par réduction du problème (Décomposer en sous-
problèmes)
Exemple : Tours de Hanoï
Exemple : assemblage automatique
9
Etat initial : coordonnées des articulations du robot et pièces à
assembler
Opérateurs : mouvements continus du bras robotique
But : assemblage terminé, robot en position de repos
Coût-chemin : temps d'exécution
Exemple : jeu de taquin (puzzle)
10
Exemple : jeu de taquin (puzzle)
11
Etat initial : positions des 8 plaquettes dans une des 9 cases
Opérateurs : déplacer la case vide
But : état courant = état final
Coût-chemin: chaque déplacement coûte 1,
coût total = nombre de déplacements
Opérateurs du jeu taquin
12
Un opérateur transforme un état en un autre état.
Il existe quatre opérateurs pour le taquin :
déplacer la case vide en haut
déplacer la case vide en bas
déplacer la case vide à gauche
déplacer la case vide à droite
Les tours de Hanoï
13
Les tours de Hanoï
14
Etat initial : Les n disques sont initialement placés par taille
décroissante autour du piquet A (celui de gauche)
Opérateurs : déplacer la case vide
But : Les n disques sont placés par taille décroissante autour du
piquet C (celui de droite)
Coût-chemin: chaque déplacement coûte 1,
coût total = nombre de déplacements
Exercice : problème du fermier
15
Une chèvre (C), une biche (B) et un loup (L) se trouvent sur la rive
d’un fleuve. Un passeur (P) souhaite les transporter sur l’autre
rive mais, sa barque étant trop petite, il ne peut transporter qu’un
seul d’entre eux à la fois.
Comment doit-il procéder afin de ne jamais laisser ensemble et sans
surveillance le loup et la chèvre, ainsi que le loup et la biche ?
Exercice : problème du fermier
(Solution)
16
Cette situation peut être modélisée à l’aide d’un graphe.
Désignons par P le passeur, par C la chèvre, par B la biche et par L
le loup.
Les sommets du graphe sont des couples précisant qui est sur la
rive initiale, qui est sur l’autre rive. Ainsi, le couple (PCB, L)
signifie que le passeur est sur la rive initiale avec la chèvre et la
biche (qui sont donc sous surveillance), alors que le loup est sur
l’autre rive.
Une arête relie deux sommets lorsque le passeur peut passer d’une
situation à l’autre.
En transportant la chèvre, le passeur passe par exemple du sommet
(PCB, L) au sommet (B, PCL).
Exercice : problème du fermier
(Solution)
17
Le graphe ainsi obtenu est biparti : les sommets pour lesquels le
passeur est sur la rive initiale ne sont reliés qu’aux sommets pour
lesquels le passeur est sur l’autre rive.
Naturellement, on ne considèrera pas les sommets dont l’une des
composantes est LB ou LC car ces situations sont interdites.
Exercice : problème du fermier
(Solution)
18
Il suffit ensuite de trouver une chaîne (la plus courte par exemple)
entre la situation initiale (PCBL,-) et la situation finale souhaitée
(-,PCBL). La figure suivante donne une telle chaîne :