SlideShare une entreprise Scribd logo
1  sur  35
chapitre 2
Résolution de problèmes
Intelligence Artificielle
Résolution de problèmes
• Introduction
La résolution de problèmes est le processus qui consiste à
sélectionner et ordonnancer des actions élémentaires en
séquences afin d'atteindre des buts donnés en respectant les
contraintes d'un environnement donné.
Composition du processus :
– un état initial (le problème à résoudre),
– un état final (la solution au problème),
– un ensemble d'actions élémentaires permettant de passer
d'un état à un autre,
Objectif du processus :
– Trouver une séquence d'actions à exécuter pour passer de
l'état initial à l'état final
Résolution de problèmes
• Introduction
Complexité du processus :
– A partir d'un état donné, on peut effectuer plusieurs actions
élémentaires différentes qui débouchent sur des états différents.
La méthode qui consiste à essayer successivement toutes les
possibilités jusqu'à trouver une solution est une méthode de
recherche fortement combinatoire
– On est souvent amené à choisir entre plusieurs choix ou à choisir la
meilleur solution : problème d’optimisation combinatoire
Apport de l’IA :
– L’IA apporte une solution à ce problème : les “ heuristiques ” :
méthodes permettant de choisir en premier les actions ayant le plus
de chance d'aboutir
Résolution de problèmes
• Types de domaines
 La démonstration de théorèmes
 Les jeux de stratégies (échec, dame)
 La planification :
 robotique
 allocations de ressources
 emploi du temps
Résolution de problèmes
• Exemple de problème
- Planification de chaîne de production
Chaîne de
production Atelier A Atelier B Atelier C Atelier D
Capacité de
production 5v/h/h 3v/h/h 2v/h/h 3v/h/h
Ressources - Op1 : 8h-13h - Op2 : 8h-13h - Op3 : 9h-13h- Op4 : 10h-15h
Etat initial 30v en
attente
à 8h
0v en
attente
à 8h
0v en
attente
à 8h
0v en
attente
à 8h
But Etablir l'emploi du temps indiquant heure par heure quels opérateurs sont affectés
à chaque atelier, de telle sorte que le maximum de voitures soient passées par les
4 ateliers à la fin de la journée
Résolution de problèmes
• Exemple de problème
- Le voyageur de commerce
140
99
211
80
97
Ville B
Ville C
Ville D
Ville E
Ville F
Ville A
101
Ville K
Ville L
120
150
100
140 70
160 160
180
220
Un voyageur de commerce partant d'une ville veut se
rendre successivement dans un certain nombres de
villes sans repasser deux fois dans la même ville et
en revenant finalement à la ville de départ. On connaît
les distances de ville à ville. Quel trajet doit-il effectuer
de façon à minimiser la distance parcourue ?
Résolution de problèmes
• Exemple de problème
- Le Taquin n n+1 carreaux numérotés et un carreau
"vide" sont disposés sur un damier dans une
configuration donnée. L'objectif du taquin est
de modifier la position des carreaux pour
arriver à une configuration finale donnée.
On autorise les changements de position seulement
par glissement d'un des carreaux sur le carreau vide
à partir d'une position adjacente orthogonale.
Le but du jeu est de trouver la séquence la plus courte
amenant à la configuration finale.
Initial Final
Résolution de problèmes
• Complexité
– Complexité d’un algorithme
* une mesure de temps (complexité en temps) ou d'espace mémoire
(complexité en espace ) utilisé par un algorithme en fonction de la taille
des données
* la complexité en temps d’un algorithme est le nombre d'étapes de
calcul qu ’il nécessite, et sa complexité en espace comme la taille de
mémoire nécessaire pour stocker les données intermédiaires au cours de
son exécution; ces grandeurs sont indiquées en fonction de la taille des
données du problème à résoudre, et généralement à une constante de
proportionnalité près
* seul l’ordre de grandeur du nombre d’opérations, noté O, est utilisé
pour exprimer la complexité : O(f(n))
Résolution de problèmes
• Représentation des problèmes
– Espace d’états
Un problème est défini par un espace d’états qui est l'ensemble des états
possibles de ce problèmes
Exemples d ’états :
* une configuration de pièces dans un jeu d ’échecs
* un calendrier partiel ou complet des matches de tennis
* une partie de preuve ou une preuve complète d'un démonstrateur de
théorèmes
– Opérateurs
Les états d’un problème sont reliés les uns aux autres par des opérateurs
qui transforment un état dans un autre
Résolution de problèmes
• Représentation des problèmes
– But
Dans la résolution d’un problème, on a un but qui décrit ce que
l'on cherche. Un but est un sous-ensemble d’états de l’espace d’états
Exemples de buts :
* dans le jeu d'échecs, le but est l'ensemble des configurations de pièces
qui mettent votre adversaire échec et mat
* Pour le démonstrateur de théorèmes ce sont toutes les preuves dont la
dernière ligne correspond à la formule à prouver
Résolution de problèmes
• Représentation des problèmes
- Graphe d’états et espace de recherche
* En IA, on utilise les graphes pour représenter l’espace d’états
d’un problème (graphe d’états)
– chaque nœud représente un état
– chacun des arcs représente un opérateur (une transition) faisant
passer d'un état à un autre
– le but est un nœud particulier du graphe
* La résolution d’un problème revient à explorer Le graphe dans
la recherche du nœud but (l’espace de recherche)
Résolution de problèmes
• Représentation des problèmes
- Réduction de problèmes et graphe ET/OU
* Lorsque on a un problème principal qui peut se décomposer en sous
problèmes plus faciles à résoudre, résoudre ce problème principal revient à
résoudre tous les sous problèmes qu’il le compose
* La technique qui consiste à résoudre un but en résolvant ses sous-buts est
appelé réduction de problème
* certains buts ne peuvent être atteints que si leurs sous-buts immédiats
le sont tous (nœud ET)
* les autres buts sont atteints si l'un au moins de leurs sous-buts immédiats
est atteint (nœud OU)
* le graphe formé de nœuds ET et OU est appelé graphe ET/OU
Résolution de problèmes
• Représentation des problèmes
Composition d’un système de résolution
- Des structures de données organisés en arbre ou en graphe
– Des opérateurs définies par leurs conditions d'application et
leur action
– Une structure de contrôle mettant en œuvre la stratégie
de recherche dans l’arbre ou le graphe (méthodes de recherche
ou de résolution)
• Méthodes de recherche
– Méthodes aveugles : énumération
exhaustive de tous les états de l’espace de
recherche
– Heuristiques : construction de chemins
minimaux dans l ’exploration de l ’espace de
recherche basée sur des critères, des
principes, ou des méthodes permettant de
faire les choix les plus efficaces pour
atteindre le but fixé
Résolution de problèmes
• Méthodes de recherche
– Méthodes aveugles :
• Recherche en profondeur
• Recherche en largeur
• Recherche en profondeur limitée
• Recherche en approfondissement itératif
– Méthodes heuristiques :
• Recherche en profondeur ordonné
• Recherche du meilleur d ’abord
• Algorithme A*
Résolution de problèmes
E7 E8 E9
E4 E5 E6
E13 E14
8 12
10 11
E11 E12
3 4
14 situations explorées
E0
1
7
13
9
E10
E1 E2 E3
14
2 5 6
• Méthodes de recherche
aveugle
– Profondeur d ’abord
(LIFO) :
– Principe : la priorité est donné
aux nœuds de niveaux les plus
profonds du graphe de
recherche
Exemple
Résolution de problèmes
• Méthodes de recherche aveugle
– Profondeur d ’abord :
–Algorithme :
Début
1 empiler la racine
2 répéter
Si sommet de pile <>nœud but alors
- dépiler le premier élément
- empiler ses fils s'il en a du plus à droite au plus à gauche
Sinon ne rien faire
Jusqu'à ce que la pile soit vide ou sommet pile =nœud but
3 la recherche aboutit si lenœud but a été atteint.
Fin
Résolution de problèmes
E7 E8 E9
E4 E5 E6
7 9
10 situations explorées
E0
1
2
3
8
E10
E1 E2 E3
10
4 5 6
• Méthodes de recherche
aveugle
– Largeur d’abord
(FIFO) :
– Principe : la priorité est donné
aux nœuds de niveaux les
moins profonds du graphe
de recherche
Exemple
Résolution de problèmes
• Méthodes de recherche aveugle
– Largeur d ’abord :
–Algorithme :
Début
1 empiler la racine
2 répéter
Si sommet de pile <>nœud but alors
- dépiler le premier élément
- empiler ses fils s'il en a du plus à gauche au plus à droite
Sinon ne rien faire
Jusqu'à ce que la pile soit vide ou sommet pile =nœud but
3 la recherche aboutit si lenœud but a été atteint.
Fin
Résolution de problèmes
E7 E8 E9
E4 E5 E6
6 8
E0
1
5
9
7
E10
E1 E2 E3
10
2 3 4
• Méthodes de recherche
aveugle
– Profondeur limitée :
– Principe : idem que profondeur
d ’abord avec une limite de
profondeur d ’exploration L
Exemple avec
une profondeur
limitée L=2
Résolution de problèmes
• Méthodes de recherche aveugle
– Profondeur Limitée :
–Algorithme :
Début
1 empiler la racine
2 répéter
Si sommet de pile <>nœud but alors
- dépiler le premier élément
- empiler ses fils s'il en a du plus à droite au plus à gauche
Sinon ne rien faire
Jusqu'à ce que la pile soit vide ou sommet pile =nœud but ou
limite profondeur atteinte
3 la recherche aboutit si le nœud but a été atteint.
Fin
Résolution de problèmes
E7 E8 E9
E4 E5 E6
9 11
E0
1,4
2,8
3,12
10
E10
E1 E2 E3
13
5 6 7
• Méthodes de recherche
aveugle
– Approfondissement
itératif :
– Principe : recherche en
profondeur, limitée à la
profondeur 1, puis 2, ...
jusqu'à l'obtention d'une
solution (ou l'échec de la
recherche)
Exemple
Résolution de problèmes
• Méthodes de recherche heuristique
– Fonction heuristique
• h : E  
- un état e  E (espace d'états) --> un nombre h(e)  
- h(e) est (généralement) une estimation du rapport
coût/bénéfice qu'il y a à étendre le chemin courant en
passant par e.
- contrainte : h(solution) = 0
Résolution de problèmes
e1 e2 e3
A
h(e1) = 0.8
h(e2) = 2
h(e3) = 1.6
• Méthodes de
recherche
heuristique
– Exemples de fonction
heuristique
–Problème du taquin
3x3
– Heuristique : nombre de carreaux
mal placés
Résolution de problèmes
Résolution de problèmes
VA
VB
VK VL
VA VM VC VD
VF
152
329
374 250
366 380 178
190
0
366
Heuristique : distance à vol d’oiseau
VE
50
70
• Méthodes de recherche
heuristique
– Profondeur ordonnée :
– Principe : Approfondissement des
branches jusqu'a leur extrémité,
dans l'ordre inverse de leur
distance au but
Meilleur chemin : VA>VB>VC>VF
• Méthodes de recherche heuristique
– Profondeur ordonnée :
–Algorithme :
Début
1 empiler la racine
2 répéter
Si sommet de pile <>nœud but alors
- dépiler le premier élément
- empiler ses fils s'il en a dans l ’ordre inverse de leur distance au
but
Sinon ne rien faire
Jusqu'à ce que la pile soit vide ou sommet pile = nœud but
3 la recherche aboutit si le nœud but a été atteint
Fin
Résolution de problèmes
Résolution de problèmes
Heuristique : proximité du but
• Méthodes de
recherche
heuristique
– Meilleur premier :
– Principe : Dès que l'on
rencontre
un chemin meilleur
qu'auparavant,
c'est celui là que l ’on
approfondit
• Méthodes de recherche heuristique
– Meilleur premier :
–Algorithme :
Début
1 empiler la racine
2 répéter
Si sommet de pile <>nœud but alors
- dépiler le premier élément
- empiler ses fils s'il en a dans la file et trier la pile entière par
ordre croissant des distances calculées au but
Sinon ne rien faire
Jusqu'à ce que la pile soit vide ou sommet pile = nœud but
3 la recherche aboutit si le nœud but a été atteint
Fin
Résolution de problèmes
Résolution de problèmes
• Méthodes de recherche
heuristique
– Algorithme A* :
– Principe : améliorer l’algorithme du “ Meilleur
premier ” en calculant le plus court chemin pour
passer d'un état initial à un état final
Soient :
* n0 : la racine du graphe
* G : le nœud solution
* c(ni,nj) : le coût pour aller du nœud ni au nœud nj
On définit
- g (n) = c(n0,n) : le coût pour aller du nœud racine n0 au
nœud n
- h (n) = c(n,G) : l ’estimation heuristique du coût pour
aller du nœud n au nœud solution G
On obtient alors la fonction d ’évaluation du coût du
chemin en passant par le noeud n : f(n) = g(n) + h(n)
Résolution de problèmes
• Méthodes de recherche
heuristique
– Algorithme A* :
– Exemple
Résolution de problèmes
• Méthodes de recherche
heuristique
– Algorithme A* :
– Définitions
- Heuristique consistante :
Pour tout x, pour tout y descendant de x :
h (x) <= h (y) + c (x,y)
- Heuristique admissible :
Pour tout x, h (x) <= h* (x)
où h* (x) est la valeur optimale de x à G
• Méthodes de recherche heuristique
– Algorithme A* :
–Algorithme :
Début
Initialement, la file des chemins partiels contient le chemin d'ordre zéro,
de longueur nulle et reliant la racine à nulle part
2. Repeter
si le premier chemin de la file n'aboutit pas au but alors
le supprimer de la file
former les nouveaux chemins obtenus en prolongeant d'un niveau le chemin
supprimé
insérer ces nouveaux chemins dans la file
le coût de chaque chemin étant la somme de la distance déjà parcourue et
d'une estimation minorante de la distance restant à parcourir.
trier la file par coûts croissants
si deux chemins ou plus atteignent le même noeud ne conserver
que celui ayant la longueur minimale
finsi
Jusqu'à ce que la file soit vide ou que le noeud but soit atteint
Résolution de problèmes
Résolution de problèmes
• Programmes de jeux de stratégie
Exemple de jeu : les échecs Situation courante
Quel coup choisir ?
? ?
Résolution de problèmes
• Programmes de jeux de stratégie
Arbre de jeu :
- Arbre de jeu : une représentation explicite de toutes les actions
possibles de jeu (espace d’états)
- Nœud racine : position initiale du jeu
- Nœuds niveau 1 : positions que le premier joueur peut atteindre
en un déplacement
- Nœuds niveau 2 : positions résultant de la réplique du second
joueur
- Nœuds terminaux : représentent un nœud gagnant, un nœud
perdant ou un match nul
- Chemin racine ==>nœud terminal : une partie complète du jeu
Résolution de problèmes
• Programmes
de jeux de
stratégie
Arbre de jeu :

Contenu connexe

Similaire à chapitre 5.pptx

To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabouAchraf Manaa
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéSana REFAI
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite Saddem Chikh
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancésmohamed_SAYARI
 
iteration par valeur.ppt
iteration par valeur.pptiteration par valeur.ppt
iteration par valeur.pptSaidaSoundouss
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)Pascal Roques
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfMbarkiIsraa
 
Algo et complexite file pilezzzzzzzzzzzzzzzz.pptx
Algo et complexite file pilezzzzzzzzzzzzzzzz.pptxAlgo et complexite file pilezzzzzzzzzzzzzzzz.pptx
Algo et complexite file pilezzzzzzzzzzzzzzzz.pptxNabil Alami
 
Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...ECAM Brussels Engineering School
 
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfChapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfZizoAziz
 
Cours-optimisation.pdf
Cours-optimisation.pdfCours-optimisation.pdf
Cours-optimisation.pdfMouloudi1
 

Similaire à chapitre 5.pptx (20)

Branch and bound
Branch and boundBranch and bound
Branch and bound
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
10677467.ppt
10677467.ppt10677467.ppt
10677467.ppt
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicité
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancés
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
 
iteration par valeur.ppt
iteration par valeur.pptiteration par valeur.ppt
iteration par valeur.ppt
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
Algo et complexite file pilezzzzzzzzzzzzzzzz.pptx
Algo et complexite file pilezzzzzzzzzzzzzzzz.pptxAlgo et complexite file pilezzzzzzzzzzzzzzzz.pptx
Algo et complexite file pilezzzzzzzzzzzzzzzz.pptx
 
Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...
 
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfChapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
 
0 c2 2013
0 c2 20130 c2 2013
0 c2 2013
 
Rapport MOGPL
Rapport MOGPLRapport MOGPL
Rapport MOGPL
 
Cours-optimisation.pdf
Cours-optimisation.pdfCours-optimisation.pdf
Cours-optimisation.pdf
 

Dernier

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 

Dernier (11)

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 

chapitre 5.pptx

  • 1. chapitre 2 Résolution de problèmes Intelligence Artificielle
  • 2. Résolution de problèmes • Introduction La résolution de problèmes est le processus qui consiste à sélectionner et ordonnancer des actions élémentaires en séquences afin d'atteindre des buts donnés en respectant les contraintes d'un environnement donné. Composition du processus : – un état initial (le problème à résoudre), – un état final (la solution au problème), – un ensemble d'actions élémentaires permettant de passer d'un état à un autre, Objectif du processus : – Trouver une séquence d'actions à exécuter pour passer de l'état initial à l'état final
  • 3. Résolution de problèmes • Introduction Complexité du processus : – A partir d'un état donné, on peut effectuer plusieurs actions élémentaires différentes qui débouchent sur des états différents. La méthode qui consiste à essayer successivement toutes les possibilités jusqu'à trouver une solution est une méthode de recherche fortement combinatoire – On est souvent amené à choisir entre plusieurs choix ou à choisir la meilleur solution : problème d’optimisation combinatoire Apport de l’IA : – L’IA apporte une solution à ce problème : les “ heuristiques ” : méthodes permettant de choisir en premier les actions ayant le plus de chance d'aboutir
  • 4. Résolution de problèmes • Types de domaines  La démonstration de théorèmes  Les jeux de stratégies (échec, dame)  La planification :  robotique  allocations de ressources  emploi du temps
  • 5. Résolution de problèmes • Exemple de problème - Planification de chaîne de production Chaîne de production Atelier A Atelier B Atelier C Atelier D Capacité de production 5v/h/h 3v/h/h 2v/h/h 3v/h/h Ressources - Op1 : 8h-13h - Op2 : 8h-13h - Op3 : 9h-13h- Op4 : 10h-15h Etat initial 30v en attente à 8h 0v en attente à 8h 0v en attente à 8h 0v en attente à 8h But Etablir l'emploi du temps indiquant heure par heure quels opérateurs sont affectés à chaque atelier, de telle sorte que le maximum de voitures soient passées par les 4 ateliers à la fin de la journée
  • 6. Résolution de problèmes • Exemple de problème - Le voyageur de commerce 140 99 211 80 97 Ville B Ville C Ville D Ville E Ville F Ville A 101 Ville K Ville L 120 150 100 140 70 160 160 180 220 Un voyageur de commerce partant d'une ville veut se rendre successivement dans un certain nombres de villes sans repasser deux fois dans la même ville et en revenant finalement à la ville de départ. On connaît les distances de ville à ville. Quel trajet doit-il effectuer de façon à minimiser la distance parcourue ?
  • 7. Résolution de problèmes • Exemple de problème - Le Taquin n n+1 carreaux numérotés et un carreau "vide" sont disposés sur un damier dans une configuration donnée. L'objectif du taquin est de modifier la position des carreaux pour arriver à une configuration finale donnée. On autorise les changements de position seulement par glissement d'un des carreaux sur le carreau vide à partir d'une position adjacente orthogonale. Le but du jeu est de trouver la séquence la plus courte amenant à la configuration finale. Initial Final
  • 8. Résolution de problèmes • Complexité – Complexité d’un algorithme * une mesure de temps (complexité en temps) ou d'espace mémoire (complexité en espace ) utilisé par un algorithme en fonction de la taille des données * la complexité en temps d’un algorithme est le nombre d'étapes de calcul qu ’il nécessite, et sa complexité en espace comme la taille de mémoire nécessaire pour stocker les données intermédiaires au cours de son exécution; ces grandeurs sont indiquées en fonction de la taille des données du problème à résoudre, et généralement à une constante de proportionnalité près * seul l’ordre de grandeur du nombre d’opérations, noté O, est utilisé pour exprimer la complexité : O(f(n))
  • 9. Résolution de problèmes • Représentation des problèmes – Espace d’états Un problème est défini par un espace d’états qui est l'ensemble des états possibles de ce problèmes Exemples d ’états : * une configuration de pièces dans un jeu d ’échecs * un calendrier partiel ou complet des matches de tennis * une partie de preuve ou une preuve complète d'un démonstrateur de théorèmes – Opérateurs Les états d’un problème sont reliés les uns aux autres par des opérateurs qui transforment un état dans un autre
  • 10. Résolution de problèmes • Représentation des problèmes – But Dans la résolution d’un problème, on a un but qui décrit ce que l'on cherche. Un but est un sous-ensemble d’états de l’espace d’états Exemples de buts : * dans le jeu d'échecs, le but est l'ensemble des configurations de pièces qui mettent votre adversaire échec et mat * Pour le démonstrateur de théorèmes ce sont toutes les preuves dont la dernière ligne correspond à la formule à prouver
  • 11. Résolution de problèmes • Représentation des problèmes - Graphe d’états et espace de recherche * En IA, on utilise les graphes pour représenter l’espace d’états d’un problème (graphe d’états) – chaque nœud représente un état – chacun des arcs représente un opérateur (une transition) faisant passer d'un état à un autre – le but est un nœud particulier du graphe * La résolution d’un problème revient à explorer Le graphe dans la recherche du nœud but (l’espace de recherche)
  • 12. Résolution de problèmes • Représentation des problèmes - Réduction de problèmes et graphe ET/OU * Lorsque on a un problème principal qui peut se décomposer en sous problèmes plus faciles à résoudre, résoudre ce problème principal revient à résoudre tous les sous problèmes qu’il le compose * La technique qui consiste à résoudre un but en résolvant ses sous-buts est appelé réduction de problème * certains buts ne peuvent être atteints que si leurs sous-buts immédiats le sont tous (nœud ET) * les autres buts sont atteints si l'un au moins de leurs sous-buts immédiats est atteint (nœud OU) * le graphe formé de nœuds ET et OU est appelé graphe ET/OU
  • 13. Résolution de problèmes • Représentation des problèmes Composition d’un système de résolution - Des structures de données organisés en arbre ou en graphe – Des opérateurs définies par leurs conditions d'application et leur action – Une structure de contrôle mettant en œuvre la stratégie de recherche dans l’arbre ou le graphe (méthodes de recherche ou de résolution)
  • 14. • Méthodes de recherche – Méthodes aveugles : énumération exhaustive de tous les états de l’espace de recherche – Heuristiques : construction de chemins minimaux dans l ’exploration de l ’espace de recherche basée sur des critères, des principes, ou des méthodes permettant de faire les choix les plus efficaces pour atteindre le but fixé Résolution de problèmes
  • 15. • Méthodes de recherche – Méthodes aveugles : • Recherche en profondeur • Recherche en largeur • Recherche en profondeur limitée • Recherche en approfondissement itératif – Méthodes heuristiques : • Recherche en profondeur ordonné • Recherche du meilleur d ’abord • Algorithme A* Résolution de problèmes
  • 16. E7 E8 E9 E4 E5 E6 E13 E14 8 12 10 11 E11 E12 3 4 14 situations explorées E0 1 7 13 9 E10 E1 E2 E3 14 2 5 6 • Méthodes de recherche aveugle – Profondeur d ’abord (LIFO) : – Principe : la priorité est donné aux nœuds de niveaux les plus profonds du graphe de recherche Exemple Résolution de problèmes
  • 17. • Méthodes de recherche aveugle – Profondeur d ’abord : –Algorithme : Début 1 empiler la racine 2 répéter Si sommet de pile <>nœud but alors - dépiler le premier élément - empiler ses fils s'il en a du plus à droite au plus à gauche Sinon ne rien faire Jusqu'à ce que la pile soit vide ou sommet pile =nœud but 3 la recherche aboutit si lenœud but a été atteint. Fin Résolution de problèmes
  • 18. E7 E8 E9 E4 E5 E6 7 9 10 situations explorées E0 1 2 3 8 E10 E1 E2 E3 10 4 5 6 • Méthodes de recherche aveugle – Largeur d’abord (FIFO) : – Principe : la priorité est donné aux nœuds de niveaux les moins profonds du graphe de recherche Exemple Résolution de problèmes
  • 19. • Méthodes de recherche aveugle – Largeur d ’abord : –Algorithme : Début 1 empiler la racine 2 répéter Si sommet de pile <>nœud but alors - dépiler le premier élément - empiler ses fils s'il en a du plus à gauche au plus à droite Sinon ne rien faire Jusqu'à ce que la pile soit vide ou sommet pile =nœud but 3 la recherche aboutit si lenœud but a été atteint. Fin Résolution de problèmes
  • 20. E7 E8 E9 E4 E5 E6 6 8 E0 1 5 9 7 E10 E1 E2 E3 10 2 3 4 • Méthodes de recherche aveugle – Profondeur limitée : – Principe : idem que profondeur d ’abord avec une limite de profondeur d ’exploration L Exemple avec une profondeur limitée L=2 Résolution de problèmes
  • 21. • Méthodes de recherche aveugle – Profondeur Limitée : –Algorithme : Début 1 empiler la racine 2 répéter Si sommet de pile <>nœud but alors - dépiler le premier élément - empiler ses fils s'il en a du plus à droite au plus à gauche Sinon ne rien faire Jusqu'à ce que la pile soit vide ou sommet pile =nœud but ou limite profondeur atteinte 3 la recherche aboutit si le nœud but a été atteint. Fin Résolution de problèmes
  • 22. E7 E8 E9 E4 E5 E6 9 11 E0 1,4 2,8 3,12 10 E10 E1 E2 E3 13 5 6 7 • Méthodes de recherche aveugle – Approfondissement itératif : – Principe : recherche en profondeur, limitée à la profondeur 1, puis 2, ... jusqu'à l'obtention d'une solution (ou l'échec de la recherche) Exemple Résolution de problèmes
  • 23. • Méthodes de recherche heuristique – Fonction heuristique • h : E   - un état e  E (espace d'états) --> un nombre h(e)   - h(e) est (généralement) une estimation du rapport coût/bénéfice qu'il y a à étendre le chemin courant en passant par e. - contrainte : h(solution) = 0 Résolution de problèmes e1 e2 e3 A h(e1) = 0.8 h(e2) = 2 h(e3) = 1.6
  • 24. • Méthodes de recherche heuristique – Exemples de fonction heuristique –Problème du taquin 3x3 – Heuristique : nombre de carreaux mal placés Résolution de problèmes
  • 25. Résolution de problèmes VA VB VK VL VA VM VC VD VF 152 329 374 250 366 380 178 190 0 366 Heuristique : distance à vol d’oiseau VE 50 70 • Méthodes de recherche heuristique – Profondeur ordonnée : – Principe : Approfondissement des branches jusqu'a leur extrémité, dans l'ordre inverse de leur distance au but Meilleur chemin : VA>VB>VC>VF
  • 26. • Méthodes de recherche heuristique – Profondeur ordonnée : –Algorithme : Début 1 empiler la racine 2 répéter Si sommet de pile <>nœud but alors - dépiler le premier élément - empiler ses fils s'il en a dans l ’ordre inverse de leur distance au but Sinon ne rien faire Jusqu'à ce que la pile soit vide ou sommet pile = nœud but 3 la recherche aboutit si le nœud but a été atteint Fin Résolution de problèmes
  • 27. Résolution de problèmes Heuristique : proximité du but • Méthodes de recherche heuristique – Meilleur premier : – Principe : Dès que l'on rencontre un chemin meilleur qu'auparavant, c'est celui là que l ’on approfondit
  • 28. • Méthodes de recherche heuristique – Meilleur premier : –Algorithme : Début 1 empiler la racine 2 répéter Si sommet de pile <>nœud but alors - dépiler le premier élément - empiler ses fils s'il en a dans la file et trier la pile entière par ordre croissant des distances calculées au but Sinon ne rien faire Jusqu'à ce que la pile soit vide ou sommet pile = nœud but 3 la recherche aboutit si le nœud but a été atteint Fin Résolution de problèmes
  • 29. Résolution de problèmes • Méthodes de recherche heuristique – Algorithme A* : – Principe : améliorer l’algorithme du “ Meilleur premier ” en calculant le plus court chemin pour passer d'un état initial à un état final Soient : * n0 : la racine du graphe * G : le nœud solution * c(ni,nj) : le coût pour aller du nœud ni au nœud nj On définit - g (n) = c(n0,n) : le coût pour aller du nœud racine n0 au nœud n - h (n) = c(n,G) : l ’estimation heuristique du coût pour aller du nœud n au nœud solution G On obtient alors la fonction d ’évaluation du coût du chemin en passant par le noeud n : f(n) = g(n) + h(n)
  • 30. Résolution de problèmes • Méthodes de recherche heuristique – Algorithme A* : – Exemple
  • 31. Résolution de problèmes • Méthodes de recherche heuristique – Algorithme A* : – Définitions - Heuristique consistante : Pour tout x, pour tout y descendant de x : h (x) <= h (y) + c (x,y) - Heuristique admissible : Pour tout x, h (x) <= h* (x) où h* (x) est la valeur optimale de x à G
  • 32. • Méthodes de recherche heuristique – Algorithme A* : –Algorithme : Début Initialement, la file des chemins partiels contient le chemin d'ordre zéro, de longueur nulle et reliant la racine à nulle part 2. Repeter si le premier chemin de la file n'aboutit pas au but alors le supprimer de la file former les nouveaux chemins obtenus en prolongeant d'un niveau le chemin supprimé insérer ces nouveaux chemins dans la file le coût de chaque chemin étant la somme de la distance déjà parcourue et d'une estimation minorante de la distance restant à parcourir. trier la file par coûts croissants si deux chemins ou plus atteignent le même noeud ne conserver que celui ayant la longueur minimale finsi Jusqu'à ce que la file soit vide ou que le noeud but soit atteint Résolution de problèmes
  • 33. Résolution de problèmes • Programmes de jeux de stratégie Exemple de jeu : les échecs Situation courante Quel coup choisir ? ? ?
  • 34. Résolution de problèmes • Programmes de jeux de stratégie Arbre de jeu : - Arbre de jeu : une représentation explicite de toutes les actions possibles de jeu (espace d’états) - Nœud racine : position initiale du jeu - Nœuds niveau 1 : positions que le premier joueur peut atteindre en un déplacement - Nœuds niveau 2 : positions résultant de la réplique du second joueur - Nœuds terminaux : représentent un nœud gagnant, un nœud perdant ou un match nul - Chemin racine ==>nœud terminal : une partie complète du jeu
  • 35. Résolution de problèmes • Programmes de jeux de stratégie Arbre de jeu :

Notes de l'éditeur

  1. EPSI/Montpellier Cycle CSII 2A Module Intelligence Artificielle