Intelligenza Artificiale Ing. Tiziano Papini



Documenti analoghi
Intelligenza Artificiale. Cosa vedremo. Game Playing. Gennaio Aprile marco ernandes.

Intelligenza Artificiale. Lezione 6bis. Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 0

Intelligenza Artificiale. Risoluzione dei Problemi

Ricerca con avversari

Ricerca non informata in uno spazio di stati

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012

Teoria dei Giochi. Anna Torre

Intelligenza Artificiale. Metodi di ricerca

Intelligenza Artificiale

Automazione Industriale (scheduling+mms) scheduling+mms.

Alberi binari di ricerca

Ricerca Automatica. Esercitazione 3. Ascensore. Ascensore. Ascensore

Teoria dei Giochi. Anna Torre

TECNICHE DI SIMULAZIONE

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti

Teoria dei Giochi non Cooperativi

Segui passo passo le istruzioni e potrai giocare le tue sfide online. Puoi già capirlo, è facile, divertente e eccitante.

La decisione. Claudia Casadio Logica e Psicologia del Pensiero Laurea Triennale - Indirizzo Gruppi A.A Contents First Last Prev Next

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

e-dva - eni-depth Velocity Analysis

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Intelligenza Artificiale. Lezione 6bis. Sommario. Problemi di soddisfacimento di vincoli: CSP. Vincoli CSP RN 3.8, 4.3, 4.5.

10 - Programmare con gli Array

Ambienti più realistici. Ricerca online. Azioni non deterministiche L aspirapolvere imprevedibile. Soluzioni più complesse. Alberi di ricerca AND-OR

Per poter affrontare il problema abbiamo bisogno di parlare di probabilità (almeno in maniera intuitiva). Analizziamo alcune situazioni concrete.

Equilibrio bayesiano perfetto. Giochi di segnalazione

Introduzione all Information Retrieval

Teoria dei Giochi. Anna Torre

Lezione 8. La macchina universale

Esempi di algoritmi. Lezione III

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Intelligenza Artificiale Ing. Tiziano Papini

Pro e contro delle RNA

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Regressione non lineare con un modello neurale feedforward

La teoria dell utilità attesa

Ottimizzazione Multi Obiettivo

Programmazione dinamica

Matematica e giochi di gruppo

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Export Development Export Development

La quotazione delle PMI su AIM Italia e gli investitori istituzionali nel capitale. Bologna 31 marzo 2015

UTILIZZO DELLA PSICOCINETICA NELLA SCUOLA PRIMARIA E IN AMBITO SPORTIVO

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Il Metodo Branch and Bound

La teoria dell offerta

Un modello matematico di investimento ottimale

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

Computational Game Theory

Teoria dei Giochi. Dr. Giuseppe Rose Università degli Studi della Calabria Corso di Laurea Magistrale in Economia Applicata a.a 2011/2012 Handout 2

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

OSSERVAZIONI TEORICHE Lezione n. 4

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

La matematica del gioco. Il gioco della matematica

Come si analizza un gioco

Analisi di scenario File Nr. 10

Teoria dei Giochi. Teoria dei Giochi

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

Teoria dei Giochi. Anna Torre

Indice. 1 La disoccupazione di 6

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Che cos è l intelligenza e come funzionano i test del Q.I.

VINCERE AL BLACKJACK

CONCETTO DI ANNIDAMENTO

Capitolo 13: L offerta dell impresa e il surplus del produttore

leaders in engineering excellence

Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo

Esercizi Capitolo 6 - Alberi binari di ricerca

Introduzione ai Metodi Formali

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Capitolo 2. Operazione di limite

Alberi binari di ricerca

Più processori uguale più velocità?

L intelligenza numerica

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Concetti di soluzione in giochi dinamici a informazione perfetta in strategie pure (LEZIONE 4)

montagna ai trasporti internazionali Luca Bertazzi

Antivirus. Lezione 07. A cosa serve un antivirus

Esercizio 1: trading on-line

Università per Stranieri di Siena Livello A1

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Un modello matematico di investimento ottimale

Algoritmi e Strutture Dati

L azienda leader in Italia nel settore investigativo

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

Come archiviare i dati per le scienze sociali

Osservazioni sulla continuità per le funzioni reali di variabile reale

Note su quicksort per ASD (DRAFT)

IDENTIFICAZIONE dei MODELLI e ANALISI dei DATI. Lezione 40: Filtro di Kalman - introduzione. Struttura ricorsiva della soluzione.

La Metodologia adottata nel Corso

La valutazione nella didattica per competenze

FOOTVOLLEY PRESENTAZIONE

Pinella Singolo ASC-CAAM 2013/14

La ricerca operativa

LE FUNZIONI A DUE VARIABILI

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da


Tasso di interesse e capitalizzazione

Giochi su grafi Marco Faella

Transcript:

Intelligenza Artificiale Ing. Tiziano Papini Email: papinit@dii.unisi.it Web: http://www.dii.unisi.it/~papinit

Game Playing Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 2

Cosa vedremo Come si colloca il Game Playing in relazione ad altre discipline: una visione d insieme Tipologie di Giochi Relazioni con il Problem Solving Formalizzazione del gioco Algoritmo Minimax Ricerca di quiescenza Algoritmo di Alfa-Beta Pruning Problema dell Orizzonte ed altri La vera sfida del Game Playing Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 3

Curiosità: The Turk Vienna, 1770 davanti all'imperatrice d'austria e Ungheria, Wolfgang von Kempelen, nobile giurista e inventore ungherese, presentare una macchina capace di pensare e di giocare a scacchi. In realtà, all'interno dell'automa, si cela un nano veneziano, imbattibile nel gioco degli scacchi, che Kempelen ha sottratto dal buio della prigione: Tibor Scardanelli. Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 4

Una visione d insieme 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 Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 5

Teoria dei Giochi Von Neumann & Morgenstern (1944) Theory of Games and Economic Behaviour Teoria della Decisione Analizzare il comportamento individuale le cui azioni hanno effetto diretto Teoria dei Giochi Analizzare il comportamento individuale le cui azioni hanno effetto che dipende dalle scelte degli altri Scommesse & Mondo dei Puzzle Mondo dei Giochi a + giocatori Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 6

I giochi nell IA 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.. Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 7

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) Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 8

Tipologie di Giochi Giochi deterministici Informazione Perfetta Scacchi, Go, Dama, Otello, Forza4 Informazione Imperfetta MasterMind Giochi stocastici Backgammon, Monopoli Scarabeo, Bridge, Poker (giochi di carte) Risiko Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 9

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 L uomo agisce in un ambiente continuo, dinamico, sequenziale, a scelte sincroniche e con informazione imperfetta. Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 10

Giochi e Problem Solving Si può analizzare un gioco come un problema di search, anche se multiagente? ES: gli scacchi X = tutti gli stati della scacchiera = lo stato di inizio gioco X 0 Op(x) g(x) T Qualcosa non va! = le mosse legali ad uno stato = scacco matto = costi dei cammini Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 11

Giochi e Problem Solving T non è determinante Op(x) è sotto controllo solo per metà delle mosse e spesso non è reversibile g(x) non è sufficiente per definire la terminazione Serve una funzione di utilità sulla terminazione Es: vittoria = +1, patta = 0, sconfitta = -1 Obiettivo dell agente: definire una strategia che raggiunga T(x)=+1 Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 12

Giochi e Problem Solving Per inserire un gioco ad informazione perfetta in uno schema classico di search si considera che: Esiste un avversario che va simulato L avversario minimizza il nostro utile L albero di ricerca si sviluppa su 2 giocatori: MAX(noi) e MIN (l avversario) L obiettivo è raggiungere uno stato terminale di quest albero con la massimizzazione dell utilità*. *(se l avversario inizia per primo: lui diventa MAX e noi MIN con lo scopo di minimizzare l utilità) Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 13

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 l albero delle mosse fino ai nodi terminali Si applica la funzione di utilità U(x) ai nodi terminali Si usano i valori per calcolare l utilità 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 Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 14

Algoritmo Minimax MAX 3 In realtà è depth-first! MIN -4 3 1 MAX 1-4 3 5 4 1 MIN -4 1-4 -5 3-2 -1 5 4 1-4 -4 1 6 1-4 -5 4 3-2 -1 3 5 4 6 1-2 -4 Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 15

Algoritmo Minimax > MAX = true, MIN = false > 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(agente==max && figlio.utilità > best) best = figlio.utilità if(agente==min && figlio.utilità < best) best = figlio.utilità } return best Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 16

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 l ottimalità, ma Ha complessità spaziale O(bm) perché la ricerca è in profondità. Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 17

; 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(b m ) Negli scacchi 35 1 0 0 = 2,5 x 10 1 5 4 In problemi reali non si può usare. E utile solo come base teorica. Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 18

Minimax + taglio di profondità Limitare la ricerca ad una profondità max (dipendente dalla memoria e dal tempo disponibile) Come valutare l utilità dei nodi foglia? Serve una funzione di valutazione. Cioè un euristica! Far risalire fino alla radice le stime usando minimax ed effettuare la scelta Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 19

Euristiche per Giochi Funzioni lineari pesate w 1 f 1 + w 2 f 2 + + w n f n 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? Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 20

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 Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 21

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 l albero 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 l applicazione degli operatori Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 22

Ancora un problemino Vogliamo arrivare a profondità 6 in una partita di scacchi (3 mosse MAX, 3 MIN) b = ca.35, n nodi = 35 6 1,85 x 10 9 Calcolatore veloce: 10 6 mosse/sec.! Tempo impiegato: 1850 sec. = 30min Con un limite di 30min abbiamo un giocatore mediocre Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 23

? Alfa-Beta pruning (McCarthy 56) Si può ottenere la mossa MAX senza osservare esaustivamente l albero, perché: 1) DATO U(n 0 )= α utilità minimax del nodo n 0 su cui sceglie MAX 2) affinchè la scelta conclusiva di MAX sia α almeno 1 nodo n ( fratello di n 0 ) deve avere U(n)> α 3) affinchè U(n)> α per ogni nodo n successore di n deve valere h(n )> α 4) QUINDI: appena un successore di n possiede U(n ) α il sottoalbero restante può essere potato Stesso discorso vale per MIN, quindi Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 24

Alfa-Beta pruning (2) Nella ricerca nell albero: Si usano 2 variabili: α = 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 α; se invece tutti i figli hanno valore maggiore il minimo diventa α 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 ß Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 25

Alfa-Beta Pruning: Pseudo Codice MAX-VALUE(nodo, α, ß) if CUTOFF-TEST(nodo) then return EVAL(nodo) v - for all figli in SCS(nodo) { v max(v, MIN-VALUE(figlio, α, ß) ) if v ß then return v α max(v,α) } return v v = utilità del nodo MIN-VALUE (nodo, α, ß) if CUTOFF-TEST(nodo) then return EVAL(nodo) v + for all figli in SCS(nodo) { v min(v, MAX-VALUE(s, α, ß)) if v α then return v ß min(v,ß) } return v Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 26

Alfa-Beta pruning: simulazione α = ß = 1 α= ß ß= =1 1 α= α=1 ß= 0 α=1 ß= MAX MIN 1 α= α=1 ß= 2 α= ß=1-3 0 α=1 ß= MAX 1 α= ß= ß=1-1 α=1 ß= 2 α= ß=1-3 α=1 ß= 20 α=1 ß= ß=2 ß=0 MIN 1 2-1 2 4-3 2 0 Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 27

Alfa-Beta pruning Caso Generale n 0 n Se n 0 è migliore di n allora n non verrà mai raggiunto durante il gioco e quindi tutto il sottoramo corrispondente può essere potato Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 28

Efficacia della potatura α-ß Dipende dall ordinamento dei nodi Ordinamento migliore: O(b ½m ) Ordinamento pessimo: O(b m ) Ordinamento medio: O(b ¾m ) Node Ordering 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 Un buon calcolatore (10 6 mosse/sec) sceglie una mossa in 4 minuti! Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 29

Altri problemi da affrontare Problema dell orizzonte Eccessiva fiducia nell euristica Eventi stocastici Giochi multiplayer Branching Factor e potenza di calcolo Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 30

Problema dell Orizzonte Un lungo periodo di quiescenza può precedere un rapido ed inevitabile peggioramento dell utilità Se il taglio in profondità è avvenuto in questa zona, valuta positivamente uno stato che è invece disastroso Problema tutt ora irrisolto! Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 31

Eccessiva fiducia nell euristica Una valutazione molto irregolare tra nodi fratelli è rischiosa, soprattutto usando Alpha-Beta Servirebbe un ulteriore ricerca nel sottoramo per accertarsi della bontà della valutazione Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 32

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(b m d m ) Alpha-Beta Pruning? Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 33

ExpectiMin / ExpectiMax 5.39 5.39 0.56 0.3 0.7 0.3 0.7 2.8 6.5 1.4 1.4 3.5 2.8 6.5 8.3 5.5 1.4 8.1 1.4 0.3 0.7 0.3 0.7 0.3 0.7 0.3 0.7 0.3 0.7 0.3 0.7 0.3 0.7 0.3 0.7 0 5 0 4 3 8 9 8 2 7 7 5 6 9 0 2 0 3 3 5 0 6 4 1 3 1 2 8 9 8 8 7 2 2 6 7 3 7 5 7 6 4 9 5 0 4 1 2 Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 34

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 l angolo opposto Esempio 2: 3-player Othello 3 giocatori muovono a turno ogni giocatore deve conquistare il massimo della scacchiera Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 35

Algoritmo Max N Assunzioni: I giocatori muovono a turni Ogni giocatore mira a massimizzare il proprio utile Ogni giocatore è indifferente all utile 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 <U(p 1,s), U(p 2,s),, U(p n,s)> 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(p n ) quando muove p n Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 36

Algoritmo Max N : esempio 1 (7,3,6) Minimax è un caso speciale di MaxN in cui: a) N = 2, b) la funzione di valutazione restituisce la tupla <x, -x>. (1,7,2) (1,7,2) 2 (6,5,4) (7,3,6) 2 (7,3,6) 3 3 3 3 (3,1,8) (2,8,1) (1,7,2) (5,6,3) (6,5,4) (8,5,4) (7,3,6) (4,2,7) (3,1,8) Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 37

Algoritmo Paranoid Idea: gli altri giocatori sono come 1 solo macro-avversario 2 giocatori: MAX (noi), MIN (avversari) Valutazione dei nodi dell albero: Quando tocca a MAX si massimizza l utilità di MAX Quando tocca ad 1 avversario si minimizza l utilità di MIN Paranoid permette di rimuovere l assunzione 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 Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 38

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. Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 39

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) Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 40

La vera sfida La vera sfida è competere con l uomo ad armi pari. L uomo 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? Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 41

Giocatore di Scacchi Elaboratore euristico sui nodi DataBase aperture DataBase chiusure Motore Ricerca quiescenza Motore minimax + alfa-beta pruning Gestore del Tempo Elaboratore mosse forzate Gestore del livello di taglio Gestore della memoria Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 42