Intelligenza Artificiale. Lezione 15. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 0

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

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

Teoria dei giochi. 2. Forma estesa (struttura ad albero e matrice dei pagamenti) Slides di Teoria dei Giochi, Vincenzo Cutello 1

Algoritmi e giochi combinatori

Problemi CSP: Problemi di. soddisfacimento di vincoli. Colorazione di una mappa. Formulazione di problemi CSP. Formulazione. Tipi di problemi CSP

Ricerca con avversari

Constraint Satisfaction Problems

I giochi con avversario. I giochi con avversario. Introduzione. Il gioco del NIM. Il gioco del NIM. Giochi come problemi di ricerca

3 Ricerca per Giochi e CSP

I giochi con avversario. I giochi con avversario. Sommario. Il gioco del NIM. Il gioco del NIM. Giochi come problemi di ricerca

I giochi con avversario. I giochi con avversario. Introduzione. Giochi come problemi di ricerca. Il gioco del NIM.

Problemi di soddisfacimento di vincoli. Colorazione di una mappa. Formulazione di problemi CSP. Altri problemi

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

I giochi con avversario. Maria Simi a.a. 2016/2017 Credits: Alessio Micheli Russell-Norvig

Intelligenza Artificiale Compito - 12 Marzo 2007

Intelligenza Artificiale

Problemi di soddisfacimento di vincoli. Maria Simi a.a. 2015/2016

Intelligenza Artificiale. Tecniche di ricerca basate sullo spazio degli stati

Ricerca con avversari: GIOCHI

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 6 Maggio 2019

3 Ricerca per Giochi e CSP

GIOCHI. Ambiente multi-agente presenza di un avversario. avversario economia anche se esiste una competizione di calcio fra robot

Intelligenza Artificiale. Lezione 5. Sommario. Ricerca Best-first. Ricerca golosa. Russell & Norvig Capitolo 4, Paragrafi 1 2. Ricerca Best-first

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 9 Febbraio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti

Intelligenza Artificiale. Risoluzione dei Problemi

Algoritmi di ricerca locale

Intelligenza artificiale

TECNOLOGIE INFORMATICHE MULTIMEDIALI

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 16 Aprile 2018

PROBLEMI DI VINCOLI CSP (Constraint satisfaction problems),, X ik. ) che specificano quali valori delle variabili sono compatibili tra loro,

1 Definizione formale di gioco in forma estesa.

Algoritmi di Ricerca

Intelligenza Artificiale. Ricerca euristica L algoritmo A*

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 16 Giugno 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti

Intelligenza Artificiale Compito - 12 Marzo 2007

Esercizi d'esame su strategie di ricerca, CSP e Giochi. Compiti d'esame 2017 e 2018

Corso di Intelligenza Artificiale

Intelligenza Artificiale. Ricerca euristica Algoritmo A*

Ricerca euristica. Funzioni di valutazione euristica. Esempi di euristica. Strategia best-first: esempio. Algoritmo di ricerca Best-First 3/17/11

Soluzione dei problemi di Programmazione Lineare Intera

Ricerca non informata

... Max. Max. ... Min ... Albero di gioco

Ricerca Cieca. Spazio di Ricerca. ! albero di ricerca. Russell & Norvig: Introduzione al Problem Solving. Introduzione al Problem Solving

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 25 Gennaio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti

Risoluzione automatica di problemi. Sistemi distribuiti LS Prof. Andrea Omicini A.A

Agenti basati su Ricerca: Introduzione

Intelligenza Artificiale Ing. Tiziano Papini

Intelligenza Artificiale II - AA 2008/2009. Intelligenza Artificiale II. Genetic Programming Introduzione. Marco Piastra. Genetic Programming - 1

Risoluzione automatica di problemi Prolem solving Architetture di agente Progetto di agenti basati su obiettivi basati su riflessi semplici

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 16 Aprile 2018

Indice. 1 Una Mente dietro gli Scacchi Il Gioco Basato sulla Conoscenza Introduzione Creazione di piani tattici...

Espansione: si parte da uno stato e applicando gli operatori (o la funzione successore) si generano nuovi stati.

INTRODUZIONE ALLA TEORIA DEI GIOCHI

Intelligenza Artificiale. Lezione 3. Intelligenza Artificiale Daniele Nardi, 2004/05 Lezione 3 0

Intelligenza Artificiale. Lezione 14. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 14 0

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 12 Gennaio 2017 Tempo a disposizione: 2 h Risultato: 32/32 punti

La strategia MiniMax e le sue varianti

2 Problemi di Ricerca

I giochi con avversario

PSPACE completezza. Un linguaggio A è PSPACE completo se. 1. A è in PSPACE, cioè esiste una TM T che accetta A con complessità di spazio polinomiale.

Oltre la ricerca classica

Giochi a due giocatori

Soluzione dei problemi di Programmazione Lineare Intera

GIOCHI. Ambiente multi-agente presenza di un avversario. avversario economia anche se esiste una competizione di calcio fra robot

csp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione

Esercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST.

Ingegneria della Conoscenza e Sistemi Esperti Lezione 9: Evolutionary Computation

2.2 Alberi di supporto di costo ottimo

Agenti basati su Ricerca: Introduzione

Indice. 1 Introduzione... 1

Allineamento multiplo di sequenze

Ricerca Automatica. Esercitazione 3. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 0

GIOCHI. L'intelligenza artificiale considera giochi con le seguenti proprietà: 1) Sono giochi a due giocatori in cui le mosse sono alternate;

Laboratorio di Algoritmi

Laboratorio di Algoritmi

2.2 Alberi di supporto di costo ottimo

PROBLEMI DI VINCOLI CSP (Constraint satisfaction problems) trovare una assegnazione di valori alle variabili che soddisfa i vincoli.

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Algoritmi euristici. Parte I: metodi classici

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché

2.2 Alberi di supporto di costo ottimo

Evolutionary computing, machine learning et alia.

5.1 Metodo Branch and Bound

Alberi ed Alberi Binari di Ricerca

Sistemi con vincoli. Docente: Francesca Rossi.

2.2 Alberi di supporto di costo ottimo

Page 1. Risoluzione di Problemi. Intelligenza Artificiale. Risoluzione di Problemi. Risoluzione di Problemi: Esempio. Esempio

Algoritmi e Strutture Dati

Giochi su grafi. Marco Faella. Università di Napoli Federico II

Intelligenza Artificiale

Lezioni di Ricerca Operativa

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO

Algoritmi e Strutture Dati

I Tipi di Dato Astratto

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Lezioni di Ricerca Operativa

Ripasso di teoria ed esercizi in preparazione al terzo compito. 26 gennaio 2004

Transcript:

Intelligenza Artificiale Lezione 15 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 0

Sommario CSP RN 3.8, 4.3, 4.5 Giochi RN 5.1, 5.2, 5.3, 5.4 Algoritmi genetici RN 20.8 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 1

Problemi di soddisfacimento di vincoli: CSP Problema di ricerca standard: stato è una black box ogni struttura dati che supporta test obiettivo, valutazione, successori CSP (Constraint Satisfaction Problem): stato è definito da variabili V i con valori in domini D i test obiettivo è un insieme di vincoli che specificano combinazioni di valori per sottoinsiemi delle variabili Permette utili algoritmi general-purpose più potenti degli algoritmi di ricerca standard Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 2

Vincoli Dominio discreto e continuo Vincolo sul dominio Unario Vincolo Binario: correla due variabili Vincoli assoluti o di preferenza Grafo dei vincoli: i nodi sono variabili, gli archi mostrano i vincoli Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 3

Esempio: colorazione di mappe Colorare una mappa in modo che paesi adiacenti non siano dello stesso colore Variabili paesi C i Domini {Rosso, Blu, V erde} Vincoli P 1 P 2, P 1 P 5, etc. C 3 C C 1 2 C 5 C 6 C 4 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 4

Colorazione mappa Grafo dei vincoli: C1 C2 C 5 C 3 C 6 C 4 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 5

Ricerca della soluzione nei CSP CSP sono problemi di ricerca speciali : gli stati sono definiti da valori di un insieme fissato di variabili test obiettivo definito da vincoli su valori di variabili Backtracking = ricerca in profondità 1) ordine delle variabili fissato 2) solo successori legali La verifica in avanti impedisce assegnazioni che risulterebbero in futuri fallimenti Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 6

Euristiche L ordinamento delle variabili e le euristiche di scelta dei valori possono essere molto efficaci: variabile più vincolata variabile più vincolante valore meno vincolante C A GREEN B RED E F D Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 7

Algoritmi iterativi per CSP Hill-climbing, simulated annealing tipicamente lavorano con stati completi, i.e., tutte le variabili assegnate Per applicarli a CSP: permettere stati con vincoli violati operatori per riassegnare valori a variabili che creano conflitti Euristica del min-conflicts : scegliere il valore che viola il minimo numero di vincoli i.e., hillclimb con h(n) = numero totale di vincoli violati Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 8

Giochi astratti, scacchi dama, go, backgammon, bridge concentrano l attenzione sulla strategia: ambiente accessibile, statico e (in molti casi) informazione perfetta reali calcio, esplorazione, ricerca: ambiente solo parzialemente accessibile, dinamico, l informazione è incompleta Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 9

Giochi vs. problemi di ricerca Avversario non prevedibile soluzione è un piano con contingenza Limiti di tempo improbabile trovare obiettivo, bisogna approssimare Piano d attacco: algoritmi per giochi perfetti (Von Neumann, 1944) orizzonte finito, valutazione approssimata (Zuse, 1945; Shannon,1950; Samuel, 1952 57) potatura per ridurre i costi (McCarthy, 1956) Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 10

Tipi di giochi informazione perfetta informazione imperfetta deterministici dama, scacchi, go, otello fortuna backgammon monopoli bridge, poker, scarabeo Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 11

Caratterizzazione del problema Lo stato iniziale, che include la posizione sulla scacchiera e un indicazione di chi deve muovere. Un insieme di operatori, che definiscono le mosse lecite che può fare un giocatore. Un test di terminazione, che determina quando il gioco è finito. Gli stati in cui il gioco si conclude sono detti stati terminali. Una funzione di utilità (detta anche una funzione di guadagno), che attribuisce un valore numerico al risultato di una partita. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 12

MAX (X) MIN (O) X X X X X X X X X MAX (X) X O X O X O... MIN (O) X O X X O X X O X............... TERMINAL Utility X O X X O X X O X O X O O X X O X X O X O O 1 0 +1... Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 13

Ricerca della soluzione con Minimax Minimax: Per giochi deterministici a informazione perfetta Idea: scegli una mossa verso una posizione con il più alto valore minimax = il migliore guadagno ottenibile a fronte del miglior gioco dell avversario 1. si genera l albero del gioco 2. si applica la funzione di utilità a ciascuno stato terminale 3. si usa l utilità al livello N + 1 per determinare l utilità al livello n, scgliendo il min per le mosse dell avversario ed il max per le proprie mosse. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 14

MAX 3 A 1 A 2 A 3 MIN 3 2 2 A 11 A 12 A 13 A 21 A A 22 23 A 31 A 32 A 33 3 12 8 2 4 6 14 5 2 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 15

function Decisione-Minimax(gioco) returns un operatore for each op in Operatori[gioco] do Valore[op] Valore-Minimax(Appl(op, gioco), gioco) end return l op con Valore[op] più alto function Valore-Minimax(stato, gioco) returns un valore di utilità if Test-Terminale[gioco](stato) then return Utilità[gioco](stato) else if si deve muovere max in stato then return il più alto Valore-Minimax in Successori(stato) else return il più basso Valore-Minimax in Successori(stato) Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 16

Proprietà di minimax Completo?? Si, se l albero è finito Ottimale?? Si, contro un avversario ottimale Complessità temporale?? O(b m ) Complessità spaziale?? O(bm) (esplorazione in profondità ) Per gli scacchi, b 35, m 100 per partite ragionevoli soluzioni esatte assolutamente non fattibili Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 17

Risorse limitate Supponiamo di avere 100 secondi, di esplorare 10 4 nodi/secondo 10 6 nodi per mossa Approccio standard: test di taglio (cutoff) e.g., limite di profondità funzione di valutazione = desiderabilità stimata della posizione Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 18

Esempi di valutazione Muove il Nero Bianco lievemente avvantaggiato Muove il Bianco Nero vince Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 19

Funzioni di valutazione Per gli scacchi, tipicamente la somma pesata lineare delle features Eval(s) = w 1 f 1 (s) + w 2 f 2 (s) +... + w n f n (s) valore dei pezzi schieramento Proprietà della funzione di valutazione precisa efficiente Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 20

Tagliare la ricerca Taglio-Minimax è identico a Valore-Minimax eccetto 1. Test-Terminale è rimpiazzato da Test-Taglio 2. Utilità è Valore Funziona in pratica? b m = 10 6, b = 35 m = 4 Lookahead di 4-turni è un giocatore senza speranze! 4-turni giocatore novizio 8-turni tipico PC, giocatore master 12-turni Deep Blue, Kasparov Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 21

Esempio di α β MAX 3 A 1 A 2 A 3 MIN 3 2 2 A 11 A 12 A 13 A 21 A A 22 23 A 31 A 32 A 33 3 12 8 2 4 6 14 5 2 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 22

Proprietà dell α β Potatura non influenza il risultato finale Un buon ordinamento delle mosse migliora l efficacia della potatura Con un ordinamento perfetto, la complessità temporale è = O(b m/2 ) raddoppia la profondità della ricerca può facilmente raggiungere profondità 8 e fare un buon gioco di scacchi Semplice esempio del valore del meta-ragionamento su quali computazioni sono rilevanti Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 23

Perchè il nome α β? MAX MIN...... MAX MIN V Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 24

Potatura α β? α è il miglior valore (per max) trovato finora sul cammino corrente Se V è peggio di α, max lo evita pota quel ramo β definito in modo analogo per min Algoritmo α β Essenzialmente: Minimax + tenere memoria di α, β + potatura Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 25

Giochi deterministici in pratica Dama: Chinook ha concluso i 40 anni di regno del campione umano Marion Tinsley in 1994. Usa un database di chiusure di gioco che specificano le mosse con 8 pezzi sulla scacchiera, o meno, un totale di 443. 748. 401. 247 posizioni. Scacchi: Deep Blue ha vinto il campione mondiale Gary Kasparov in un match di sei partite nel 1997. Deep Blue cerca 200 milioni di posizioni al secondo, usa una funzione di valutazione molto sofisticata, e metodi (non pubblicati) per estendere alcune linee di ricerca fino a 40 turni. Otello: i campioni umani si rifiutano di competere con i calcolatori, che sono troppo bravi Go: i campioni umani si rifiutano di competere con i calcolatori, che sono troppo stupidi. Nel Go, b > 300. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 26

Algoritmi genetici 1 Idea: organismi che evolvono; quelli che non sono adatti all ambiente muoiono, mentre quelli adatti sopravvivono e si riproducono (Darwin) popolazione iniziale: individui o cromosomi riproduzione: per incrocio, per mutazione selezione: mediante funzione di adeguatezza Ricerca nello spazio degli individui Ricerca a salita più ripida, perché si fanno delle piccole modifiche genetiche agli individui e si usano i migliori discendenti Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 27

Algoritmi genetici 2 Per applicare gli algoritmi genetici dobbiamo decidere: 1. Cos è la funzione di adeguatezza (fitness)? 2. Com è rappresentato un individuo? 3. Come vengono selezionati gli individui? 4. Come si riproducono gli individui? 1. funzione da individui a numeri reali 2. stringa di caratteri o (geni) (spesso 0/1) 3. generalmente la strategia di generazione è stocastica 4. incroci e mutazione Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 28

Algoritmi genetici 3 000110010111 8 32% 111010101100 111010010111 111010010111 111010101100 6 24% 000110010111 000110101100 000110101100 001110101001 6 24% 111010101100 111010101001 111110101001 111011011100 5 20% 001110101001 001110101100 001110101101 (a) (b) (c) Popolazione iniziale Funzione Selezione di adeguatezza (d) Incrocio (e) Mutazione Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 29

Algoritmi genetici: implementazione function Algoritmo-Genetico( popolazione, Fn-Ad) returns individuo inputs: popolazione, insieme di individui Fn-Ad, funzione che misura l adeguatezza di un individuo repeat genitori Selezione( popolazione,fn-ad) popolazione Riproduzione( genitori) until qualche individuo è abbastanza adeguato return individuo migliore in popolazione, secondo Fn-Ad Intelligenza Artificiale Daniele Nardi, 2003 Lezione 15 30