0% ont trouvé ce document utile (0 vote)
239 vues9 pages

Élagage Alpha-Beta en Intelligence Artificielle

Ce document décrit l'algorithme d'élagage alpha-beta pour l'exploration d'arbres de recherche dans les jeux. L'algorithme permet d'élaguer efficacement des parties de l'arbre qui ne sont pas pertinentes pour l'évaluation finale du noeud racine.

Transféré par

Amine Chakib
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
239 vues9 pages

Élagage Alpha-Beta en Intelligence Artificielle

Ce document décrit l'algorithme d'élagage alpha-beta pour l'exploration d'arbres de recherche dans les jeux. L'algorithme permet d'élaguer efficacement des parties de l'arbre qui ne sont pas pertinentes pour l'évaluation finale du noeud racine.

Transféré par

Amine Chakib
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Intelligence Artificielle & Données

Intelligence Artificielle & Données


Les jeux, recherche avec horizon
(II)

Akka Zemmari

LaBRI, Université de Bordeaux

2022 - 2023

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Intelligence Artificielle & Données

Élagage Alpha-Beta

αβ
Élagage efficace de l’arbre

Élagage admissible
On veut trouver la même valeur d’évaluation finale du noeud
racine sans développer tout l’arbre. Il faut donc élaguer des parties
de l’arbre de recherche qui sont sans conséquence sur l’évaluation
d’un noeud.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Intelligence Artificielle & Données

Élagage Alpha-Beta

αβ
Élagage efficace de l’arbre

Élagage admissible
On veut trouver la même valeur d’évaluation finale du noeud
racine sans développer tout l’arbre. Il faut donc élaguer des parties
de l’arbre de recherche qui sont sans conséquence sur l’évaluation
d’un noeud.

Intuitivement
Soit un noeud n dans l’arbre de recherche, tel que Joueur peut
joueur en n.
S’il existe pour Joueur un choix m meilleur que n (soit à partir du
noeud parent de n, soit plus haut dans l’arbre), n ne sera jamais
effectivement joué.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Intelligence Artificielle & Données

Élagage Alpha-Beta

αβ
Elagage efficace de l’arbre II

Deux types de coupes : α et β


▶ α : le meilleur choix à un instant donné pour Max sur le
chemin développé. La valeur α est croissante
▶ β : le meilleur choix à un instant donné pour Min sur le
chemin développé. La valeur β est décroissante
Les coupes auront lieu dès que α est supérieur à β

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Intelligence Artificielle & Données

Élagage Alpha-Beta

Algorithme αβ
La première fonction : MaxValue
1: Fonction MaxValue(etat, α, β)) ▷ Évaluation niveau AMI
2: etat : Plateau de jeu courant
3: α : Meilleur évaluation courante pour AMI
4: β : Meilleur évaluation courante pour ENNEMI
5: Si EstFeuille(etat) Alors
6: Retourner evalue(etat) ▷ Évaluation heuristique
7: Fin Si
8: Pour Tout successeur s de etat Faire
9: α ← max(α,MinValue(s, α, β))
10: Si α ≥ β Alors ▷ Coupe β
11: Retourner β
12: Fin Si
13: Fin Pour
14: Retourner α . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Intelligence Artificielle & Données

Élagage Alpha-Beta

Algorithme αβ
La suite : MinValue
Remarque. - Pour évaluer un plateau, on appelle MaxValue avec :
plateau à évaluer, α = −∞ et β = +∞. Les variables α et β sont bien
locales, elles sont changées par l’intermédiaire des valeurs de retour.
1: Fonction MinValue(etat, α, β)) ▷ Évaluation niveau ENNEMI
2: etat : Plateau de jeu courant
3: α : Meilleur évaluation courante pour AMI
4: β : Meilleur évaluation courante pour ENNEMI
5: Si EstFeuille(etat) Alors
6: Retourner evalue(etat) ▷ Évaluation heuristique
7: Fin Si
8: Pour Tout successeur s de etat Faire
9: β ← min(β,MaxValue(s, α, β))
10: Si α ≥ β Alors ▷ Coupe α
11: Retourner α
12: Fin Si
13: Fin Pour
14: Retourner β
15: Fin Fonction
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Intelligence Artificielle & Données

Élagage Alpha-Beta

Algorithme αβ, Les deux fonctions ensembles

Fonction MaxValue(etat, α, β)) ▷ Niveau AMI


Si EstFeuille(etat) Alors
Retourner evalue(etat) ▷ Évaluation heuristique
Fin Si
Pour Tout successeur s de etat Faire
α ← max(α,MinValue(s, α, β))
Si α ≥ β Alors ▷ Coupe β
Retourner β
Fin Si
Fin Pour
Retourner α
Fin Fonction

Fonction MinValue(etat, α, β))


Si EstFeuille(etat) Alors
Retourner evalue(etat) ▷ Niveau ENNEMI
Fin Si
Pour Tout successeur s de etat Faire
β ← min(β,MaxValue(s, α, β))
Si α ≥ β Alors ▷ Coupe α
Retourner α
Fin Si
Fin Pour
Retourner β
Fin Fonction

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Intelligence Artificielle & Données

Élagage Alpha-Beta

Exemple d’arbre de jeu

. . . . . . . . . . . . . . . . . . . .
8 7 2 9 1 6 2 4 1 1 3 5 3 9 2 6 5 2. .
1 . 2. 3
. . .
9. 7
. . .
2 16
. . . . .
6 .4 . . .
Intelligence Artificielle & Données

Élagage Alpha-Beta

Propriétés de αβ

Efficacité théorique
Si on suppose que les fils sont ordonnées idéalement (ou presque) :
▶ La recherche peut aller deux fois plus loin dans l’arbre

Améliorations possibles
▶ Comment couper encore plus lors de la recherche ?
▶ Recherche aspirante : α et β sont initialisés.
▶ Si la valeur finale est bien dans [α, β] la recherche reste
admissible
▶ ... D’autres encore à venir !

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Vous aimerez peut-être aussi