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

Documenti analoghi
Ricerca Automatica. Esercitazione 3. Ascensore. Ascensore. Ascensore

Ricerca Automatica. Esercitazione 2. Formalizzazione dei problemi di ricerca. LPC: lo spazio degli stati S. Attraversamento del fiume: LPC

Pile Le pile: specifiche e realizzazioni attraverso rappresentazioni sequenziali e collegate. Pile e procedure ricorsive

Intelligenza Artificiale

Intelligenza Artificiale. Ricerca euristica Algoritmo A*

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

TECNOLOGIE INFORMATICHE MULTIMEDIALI

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

Ricorsione. La ricorsione consiste nella possibilità di definire una funzione in termini di se stessa

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative.

Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni.

Il Piacere della Logica. La Torre di Hanoi. Il Piacere della Logica. Prof. Ivano Coccorullo

Torre di Hanoi. di Davide Bugli e Matteo Roselli rivista da Stefano Cacciaguerra Ph. D. in Informatica

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

La codifica. dell informazione

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

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

Corso di Matematica per la Chimica

Esercizi proposti 10

Algoritmo basato su cancellazione di cicli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

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

Operatori di relazione

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

F. Descrizione delle regole che governano il gioco

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

PROBLEMI ALGORITMI E PROGRAMMAZIONE

1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI

Rappresentazione dei Numeri

Ottimizzazione e Controllo 2015/2016 ESERCITAZIONE

PIANO CARTESIANO e RETTE classi 2 A/D 2009/2010

I numeri reali sulla retta e nei calcoli. Daniela Valenti, Treccani scuola

Alberi e alberi binari I Un albero è un caso particolare di grafo

Algoritmi di Ricerca

Conversioni di base: riassunto

Informatica, Algoritmi, Linguaggi

Heap e code di priorità

Agenti basati su Ricerca: Introduzione

PROGRAMMAZIONE DISCIPLINARE ISTITUTO TECNICO MATEMATICA. Competenze da conseguire alla fine del IV anno relativamente all asse culturale:

TORRI DI HANOI E CAMMINI HAMILTONIANI

Esercitazione del 09/03/ Soluzioni

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi

Unità aritmetica e logica

Laurea Magistrale in Cinema e Media Corso di Rappresentazione e Algoritmi Modulo I - 6 CFU

Fondamenti di Programmazione. Sistemi di rappresentazione

Esempi. non. orientato. orientato

Esercizi di Algoritmi e Strutture Dati

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

Sviluppo di programmi

ITLCC 2006/10/6 19:09 page 7 #3

FUNZIONI BOOLEANE. Vero Falso

Algoritmi e Strutture Dati

9In questa sezione. Ordinare e filtrare i dati. Dopo aver aggiunto dati ai fogli di lavoro, potresti voler

Cosa è l Informatica?

Somma di due o più numeri naturali

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

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi

Dr. S. Greco Polito, Instradamento

SOLUZIONI. u u In un quadrato magico sommando gli elementi di una riga, di una

= < < < < < Matematica 1

UNIVERSITA DEGLI STUDI DI PERUGIA

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Programmazione II Università di Roma "La Sapienza" Appunti a cura della Prof.ssa FACHINI. Ricorsione per il "problem solving" Il problema del cambio.

REGOLAMENTO TESORO DEL CAPITANO

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo

Codifica. Rappresentazione di numeri in memoria

Scale Logaritmiche. Matematica con Elementi di Statistica a.a. 2015/16

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

Strutture dati per rappresentare grafi

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Corso di elettrotecnica Materiale didattico: i grafi

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

OBIETTIVI DI APPRENDIMENTO CONTENUTI ABILITÀ

Trasformazioni Logaritmiche

Laboratorio di Algoritmi e Strutture Dati. Code con Priorità

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a

Soluzione del problema come ricerca in uno spazio degli stati:

2. Algoritmi e Programmi

Come ragiona il computer. Problemi e algoritmi

PROVETTE D ESAME. Algoritmi e Strutture Dati

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

Diagrammi a blocchi 1

Bosi (a cura di), Corso di scienza delle finanze, il Mulino, 2012 Capitolo I, lezione 1 Il problema e alcune premesse

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Soluzione Esercizio 1

Corso di Architettura degli Elaboratori

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

Rappresentazione dei numeri reali in un calcolatore

Fondamenti della Matematica a.a LUMSA. Basi di numerazione. Scrittura in forma polinomiale e scrittura in una base

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Note sull implementazione in virgola fissa di filtri numerici

Studio di circuiti contenenti diodi Uso di modelli semplificati

INTERPOLAZIONE. Introduzione

Fondamenti di Programmazione. Sistemi di rappresentazione

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Tecniche di Ordinamento dei Vettori

La codifica. dell informazione

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

Transcript:

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

Ascensore In un grattacielo ci sono 3 coppie formate da marito e moglie. Il cancello delle scale viene chiuso e l unico modo per scendere è con l ascensore che può portare 3 persone alla volta e deve sempre portare almeno un passeggero. I mariti non vogliono che le rispettive mogli si ritrovino in presenza di altri mariti se non sono presenti essi stessi. Come devono scendere le 3 coppie senza crisi di gelosia? Formalizzare la soluzione come un problema di ricerca. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 1

Ascensore (3a) (2 p.) caratterizzare lo spazio degli stati lo stato iniziale e lo stato obiettivo (3a) r. Lo spazio degli stati è costituito dalle possibili disposizioni tra piano terra ed ultimo piano delle 3 coppie e dell ascensore. Una possibile rappresentazione dello stato è data da: C C C boolean dove C = boolean boolean, in cui il valore 1 rappresenta la posizione all ultimo piano e si assume che in una coppia vengano indicati nell ordine moglie e marito. stato iniziale: < c(1, 1), c(1, 1), c(1, 1), 1 > stato finale: < c(0, 0), c(0, 0), c(0, 0), 0 > Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 2

Ascensore (3b) (2 p.) caratterizzare gli operatori (3b) r. Gli operatori sono: scendi(x) dove x rappresenta una combinazione di persone compresa tra 1 e 3, l operatore è applicabile se le persone indicate sono all ultimo piano e se l ascensore si trova all ultimo piano; x può essere rappresentato con le stesse convenzioni usate per lo stato: ad esempio c(0, 1), c(0, 1), c(0, 1) è un parametro valido per l operazione sali(x) dove x rappresenta una combinazione di persone compresa tra 1 e 3, l operatore è applicabile se le persone indicate e l ascensore si trovano al piano terra; la condizione di applicabilità degli operatori richiede inoltre che quando una moglie si trova in ascensore o al Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 3

piano terra o all ultimo piano senza marito, non siano presenti anche altri mariti: Ad esempio c(1, 0), c(x, 1), c(x, X) non è una configurazione ammissibile. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 4

Ascensore (3c) (2 p.) costruire gli stati raggiungibili a partire dallo stato iniziale con un singolo operatore (3c) r. Y = scendi(c(1, 1), c(0, 0), c(0, 0)) S = stato(c(0, 0), c(1, 1), c(1, 1), 0) ; Y = scendi(c(0, 1), c(0, 1), c(0, 1)) S = stato(c(1, 0), c(1, 0), c(1, 0), 0) ; Y = scendi(c(1, 0), c(1, 0), c(1, 0)) S = stato(c(0, 1), c(0, 1), c(0, 1), 0) ; Y = scendi(c(1, 0), c(1, 0), c(0, 0)) S = stato(c(0, 1), c(0, 1), c(1, 1), 0) ; Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 5

Y = scendi(c(1, 0), c(0, 0), c(1, 0)) S = stato(c(0, 1), c(1, 1), c(0, 1), 0) ; Y = scendi(c(1, 0), c(0, 0), c(0, 0)) S = stato(c(0, 1), c(1, 1), c(1, 1), 0) ; Y = scendi(c(0, 0), c(1, 1), c(0, 0)) S = stato(c(1, 1), c(0, 0), c(1, 1), 0) ; Y = scendi(c(0, 0), c(1, 0), c(1, 0)) S = stato(c(1, 1), c(0, 1), c(0, 1), 0) ; Y = scendi(c(0, 0), c(1, 0), c(0, 0)) S = stato(c(1, 1), c(0, 1), c(1, 1), 0) ; Y = scendi(c(0, 0), c(0, 0), c(1, 1)) Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 6

S = stato(c(1, 1), c(1, 1), c(0, 0), 0) ; Y = scendi(c(0, 0), c(0, 0), c(1, 0)) S = stato(c(1, 1), c(1, 1), c(0, 1), 0) ; Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 7

Ascensore (3d) (4 p.) costruire una soluzione con la tecnica di ricerca in profondità. (3d) r. stato(c(1, 1), c(1, 1), c(1, 1), 1) scendi(c(1, 0), c(1, 0), c(1, 0)) stato(c(0, 1), c(0, 1), c(0, 1), 0) sali(c(0, 0), c(0, 0), c(1, 0)) stato(c(0, 1), c(0, 1), c(1, 1), 1) scendi(c(0, 1), c(0, 1), c(0, 1)) stato(c(0, 0), c(0, 0), c(1, 0), 0) sali(c(0, 0), c(0, 0), c(0, 1)) stato(c(0, 0), c(0, 0), c(1, 1), 1) scendi(c(0, 0), c(0, 0), c(1, 1)) stato(c(0, 0), c(0, 0), c(0, 0), 0) Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 8

Torri di Hanoi Il gioco delle Torri di Hanoi ha origine da un antica leggenda Vietnamita, secondo la quale un gruppo di monaci sta spostando una torre di 64 dischi (secondo la leggenda, quando i monaci avranno finito, verrà la fine del mondo). Lo spostamento della torre di dischi avviene secondo le seguenti regole: inizialmente, la torre di dischi di dimensione decrescente è posizionata su un perno 1; l obiettivo è quello di spostarla su un perno 2, usando un perno 3 di appoggio; le condizioni per effettuare gli spostamenti sono: tutti i dischi, tranne quello spostato, devono stare su una delle torri Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 9

è possibile spostare un solo disco alla volta, dalla cima di una torre alla cima di un altra torre; un disco non può mai stare su un disco più piccolo. Lo stato iniziale, uno stato intermedio, e lo stato finale per un insieme di 6 dischi sono mostrati nelle seguenti figure: 1 2 3 1 2 3 1 2 3 Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 10

Formalizzare la soluzione del gioco delle torri di Hanoi come un problema di ricerca. caratterizzare lo spazio degli stati caratterizzare lo stato iniziale e lo stato obiettivo definire gli operatori costruire l albero di ricerca con la tecnica di ricerca a profondità limitata con n = 3 per il problema di 3 dischi. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 11

Torri di Hanoi: stati caratterizzare lo spazio degli stati lo stato iniziale e lo stato obiettivo gli stati vengono rappresentati tramite terne di liste ordinate (in ordine crescente) di interi (LO), che indicano il diametro dei dischi. LO LO LO Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 12

Torri di Hanoi: stati 1 2 3 < [1, 2, 3], [], [] > 1 2 3 < [], [1, 2, 3], [] > Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 13

Torri di Hanoi: operatori definire gli operatori muovi13() :< [X Xs], Y, Z > < Xs, Y, [X Z] > muovi23() :< X, [Y Y s], Z > < X, Y s, [Y Z] > muovi12() :< [X Xs], Y, Z > < Xs, [X Y ], Z > muovi21() :< X, [Y Y s], Z > < [Y X], Y s, Z > muovi31() :< X, Y, [Z Zs] > < [Z X], Y, Zs > muovi32() :< X, Y, [Z Zs] > < X, [Z Y ], Zs > muovisd si può eseguire se la condizione sul diametro dei dischi è soddisfatta nello stato destinazione. Inoltre il disco da spostare deve essere presente nello stato sorgente, ma questo è implicato dalla definizione con le liste non vuote. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 14

Slot machine Si consideri il seguente gioco: un display mostra un numero costituito da tre cifre c 1, c 2 e c 3 appartenenti all insieme {0, 1, 2}. Sotto ogni cifra c i è presente un pulsante p i. Il giocatore può premere i pulsanti - uno alla volta - in successione. L effetto della pressione del pulsante p i è quello di sostituire alla cifra c i la somma modulo 3 delle altre due cifre. Modellare la soluzione del gioco come problema di ricerca in un opportuno spazio degli stati. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 15

Slot machine: stati Descrivere lo spazio degli stati; Lo spazio degli stati è rappresentato dai valori dei pulsanti: P P P con P = {0, 1, 2}. stato iniziale < 0, 1, 2 > stato finale < 2, 1, 0 > Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 16

Slot machine: operatori Descrivere gli operatori; b1 :< X, Y, Z > < Y + 3 Z, Y, Z > b2 :< X, Y, Z > < X, X + 3 Z, Z > b2 :< X, Y, Z > < X, Y, X + 3 Y > Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 17

Slot machine: soluzione Supporre che all inizio il display mostri 0, 1, 2 ; rappresentare l albero di ricerca che si ottiene visitando lo spazio degli stati in ampiezza a partire da tale stato iniziale e fino a individuare la più breve pressione di tasti che conduce allo stato 2, 1, 0 (si eviti di espandere più volte uno stesso stato); b3 :< 0, 1, 2 > < 0, 1, 1 > b1 :< 0, 1, 1 > < 2, 1, 1 > b3 :< 2, 1, 1 > < 2, 1, 0 > Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 18

Ricerca: domande 1. La ricerca in profondità può non terminare su alberi di ricerca con fattore di ramificazione finito [vero o falso?]; 2. Se il fattore di ramificazione è finito e lo spazio degli stati ha profondità infinita, la ricerca in ampiezza è completa [vero o falso?]; 3. La ricerca in ampiezza espande sempre meno nodi rispetto a quella in profondità [vero o falso?]. 4. Il costo di spazio della ricerca in profondità è lineare nella profondità dell albero di ricerca [vero o falso?]. 5. A differenza degli algoritmi di ricerca in ampiezza, gli algoritmi ad approfondimento iterativo possono trovare come prima soluzione una soluzione che richiede un numero di passi non minimale [vero o falso?] Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 19

6. Un euristica si considera ammissibile quando non è mai inferiore del costo effettivo per raggiungere l obiettivo [vero o falso?]. 7. Definire la funzione di valutazione dei nodi usata dall algoritmo A* e spiegare la differenza con la ricerca golosa. 8. Descrivere il principio della ricerca simulated annealing. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 20

Domande e Risposte 1 (3e)(2 p.) Illustrare le differenze tra la ricerca golosa e la ricerca euristica con A*. (3e) r. La ricerca golosa minimizza il costo stimato per ottenere la soluzione, mentre la ricerca A* minimizza il costo del cammino totale, cioè il costo per raggiungere il nodo corrente + il il costo stimato per ottenere la soluzione. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 21

Domande e Risposte 2 (3e)(2 p.) Qual è il vantaggio principale della ricerca ad approfondimento iterativo rispetto alla ricerca in ampiezza e rispetto alla ricerca in profondità. (3e) r. Rispetto alla ricerca in ampiezza la ricerca ad approfondimento iterativo usa meno memoria (lineare anzichè esponenziale) e rispetto alla ricerca in profondità è completa ed ottimale (se il fattore di ramificazione è finito). Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 22