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



Documenti analoghi
FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

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

Intelligenza Artificiale

FONDAMENTI*DI*INTELLIGENZA*ARTIFICIALE*

e-dva - eni-depth Velocity Analysis

Ottimizzazione Multi Obiettivo

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

LE FUNZIONI A DUE VARIABILI

Ancora su diagnosi. Lezione 9 giugno. Conoscenza incompleta e senso comune. Frameworks per il ragionamento basato su assunzioni

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Equilibrio bayesiano perfetto. Giochi di segnalazione

Basi di matematica per il corso di micro

1 Giochi a due, con informazione perfetta e somma zero

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

Corso di Informatica

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale

I sistemi di numerazione

Ricerca Automatica. Esercitazione 3. Ascensore. Ascensore. Ascensore

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE

Testi di Esercizi e Quesiti 1

risulta (x) = 1 se x < 0.

PIL : produzione e reddito

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.

Dimensione di uno Spazio vettoriale

Laboratorio di Algoritmi e Strutture Dati

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015

SQL/OLAP. Estensioni OLAP in SQL

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

Il Metodo Branch and Bound

della funzione obiettivo. Questo punto dovrebbe risultare chiaro se consideriamo una generica funzione:

Algoritmi e strutture dati. Codici di Huffman

Marco Tolotti - Corso di Esercitazioni di Matematica 12 Cfu - A.A. 2010/2011 1

b i 1,1,1 1,1,1 0,1,2 0,3,4

Esercizi svolti di Elettrotecnica

( x) ( x) 0. Equazioni irrazionali

Basi di dati 9 febbraio 2010 Compito A

Esercizi per il corso di Algoritmi e Strutture Dati

Transitori del primo ordine

USO DI EXCEL CLASSE PRIMAI

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

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

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Fondamenti e didattica di Matematica Finanziaria

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE

2. Leggi finanziarie di capitalizzazione

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

MODULO 5 ACCESS Basi di dati. Lezione 4

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

La distribuzione Normale. La distribuzione Normale

mese richiesta

Calcolatori Elettronici A a.a. 2008/2009

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)

4 3 4 = 4 x x x 10 0 aaa

S::= Aa bb bc A::= 1B 0 B::= 0A 1 C::= Cc d Si scriva un riconoscitore in Prolog del linguaggio generato da G. Suggerimento: si elimini la ricorsione

Corso di Matematica per la Chimica

NOME:... MATRICOLA:... Scienza dei Media e della Comunicazione, A.A. 2007/2008 Analisi Matematica 1, Esame scritto del x 1.

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

Lezione 4. Modello EER

Uso di base delle funzioni in Microsoft Excel

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

4. SERIE NUMERICHE FIGURALI

Il principio di induzione e i numeri naturali.

hnefatafl Hnefatafl Il gioco da tavolo del Re Regole - massimiliano.dellarovere[su]gmail.com -

Teoria dei Giochi. Anna Torre

Progettaz. e sviluppo Data Base

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

Matematica finanziaria: svolgimento prova di esame del 21 giugno 2005 (con esercizio 1 corretto)

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

Premio di merito Quando studiare ti conviene

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2011

Informatica (Basi di Dati)

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e

Alcune nozioni di base di Logica Matematica

ALGORITMO DEL SIMPLESSO

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

Corso di Laurea in Scienze e Tecnologie Biomolecolari. NOME COGNOME N. Matr.

B+Trees. Introduzione

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

GIOCHI A SQUADRE. 30 marzo 2012

Nozione di algoritmo. Gabriella Trucco

Matematica generale CTF

Traduzione e adattamento a cura di Gylas per Giochi Rari Versione 1.0 Luglio giochirari@giochirari.

Interpolazione ed approssimazione di funzioni

la scienza della rappresentazione e della elaborazione dell informazione

ESERCITAZIONE MATEMATICA FINANZIARIA OPZIONI. Matematica finanziaria Dott. Andrea Erdas Anno Accademico 2011/2012

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 9. Docente: Laura Palagi

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Creare una nuova spedizione personalizzata.

15 febbraio Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

Nota integrativa nel bilancio abbreviato

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Calcolatori: Algebra Booleana e Reti Logiche

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

Transcript:

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (7 punti) Si formalizzi in logica dei predicati del primo ordine la seguente base di conoscenza: Ogni cestino contiene arance, o banane, ma non contiene entrambi i tipi di frutta. Se un cestino è etichettato con un tipo di frutta, allora non contiene quel tipo di frutta. Se una persona possiede un cestino, ed è appassionata di un tipo di frutta, allora etichetta quel cestino con quel tipo di frutta. Se un tipo di frutta non piace ad Anna, allora piace a Betta. Anna possiede il cestino a. A Betta non piacciono le arance. In particolare, il candidato utilizzi unicamente: il predicato et(x, Y) per indicare che il cestino X ha l'etichetta Y ; il predicato con(x, Y) per il cestino X contiene la frutta Y"; il predicato poss(x, Y) per la persona X possiede il cestino Y ; e infine il predicato piace(x, Y) che alla persona X piace la frutta Y. Si utilizzi il principio di risoluzione per mostrare che Il cestino a contiene banane. Esercizio 2 (5 punti) Si consideri il seguente albero di gioco in cui la valutazione dei nodi terminali è dal punto di vista del primo giocatore (che è Max). Si mostri come gli algoritmi min-max e alfa-beta risolvono il problema.

Esercizio 3 (6 punti) Si consideri la seguente base di conoscenza Prolog: presente(x,t):- inizia(x,ti), Ti<T, not(interrotto(x,ti,t)). interrotto(x,t1,t2):- finisce(x,t), T1<T, T<T2. inizia(caldo,7). finisce(caldo,16). Si mostri l albero di derivazione SLDNF relativo al goal: not(presente(caldo,17)). Esercizio 4 (4 punti) Si definisca un predicato Prolog frontiera/2 che, dato un albero binario rappresentato da termini del tipo btree(radice,left,right) (nei quali l atomo void rappresenta l albero vuoto) e una lista L, ha successo se la lista contiene la frontiera dell'albero binario (ovvero tutte le sue foglie). Esempi:?- frontiera(btree(1,btree(2,void,void),btree(3,void,void)),[2,3]). yes?- frontiera(void,[]). yes?- frontiera(btree(1,btree(2,btree(5,void,void),void), btree(3,void,void)),[2,3]). no Esercizio 5 (7 punti) Si considerino tre elettrodomestici, lavatrice (W), lavastoviglie (D) e forno (O), i cui cicli hanno durata rispettivamente di 10, 12 e 15 unità di tempo. Gli istanti di tempo ai quali gli elettrodomestici possono essere accesi sono: DW={0,5,10,15,20,25}, DD={0,10,20,30} e DO={0,5,10}. I vincoli sul funzionamento degli elettrodomestici sono: nessun altro elettrodomestico può essere attivo mentre il forno è attivo, lavatrice e lavastoviglie non possono sovrapporre le loro attività nella prima metà del loro ciclo. Si vogliano trovare degli istanti di accensione dei tre elettrodomestici che soddisfano i vincoli. Le durate includono gli istanti iniziali. Per esempio, se la lavatrice inizia il ciclo all istante 0, l ultimo istante del ciclo è l istante 9. 1) Dato il CSP formulato sopra, lo si risolva usando l euristica Minimum Remaining Values (MRV) e il forward checking. Si considerino i valori nei domini in ordine crescente. Riportare l albero generato, indicando ad ogni nodo i domini delle variabili e la soluzione trovata. 2) Applicando la consistenza d arco ai domini iniziali, è possibile semplificare gli stessi domini prima di cercare una soluzione? Motivare la risposta. Esercizio 6 (3 punti) Si introduca il trattamento della negazione in Prolog. Si spieghi la differenza con la negazione classica ed i problemi che può introdurre. Si mostri poi la sua realizzazione in Prolog. VOTO: Esame da 6 CFU, il voto è determinato da questa I parte Esame da 9 CFU, è la media pesata della I parte (che vale 2/3) e della II (che vale 1/3) ovvero il voto finale è dato da: e varia quindi da 0 ad un massimo di 32 (equivalente alla lode).

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 2 parte (3 CFU) 12 Luglio 2012 Tempo a disposizione: 45 min Risultato: 32/32 punti Esercizio 7 (10 punti) Si introducano brevemente i modelli concettuali per la rappresentazione della conoscenza, quali tassonomie, thesaurus, e modelli concettuali, illustrando le differenze e citando qualche esempio noto di basi di conoscenza ascrivibile a tali modelli. Esercizio 8 (12 punti) Si scriva un-meta interprete che calcola anche il costo della soluzione raggiunta. In particolare si immagini che le clausole abbiano questa rappresentazione: clause(head,body,c). dove il terzo parametro è il costo. Il risultato riporterà il costo considerando quindi la somma del costo di tutte le clausole utilizzate per raggiungere la soluzione. Esercizio 9 (10 punti) Si modelli il seguente problema, indicandone lo stato iniziale, finale ed i suoi operatori in un linguaggio STRIPS-like. Si consideri un mondo costituito da cinque blocchi numerati da 1 a 5, e da un tavolo. Ciascuno dei blocchi può trovarsi sul tavolo oppure sopra un altro blocco. In figura sono mostrate tre possibili disposizioni dei blocchi. Partendo da una disposizione qualsiasi (ad esempio quella a sinistra in figura), l obiettivo consiste nel disporre i blocchi in un unica pila, con il blocco 5 sul tavolo e gli altri sopra di esso nell ordine indicato in figura (a destra), spostando il minor numero possibile di blocchi. L unica azione ammessa è lo spostamento di un blocco sul tavolo oppure sopra un altro blocco, purché sia il blocco da spostare che l eventuale blocco su cui questo viene posato non abbiano altri blocchi al di sopra. La posizione relativa delle diverse pile di blocchi non conta (per esempio, la disposizione a sinistra è equivalente a quella al centro). Gli operatori sono due: spostare il blocco X sopra il blocco Y (applicabile solo se sopra X e Y non ci sono altri blocchi, si considerino entrambi i sottocasi in cui X è sul tavolo o sopra un altro blocco), spostare il blocco X sopra il tavolo (applicabile solo se sopra X non ci sono altri blocchi ed X è sopra un altro blocco, nel caso contrario si avrebbe una mossa inutile). VOTO: Esame da 3 CFU, il voto è determinato da questa 2 parte Esame da 9 CFU, è la media pesata della 1 parte (che vale 2/3) e della 2 (che vale 1/3) ovvero il voto finale è dato da: e varia quindi da 0 ad un massimo di 32 (equivalente alla lode).

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte 12 Luglio 2012 Soluzioni Esercizio 1 Formalizzazione: 1.,, 2.,, 3.,,,, 4.,,,,,,,,, 5.,,,, 6., 7., 8. Goal:,, Esercizio 2 Soluzione 9. 8 1, :, 10. 9 3,, :, 11. 10 4,, :,, 12. 11 6, :, 13. 12 5, :, 14. 13 7, : min-max:

alfa-beta: I nodi non colorati sono quelli che vengono tagliati nell algoritmo alfa-beta (ci sono 4 tagli nel complesso). Esercizio 3 Albero SLD-NF:

Esercizio 4 frontiera(void,[]). frontiera(btree(x,void,void),[x]). frontiera(btree(x,a,b),l) :- frontiera(a,l1),frontiera(b,l2),append(l1,l2,l). Esercizio 5 Esercizio 6 Vedi slides del corso. Esercizio 7 Vedi slides del corso. FONDAMENTI DI INTELLIGENZA ARTIFICIALE 2 parte 9 Febbraio 2012 Soluzioni Esercizio 8 solve(true,1) :-!. solve((a,b),c) :-!,solve(a,c1),solve(b,c2),c is C1+C2. solve(a,c) :- clausola_c(a,b,c1),solve(b,c2),c is C1+C2. Esercizio 6 Vedi slides.

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 2 parte 12 Luglio 2012 Soluzioni Esercizio 7 Vedi slides. Esercizio 8 solve(true,0) :-!. solve((a,b),c) :-!,solve(a,c1),solve(b,c2),c is C1+C2. solve(a,c) :- clause(a,b,c1),solve(b,c2),c is C1+C2. Esercizio 9 Vedi slides. FREE(X) X è un blocco libero (nessun blocco si trova sopra di lui) ON(X,Y) il blocco X si trova sopra al blocco Y TABLE(X) il blocco X poggia direttamente sul tavolo Stato iniziale: FREE(2), ON(2,5), ON(5,3), TABLE(3), FREE(1), ON(1,4), TABLE(4). Stato finale: FREE(1), ON(1,2), ON(2,3), ON(3,4), ON(4,5), TABLE(5). Operatori: STACK1(X,Y) muove il blocco libero X dal tavolo a sopra il blocco libero Y P-list: FREE(X), FREE(Y), TABLE(X). A-list: ON(X,Y). D-list: FREE(Y), TABLE(X). STACK2(X,Y) muove il blocco libero X da sopra il blocco Z a sopra il blocco libero Y P-list: FREE(X), FREE(Y), ON(X,Z). A-list: FREE(Z), ON(X,Y). D-list: FREE(Y), ON(X,Z). UNSTACK(X) muove il blocco libero X da sopra il blocco Y al tavolo P-list: FREE(X), ON(X,Y). A-list: FREE(Y), TABLE(X). D-list: ON(X,Y). Gli operatori STACK sono due a seconda che il blocco libero X sia sul tavolo o sopra un altro blocco libero Z. C è solo un operatore UNSTACK perché non ha senso spostare un blocco libero dal tavolo ad un altra posizione sul tavolo (il testo indica esplicitamente che la posizione delle colonne non è significativa e che si vuole ottenere lo stato finale nel minimo numero possibile di passaggi).