Intelligenza Artificiale - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

Intelligenza Artificiale

Description:

Title: Intelligenza Artificiale Author: Marco Ernandes Last modified by: Marco Gori Created Date: 2/3/2004 8:29:02 AM Document presentation format – PowerPoint PPT presentation

Number of Views:471
Avg rating:3.0/5.0
Slides: 44
Provided by: MarcoEr6
Category:

less

Transcript and Presenter's Notes

Title: Intelligenza Artificiale


1
Intelligenza Artificiale
Gennaio Aprile 2007
  • marco ernandes
  • email ernandes_at_dii.unisi.it

2
(No Transcript)
3
(No Transcript)
4
Cosa vedremo
  • Come si colloca il Game Playing in relazione ad
    altre discipline una visione dinsieme
  • Tipologie di Giochi
  • Relazioni con il Problem Solving
  • Formalizzazione del gioco
  • Algoritmo Minimax
  • Ricerca di quiescenza
  • Algoritmo di Alfa-Beta Pruning
  • Problema dellOrizzonte ed altri
  • La vera sfida del Game Playing

5
Una visione dinsieme
Partendo dal Problem Solving
Introduciamo nel dominio del problema altri
agenti in competizione
Complichiamo stati (congiunzioni di fatti), e
operatori (legami tra fatti-condizioni e
fatti-effetti, non tra stati)
Game Playing
Planning
6
Esempio di problema di Planning
  • Stato iniziale SILENZIO ? MANI_PULITE
  • Goal PULITO ? CENA_PRONTA ? REGALO
  • Operatori
  • azione cucina
  • precondition MANI_PULITE ? effect CENA_PRONTA
  • azione incarta
  • precondition SILENZIO ? effect REGALO
  • azione butta_spazzatura
  • effect PULITO ? not MANI_PULITE
  • azione aspira
  • effect PULITO ? not SILENZIO

7
Teoria dei Giochi
  • Von Neumann Morgenstern (1944)

Theory of Games and Economic Behaviour
Teoria della Decisione
Teoria dei Giochi
Analizzare il comportamento individuale le cui
azioni hanno effetto diretto
Analizzare il comportamento individuale le cui
azioni hanno effetto che dipende dalle scelte
degli altri
Mondo dei Giochi a giocatori
Scommesse Mondo dei Puzzle
8
I giochi nellIA e non solo
  • M. Minsky (1968)
  • i giochi non vengono scelti perché sono chiari
    e semplici, ma perché ci danno la massima
    complessità con le minime strutture iniziali
  • Pungolo Scientifico
  • Matematica teoria dei grafi e complessità
  • Computer Science database, calcolo parallelo,
    etc.
  • Economia teoria dei giochi, eco.
    cognitiva/sperim.
  • Psicologia fiducia, rischio, etc..


9
Tipologie di Giochi
  • Classificazione 1 ? condizioni di scelta
  • Giochi con informazione perfetta
  • Gli stati del gioco sono completamente espliciti
    per gli agenti.
  • Giochi con informazione imperfetta
  • Gli stati del gioco sono solo parzialmente
    esplicitati.
  • Classificazione 2 ? effetti della scelta
  • Giochi deterministici
  • Gli stati sono determinati unicamente dalle
    azioni degli agenti
  • Giochi stocastici
  • Gli stati sono determinati anche da fattori
    esterni (es dadi)

10
Tipologie di Giochi
Informazione Perfetta Informazione Imperfetta
Giochi deterministici Scacchi, Go, Dama, Otello, Forza4 MasterMind (è un gioco o un puzzle?)
Giochi stocastici Backgammon, Monopoli Scarabeo, Bridge, Poker (giochi di carte) Risiko
11
Altre Classificazioni
  • Numero giocatori (tutti multiagenti!)
  • Politica del turno di giocata
  • Diacronia (turni definiti/indefiniti)
  • Sincronia
  • Ambienti discreti / continui
  • Ambienti statici / dinamici
  • Ambienti episodici / sequenziali
  • Giochi a somma zero

Luomo agisce in un ambiente continuo, dinamico,
sequenziale, a scelte sincroniche e con
informazione imperfetta.
12
Giochi e Problem Solving (1)
  • Si può analizzare un gioco come un problema di
    search, anche se multiagente?
  • ES gli scacchi
  • X tutti gli stati della scacchiera
  • X0 lo stato di inizio gioco
  • SCS(x) le mosse legali ad uno stato
  • T(x) scacco matto
  • g numero di mosse
  • Qualcosa non va!

13
Giochi e Problem Solving (2)
  • g non è determinante
  • SCS(x) è sotto controllo solo per metà delle
    mosse e spesso non è reversibile
  • T(x) non è sufficiente per definire la
    terminazione
  • Serve una funzione di utilità sulla terminazione
  • Es vittoria 1, patta 0, sconfitta -1
  • Obiettivo dellagente
  • definire una strategia che raggiunga T(x)1

14
Giochi e Problem Solving (3)
  • Per inserire un gioco ad informazione perfetta in
    uno schema classico di search si considera che
  • Esiste un avversario che va simulato
  • Lavversario minimizza il nostro utile
  • Lalbero di ricerca si sviluppa su 2 giocatori
  • MAX(noi) e MIN (lavversario)
  • Lobiettivo è raggiungere uno stato terminale di
    questalbero con la massimizzazione
    dellutilità.
  • (se lavversario inizia per primo lui diventa
    MAX e noi MIN con lo scopo di minimizzare
    lutilità)

15
Algoritmo Minimax(Von Neumann 28, Shannon 50)
  • Nei giochi ad informazione perfetta si può
    ottenere la strategia perfetta con una ricerca
    esaustiva.
  • Minimax, funzionamento di base
  • Si costruisce lalbero delle mosse fino ai nodi
    terminali
  • Si applica la funzione di utilità U(x) ai nodi
    terminali
  • Si usano i valori per calcolare lutilità dei
    nodi superiori
  • U(nodo_sup) MAX U(nodo_inf) se la mossa spetta
    a MAX
  • U(nodo_sup) MIN U(nodo_inf) se la mossa spetta
    a MIN

16
Algoritmo Minimax
In realtà è depth-first!
MAX
3
MIN
MAX
MIN
17
Algoritmo Minimax
gt MAX true, MIN false gt MINIMAX(X, MAX)
MINIMAX(nodo, agente)
figli SCS(nodo, agente) for all (figli)
if(END_test(figlio) true) figlio.utilità
UTILITY_test(figlio) else
figlio.utilità MINIMAX(figlio, !agente)
if(agenteMAX figlio.utilità gt best)
best figlio.utilità if(agenteMIN
figlio.utilità lt best) best figlio.utilità
return best
18
Proprietà di Minimax
  • E completo in grafi finiti
  • E ottimale se MIN è ottimale (e se ci sono più
    avversari).
  • Se MIN non è ottimale non si può garantire
    lottimalità, ma
  • Ha complessità spaziale O(bm) perché la ricerca è
    in profondità.

19
Un problemino di Minimax
  • Negli scacchi
  • "Unfortunately, the number of possible positions
    in the chess tree surpasses the number of atoms
    in the Milky Way." Claude Shannon
  • In generale complessità temporale O(bm)
  • Negli scacchi 35100 2,5 x 10154
  • In problemi reali non si può usare.
  • E utile solo come base teorica.

20
Minimax taglio di profondità
  • Limitare la ricerca ad una profondità max
    (dipendente dalla memoria e dal tempo
    disponibile)
  • Come valutare lutilità dei nodi foglia?
  • Serve una funzione di valutazione.
  • Cioè uneuristica!
  • Far risalire fino alla radice le stime usando
    minimax ed effettuare la scelta

21
Euristiche per Giochi
  • Funzioni lineari pesate
  • w1f1 w2f2 wnfn
  • Per esempio negli scacchi 1 punto x Pedone,
  • 3 x Alfiere, 3 x Cavallo, 5 x Torre, 9 x Regina
  • Vantaggi la linearità permette rapidità di
    calcolo
  • Svantaggi povertà espressiva (es Cavallo forte
    nelle aperture e al centro, Alfiere nelle
    chiusure, i valori delle combinazioni di pezzi
    non sono lineari)
  • Funzioni non-lineari
  • Es. ottenuti da learning, ma come definire i
    TARGET?

22
Un problemino del taglio
  • Euristica possibile per la Dama
  • Vantaggio di pezzi e vantaggio di dame

Prof. 0
Prof. 11
Prof. 18
Posizioni apparentemente buone possono essere
perdenti
23
Taglio agli stati quiescenti
  • Arrivati alla profondità di taglio
  • Per i nodi foglia quiescenti si applica il taglio
  • Per i nodi non quiescenti si approfondisce
    lalbero con una ricerca di quiescenza
  • Al termine della ricerca si applica il taglio
  • Quiescenza proprietà di uno stato la cui
    euristica di utilità non varia molto con
    lapplicazione degli operatori

24
Ancora un problemino
  • Vogliamo arrivare a profondità 6 in una partita
    di scacchi (3 mosse MAX, 3 MIN)
  • b ca.35, n nodi 356 ? 1,85 x 109
  • Calcolatore veloce 106 mosse/sec.!
  • Tempo impiegato 1850 sec. 30min
  • Con un limite di 30min abbiamo un giocatore
    mediocre

25
Alfa-Beta pruning(McCarthy 56)
  • Si può ottenere la mossa MAX senza osservare
    esaustivamente lalbero, perché
  • 1) DATO U(n0 ) a ? utilità minimax del nodo n0
    su cui sceglie MAX
  • 2) affinchè la scelta conclusiva di MAX sia ? a
    almeno 1 nodo n (fratello di n0) deve avere
    U(n)gt a
  • 3) affinchè U(n)gt a per ogni nodo n successore
    di n deve valere h(n)gt a
  • 4) QUINDI appena un successore di n possiede
    U(n) a il sottoalbero restante può essere
    potato
  • Stesso discorso vale per MIN, quindi

26
Alfa-Beta pruning (2)
  • Nella ricerca nellalbero
  • Si usano 2 variabili
  • a valore maggiore di MAX al tempo attuale
  • ß valore minore di MIN al tempo attuale
  • Calcolando MAX si pota il sottoramo di un nodo se
    un suo figlio ha valore inferiore ad a se invece
    tutti i figli hanno valore maggiore il minimo
    diventa a
  • Calcolando MIN si pota il sottoramo di un nodo se
    un suo figlio ha valore maggiore a ß se invece
    tutti i figli hanno valore minore il massimo
    diventa ß

27
Alfa-Beta Pruning Pseudo Codice
  • MAX-VALUE(nodo, a, ß)

if CUTOFF-TEST(nodo) then return EVAL(nodo) v ? -
? for all figli in SCS(nodo) v ? max(v,
MIN-VALUE(figlio, a, ß) ) if v ß then return
v a ? max(v,a) return v
v utilità del nodo
MIN-VALUE (nodo, a, ß)
if CUTOFF-TEST(nodo) then return EVAL(nodo) v ?
? for all figli in SCS(nodo) v ? min(v,
MAX-VALUE(s, a, ß)) if v a then return v ß
? min(v,ß) return v
28
Alfa-Beta pruning simulazione
a1 ß?
1
MAX
a-? ß 1
0
1
MIN
a1 ß?
1
2
-3
MAX
0
a1 ß2
a1 ß0
a1 ß?
a-? ß1
a1 ß?
MIN
-3
0
1
-1
2
2
1
2
-1
2
4
-3
2
0
29
Alfa-Beta pruningCaso Generale
Se n0 è migliore di n allora n non verrà mai
raggiunto durante il gioco e quindi tutto il
sottoramo corrispondente può essere potato
n0
n
30
Efficacia della potatura a-ß
  • Dipende dallordinamento dei nodi
  • Ordinamento migliore O(b½m)
  • Ordinamento pessimo O(bm)
  • Ordinamento medio O(b¾m)
  • Negli scacchi (considerando il caso medio)
  • Fasi di apertura (b 35, poniamo m 10)
  • Minimax n nodi ca. 2.700.000.000.000.000
  • Alfa-beta n nodi ca. 380.000.000.000
  • Fasi centrali (b 18, poniamo m 10)
  • Minimax n nodi ca. 3.500.000.000.000
  • Alfa-beta n nodi ca. 2.600.000.000

Node Ordering
Un buon calcolatore (106 mosse/sec) sceglie una
mossa in 4 minuti!
31
Altri problemi da affrontare
  • Problema dellorizzonte
  • Eccessiva fiducia nelleuristica
  • Eventi stocastici
  • Giochi multiplayer
  • Branching Factor e potenza di calcolo

32
Problema dellOrizzonte
  • Un lungo periodo di quiescenza può precedere un
    rapido ed inevitabile peggioramento dellutilità
  • Se il taglio in profondità è avvenuto in questa
    zona, valuta positivamente uno stato che è
    invece disastroso
  • Problema tuttora irrisolto!

33
Eccessiva fiducia nelleuristica
  • Una valutazione molto irregolare tra nodi
    fratelli è rischiosa, soprattutto usando
    Alpha-Beta
  • Servirebbe unulteriore ricerca nel sottoramo per
    accertarsi della bontà della valutazione

34
Eventi stocastici
  • Se in un gioco inseriamo la sorte, minimax deve
    essere riscritto in modo da pesare la valutazione
    del nodo n con la probabilità che n si verifichi
    a partire dal nodo genitore
  • Problema la complessità cresce molto ? O(bm dm)
  • Alpha-Beta Pruning?

35
ExpectiMin / ExpectiMax
5.39
5.39
0.56
0.3
0.7
0.3
0.7
1.4
2.8
6.5
1.4
1.4
3.5
2.8
6.5
8.3
5.5
8.1
1.4
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0.7
0
5
0
4
3
8
9
8
2
7
7
5
6
9
0
2
8
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
8
9
0
2
3
4
5
6
7
8
9
0
1
2
3
7
36
Giochi multi-player
  • Possiamo generalizzare gli algoritmi per giochi
    2-player-perfect-information
  • Requisito non ci deve essere accordo tra i
    giocatori
  • Esempio 1 la dama cinese
  • 6 giocatori muovono a turno
  • ogni giocatore cerca di occupare completamente
    langolo opposto
  • Esempio 2 3-player Othello
  • 3 giocatori muovono a turno
  • ogni giocatore deve conquistare il massimo
    della scacchiera

37
Algoritmo MaxN
  • Assunzioni
  • I giocatori muovono a turni
  • Ogni giocatore mira a massimizzare il proprio
    utile
  • Ogni giocatore è indifferente allutile degli
    avversari
  • Funzione di valutazione
  • Restituisce una n-tupla di valori di utilità
    attesa, uno per ogni giocatore (player p) allo
    stato di gioco s
  • ltU(p1,s), U(p2 ,s), , U(pn ,s)gt
  • Esempio in Reversi/Othello si possono calcolare
    il numero di pezzi per ogni giocatore
  • Algoritmo
  • Depth-first search come Minimax
  • Fai risalire la n-tupla che massimizza U(pn)
    quando muove pn

38
Algoritmo MaxN esempio
Minimax è un caso speciale di MaxN in cui a) N
2, b) la funzione di valutazione restituisce la
tupla ltx, -xgt.
39
Algoritmo Paranoid
  • Idea gli altri giocatori sono come 1 solo
    macro-avversario
  • 2 giocatori MAX (noi), MIN (avversari)
  • Valutazione dei nodi dellalbero
  • Quando tocca a MAX si massimizza lutilità di MAX
  • Quando tocca ad 1 avversario si minimizza
    lutilità di MIN
  • Paranoid permette di rimuovere lassunzione di
    non-accordo tra i giocatori
  • Paranoid ha minori tempi di esecuzione
  • Paranoid si può sposare meglio con Alfa-Beta
    pruning
  • Paranoid non dà la garanzia di MaxN di che MAX
    massimizzi il suo utile finale

40
Branching Factor comunque un problema
  • Il primo software capace di vincere a Go contro
    il campione del mondo vincerà 2.000.000 !
  • b è di oltre 350 ? non ci sono algoritmi o
    euristiche che tengano non si usa la ricerca per
    Go
  • Negli scacchi uomo e macchine sono alla pari
    eppure la velocità di calcolo non è la stessa.

41
Alcuni risultati nel Game Playing
  • OTHELLO Logistello (Michael Buro) nel 1997
    sconfigge il campione del mondo Takeshi Murakami
    per 6-0
  • DAMA Chinook (Jonathan Schaeffer) nel 1994
    diventa campione per forfait di Marion Tinsley
    (campione mondiale dal 54 al 92, mai sconfitto
    dal 50 al 95).
  • BACKGAMMON TD-gammon (Gerry Tesauro) è oggi
    considerato tra i 10 migliori giocatori al mondo
  • BRIDGE GIB (M.Ginsberg) è al livello di un
    amatore
  • POKER e GO pessime performance (per motivi
    diversi)

42
La vera sfida
  • La vera sfida è competere con luomo ad armi
    pari.
  • Luomo non usa la ricerca come metodo principale
  • Prima parte dai GOAL (non ben definiti)
  • A ritroso costruisce SOTTOGOAL
  • Pianifica azioni ? subgoal ? goal
  • Usa la ricerca per raggiungere obiettivi locali
  • Ha capacità istintive di escludere le scelte
    inutili riduce enormemente il branching factor
  • Come interfacciare ragionamento goal-oriented e
    search?

43
Giocatore di Scacchi
Motore Ricerca quiescenza
Elaboratore mosse forzate
Elaboratore euristico sui nodi
Motore minimax alfa-beta pruning
Gestore del livello di taglio
DataBase aperture
Gestore della memoria
DataBase chiusure
Gestore del Tempo
Write a Comment
User Comments (0)
About PowerShow.com