Agenti basati su Ricerca: Introduzione

Documenti analoghi
Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati

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

Oltre la ricerca classica

Intelligenza Artificiale. Problem Solving -Agenti risolutori di problemi

Intelligenza Artificiale. Risoluzione dei Problemi

Algoritmi di Ricerca

TECNOLOGIE INFORMATICHE MULTIMEDIALI

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

Intelligenza Artificiale

Ricerca informata in uno spazio di stati

Agenti risolutori di problemi. Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015

Algoritmi di ricerca locale

3.4 Metodo di Branch and Bound

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi A3_1 V1.3. Agenti

trovare un percorso senza collisioni per passare da una configurazione ad un altra del sistema robotico

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

Agenti risolutori di problemi

Intelligenza Artificiale. Ricerca euristica Algoritmo A*

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 8 Settembre 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti

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

Agenti risolutori di problemi

Algoritmi e giochi combinatori

Intelligenza Artificiale. Metodi di ricerca

Agenti razionali. Sistemi distribuiti LS Prof. Andrea Omicini A.A

1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI

COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I. 2 Dicembre 2008 (Tempo a disposizione 2h ; su 32 punti)

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

Problemi, algoritmi, calcolatore

Agente Razionale Ideale. Esempio Robot Aspirapolvere. Quando un Agente Artificiale è Razionale?

Intelligenza Artificiale. Risoluzione dei Problemi

Intelligenza artificiale

Luigi Piroddi

Indice. 1 Introduzione... 1

Soluzione del problema come ricerca in uno spazio degli stati:

Agente Razionale Ideale. Esempio Robot Aspirapolvere. Quando un Agente Artificiale è Razionale?

Lezioni di Ricerca Operativa

Luigi Piroddi

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

Tecniche Computazionali Avanzate

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Informatica II. Capitolo 16 Backtrack

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

Intelligenza Artificiale (lucidi lezione introduttiva)

Soluzione del problema come ricerca in uno spazio degli stati:

Ricerca non informata in uno spazio di stati

ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND

SISTEMI BASATI SULLA CONOSCENZA: PRINCIPI ARCHITETTURALI

Per un vocabolario filosofico dell informatica. Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine

Heap e code di priorità

Flusso a Costo Minimo

Informatica Generale Homework di Recupero 2016

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. Il gioco del NIM. Il gioco del NIM. Giochi come problemi di ricerca

Ordinamenti per confronto: albero di decisione

INTRODUZIONE ALLA TEORIA DEI GIOCHI

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

Fondamenti di Informatica. Definizione di Algoritmo. Algoritmo Euclideo. Prof.V.L.Plantamura Informatica e Comunicazione Digitale a.a.

TEST: RAGGIUNGIMENTO DEL GOAL La verifica può essere solo l appartenenza dello stato raggiunto all insieme dello stato (o degli stati) goal. A volte l

Problemi, istanze, soluzioni

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

Introduzione. Algoritmi Genetici. Evoluzione naturale. Modello per un GA. Evoluzione attraverso riproduzione. Algoritmi Genetici. Popolazione iniziale

Il concetto di calcolatore e di algoritmo

Sistemi di Elaborazione delle Informazioni

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort

Corso di Logistica dei Trasporti e della Distribuzione

Note per la Lezione 4 Ugo Vaccaro

Intelligenza Artificiale Ing. Tiziano Papini

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Un secondo problema : Quadrato Magico

Relazione su Gioco dell'otto

Cercare il percorso minimo Ant Colony Optimization

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 14 Gennaio 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti

Generare sequenze di azioni.

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

Costruzione di espressioni regolari 4

Algoritmi e strutture dati

Rappresentazione dei numeri interi in un calcolatore

Parole note, nuovi significati: linguaggio, determinismo e infinito

Universita degli Studi di Siena

Algoritmi online per sistemi metrici di servizi

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

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

1. Assestare la comprensione delle strategie di ricerca viste a lezione 2. Imparare ad utilizzare la libreria aima.search

Pag. 2. Somma binaria. Somma binaria. Somma binaria. Altre operazioni aritmetiche. La somma si può fare colonna per colonna

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

ESERCIZIO MIN-MAX Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore.

Permutazioni. 1 Introduzione

COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I. 25 Giugno 2008 (Tempo a disposizione 2h ; su 32 punti)

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011

Luigi Piroddi

Laboratorio di Algoritmi e Strutture Dati

Algoritmo di Branch & Bound

Modelli e Metodi per la Simulazione (MMS)

Problemi di ordinamento

Alberi binari di ricerca

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:

Transcript:

Agenti basati su Ricerca: Introduzione Intelligenza Artificiale Prof. Alfonso E. Gerevini Dipartimento Ingegneria dell Informazione Università degli Studi di Brescia Un Agente Risolutore di Problemi Segue un processo ciclico composto da fasi: Formulazione dell obiettivo (goal). Ad es: essere in una certa città Formulazione del problema (o dominio) Stati e azioni (NB: stato ricerca = insieme di stati reali ) È importante una appropriata astrazione Ricerca: trovare una sequenza di azioni che porta dallo stato iniziale a quello goal (algoritmo di ricerca) Esecuzione della sequenza di azioni (o della prima azione) 2

Un Agente Risolutore di Problemi Descrizione problema (qualsiasi!) Algoritmo di Ricerca Soluzione 3 Definizione di un Problema di Ricerca Ambienti deterministici e accessibili (completamente osservabili): Insieme di stati del mondo (ambiente) semplificato Insieme di operatori (o azioni) possibili: una funzione successore (oppure azioni + modello transizione) Uno stato iniziale in cui l agente sa di essere Uno o più stati obiettivo: un goal test Un costo per ogni sequenza di azioni (sequenza di stati attraversati): una funzione costo Trovare una sequenza di azioni (cammino tra stati) che trasforma lo stato iniziale in uno stato obiettivo (algoritmo o motore di ricerca)

Problema a Stato Unico Un semplice esempio (Roby = robot aspirapolvere): Ambiente: 2 stanze, Roby, polvere. Esempi di info irrilevante? Stato iniziale: Num. stati possibili = 8 stanza stanza2 Azioni: VaiDestra, VaiSinistra, Aspira Stati Obiettivo = tutti gli stati in cui non c è polvere Soluzione = VaiDestra, Aspira 5 Diagramma degli stati 6

Esempio: Rompicapo dell 8 6 2 3 8 7 3 8 Stato iniziale 5 2 7 6 5 Stato obiettivo Stati = configurazione delle caselle Info irrilevanti: colore, dimensione, peso, materiale, ecc. Operatori = muovere ciascuna casella in alto, basso, sinistra, destra (oppure muovere casella vuota; è meglio???) 7 Quanti stati (possibili)? Stato possibile = stato raggiungibile attraverso una sequenza di operatori 8 tasselli: 80 (molto facile) 5 tasselli:.3 x 0 2 (facile) 2 tasselli: 0 25 (molto difficile) 8

Esempio: Problema delle N Regine Problema: Disporre N regine su una scacchiera NxN senza che queste si attacchino. NB: Mi interessa trovare uno stato con determinate proprietà e non una sequenza di azioni. Esempio N= R Stati = configurazioni di una o più regine sulla scacchiera Stato iniziale = nessuna regina sulla scacchiera R Stati obiettivo = N regine sulla scacchiera e nessun attacco R R 9 Problema delle N Regine Operatori (2 possibilità): mettere una regina qualsiasi sulla scacchiera (8x8) se 8 regine, 6 8 sequenze di azioni regina i-esima sulla colonna i-esima (senza attacco alle precedenti) se 8 regine, solo 2057 sequenze! Ma il problema resta non banale per n grande (se n=00, ho 0 52 possibili sequenze!) 0

Problemi di ricerca e Automi Che relazione c è tra un problema di ricerca ben definito e una Automa a stati finiti? Problema a Stati Multipli Spesso l ambiente non è completamente accessibile Caso limite: completa ignoranza (no sensori) Esempio robot aspirapolvere: Stato iniziale: uno imprecisato degli 8 possibili INSIEME di 8 stati ( belief state ) Ogni azione trasforma un belief state in un altro Soluzione: Trasforma l insieme iniziale di stati in un insieme contenente solo soluzioni (in questo caso un solo stato): VaiDestra, Aspira, VaiSinistra, Aspira 2

Diagramma degli stati 3 Problema con Contingenze Problemi in cui la soluzione deve contenere azioni sensoriali per acquisire informazioni necessarie Esempio robot aspirapolvere Ambiente parzialmente accessibile (2 sensori) R Stato Iniziale: oppure R Informazioni incompleta su effetti azioni (non determinismo): Aspira talvolta deposita polvere se non c è Soluzione:??? Aspira-Destra-Aspira??? E necessaria un azione sensoriale per sapere se c è polvere!

Formalizzare un problema di ricerca Un arte in cui si cerca un buon livello di astrazione per modellare il problema: Informazioni irrilevanti sugli stati (limitare il numero di stati) Informazioni (precondizioni/effetti) irrilevanti su azioni Azioni irrilevanti Esercizio di formalizzazione: il problema dei Missionari e Cannibili (Amarel 968) http://www.plastelina.net/game2.html Quali informazioni sono rilevanti e quali irrilevanti? Stati? Operatori? Goal test? Costo soluzione? Come risolvereste a mano questo problema di ricerca? 5 Esercizio (per casa) Formalizzare il gioco Family crisis disponibile on-line: http://www.plastelina.net/game3.html 6

Algoritmi di Ricerca Ragionamento come esplorazione dello spazio degli stati possibili Descrizione problema (qualsiasi!) Algoritmo di Ricerca Soluzione Qualità Soluzione (per scegliere tra più possibili) Tempo richiesto per derivarla: costo off-line Numero e costo azioni (mosse): costo on-line 7 Concetti e definizioni preliminari Spazio degli stati e transizioni possibili Albero di ricerca Expansione di un nodo Profondità di un nodo Fattore di diramazione (branching factor) Ricerca come esplorazione dell albero Procedura generale di ricerca/esplorazione Strategie di esplorazione: cieche e euristiche (esempi per il rompicapo dei tasselli ) Proprietà fondamentali di una strategia/algoritmo di ricerca: correttezza, complessità (tempo e spazio), ottimalità 8

Esempio Albero di Ricerca (parziale) 2 8 3 7 5 6 2 8 3 7 6 5 2 3 7 6 8 5 2 8 3 7 6 5 2 8 3 7 6 5 2 3 7 6 8 5 2 3 7 6 8 5 2 3 7 6 8 5 2 3 7 8 6 5 2 8 3 6 7 5 2 8 3 7 6 5 2 8 3 7 3+3 6 5 2 3 8 7 6 5 8 3 2 7 6 5 9 Esempio Albero di Ricerca (con costo e euristica sui nodi) +5 2+ 3+ 2 8 3 7 6 2 8 3 5 7 2 3 6 5 7 6 8 5 0+ +3 2+3 3+2 + 5+2 2 8 3 7 6 5 2 8 3 2 3 7 6 5 7 6 8 5 2 3 7 6 8 5 2 3 7 6 8 5 2 3 7 8 6 5 +5 2+3 3+ 5+0 2 8 3 2 8 3 6 7 5 7 6 5 2 8 3 2 3 7 8 6 5 7 6 5 3+3 8 3 2 7 6 5 20

Confrontare Euristiche: Rompicapo dell 8 Fattore diramazione medio: 3 Costo medio soluzione problema random: 22 Nodi visitati da ricerca esaustiva con profondità 22: 3 22 Se uso memoria per evitare ripetizioni = 80000 nodi (stati differenti) E GESTIBILE 2 Confrontare Euristiche: Rompicapo del 5 Fattore diramazione medio: 3 Costo medio soluzione problema random: molto maggiore di 22 Stati differenti: circa 0 3 E INGESTIBILE 22

Confrontare Euristiche: metodo teorico h: numero di caselle malposte h2: somma distanza di Manhattan delle caselle E meglio h o h2?? Confronto teorico per due euristiche ammissibili h e h2: h2 migliore di h (h2 domina h) se e solo se per ogni nodo/stato n, h(n) <= h2(n) Non sempre facile da dimostrare formalmente! 23 Confrontare Euristiche: metodo sperimentale N= numero reale nodi generati da A* in un run d = profondità dove A* trova nodo goal in un run N+ = numero nodi in un albero uniforme con fattore di diramazione b* e profondità d: N+ = + b* +(b*) 2 + + (b*) d b* = incognita = fattore di diramazione effettivo Calcolo b* facendo una media su molti run 2

Confrontare Euristiche: metodo sperimentale (esempio) Se A* trova soluzione con d = 5 e N = 52 b* =,92 Se l euristica è buona b* è vicino a Preferisco euristiche con b* più basso Esempio h e h2 per rompicapo dell 8 25 Confrontare Euristiche: metodo sperimentale (rompicapo dell 8) 26

Ricerca locale: l algoritmo più semplice 27 Ricerca locale: difficoltà 28

Ricerca locale: esempi stati problematici h(n): caselle malposizionate in n Minimo locale Pianura (plateaux) 2 3 2 6 8 57 5 78 7 6 3 7 29 Ricerca locale: minimo locale? 30

Ricerca locale 3 Algoritmi di ricerca locale ) Hill-climbing (discesa del gradiente) 8regine: % risolti con step; 86% fail con step 8regine = 8 8 stati = M stati circa 2) HC con mosse laterali (per plateaux) 8regine: 9% risolti con 2 step; 6% fail con 6 step 3) HC stocastico con probabilità di selezione più alta per stati successori migliori ) HC stocastico con prima scelta migliorativa random per grandi vicinati 5) HC stocastico con riavvi casuali (e mosse laterali) 8regine: 00% risolti trova soluzione per 3MegaRegine! 32

Algoritmi di ricerca locale 6) Simulated annealing 7) Local beam search 8) Tabu search 9) Algoritmi genetici 0) Local search online ) Local search con apprendimento di h(n) 2) Enforced hill-climbing (con applicazione a pianificazione) 3) Walksat per ragionamenti logici ) Walkplan per pianificazione 33 Ricerca Locale: Simulated Annealing 3

Algoritmi Genetici: Esempio Stato 8-Regine = vettore di interi da a 8 = righe regine su colonne Popolazione di 8 individui (stati) 278552 2 3% 32752 3278552 327852 32752 23 29% 278552 2752 2752 252 20 26% 32752 327522 322522 325323 % 252 25 257 (a) Initial Population (b) Fitness Function (c) Selection (d) Cross Over (e) Mutation 35 Algoritmi Genetici: Esempio Accopiamento/generazione del discendente (figlio) e perdita di informazione nei genitori + = 36

Algoritmi Genetico Generale 37 Agenti con Ricerca Online Ragionamento/computazione e azione si alternano: determino azione, eseguo, osservo ambiente,. Quando? No tempo per pensare a una soluzione intera Conoscenza parziale ambiente e/o proprie azioni Ambiente dinamico (altri agenti, azioni non-deterministiche, eventi esterni) Input di un problema tipico online: Azioni(s): lista azioni applicabili in s C(s,a,s ): costo azione a da s a s (conosciuto DOPO esecuzione) Goal-test(s) => Stati successori si conosciuti solo dopo aver eseguito TUTTE le azioni applicabili 38

Esempio Ricerca Online L agente deve andare da S a G non sapendo nulla dell ambiente e delle proprie azioni Assunzioni: azioni deterministiche + ricorda stati già visitati 3 G 2 S 2 3 L agente (aspirapolvere) potrebbe sapere conseguenze proprie azioni e avere una euristica (DM) ma comunque non conoscere gli ostacoli presenti 39 Altro esempio L agente ha attraversato S e A. I seguenti due diagrammi degli stati sono per lui identici, ma in realtà molto differenti tra loro. G S A S A G 0

Rapporto di Competitività Usato per misurare prestazioni algoritmi online: Costo soluzione trovata online (ambiente/diagramma stati sconosciuto) diviso costo soluzione ottima offline (ambiente conosciuto) Può essere infinito! (vicoli ciechi/deadends che mi fanno stare sempre nella stessa posizione/stato) I due esempi precedenti contengono deadends Spazio degli stati esplorabile in modo sicuro: Non ci sono deadends e tutti gli operatori/azioni sono reversibili (come ad es. in un labirinto) Algoritmi di ricerca online Assunzione: dopo ogni azione l agente osserva il mondo e conosce lo stato del mondo in cui è aggiornando la sua conoscenza dell ambiente (diagramma degli stati) Possiamo usare uno degli algoritmi completi già visti? A*? Ricerca in ampiezza? Ricerca in profondità? NB: la ricerca dell algoritmo deve progredire insieme all esecuzione dell agente... 2

Ricerca in profondità online Nota: creazione di punti di backtracking risalita a tali punti durante la ricerca (esempio lavagna) La ricerca in profondità può essere resa online se: le operazioni di backtracking sono simulabili attraverso (sequenze di) azioni eseguite dall agente che mi riportano in uno stato del mondo corrispondente allo stato della ricerca dove si è in contrato il punto di backtracking Il grafo/albero di ricerca è bidirezionale 3 Ricerca in profondità online NB: unbacktrack[s ] = non è aggiornato se a è azione di reverse

Ricerca in profondità esercizio (da completare) 5 Ricerca in profondità esercizio (soluzione) 6

Ricerca locale online: esempio random walk S G 7 Ricerca locale online con apprendimento di h(n): esempio (a) 8 9 2 2 3 (b) 8 9 3 2 3 (c) 8 9 3 3 (d) 8 9 5 3 (e) 8 9 5 5 3 8

Ricerca locale online 9