Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi in una qualsiasi delle caselle adiacenti a meno che non sia occupata da un ostacolo. La posizione iniziale dell agente corrisponde alla posizione in basso a sinistra e l obbiettivo dell agente è di raggiungere la posizione in alto a destra. Formalizzare il problema di trovare una sequenza di spostamenti dell agente per raggiungere l obiettivo. Considerare un ambiente costituito da una griglia con [1,1] corrispondente alla posizione iniziale dell agente e con ostacoli in [2,2] [2,] (a) caratterizzare lo spazio degli stati, lo stato iniziale e lo stato obiettivo (b) caratterizzare gli operatori (c) costruire gli stati raggiungibili a partire dallo stato iniziale con un singolo operatore (d) costruire una soluzione ottima per raggiungere l obiettivo a partire dallo stato iniziale. Disegnare l albero di ricerca con l indicazione delle operazioni sugli archi e dello stato sui nodi. Indicare i nodi di fallimento in cui non è possibile proseguire la ricerca ed i nodi già visitati. Ricerca e Pianificazione Si consideri una macchina (tipo slot-machine, ma deterministica) con tre pulsanti che consentono di cambiare il valore mostrato in corrispondenza di ciascun pulsante. I valori ammissibili sono le cifre comprese tra 0 e 4. Ciascun pulsante cambia il valore mostrato sommando (modulo 5). La somma dei tre numeri sul display non può mai essere maggiore di 10 e minore di 4, a meno che i valori non siano tutti uguali. Si consideri lo stato iniziale in cui viene mostrato 1,,2 e lo stato obiettivo in cui viene mostrato 1,1,1. 1
Formalizzare il problema di trovare una sequenza di operazioni per raggiungere la configurazione finale come un problema di ricerca. (a) caratterizzare lo spazio degli stati, lo stato iniziale e lo stato obiettivo (b) caratterizzare gli operatori (c) costruire gli stati raggiungibili a partire dallo stato iniziale con un singolo operatore (d) costruire una soluzione ottima per raggiungere l obiettivo a partire dallo stato iniziale. Disegnare l albero di ricerca con l indicazione delle operazioni sugli archi e dello stato sui nodi. Indicare i nodi di fallimento in cui non è possibile proseguire la ricerca ed i nodi già visitati. Posizionamento dispositivi Si consideri un ambiente costituito da una griglia 2 2 che deve essere ricoperta con dispositivi di 2 tipi (A,B). Inizialmente la griglia é vuota e si possono poizionare i dispositivi uno alla volta, rispettando i seguenti vincoli. Un dispositivo di tipo A puó essere posizionato in una casella solo se questa non è già occupata da un altro dispositivo di tipo A (se la casella è occupata da un dispositivo di tipo B, il dispositivo di tipo A si sovrappone ed elimina il dispositivo di tipo B). Un dispositivo di tipo B puó essere posizionato in una casella solo se questa non è già occupata da un altro dispositivo. Non sono ammissibili gli stati con due dispositivi dello stesso tipo su una riga o su una colonna. L obbiettivo è di ricoprire completamente la griglia. Formalizzare il problema di trovare una sequenza di posizionamento dei dispositivi per raggiungere l obiettivo. (a) caratterizzare lo spazio degli stati, lo stato iniziale e gli stati obiettivo (b) caratterizzare gli operatori (c) costruire gli stati raggiungibili a partire dallo stato iniziale con un singolo operatore (d) costruire una soluzione ottima per raggiungere l obiettivo a partire dallo stato iniziale. Disegnare l albero di ricerca con l indicazione delle operazioni sugli archi e dello stato sui nodi. Indicare i nodi di fallimento in cui non è possibile proseguire la ricerca ed i nodi già visitati. 2
Display Si consideri il seguente gioco: un display mostra un numero costituito da tre cifre c 1, c 2 e c 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 delle altre due cifre. Affrontare questo problema modellandolo e risolvendolo come problema di ricerca in un opportuno spazio degli stati, articolando la soluzione nei seguenti punti: (a) Presentare un adeguata formalizzazione del dominio e scriverne gli operatori; (b) Si supponga 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); Numeri Si consideri il seguente gioco, che coinvolge i numeri a tre cifre tra 100 e 999. Sono dati due numeri chiamati S (Start) e G (Goal). È anche dato un insieme di numeri P roibiti. Una mossa del gioco consiste nel cambiare una cifra in un numero, aggiungendo o togliendo 1. Quindi per esempio, una mossa trasforma 678 in 688 o 21 in 11. Le mosse debbono rispettare i seguenti vincoli: Non si può aggiungere 1 alla cifra 9, né sottrarre 1 allo 0. Non si può fare una mossa se il numero risultante appartiene all insieme P roibiti. Non si può modificare la cifra nella stessa posizione in due mosse consecutive. Per esempio 1 14 15 è vietato, mentre 1 14 414 è permesso. caratterizzare lo spazio degli stati caratterizzare gli operatori
Risolvere il gioco generando una sequenza che porta da S=567 a G=777 P roibiti = {666, 667} nel minor numero di mosse. Disegnare l abero di ricerca della soluzione. 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 di appoggio; le condizioni per effettuare gli spostamenti sono: tutti i dischi, tranne quello spostato, devono stare su una delle torri è 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 1 2 1 2 4
Formalizzare la soluzione del gioco delle torri di Hanoi come un problema di ricerca. caratterizzare lo spazio degli stati e gli opratori caratterizzare lo stato iniziale e lo stato obiettivo costruire l albero di ricerca con la tecnica di ricerca a profondità limitata con n = 4 per il problema di dischi. 0.1 Palude Si consideri un area paludosa costituita da R C zone quadrate, con R ed C noti, ognuna delle quali può essere una zona di terraferma (transitabile) o una zona di sabbia mobile (non transitabile). Ogni zona della palude è identificata da una coppia di coordinate [r, c], con 0 r < R e 0 c < C. Diremo che r rappresenta la riga e c la colonna della zona [r, c]. Per passaggio si intende una sequenza di zone di terraferma adiacenti che attraversano la palude da sinistra (colonna pari a 0) a destra (colonna pari ad C 1). Siamo interessati ai passaggi in cui ad ogni passo ci si muove verso destra, per cui da una zona in colonna c si va ad una zona in colonna c + 1. In altre parole, la zona in posizione [r, c] si considera adiacente alle zone in posizione [r 1, c + 1], [r, c + 1] e [r + 1, c + 1]Il problema è trovare un passaggio se esiste. Nella figura che segue, il carattere # rappresenta una zona di terraferma mentre il carattere o rappresenta una zona di sabbia mobile. La palude 1 è senza passaggi, mentre la palude 2 ha un passaggio (evidenziato). 0 1 2 4 5 0 * o o * o o 1 o * o o o o 2 o o * * o o * * o o o o 4 * * * o * * Palude 1 0 1 2 4 5 0 * o o * o o 1 * o o o o o 2 o * o o o * o o * * * o 4 o * o o o o Palude 2 Formalizzare la soluzione dell attraversamento della palude come un problema di ricerca. caratterizzare lo spazio degli stati 5
caratterizzare lo stato iniziale e finale caratterizzare gli operatori descrivere la costruzione della soluzione con la tecnica di ricerca ad approfondimento iterativo, con riferimento all esempio presentato, specificando l ordine con il quale vengono visitati gli stati. Domande 1. Spiegare il concetto di agente razionale e fornire un esempio. 2. Gli agenti con riflessi semplici tengono in conto le conseguenze delle loro azioni passate?. Uno scenario in cui una delle mosse possibili è lancia un dado è completamente deterministico? 4. Descrivere un agente con riflessi semplici e fornire un esempio. 5. Descrivere la tecnica di ricerca golosa e fornire un esempio riferito al problema in esame. 6. Descrivere la ricerca bidirezionale e descriverne l applicazione al problema in esame. 7. Descrivere IDA* e discuterne le prestazioni in relazione ad A*. 8. Descrivere A* ed indicare una euristica per il problema in esame nel caso n n. 9. Discutere la completezz ed il costo della ricerca in profondità. 10. Descrivere l algoritmo simulated annealing 11. Definire la funzione di valutazione dei nodi usata dall algoritmo A* e spiegare la differenza con la ricerca golosa. 12. Fornire la definizione di euristica ammissibile, e fornire un esempio. 1. Spiegare il significato di Partial Order Planning. 14. Descrivere la differenza tra spazio (di ricerca) degli stati e dei piani. 15. Spiegare il significato delle operazioni di progressione e regressione. 6