FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU)

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

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

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

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 26 Gennaio 2017 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 8 Settembre 2016 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 1 parte (6 CFU)

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 14 Gennaio 2016 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. 2 Dicembre 2008 (Tempo a disposizione 2h ; su 32 punti)

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

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

1. Acquisire conoscenza dell ambiente TuProlog/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)

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

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

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

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

Esercizi (vedi anche sito corso)

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

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

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

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 2 Aprile 2009 Tempo a disposizione 2h 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

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 M (9 CFU) 19 Gennaio 2011 Tempo a disposizione 3h Risultato 32/32 punti

Intelligenza Artificiale. Tecniche di ricerca basate sullo spazio degli stati

Corso di Intelligenza Artificiale

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 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti

3 Ricerca per Giochi e CSP

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Intelligenza Artificiale Compito - 12 Marzo 2007

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

Programmazione logica e PROLOG. Esercitazione 1. AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0

INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

COMPITO DI RICERCA OPERATIVA. max x 1 + 2x 2 + x 3 x 1 x 2 + x 3 = 1 2x 1 + 3x 2 + x 4 = 2

Intelligenza Artificiale. Ricerca euristica Algoritmo A*

Fondamenti di Intelligenza Artificiale M

Esercizi Union-Find e su Grafi. Ugo Vaccaro

Linguaggi e Grammatiche Liberi da Contesto

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

Intelligenza Artificiale. Ricerca euristica L algoritmo A*

Quinto appello 27/6/ = 4. B b B = 2 b N = 4

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

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

PLANNING LINEARE FORWARD. Esercizio in Prolog

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

Minimo albero di copertura

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità

Introduzione ai grafi

In Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile

In Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2. Lo si trasformi in forma standard e se ne determini una soluzione ottima.

Corso di Programmazione

Esercizi proposti 10

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

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

Fondamenti di Intelligenza Artificiale M. Altri possibili esercizi

Algoritmi di Ricerca

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

Problemi, istanze, soluzioni

Note per la Lezione 4 Ugo Vaccaro

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu

Intelligenza Artificiale

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

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

INSTRADAMENTO: ALGORITMO DI KRUSKAL

Esercizi proposti. pari(x) :- 0 is X mod 2.

COMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2

Il concetto di calcolatore e di algoritmo

Algoritmi e Strutture Dati

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

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:

Algoritmi e Strutture Dati. Capitolo 11 Grafi e visite di grafi

Tipi di dato e Strutture dati elementari

Corso di Programmazione

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04

Terzo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

In Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile

Richiami di matematica discreta: grafi e alberi. Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino

TIPOLOGIE ESERCIZI SUI VINCOLI

Transcript:

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 15 Febbraio 2013 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (7 punti) Si considerino le seguenti frasi: 1. Daria è una donna 2. Elena è una donna 3. Ciro è genitore di Daria 4. Ciro è genitore di Berto 5. Anna è genitore di Berto 6. Elena è moglie di Berto 7. Daria è moglie di Franco 8. Se una donna ha un fratello che è sposato con qualcuna, quella donna è sua cognata 9. Se qualcuno è genitore di due persone, quelle persone sono fratelli 10. Se una persona è moglie di qualcuno, quel qualcuno ha sposato quella persona 11. Se una persona è moglie di qualcuno, quella persona ha sposato quel qualcuno Si formalizzino in logica dei predicati del I ordine, utilizzando i seguenti predicati: donna(x) X è una donna genitore(x,y) X è genitore di Y moglie(x,y) X è moglie di Y fratello(x,y) X è fratello (o sorella) di Y sposato(x,y) X è sposato con Y cognata(x,y) X è cognata di Y Infine si trasformino in clausole e si dimostri tramite risoluzione che Daria è cognata di Elena. 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.

Esercizio 3 (6 punti) Il seguente programma Prolog restituisce una lista ordinata di termini che è la fusione delle due liste ordinate di termini date. mergesort(x, [], X). mergesort([], Y, Y). mergesort([x TX], [Y TY], [X T]) :- X=<Y,!, mergesort(tx, [Y TY], T). mergesort([x TX], [Y TY], [Y T]) :- mergesort([x TX], TY, T). Si mostri l albero SLD- NF relativo al goal:?- mergesort([3,7], [4], X). Esercizio 4 (4 punti) Dato un grafo semplice aciclico, si scriva un predicato percorso/3 che, dati due nodi a e b, determini se nel grafo esiste un percorso che partendo da a raggiunge b, restituendo in una lista i nodi percorsi. Il grafo è descritto da fatti del tipo arco(x, y) che indicano che nel grafo i nodi x ed y sono collegati direttamente da un arco non orientato (che può quindi essere percorso da x verso y, o viceversa). Es.: arco(a, c). arco(d, a). arco(d, b). arco(f, e).?- percorso(a, b, L). yes L=[a, d, b]?- percorso(a, e, L). no Esercizio 5 (7 punti) Si consideri l arena di gioco rappresentata in figura in cui le celle nere sono ostacoli e quelle bianche sono posizioni su cui l agente rappresentato dal triangolo verde può muoversi. Il doppio bordo esterno è un limite invalicabile. L agente è inizialmente nella cella (a,3) orientato verso destra e deve raggiungere la cella (e,2) con orientamento verso il basso. L agente può compiere due sole azioni: Spostarsi nella cella vuota adiacente nella direzione del suo orientamento attuale (costo 1), Modificare il proprio orientamento di 90 in senso orario rimanendo nella stessa cella (gli orientamenti possibili sono: nord, est, sud ovest; il costo è 1). Si risolva il problema utilizzando l algoritmo A* con eliminazione degli stati ripetuti. Come euristica si usi la distanza di Manhattan tra la posizione dell agente e la posizione finale (e,2) tenendo conto degli ostacoli: la distanza tra le celle (b,3) ed (e,3), ad esempio, è 5. Si riportino i primi 10 nodi dell albero di ricerca (ad esclusione del nodo radice e dei nodi ripetuti), indicandone l ordine di esplorazione. Se due o più nodi nella frontiera hanno lo stesso costo totale, si espandano prima i nodi generati per primi. Esercizio 6 (3 punti) Si descrivano le strategie CSP di Generate & Test (GT) e di Standard Backtracking (SB) discutendone analogie e differenze. 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) 15 Febbraio 2013 Tempo a disposizione: 45 min Risultato: 32/32 punti Esercizio 7 (10 punti) Si introduca cosa sono le logiche descrittive, come si differenziano dalla logica del I ordine e perché sono state introdotte. Esercizio 8 (12 punti) Si scriva un meta- predicato: assert_lemma(goal) che, dato in ingresso un Goal, asserisce le soluzioni della chiamata Goal nel database Prolog come lemma. Ciascun lemma esclude le clausole successive per quel predicato (di fatto ha un cut nel corpo). Ad esempio, supponendo di avere anche le clausole: p(x,y):- q(x,y) q(1,2). q(a,b). l invocazione seguente ha successo con esito come indicato:?- assert_lemma(p(x,y)). yes e nel database Prolog sono aggiunti: p(a,b):-!. p(1,2):-!. p(x,y):- q(x,y) q(1,2). q(a,b). Esercizio 9 (10 punti) Si consideri il problema di analizzare campioni dalla superficie di Marte mediante una sonda e di trasmetterne i dati a terra. La sonda, detta rover, è in grado di spostarsi (Move) sulla superficie del pianeta da una posizione nota, detta Position, alle altre. Inizialmente si trova nel punto di interesse poi1 e sa che il modulo di atterraggio, detto lander, si trova in poi2 e il campione da analizzare, detto sample, in poi3. Se si trova nella stessa posizione di un campione e non ha dati in memoria per quel campione, la sonda può esaminarlo (Scan) e salvare i risultati dell analisi, detti Data, nella propria memoria. Se invece si trova nella stessa posizione del modulo di atterraggio ed ha un dato presente in memoria, la sonda può scaricarlo (Save) nella memoria del modulo, detta Buffer, e cancellarlo dalla propria. Infine, quando il buffer del modulo di atterraggio contiene i data di un campione, provvede a trasmetterli (Send) a terra appena possibile, svuotando il buffer al termine dell operazione e registrandone la notifica Sent. Si scriva il modello che descrive questo problema utilizzando il linguaggio di STRIPS, avendo cura di specificare lo stato iniziale e il goal del problema ed anche le precondizioni e gli effetti di ogni azione. 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).

Esercizio 1 FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte 15 Febbraio 2013 Soluzioni Frasi in logica dei predicati del I ordine e loro traduzione in clausole: a. Daria è una donna donna(daria) {donna(daria)} b. Elena è una donna donna(elena) {donna(elena)} c. Ciro è genitore di Daria genitore(ciro,daria) {genitore(ciro,daria)} d. Ciro è genitore di Berto genitore(ciro,berto) {genitore(ciro,berto)} e. Anna è genitore di Berto genitore(anna,berto) {genitore(anna,berto)} f. Elena è moglie di Berto moglie(elena,berto) {moglie(elena,berto)} g. Daria è moglie di Franco moglie(daria,franco) {moglie(daria,franco)} h. Se una donna ha un fratello che è sposato con qualcuno, quella donna è sua cognata X,Y,Z: donna(x) fratello(x,z) sposato(z,y) cognata(x,y) { donna(x) fratello(x,z) sposato(z,y) cognata(x,y)} i. Se qualcuno è genitore di due persone, quelle persone sono fratelli X,Y,Z: genitore(z,x) genitore(z,y) fratello(x,y) { genitore(z,x) genitore(z,y) fratello(x,y)} j. Se una persona è moglie di qualcuno, quel qualcuno ha sposato quella persona X,Y: moglie(x,y) sposato(y,x) { moglie(x,y) sposato(y,x)} k. Se una persona è moglie di qualcuno, quella persona ha sposato quel qualcuno X,Y: moglie(x,y) sposato(x,y) { moglie(x,y) sposato(x,y)} l. Goal: Daria è cognata di Elena cognata(daria,elena) { cognata(daria,elena)} Teoria a clausole: 1. donna(daria) 2. donna(elena) 3. genitore(ciro,daria) 4. genitore(ciro,berto) 5. genitore(anna,berto)

6. moglie(elena,berto) 7. moglie(daria,franco) 8. donna(x) fratello(x,z) sposato(z,y) cognata(x,y) 9. genitore(z,x) genitore(z,y) fratello(x,y) 10. moglie(x,y) sposato(y,x) 11. moglie(x,y) sposato(x,y) 12. cognata(daria,elena) Risoluzione: 13. = 12. 8. donna(daria) fratello(d,z) sposato(z,elena) {X/d,Y/e} 14. = 13. 1. fratello(d,z) sposato(z,elena) {} 15. = 14. 10. fratello(d,z) moglie(e,z) {X/Z,Y/e} 16. = 15. 6. fratello(d,z) {} 17. = 16. 9. genitore(z,daria) genitore(z,berto) {X/d,Y/b} 18. = 17. 4. genitore(ciro,daria) {Z/c} 19. = 18. 3. Esercizio 2 - min- max: alfa- beta: I nodi colorati in grigio sono quelli che vengono tagliati dall algoritmo alfa- beta.

Esercizio 3 - Albero SLD- NF: Esercizio 4 Esercizio 5 percorso(x, Y, [X, Y]) :- passo(x, Y). percorso(x, Y, [X Percorso]) :- passo(x, Z), percorso(z, Y, Percorso). passo(x, Y) :- arco(x, Y). passo(x, Y) :- arco(y, X). Esercizio 6 Vedi slides del corso.

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 2 parte 15 Febbraio 2013 Soluzioni Esercizio 7 Vedi slides del corso. Esercizio 8 assert_lemma(goal) :- call(goal), asserta((goal:-!)), fail. assert_lemma(_). Esercizio 9 Init(Position(rover,poi1) Position(lander,poi2) Position(sample,poi3)) Goal(Sent(poi3)) Action(SCAN(x), Precond: Position(rover,x) Position(sample,x) Data(x) Effect: Data(x) ) Action(MOVE(x,y), Precond: Position(rover,x) Effect: Position(rover,x) Position(rover,y) ) Action(SAVE(x,y), Precond: Data(x) Position(rover,y) Position(lander,y) Effect: Buffer(x) Data(x) ) Action(SEND(x), Precond: Buffer(x) Effect: Buffer(x) Sent(x) )