FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)



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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE M 15 Luglio 2010 Tempo a disposizione 2h 45min Risultato 32/32 punti

Intelligenza Artificiale

da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti

Ricerca Automatica. Esercitazione 3. Ascensore. Ascensore. Ascensore

1 Giochi a due, con informazione perfetta e somma zero

Valutazione della Didattica On-Line

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale

Ottimizzazione in ECLiPSe

Il Metodo Branch and Bound

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

Obiettivo del gioco. Contenuto del gioco: Dedico questo gioco alle mie sorelle Ilona, Kasia e Mariola. Adam Kałuża

Intelligenza Artificiale Ing. Tiziano Papini

Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Lezione 8. La macchina universale

Lezione 9: Cambio di base

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Politecnico di Milano Facoltà di Ingegneria dell Informazione AGENTI AUTONOMI E SISTEMI MULTIAGENTE Appello COGNOME E NOME

Vincoli di integrità

Comparatori. Comparatori di uguaglianza

SPECTER OPS. L'obiettivo del giocatore agente è quello che il suo agente completi 3 su 4 missioni obiettivo qualsiasi

9. Urti e conservazione della quantità di moto.

Matematica generale CTF

Come ragiona il computer. Problemi e algoritmi

La pista del mio studio Riflettiamo sulla pista. Guida per l insegnante

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007

Funzioni in C. Violetta Lonati

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Introduzione. Preparazione. 4) Ordina i titoli azionari di ogni Compagnia in una pila separata vicino alla plancia di gioco.

B+Trees. Introduzione

Calcolo del Valore Attuale Netto (VAN)

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Figura Numero di triangolini

( x) ( x) 0. Equazioni irrazionali

Studente: SANTORO MC. Matricola : 528

Esercizi svolti di Elettrotecnica

BASE DI DATI: sicurezza. Informatica febbraio ASA

Dimensione di uno Spazio vettoriale

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

LE FUNZIONI A DUE VARIABILI

e-dva - eni-depth Velocity Analysis

Calcolatori: Algebra Booleana e Reti Logiche

Effetto reddito ed effetto sostituzione.

1 Estensione in strategia mista di un gioco

La programmazione con vincoli in breve. La programmazione con vincoli in breve

Funzioni. Parte prima. Daniele Serra

Guida Compilazione Piani di Studio on-line

risulta (x) = 1 se x < 0.

MODELLISTICA DI IMPIANTI E SISTEMI 2

Dimostrare alla Scuola media: dal perché al rigore spontaneamente

Algoritmi e strutture dati. Codici di Huffman

1. PRIME PROPRIETÀ 2

Equilibrio bayesiano perfetto. Giochi di segnalazione

Ottimizzazione Multi Obiettivo

ALGORITMO DEL SIMPLESSO

mese richiesta

RISOLUTORE AUTOMATICO PER SUDOKU

Testi di Esercizi e Quesiti 1

REGOLAMENTO KONG THE 8 TH WONDER OF THE WORLD

Scopo del Gioco. Componenti

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Una ricetta per il calcolo dell asintoto obliquo. Se f(x) è asintotica a mx+q allora abbiamo f(x) mx q = o(1), da cui (dividendo per x) + o(1), m =

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

1. Limite finito di una funzione in un punto

Nozione di algoritmo. Gabriella Trucco

Appunti sulla Macchina di Turing. Macchina di Turing

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job.

La valutazione dell opinione degli studenti sulla didattica

(a cura di Francesca Godioli)

I PROBLEMI ALGEBRICI

Prodotto Disponibilità Costo e rispettando le seguenti regole di composizione delle benzine:

Ascrizioni di credenza

I CIRCUITI ELETTRICI. Prima di tutto occorre mettersi d accordo anche sui nomi di alcune parti dei circuiti stessi.

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Esercitazione N7:Gioco dei 21 fiammiferi (impariamo java giocando)

Ricerca non informata in uno spazio di stati

Esempi di algoritmi. Lezione III

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Figura Numero di triangolini

2 + (σ2 - ρσ 1 ) 2 > 0 [da -1 ρ 1] b = (σ ρσ1 σ 2 ) = (σ 1

Considerazioni preliminari sul dominio

MATEMATICA 5 PERIODI

DA GIOCHI D AUTUNNO 2006 SOLUZIONI E COMMENTI

Capitolo 13. Interrogare una base di dati

Il Problem-Based Learning dalla pratica alla teoria

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

S- magari si potrebbe dire la prima riga, la seconda riga UNITÀ DIDATTICA: TESTO POETICO. Obiettivi

CALORE. Compie lavoro. Il calore è energia. Temperatura e calore. L energia è la capacità di un corpo di compiere un lavoro

intranet.ruparpiemonte.it

Transcript:

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 13 Febbraio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (punti 6) Si esprimano in logica dei predicati del I ordine le seguenti frasi: Si compie un atto illegale acquistando oggetti rubati. Giovanni possiede alcuni oggetti rubati. Mario acquista tutti gli oggetti che Giovanni possiede. Le si trasformi in clausole, e si dimostri poi, usando la risoluzione, che Mario compie un atto illegale. A tal scopo si usino i seguenti predicati: atto_ill(x) indica che X ha compiuto un atto illegale; acquista(x,y) indica che X acquista Y; possiede(x,y) indica che X possiede Y; rubato(x) indica che X è rubato. Esercizio 2 (punti 5) Si consideri il seguente albero di gioco in cui la valutazione dei nodi terminali è dal punto di vista del primo giocatore (MAX). Si mostri come gli algoritmi min-max e alfa-beta risolvono il problema.

Esercizio 3 (punti 6) Andrea, Bebo e Carlo (A, B, C) sono tre bambini, rispettivamente di età compresa tra 2 e 10 anni (Andrea, estremi inclusi), e di età compresa tra 1 e 10 anni (Bebo e Carlo, estremi inclusi). Andrea ha il doppio degli anni di Carlo. Bebo ha un età pari alla metà della differenza in anni tra Andrea e Carlo. Le loro mamme (MA, MB, MC) sono molto amiche e hanno più o meno la stessa età (compresa tra 36 e 40, estremi inclusi). La mamma di Carlo ha dieci volte l età di Andrea. La mamma di Andrea ha l età che aveva la mamma di Carlo quando è nato Carlo. La mamma di Bebo ha un età che è venti volte la differenza di età della mamma di Carlo e della mamma di Andrea. Si definisca il problema come CSP, e lo si risolva applicando la tecnica del Forward Checking (FC) dopo ogni passo di labeling. Si parta scegliendo per il primo passo di labeling la variabile A. Si scelga sempre la variabile successiva da istanziare secondo il principio MRV (Minimum Remaining Value). Nei casi non deterministici si scelga prima una variabile bambino rispetto a una mamma. I valori del dominio siano provati secondo l ordine crescente. Nel passo di propagazione FC si propaghino solo i vincoli nei quali resta una sola variabile futura non istanziata. Esercizio 4 (punti 5) Definire il programma Prolog e il goal con cui si può modellare e risolvere, con un approccio del tipo Generate&Test, il CSP dell Esercizio 3. Nota bene: per generare le possibili instanziazioni per ciascuna variabile è sufficiente utilizzare la versione generativa del predicato member/2 (visto a lezione, e da riportare nella soluzione proposta); per verificare se le variabili istanziate soddisfano i vincoli, si definisca un opportuno predicato test/6 con le condizioni espresse dai vincoli artimetici sulle variabili. Si mostri infine un possibile goal che, invocando member/2 (per ogni variabile) e test/6 in maniera opportuna, fornisca la soluzione al problema. Esercizio 5 (punti 6) Si consideri il seguente problema di mondo a blocchi, nel quale si vuole passare dallo stato iniziale allo stato goal: Le mosse consentite sono spostare uno o più blocchi liberi sul piano o sopra un altro blocco (o pila di blocchi). Si mostri come l algoritmo A* trova una soluzione, considerando l euristica che conta il numero di blocchi fuori posto. Un blocco è fuori posto se la colonna di blocchi sottostanti ad esso non è corretta rispetto alla configurazione da raggiungere). Ad esempio, nello stato iniziale, la funzione euristica vale 3, perché tutti i blocchi sono fuori posto eccetto A. Questa euristica sovrastima o meno la distanza dallo stato goal (non è o è ammissibile)? Trova la soluzione ottima? Esercizio 6 (punti 4) Si spieghi cosa si intende per pianificazione classica e per pianificazione reattiva, illustrandone le differenze, i vantaggi e gli svantaggi.

Esercizio 1 FONDAMENTI DI INTELLIGENZA ARTIFICIALE 13 Febbraio 2015 Soluzioni In logica dei predicati del I ordine: X Y acquista(x,y) and rubato(y) -> compie_atto_illegale(x) X possiede(giovanni,x) and rubato(x). X possiede(giovanni,x)->acquista(mario,x) Goal: compie_atto_illegale(mario) In forma a clausole: C1: not acquista(x,y)or not rubato(y) or compie_atto_illegale(x) C2: possiede(giovanni,c1) C3: rubato(c1) C4: not possiede(giovanni,x) or acquista(mario,x) Goal negato: C5 not compie_atto_illegale(mario) Risoluzione Da C5 e C1, C6: not acquista(mario,y)or not rubato(y) Da C6 e C3, C7: not acquista(mario,c1) Da C7 e C4, C8: not possiede(giovanni,c1) Da C8 e C2 segue la contraddizione. Esercizio 2 Min-Max:

Alfa-Beta: I nodi che portano alla soluzione sono in giallo, quelli tagliati in bianco. Esercizio 3 Nonostante dal problema si possa evincere facilmente che A e C sono pari, e quindi anche MC ed MB, tali conclusioni non si dovrebbero applicare nell uso della tecnica FC, poiché sarebbero equivalenti ad un passo di arc-consistency. Quindi i domini sono: A::[2,3,4,5,6,7,8,9,10] B,C::[1,2,3,4,5,6,7,8,9,10] MA,MB,MC::[36,37,38,39,40] A = 2*C B = (A-C)/2 MC = 10*A MA = MC-C MB = 20*(MC-MA) Considerando le variabili a partire da A (e scegliendo la variabile successiva secondo il MRV nei passi di labeling, e nei casi non deterministici scegliendo prima una variabile bambino rispetto a una mamma ) e applicando il FC dopo ogni passo di labeling: A B C MA MB MC [2,3,4,5,6,7,8,9,10] [1,2,3,4,5,6,7,8,9,10] [1,2,3,4,5,6,7,8,9,10] [36,37,38,39,40] [36,37,38,39,40] [36,37,38,39,40] Labeling e FC A=2 [1,2,3,4,5,6,7,8,9,10] [1] [36,37,38,39,40] [36,37,38,39,40] Fail Backtracking Labeling e FC A=3 [1,2,3,4,5,6,7,8,9,10] Fail [36,37,38,39,40] [36,37,38,39,40] Fail Backtracking Labeling e FC A=4 [1,2,3,4,5,6,7,8,9,10] [2] [36,37,38,39,40] [36,37,38,39,40] [40] Labeling e FC [1] C=2 [36,37,38,39,40] [36,37,38,39,40] [40] Labeling e FC B=1 [36,37,38,39,40] [36,37,38,39,40] [40] Labeling e FC [38] [36,37,38,39,40] MC=40 Labeling e FC MA=38 [40] Labeling MB=40

Esercizio 4 %predicato member generativo: member( X, [ X _]). member( X, [ _ T]) :- member( X, T). % predicato di test: test( A, B, C, MA, MB, MC) :- A is 2*C, B is ((A-C)/2), MC is 10*A, MA is MC-C, MB is 20*(MC-MA). Goal:?- member( A, [2,3,4,5,6,7,8,9,10]), member( B, [1,2,3,4,5,6,7,8,9,10]), member( C, [1,2,3,4,5,6,7,8,9,10]), member( MA, [36,37,38,39,40]), member( MB, [36,37,38,39,40]), member( MC, [36,37,38,39,40]), test( A, B, C, MA, MB, MC). Risposta: A = 4, B = 1, C = 2, MA = 38, MB = 40, MC = 40. Esercizio 5 L algoritmo trova la soluzione a profondità 3, prima di quella ottima a profondità 2, poiché la funzione euristica non è ammissibile (sovrastima la distanza dal goal). Esercizio 6 Vedi slide del corso.