FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU)

Documenti analoghi
FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE PRIMA PARTE (6 CFU) 9 Dicembre 2010 Tempo a disposizione 2h Risultato 32/32 punti

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 13 Gennaio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 16 Giugno 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti

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

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 25 Gennaio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 9 Febbraio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 13 Luglio 2017 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE Giugno 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 12 Febbraio 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE Prof. Paola Mello- 12 Luglio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 11 Gennaio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti

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

COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I. 8 Gennaio 2009 (Tempo a disposizione 2h, su 32 punti)

COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE L-S e INTELLIGENZA ARTIFICIALE MODULO A Prof. Paola Mello Tempo 2h e Luglio 2006

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 13 Gennaio 2010 Tempo a disposizione 2h Risultato 32/32 punti

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

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

Esercizi (vedi anche sito corso)

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

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

max e tagli alfa-beta Una funzione euristica h(n) è detta ammissibile se non sbaglia mai per eccesso la stima del costo per arrivare all obbiettivo

Introduzione all Intelligenza Artificiale a.a. 2016/17

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

Strategie di ricerca. Scopo: 1. Esercizi sulle strategie di ricerca 2. Esercizi sui giochi, alberi min-max e tagli alfa-beta

COMPITO DI INTELLIGENZA ARTIFICIALE, Fondamenti di Intelligenza Artificiale e Intelligenza Artificiale Modulo A 16 Dicembre 2005 Tempo 2,30 ore

FONDAMENTI DI INTELLIGENZA ARTIFICIALE M 9 Settembre 2010 Tempo a disposizione 3h Risultato 32/32 punti

Strategie di ricerca. Scopo: 1. Esercizi sulle strategie di ricerca 2. Esercizi sui giochi, alberi min-max e tagli alfa-beta

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 2 Aprile 2009 Tempo a disposizione 2h Risultato 32/32 punti

&203,72',,17(//,*(1=$$57,),&,$/( *LXJQR±3URI3DROD0HOOR 7HPSRDGLVSRVL]LRQH

Intelligenza Artificiale Compito - 12 Marzo 2007

Esercizi d'esame su strategie di ricerca, CSP e Giochi. Compiti d'esame 2017 e 2018

1. Acquisire conoscenza dell ambiente TuProlog/SWI Prolog 2. Risolvere alcuni problemi mediante il linguaggio Prolog

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

Scopo: 1. Acquisire conoscenza dell ambiente SWI Prolog 2. Risolvere alcuni problemi mediante il linguaggio Prolog

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

Corso di Intelligenza Artificiale

Algoritmi e giochi combinatori

1. Acquisire conoscenza dell ambiente TuProlog/SWI Prolog 2. Risolvere alcuni problemi mediante il linguaggio Prolog

FONDAMENTI DI INTELLIGENZA ARTIFICIALE M (9 CFU) 19 Gennaio 2011 Tempo a disposizione 3h Risultato 32/32 punti

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

Fondamenti di Intelligenza Artificiale M a.a. 2010/2011. Note sul compito d esame

Fondamenti di Intelligenza Artificiale M

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

IL LINGUAGGIO SQL LE BASI

1. Acquisire conoscenza dell ambiente TuProlog/SWI Prolog 2. Risolvere alcuni problemi mediante il linguaggio Prolog

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 16 Aprile 2018

Basi di conoscenza nella logica del primo ordine

Esame di Teoria dei Circuiti - 6 luglio 2009 (Soluzione)

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

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 16 Aprile 2018

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 6 Maggio 2019

3 Ricerca per Giochi e CSP

Esercizi proposti 10

Definire tramite una grammatica ad attributi il

Ricerca con avversari

COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE - parte I (tempo 2,30 h; punti 32) 12 Gennaio 2006

Ottimizzazione marginale

L ELABORATORE ELETTRONICO

ISBN Titolo CasaEd AnnoEd

COMPITO di LOGICA PER INFORMATICA (fila 1) 21 settembre 2005

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

Note sull utilizzazione di componenti logici di tipo memoria

Interpreti, compilatori e semantica operazionale

Esercitazioni per il corso di Logica Matematica

Rappresentazione della conoscenza. Lezione 4. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 4 0

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu

Intelligenza Artificiale Compito - 12 Marzo 2007

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu

COMPITO DI APPLICAZIONI DI INTELLIGENZA ARTIFICIALE 19 marzo 2009 (Punteggio su 30/30; Tempo 2h )

Sistemi di equazioni lineari

Soluzione dei problemi di Programmazione Lineare Intera

Risoluzione di un problema

Algoritmi di Ricerca

Teoria dei Giochi Prova del 28 Settembre 2012

L ELABORATORE ELETTRONICO!

PROVETTE D ESAME. Algoritmi e Strutture Dati

3 #3: 20 10:50:05 MET

Programmazione logica e PROLOG. Esercitazione 1. Sommario. Programmazione logica. Applicazioni della Programmazione Logica

Transcript:

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 11 Luglio 2013 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (7 punti) Si considerino le seguenti frasi: 1. John possiede un cane 2. Chiunque possiede dei cani è un amante degli animali 3. Chiunque è amante degli animali non uccide animali 4. O John o la curiosità hanno ucciso il gatto Felix (or non esclusivo) 5. Ogni cane è un animale 6. Ogni gatto è un animale Si formalizzino in logica dei predicati del I ordine, utilizzando i seguenti predicati: dog(x) X è un cane cat(x) X è un gatto animal(x) X è un animale animal_lover(x) X è un amante degli animali owns(x,y) X possiede Y kills(x,y) X uccide/ha ucciso Y Infine si trasformino in clausole e si dimostri tramite risoluzione che la curiosità ha ucciso Felix. 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 (MAX). Si mostri come gli algoritmi min- max e alfa- beta risolvono il problema. MAX -35-65 -1-47 -1 6-88 -29 79-16 39 59-83 63-91 -94 Esercizio 3 (6 punti) Dato il seguente programma Prolog: foo([h T],A,R) :- foo(t,[h A],R). foo([],a,a). bar(l,r) :- foo(l,[],r). si mostri l albero SLD relativo al goal:?- bar([1,2,3,4,5],x).

Esercizio 4 (5 punti) Si scriva un predicato duplicate(l1,l2), che, data una lista L1, produce la lista L2 che presenta ogni elemento di L1 ed un suo duplicato, rispettando l ordine in cui appaiono in L1. Esempio:?- duplicate([a,b,c],l). Yes L=[a,a,b,b,c,c]?- duplicate([1,2],[1,1,2,2]). Yes Esercizio 5 (6 punti) Si consideri il seguente gioco: si hanno 12 monete ripartite in tre pile distinte. Inizialmente, la prima pila è formata da 4 monete, la seconda da 7 e la terza da 1. Una certa quantità di monete può essere spostata da una pila all altra a patto che si raddoppi il numero di monete nella pila di destinazione. L obiettivo è raggiungere la configurazione in cui tutte e tre le pile sono composte da 4 monete. Si disegni l albero di ricerca nel caso in cui sia applicata una ricerca a profondità limitata, con limite di profondità pari a 3 (il nodo iniziale è etichettato come 0) e si fermi la ricerca dopo aver trovato la prima soluzione. A parità di profondità, si prediligano gli stati che sono stati generati da mosse per le quali la differenza tra il numero di monete nella pila di partenza e quello nella pila di destinazione è maggiore. A parità di questo valore, si preferiscano gli stati che sono stati generati da mosse il cui indice della pila di destinazione è maggiore. Esercizio 6 (3 punti) Si spieghi cosa si intende per funzione di valutazione ammissibile e per funzione di valutazione consistente. 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) 11 Luglio 2013 Tempo a disposizione: 45 min Risultato: 32/32 punti Esercizio 7 (10 punti) Si introducano le idee base a cui si riferiscono le tecnologie semantiche e si illustri con un esempio in un'area applicativa il vantaggio della loro adozione. Esercizio 8 (10 punti) Si scriva un meta- interprete solve(goal,c) per clausole scritte nelle forma clause(head, Body, Cost) che, in caso di soluzione con successo per il Goal, restituisce in C il costo relativo. Tale costo relativo va inteso come somma dei costi delle clausole utilizzate per la soluzione. Si noti che, per definizione, true ha costo 0. Si definisca poi il predicato minimale solutions(g,n,l) che, utilizzando solve, restituisca in uscita il numero N di soluzioni e la lista L dei costi delle diverse soluzioni. Esercizio 9 (12 punti) Una fabbrica dispone di due macchinari per la trasformazione di materie prime in beni di consumo. Ad ogni attivazione, la macchina A produce un oggetto α consumando 2 unità di materie prime. La macchina B, invece, produce un oggetto β consumando 6 unità di materie prime oppure 2 oggetti di tipo α e 1 unità di materie prime a seconda della modalità su cui è impostata. Per passare da una modalità all altra, la macchina B deve subire un processo di riconfigurazione che consuma 1 unità di materie prime. Ovviamente, se il numero di materie prime e oggetti α disponibili è inferiore alla quantità richiesta per una certa operazione, non è possibile eseguire tale operazione. Si supponga di voler produrre 3 oggetti di tipo α e 2 oggetti di tipo β, sapendo che la fabbrica dispone di 15 unità di materie prime, che nessun oggetto α e β è inizialmente disponibile e che la macchina B è inizialmente impostata sulla prima delle modalità descritte sopra. Si formalizzi il problema nei termini previsti dall algoritmo STRIPS, avendo cura di specificare lo stato iniziale, lo stato obiettivo e l insieme degli operatori (ognuno corredato dai propri insiemi di requisiti ed effetti): MAKE_ALPHA, MAKE_BETA e CHANGE_MODE. A tal proposito, si utilizzino i seguenti predicati: MATERIALS(x) x unità di materie prime disponibili ALPHA(x) x unità di oggetti α disponibili BETA(x) x unità di oggetti β disponibili MODE(0) la macchina B crea 1 oggetto β con 6 unità di materie prime MODE(1) la macchina B crea 1 oggetto β con 2 oggetti α e 1 unità di materie prime Inoltre si introduca brevemente il concetto di pianificatore gerarchico con riferimento all esempio del problema appena esposto. 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 11 Luglio 2013 Soluzioni Esercizio 1 Frasi in logica dei predicati del I ordine e loro traduzione in clausole: a. John possiede un cane X: dog(x) owns(john,x) {dog(d1), owns(john,d1)} b. Chiunque possiede dei cani è un amante degli animali X Y: (dog(y) owns(x,y) animal_lover(x)) { dog(y) owns(x,y) animal_lover(x)} c. Chiunque è amante degli animali non uccide animali X Y: (animal_lover(x) animal(y) kills(x,y)) { animal_lover(x) animal(y) kills(x,y)} d. O John o la curiosità hanno ucciso il gatto Felix (kills(john,felix) kills(curiosity,felix)) cat(felix) {kills(john,felix) kills(curiosity,felix), cat(felix)} e. Ogni cane è un animale X: dog(x) animal(x) { dog(x) animal(x)} f. Ogni gatto è un animale X: cat(x) animal(x) { cat(x) animal(x)} g. Goal: la curiosità ha ucciso Felix kills(curiosity,felix) { kills(curiosity,felix)} Teoria a clausole: 1. dog(d1) 2. owns(john,d1) 3. dog(y) owns(x,y) animal_lover(x) 4. animal_lover(x) animal(y) kills(x,y) 5. kills(john,felix) kills(curiosity,felix) 6. cat(felix) 7. dog(x) animal(x) 8. cat(x) animal(x) 9. kills(curiosity,felix) Risoluzione: 10. = 9. 5. kills(john,felix) {} 11. = 10. 4. animal_lover(john) animal(felix) {X/john,Y/felix} 12. = 11. 8. animal_lover(john) cat(felix) {X/felix} 13. = 12. 6. animal_lover(john) {} 14. = 13. 3. dog(y) owns(john,y) {X/john} 15. = 14. 2. dog(d1) {Y/d1} 16. = 15. 1.

Esercizio 2 min- max: MAX -47-47 -83-47 -1 39-83 -65-47 -1-88 -16 39-83 -94-35 -65-1 -47-1 6-88 -29 79-16 39 59-83 63-91 -94 alfa- beta: MAX -47 α=-47, β=100-47 -47 α=-100, β=-47-47 -47 α=-47, β=-47 39-47 α=-47, β=100 α=-47, β=-47 α=39, β=100 α=-47, β=39-65 -47-47 -16 39-83 -91 α=-100, β=-65 α=-65, β=-47 α=-100, β=-47 α=-47, β=-16 α=-16, β=39 α=-47, β=-83 α=-47, β=-91-35 -65-1 -47-1 6-88 -29 79-16 39 59-83 63-91 -94 I nodi colorati in grigio sono quelli che vengono tagliati dall algoritmo alfa- beta. Esercizio 3 Albero SLD: bar([1,2,3,4,5],x0) foo([1,2,3,4,5],[],x0) foo([2,3,4,5],[1],x0) foo([3,4,5],[2,1],x0) foo([4,5],[3,2,1],x0) foo([5],[4,3,2,1],x0) foo([],[5,4,3,2,1],x0) X0/[5,4,3,2,1] true Esercizio 4 % duplicate(l1,l2) % - - - - - - - - - - - - - - - - % Duplicates the elements of a list L1 in the list L2. % L2 is a list containing all the elements of list L1 twice, in the same order. duplicate([],[]). duplicate([x Xs],[X,X Ys]) :- duplicate(xs,ys).

Esercizio 5 0" [ 4 ] [ 7 ] [ 1 ] m(2,3) ~ 6! m(1,3) ~ 3! m(2,1) ~ 3! 1" [ 4 ] [ 6 ] [ 2 ] [ 3 ] [ 7 ] [ 2 ] [ 8 ] [ 3 ] [ 1 ] m(2,3) ~ 4! m(1,3) ~ 2! m(2,1) ~ 2! 2" [ 4 ] [ 4 ] [ 4 ] GOAL" [ 2 ] [ 6 ] [ 4 ] [ 8 ] [ 2 ] [ 2 ] Esercizio 6 Vedi slides del corso.

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 2 parte 11 Luglio 2013 Soluzioni Esercizio 7 Vedi slides del corso. 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. solutions(g,n,l) :- findall(c,solve(g,c),l),length(l,n). length([],0). length([x Y],N) :- length(y,n1), N is N1+1. Esercizio 9 Stato iniziale: MATERIALS(15), ALPHA(0), BETA(0), MODE(0) Stato obiettivo: ALPHA(3), BETA(2) Operazioni: MAKE_ALPHA() Pre: Post: MAKE_BETA() Pre: Post: MATERIALS(x), x 2 MATERIALS(x), MATERIALS(x- 2), ALPHA(y), ALPHA(y+1) MODE(x), MATERIALS(y), ALPHA(z), x=0 x=1, y 6-5x, z 2x MATERIALS(y), MATERIALS(y- 6+5x), ALPHA(z), ALPHA(z- 2x), BETA(k), BETA(k+1) N.B.: siccome x può assumere solo il valore 0 o 1, la funzione 6-5x restituisce rispettivamente 6 o 1. Dunque se x=0, l espressione y 6-5x verifica che ci siano almeno 6 unità di materie prime disponibili, mentre se x=1 verifica che ce ne sia almeno 1. Analogamente accade con z 2x per gli oggetti α. CHANGE_MODE() Pre: MODE(x), MATERIALS(y), x=0 x=1, y 1 Post: MATERIALS(y), MATERIALS(y- 1), MODE(z), MODE((z+1) mod 2)