• Aucun résultat trouvé

Intelligence artificielle

N/A
N/A
Protected

Academic year: 2022

Partager "Intelligence artificielle"

Copied!
37
0
0

Texte intégral

(1)

Intelligence artificielle

Recherche en situation adverse

Professeur: A.Belcaid

Ecole Nationale des Sciences Appliquée

[Les slides sont crées par Dan Klein et Pieter Abbeel pour CS188 Intro to AI at UC Berkeley. All CS188 materials are available at http://ai.berkeley.edu.]

(2)

Game Playing State-of-the-Art

Dames: 1950: Premier ordinateur. 1994: Premier champion: Chinook termine 40 ans du reigne du champion Marion Tinsley en utilisant un jeude fin de partie complet à 8 pieces. 2007: Résolu!

Echecs: 1997: Deep Blue bat le champion du

monde Gary Kasparov dans un match a six partie.

Deep Blue examinait 200M positions par secondes, utilisait une évalution sophistiquée pour étendre une ligne en 40 coups prochains. Les programmes recent servent comme reference au Grand

masters.

Go: le programme AlphaGo a battu à deux reprise le champion du monde Ke Jie lors d’un tournoi organisé en chine. AlphaGo est conçu par

DeepMind.

Pacman

(3)

Stratégie extradite du calcul

(4)

Jeux en adversité

(5)

 Different type de jeux!

 Axes:

 Déterministique ou stochastique?

 Un, deux, ou plusieur joueurs?

 Somme zero?

 Information complète (On peut voir les états)?

 Dévelloper des algorithms pour calculer une strategie (policy) qui recommande un coup pour chaque état.

Types de jeux

(6)

Jeux déterministiques

 Plusieurs formulation possible, on choisit:

 Etats: S (commence a s0)

 Joueurs: P={1...N} (chacun attend son tour)

 Actions: A (Dependent du joueur et de l’état)

 Fonction de transition: SxA  S

 Test d’arrêt: S  {t,f}

 Utilités : SxP  R

 La solution d’un joueur est stratégie: S  A

(7)

Jeux Zero-Somme

 Jeux Zero-Somme

Agents possèdent des utilitées opposées

Un agent essaie de maximizer et l’autre minimizer la function d’utilité

Compétition pure..

 Jeux généraux

Chaque agent possède sa propre function d’utilité

Cooperation, indifférence, competition.

Tous possible.

(8)

Recherche en Adversité

(9)

Arbre d’un seul agent

8

2 0 … 2 6 … 4 6

(10)

Valeur d’un état

Etat non terminaux:

8

2 0 2 6 4 6

Etats terminaux:

Valeur d’un état:

La meilleure valeur possible qu’on peut achever de cet

état

V(s) = connu 𝑉 𝑠 = max

𝑠∈𝑑𝑒𝑠𝑐 𝑠 𝑉(𝑠)

(11)

Arbre jeux en adversité

-20 -8 … -18 -5 … -10 +4 -20 +8

(12)

Veleurs MiniMax

+8 -10

-5 -8

Etats de l’agent controllé:

Etats terminaux:

Etats de l’agent adverse:

𝑉 𝑠 = 𝑐𝑜𝑛𝑛𝑢

(13)

Arbre Tic-Tac-Toe

(14)

Recherche en adversité (Minimax)

Jeux deterministique, zero-somme:

Tic-tac-toe, echecs, dammes

Un joueur maximise le résultat

L’autre le minimise

Recherche Minimax :

Arbre de recherche

Les joueurs alternent

Chacun calcule la valeur minimax : Meilleur comportement face à agent rationnel.

8 2 5 6

max

2 5 min

5

Valeurs des états terminaux Valeurs minimax :

calcul récursif

(15)

Implémentation Minimax

def min-value(state):

initialize v = +∞

for each successor of state:

v = min(v, max-value(successor)) return v

def max-value(state):

initialize v = -∞

for each successor of state:

v = max(v, min-value(successor)) return v

(16)

Implémentation MiniMax

def value(state):

if the state is a terminal state: return the state’s utility if the next agent is MAX: return max-value(state)

if the next agent is MIN: return min-value(state)

def min-value(state):

initialize v = +∞

for each successor of state:

v = min(v, value(successor)) return v

def max-value(state):

initialize v = -∞

for each successor of state:

v = max(v, value(successor)) return v

(17)

Exemple Minimax

12 8 5 2

3 2 4 6 14

(18)

Efficacité Minimax

 Efficacité de minimax?

 Comme DFS exhaustive

 Temps: O(bm)

 Espace: O(bm)

 Exemple: echecs, b  35, m  100

Exacte solution est infaisable

 Mais, dois t on explorer toute l’arbre?

(19)

Propriété de Minimax

Optimal contre un joueur parfait. Mais?

10 10 9 100

max

min

(20)

Quiz: MiniMax valeur

20

1. Quelle est la valeur de l’arbre du jeu ?

2. Quelle est l’action choisie par l’agent maximiseur selon minimax?

(21)

Limites des Resources

(22)

Limites des Resources

 Problème : En jeu réalistique, On ne peut pas atteindre les feuilles ( noeuds terminaux)!

 Solution: Recherche avec profendeur limitée

Ainsi, Explorer l’arbre jusqu’à un profondeur determine.

Utiliser une function d’évaluation pour affecter des valeurs aux noeuds de l’arbre.

 Exemple:

Supposons qu’on possède 100 sec, et qu’on peut explorer 10K noeuds / sec

On peut seulement verifier 1M noeuds par coup.

- atteint une profondeur de 8. profonde pour le jeu d’échecs.

 On perd l’optimalité. ? ? ? ?

-1 -2 4 9

4

min max

-2 4

(23)

Importance de la profondeur

 Les fonctions d’évaluations sont toujours des approximations.

 Plus on approfondit les positions d’évaluation, plus la precision de la function d’évaluation n’est plus importante.

 Paradigme classique du

compromise entre la precision et

la profondeur.

(24)

Fonctions d’evaluation

(25)

Functions d’évaluation

 Fonction utilisés pour donner un score aux noeuds non terminaux.

 Fonction idéale : Renvoie le score exact du noeud.

 En practique: Un ponderation des caractéristique d’un état:

 Exemple: f1(s) = (num white queens – num black queens), etc.

(26)

Evaluation pour Pacman

(27)

Source du problème

 Le danger d’un agent qui recalcule son plan!

Il sait qu’une nouriture peut être prise pour les deux directions (west, east)

Il sait que même en attendant il pourra prendre la nouriture (east, west)

Avec une profondeur 2, il ne voit pas les consequences après.

Ainsi, Attendre à la même valeur que se déplacer.

(28)

Quiz: Fonction d’évaluation

28

Choisir la fonction d’évaluation qui favorise la situation à Gauche.

1/(distance de pacman à la nourriture la plus proche)

Distance de pacman du plus proche fontôme.

Distance de pcman du plus proche fontôme + 1/(distance pacman de la nourriture la plus proche)

Distance de pcman du plus proche fontôme + 1000/(distance pacman de la nourriture la plus proche)

(29)

Quiz: Collaboration

29

1. Donner la valeur minimax de cet arbre

2. Quelle est l’action que le maximiseur doit prendre?

(30)

Elagage de l’arbre de recherche

(31)

Minimax Example

12 8 5 2

3 2 4 6 14

(32)

Elagage Minimax

12 8 5 2

3 2 14

(33)

Elagage Alpha-Beta

 Configuration générale (MIN version)

On calcule la valeur minimal dans un neoud n

Nous itérons dans les fils de n.

Qui va utilizer la valeur de n? MAX

Soit a la meilleur valeur de MAX qu’il peut otenir dans le chemin de l’arbre.

Ainsi dès que n deviens inférieur à a, MAX va l’éviter, alors pas la peinde de continuer le calcul dans n.

 La version de MAX est symmétrique.

MAX

MIN

MAX

MIN

a

n

(34)

Implémentation Alpha-Beta

def min-value(state , α, β):

initialize v = +∞

for each successor of state:

v = min(v, value(successor, α, β)) if v ≤ α return v

β = min(β, v) return v

def max-value(state, α, β):

initialize v = -∞

for each successor of state:

v = max(v, value(successor, α, β)) if v ≥ β return v

α = max(α, v) return v

α: MAX’meilleure option β: MIN meilleure option

(35)

Propriétés Elagage Alpha-Beta

 L’élagage n’as pas d’effet sur les valeurs calculées dans la racine!

 Valeur dans les noeuds indermédiare ne le sont pas forcément.

Important: les fis de la racine peuvent avoir une valeur erronée.

Ainsi, cette version naïve de alpha-beta ne permet pas le choix des actions.

 L’ordre des fils affects l’éfficacité de l’élagage.

 Avec “un ordre parfait”:

Complexité devient O(bm/2)

Doubles alors la profondeur!

10 10 0

max

min

(36)

Quiz: Alpha-Beta

(37)

Alpha-Beta Quiz 2

Références

Documents relatifs

Trois points A, B, C de l’espace forment un plan si, et seulement si, ils ne sont pas alignés.. • Méthode 1 : On vérifie que les vecteurs AB et

Activité : Détermination graphique des caractéristiques de l’image formée par une lentille Dans chacun des cas suivants, tracer l’image A’B’ de l’objet AB situé à

Je sbjppóse tihré 1 lin'ttMIt &&trfc elifcmm. 'Soif M un de ses points. Je substilue à la courbe une ligne brisée inscrite* partant de A et finissant en B, dont je rabats

En effet, tout chemin ApqB ne passant pas par le point M coupe les petits cercles en p et q\ or le plus court chemin de A en p est égal au plus court chemin de A en M (lemme connu),

Cette construction peut servir à trouver facilement les équations des projections orthogonales de la plus courte distance, lorsqu'on connaît les équations des

Ce sera l'objet d'un Mémoire particulier; la présente .Note a seulement pour but de faire connaître l équation (c) qui semble, par sa symétrie, devoir passer dans les éléments,

On colorie avec quatre couleurs distinctes les points des côtés d’un triangle rectangle isocèle dont les côtés de l’angle droit sont de longueur unité.. Déterminer la plus

(B) On calcule ensuite récursivement la plus petite distance dans chacune de ces deux régions : cela nous donne deux distances d l (left) et d r (right), mais il se peut que nous