Troisi`eme partie III Algorithmes classiques de recherche en IA

Download Report

Transcript Troisi`eme partie III Algorithmes classiques de recherche en IA

Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Plan
1. Introduction `
a l’intelligence artificielle
2. Agents intelligents
Troisi`eme partie III
3. Algorithmes classiques de recherche en IA
4. Algorithmes et recherches heuristiques
5. Programmation des jeux de r´eflexion
Algorithmes classiques de recherche en IA
6. Probl`emes de satisfaction de contraintes
7. Agents logiques
8. Logique du premier ordre
9. Inf´erence en logique du premi`ere ordre
10. Introduction `
a la programmation logique avec Prolog
11. Planification
12. Apprentissage
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
43 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
En bref ...
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
44 / 415
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Agent avec objectifs (buts) explicites
Algorithme
funtion Simple-Problem-Solving-Agent(p) returns an action
p, a percept
input :
s, an action sequence, initially empty
static :
state, some description of the current world state
g , a goal initially null
problem, a problem formulation
Agent avec objectifs (buts) explicites
Les di↵´erents types de probl`emes
state
Update-State(state, p)
if s is empty then
g
Formulate-Goal(state)
problem
Formulate-Problem(state, g )
s
Search(problem)
Exemples de probl`emes
Algorithme de recherche de base (recherche aveugle)
action
First(s), s
return action
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
45 / 415
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
Rest(s)
UPMF – Dept. Informatique
46 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Exemple de probl`eme : le voyage en Roumanie
I
I
I
I
Algorithme de recherche de base (recherche aveugle)
Neamt
71
ˆ
etre `
a Bucharest
87
151
Zerind
92
80
Vaslui
118
Rimnicu Vilcea 211
Timisoara
111
une sequence de ville me permettant d’arriver `
a Bucharest, par exemple
Arad, Sibiu, Fagaras et Bucharest.
Fagaras
99
Arad
les ´
etats : les villes de Roumanie
les actions : d´
eplacement de ville en ville
Lasi
Sibiu
140
75
Solution au probl`eme
I
Exemples de probl`
emes
Oradea
La formulation du probl`eme
I
Les di↵´
erents types de probl`
emes
Exemple de probl`eme : le voyage en Roumanie
En vacances en Roumanie, actuellement dans la ville d’Arad mon vol de
retour part demain de Bucharest. Comment rejoindre Bucharest ?
Le but
I
I
Agent avec objectifs (buts) explicites
142
97
Lugoj
70
Pitesti
101
146
Mehadia
75
120
Dobreta
Hirsova
Bucharest
85
138
98
Urziceni
Craiova
Eforie
Giurgiu
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
47 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Les di↵´erents types de probl`emes
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
86
90
Les di↵´
erents types de probl`
emes
48 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Exemple : Le monde de l’aspirateur
Probl`
eme d´
eterministe compl`
etement observable
I
D´eterministe, compl`etement observable ! probl`eme `
a un seul ´etat
I
I
I
Non-observable ! probl`eme sans possibilit´e de percevoir l’environement
I
I
I
L’agent n’a aucune id´
ee d’ou il est r´
eellement
La solution est une s´
equence d’actions
Non-d´eterministe or partiellement observable ! probl`eme dans lesquels il
faut g´erer des ´eventualit´es
I
I
I
L’agent sait exactement dans quel ´
etat il est et dans quel ´
etat il sera
La solution est une s´
equence d’actions
Les perceptions fournissent de nouvelles informations sur l’´
etat courant
Souvent les phases de recherche et d’ex´
ecution sont entrelac´
ees
I
´
Etat
initial #5
I
Solution ? ! hdroite, aspirei
L’expace d’´etats est inconnu ! probl`eme d’exploration
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
49 / 415
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
1
2
3
4
5
6
7
8
UPMF – Dept. Informatique
50 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemple : Le monde de l’aspirateur
Exemple : Le monde de l’aspirateur
Probl`
eme non-observable
Probl`
eme non-d´
eterministe et partiellement observable
1
I
I
I
´
Etats
initiaux
{#1,#2,#3,#4,#5,#6,#7,#8}
Solution pour { #1,#3,#5,#7} ?
! hdroite, aspire, gauche, aspirei
Solution pour { #2,#4,#6,#8} ?
! hgauche, aspire, droite, aspirei
2
3
4
5
6
7
8
Damien Pellier
UPMF – Dept. Informatique
Les di↵´
erents types de probl`
emes
51 / 415
Exemples de probl`
emes
Non-determinisme : aspirer ne
garantit pas que le sol soit propre
I
Partiellement observable : on ne
sait pas si le sol `
a droite est propre
) ´etats initiaux {#5, #7}
I
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
I
Algorithme de recherche de base (recherche aveugle)
Les probl`emes d´eterminites et compl`etement observables
Solution ? ! hdroite, si sol sale
alors aspirei
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
1
2
3
4
5
6
7
8
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
52 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
L’espace d’´etats
D´
efinition
I
I
Un probl`eme non-d´eterministe et compl`etement observable est d´efini :
I
e.g.,
⌧
`
a Arad
I
2. un ensemble d’actions ou une fonction de transition, succ(x) :
I
I
e.g., succ(Arad) = {Zerind, Timisoara}
3. un test de terminaison pour savoir si le but est atteind
I
I
I
I
I
e.g., la somme des distances, le nombre d’actions ex´
ecut´
ees, etc.
e.g., c(x, a, y ) est le coˆ
ut d’une transition, c(x, a, y )
0
I
Une solution est une s´equence d’actions partant de l’´etat initial et menant
aut but.
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
53 / 415
L’espace de recherche mod´
elise une vue abstraite et simplifi´
ee du monde r´
eel
Un ´etat abstrait repr´esente un ensemble d’´etats r´eels
Une action abstraite repr´esente une combinaison complexe d’actions
r´eelles
I
explicite, e.g., ⌧ `
a Arad
implicite, e.g., v´
erifier mat au ´
echec
4. un coˆ
ut (additif)
I
Le monde r´eel est trop complexe pour ˆetre mod´elis´e
I
1. un ´
etat initial
e.g., ⌧ Arad ! Zerind
repr´
esente un ensemble de routes possibles, de
d´
etours, d’arrˆ
ets, etc.
Une action abstraite doit ˆ
etre une simplication par rapport `
a une action
r´
eelle
Solution abstraite correspond `
a un ensemble de chemins qui sont solutions
dans le monde r´eel.
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
54 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Exemple : l’espace d’´etats du monde de l’aspirateur
Agent avec objectifs (buts) explicites
7
S
S
R
L
R
L
R
L
S
S
R
8
S
R
L
S
1
2
1
3
4
5
6
6
7
8
État initial
´
Etats
? sol sale et position de l’aspirateur
I
Actions ? droite, gauche, aspire
I
Test du but ? toutes les positions doivent ˆetre propres
I
Coˆ
ut du chemin ? 1 par action
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
55 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Exemple : le robot assembleur
État but
I
´
Etats
? les positions des pi`eces
I
Actions ? d´eplacement droite, gauche, haut, bas
I
Test du but ? ´etat but donn´e
I
Coˆ
ut du chemin ? 1 par d´eplacement
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
56 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Exemple de probl`eme r´eels
I
´
Etats
? coordonn´ees du robots, angles, position de l’objet `
a assembl´e, etc.
I
Actions ? d´eplacements continus
I
Test du but ? objet compl`etement assembl´e
I
Coˆ
ut du chemin ? le temps d’assemblable
Introduction `
a l’intelligence artificielle et `
a la robotique
3
4
S
I
Les di↵´
erents types de probl`
emes
2
5
R
L
L
Damien Pellier
Algorithme de recherche de base (recherche aveugle)
Exemple : le jeux du taquin
R
L
Agent avec objectifs (buts) explicites
Exemples de probl`
emes
R
L
S
Les di↵´
erents types de probl`
emes
UPMF – Dept. Informatique
57 / 415
I
Trouver des chemins
I
Trouver un tour
I
Design de circuit
I
Navigation de robot
I
Recherche sur internet
I
etc.
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
58 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Algorithme de recherche de base (recherche aveugle)
I
Agent avec objectifs (buts) explicites
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Exemple : Arbre de recherche
Id´ee de base
I
I
recherche hors ligne, i.e., exploration de l’espace d’´
etats en g´
en´
erant des
successeurs d’´
etats d´
ej`
a explor´
es (d´
evelopper des ´
etats)
G´
en´
eration d’un arbre de recherche
Arad
Sibiu
Algorithme
funtion General-Search(problem, stategy ) returns a solution or failure
initialize the search tree using initial state of problem
loop do
if there are no candidates for expansion then return failure
choose a leaf node for expansion according to strategy
if the node contains a goal state then return the corresponding solution
else expand the node and add the resulting nodes to the search tree
I
Les di↵´
erents types de probl`
emes
Arad
Fagaras
Timisoara
Oradea
Rimnicu Vilcea
Arad
Zebind
Lugoj
Arad
Oradea
On s’arrˆete quand on a choisi de d´evelopper un nœud qui est un ´etat final
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
59 / 415
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Exemple : Arbre de recherche
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Timisoara
Oradea
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
Algorithme de recherche de base (recherche aveugle)
Arad
Sibiu
Fagaras
Exemples de probl`
emes
Exemple : Arbre de recherche
Arad
Arad
60 / 415
Rimnicu Vilcea
Arad
Zebind
Lugoj
Arad
Sibiu
Oradea
Arad
UPMF – Dept. Informatique
60 / 415
Fagaras
Timisoara
Oradea
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
Rimnicu Vilcea
Arad
Zebind
Lugoj
Arad
Oradea
UPMF – Dept. Informatique
60 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Impl´ementation des algorithmes de recherche
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Algorithme de recherche dans les arbres
Proc´
edure Expand
I
On d´efinit une stucture de donn´ee nœuds qui contient ´etat, parent, enfant,
profondeur, coˆ
ut du chemin not´e g (x)
I
Expand cr´ee des nouveaux nœuds
I
Insert-Fn ins`ere des nœuds dans la liste des nœuds `
a traiter
Algorithme
funtion Expand(node, problem) returns a set of nodes
successors
the empty set
foreach action, result in Successor[problem](State[node]) do
s
a new Node
Parent-Node[s]
node
Action[s]
action
State[s]
result
Path-Cost[s]
Path-Cost[node] + Step-Cost(node, action, s)
Depth[s]
Depth[node] + 1
add s to successors
Algorithme
funtion General-Search(problem,Insert-Fn) returns a solution or failure
nodes
Make-Queue(Make-Node(Initial-State[problem]))
loop do
if nodes is empty then return failure
node
Remove-Front(nodes)
if Goal-Test[problem] applied to State(node) succeeds then
return node
nodes
Insert-Fn(nodes,Expand(node,Operators[problem]))
Damien Pellier
return successors
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
61 / 415
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
´
Etats
versus nœuds
I
I
I
I
I
I
Agent avec objectifs (buts) explicites
I
l’´
etat
le parent, i.e., le nœud p`
ere
l’action r´
ealis´
ee pour obtenir l’´
etat contenu dans le nœud
le coˆ
ut g (x) pour atteindre l’´
etat contenu dans le nœud
la profondeur du nœud, i.e., la distance entre le nœud et la racinde de l’arbre
Les di↵´
erents types de probl`
emes
62 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
5
I
Une strat´egie de recherche est d´efinie par l’ordre dans lequel les nœuds
sont d´evelopp´es, i.e., la fonction Insert-Fn
Une strat´egie s’´evalue en fonction de 4 dimensions :
I
I
I
État
I
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Strat´egie de recherche
Un ´etat est une repr´esentation d’une configuration physique du monde
Un nœud est une structure de donn´ees partie int´egrante de l’arbre de
recherche incluant :
I
Damien Pellier
I
parent, action
4
I
Noeud
6
1
8
7
3
2
La complexit´e en temps et en m´emoire se mesure en termes de :
I
profondeur = 6
g=6
I
I
État
la compl´
etude : est ce que cette strat´
egie trouve toujours une solution si elle
exise ?
la complexit´
e en temps : le nombre de nœuds cr´
e´
es
la complexit´
e en m´
emoire : le nombre maximum de noeuds en m´
emoire
l’optimalit´
e : est ce que la strat´
egie trouve toujours la solution la moins
coˆ
uteuse ?
b : le facteur maximum de branchement de l’arbre de recherche, i.e., le
nombre maximum de fils des nœuds de l’arbre de recherche
d : la profondeur de la solution la moins coˆ
uteuse
m : la profondeur maximum de l’arbre de recherche
I
attention peut ˆ
etre 1
Les di↵´erents attributs des nœuds sont initiallis´es par la fonction Expand
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
63 / 415
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
64 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Strat´egies de recherche non-inform´ees (aveugle)
I
I
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Recherche en largeur d’abord
I
La fonction Insert-Fn ajoute les successeurs en fin de liste
I
Complet, si b est fini
I
Temps : ⌃di=1 b i + (b d+1
I
Espace : idem
I
Optimale, si cout = 1 pour chaque pas, non optimale en g´en´eral
Les strat´egies de recherche noninform´ees utilisent seulement les
informations disponibles dans le probl`eme
Il existe plusieurs strat´egies :
I
I
I
I
I
Recherche
Recherche
Recherche
Recherche
Recherche
en largeur d’abord
en coˆ
ut uniforme
en profondeur d’abord
en profondeur limit´
ee
iterative en profondeur
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
65 / 415
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Recherche en coˆ
ut uniforme
I
Agent avec objectifs (buts) explicites
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
66 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Recherche en profondeur d’abord
La fonction Insert-Fn ajoute les nœuds dans l’ordre de leur coˆ
ut de
chemin
I
S
0
b) = O(b d+1 )
La fonction Insert-Fn ajoute les nœuds au d´ebut de la liste
S
S
A
B
1
C
5
15
S
A
B
C
5
G
A
15
A
B
C
15
11
1
S
B
10
5
5
15
5
G
G
G
11
10
C
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
67 / 415
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
68 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Recherche en profondeur d’abord
I
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Recherche en profondeur limit´ee
Non complet dans les espaces d’´etats infinis ou avec boucle
I
Agent avec objectifs (buts) explicites
On peut ajouter un test pour d´
etecter les r´
ep´
etitions
I
Recherche en profondeur d’abord avec limite l de profondeur
I
Exemple l = 2 :
m
I
Temps : O(b )
I
Espace : O(bm)
I
non optimale
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
69 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Recherche en profondeur limit´ee
Recherche it´erative en profondeur
Algorithme
Algorithme
70 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Algorithme
Algorithme
funtion Depth-Limited-Search(problem, limit) returns a sol, fail or cuto↵
Recursive-DLS(Make-Node(Initial-State[problem]), problem, limit)
funtion Iterative-Deepening-Search(problem) returns a solution
sequence
problem a problem
input:
funtion Recursive-DLS(node, problem, limit) returns a sol, fail or cuto↵
cuto↵-occured
false
if Goal-Test[problem](State[node]) then return Solution(node)
else if Depth[node] = limit then return cuto↵
else foreach successors in Expand(node, problem) do
result
Recursive-DLS(successor , problem, limit)
if result = cuto↵ then cuto↵-occured
true
else if result 6= failure then return result
if cuto↵-occured then return cuto↵ else return failure
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
for depth
0 to 1 do
if Depth-Limited-Search(problem, depth) succeed then
return its result
return failure
UPMF – Dept. Informatique
71 / 415
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
72 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Recherche it´erative en profondeur
Recherche it´erative en profondeur
Exemple
Analyse
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Limite = 0
Limite = 1
Limite = 2
I
Complet
I
Temps : (d + 1)b 0 + db 1 + (d
I
Expace : O(bd)
Optimalit´e : optimale, si coˆ
ut = 1 pour charque pas
I
I
1)b 2 + . . . + b d = O(b d )
peut ˆ
etre adapt´
e sinon
Limite = 3
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
73 / 415
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
R´esum´e des algorithmes de recherche
Damien Pellier
UPMF – Dept. Informatique
Introduction `
a l’intelligence artificielle et `
a la robotique
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
74 / 415
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Recherche sur des graphes
Principes
Crit`eres
BFS
UCF
DFS
DLS
IDS
Compl´etude
Temps
Espace
Optimalit´e
oui
O(b d+1 )
O(b d+1 )
oui
oui
⇤
O(b dC /✏e )
dC ⇤ /✏e
O(b
)
oui
non
O(b m )
O(bm)
non
non
O(b l )
O(bl)
non
oui
O(b d )
O(bd)
oui
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
75 / 415
I
On ajoute `
a chaque algorithme une liste d’´etats (nœuds) d´ej`
a d´evelopp´es
I
L’optimalit´e n’est plus toujours assur´ee
I
La complexit´e change
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
76 / 415
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Exemples de probl`
emes
Algorithme de recherche de base (recherche aveugle)
Agent avec objectifs (buts) explicites
Les di↵´
erents types de probl`
emes
Recherche sur des graphes
Recherche sur des graphes
´
Eviter
les ´
etats r´
ep´
et´
es
Algorithme
I
funtion Graph-Search(problem) returns a solution or failure
problem a problem
input:
A
B
B
C
C
closed
an empty set of nodes
open
Insert-Fn(Make-Node(Initial-State[problem]), open)
loop do
if open is empty then return failure
node
Remove-Front(open)
if Goal-Test[problem](State[node]) then return Solution(node)
if State[node] is not in closed then
add State[node] to closed
open
Insert-Fn(Expand(node, problem), open)
B
C
C
C
A
D
(a)
I
Algorithme de recherche de base (recherche aveugle)
Algorithme
Souvent, on perd du temps en d´eveloppant des ´etats d´ej`
a explor´es
A
Exemples de probl`
emes
(b)
(c)
L’arbre de recherche peut ˆetre exponentiellement plus grand
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
77 / 415
Damien Pellier
Introduction `
a l’intelligence artificielle et `
a la robotique
UPMF – Dept. Informatique
78 / 415