Strategie di ricerca
|
|
- Felice Mele
- 5 anni fa
- Visualizzazioni
Transcript
1 Strategie di ricerca Scopo: 1. Assestare la comprensione delle strategie di ricerca viste a lezione 2. Imparare ad utilizzare la libreria aima.search, che vi potrà essere utile per eventuali tesine Com è organizzata l esercitazione: 1. Velocissimo ripasso delle strategie 2. Un po di osservazioni su come rappresentare lo stato 3. Introduzione alla libreria aima.search 4. Esempio di utilizzo 1
2 CERCARE SOLUZIONI Alcuni concetti: Espansione: si parte da uno stato e applicando gli operatori (o la funzione successore) si generano nuovi stati. Strategia di ricerca: ad ogni passo scegliere quale stato espandere. Albero di ricerca: rappresenta l espansione degli stati a partire dallo stato iniziale (la radice dell albero). Le foglie dell albero rappresentano gli stati da espandere. 2
3 STRATEGIE DI RICERCA STRATEGIE DI RICERCA NON-INFORMATE: breadth-first (a costo uniforme); depth-first; depth-first a profondità limitata; ad approfondimento iterativo. 3
4 STRATEGIE DI RICERCA STRATEGIE DI RICERCA INFORMATE: Best first 1. Greedy 2. A* 3. IDA* 4. SMA* IDA* e SMA* non sono stati visti a lezione li potete trovare sul Russell-Norvig nel capitolo dedicato alle ricerche informate 4
5 Strutture dati per l albero di ricerca (struttura di un nodo) Lo stato nello spazio degli stati a cui il nodo corrisponde. Il nodo genitore. L operatore che è stato applicato per ottenere il nodo. La profondità del nodo. Il costo del cammino dallo stato iniziale al nodo 5
6 L algoritmo generale di ricerca 6
7 L algoritmo generale di ricerca Tramite l argomento Queuing-Fn viene passata una funzione per accodare i nodi ottenuti dall espansione 7
8 Primo passo: Definizione del problema Come rappresento un problema? 1. In generale utilizzo una rappresentazione a stati (ho quindi degli operatori che mi permettono di operare sugli stati) 2. Ho uno stato iniziale 3. Ho un goal da soddisfare Come rappresento uno stato? Strutture dati che rappresentano lo stato E gli operatori sullo stato? 8
9 Primo passo: Definizione del problema Usando un approccio object-oriented, rappresento uno stato tramite una classe Gli operatori sullo stato vengono rappresentati tramite metodi della classe stessa E poi, quali altri metodi? boolean isgoaltest( ) mi dice se ho raggiunto il goal (metodo definito dall interfaccia aima.search.framework.goaltest) La libreria aima non pone nessun vincolo su come rappresentare lo stato: richiede solo che sia una istanza di java.lang.object 9
10 operatori sullo stato bastano questi? Con questi metodi, quali strategie posso applicare? 1. Breadth-first 2. Depth-first 3. Depth-bounded 4. Iterated Deepening Ma se non tengo traccia della strada percorsa per giungere alla soluzione, posso solo dire che esiste una soluzione ma non posso dire come generarla Es:nel gioco del filetto, so che c è una soluzione, ma se non conosco le mosse per giungervi 10
11 Il successore è una struttura dati che tiene traccia di: 1. Lo stato Il concetto di successore 2. L operatore applicato per giungere in tale stato La libreria aima.core.search.framework offre già la classe Successor.java lista_di_successorigetsuccessors() restituisce chi sono i possibili successori di questo stato applicando tutti gli operatori applicabili (interfaccia aima.search.framework.successorfunction) Attenzione! Non confondete il concetto di successore con un nodo dell albero di ricerca 11
12 Riepilogo: fin qui abbiamo Dunque se costruisco una classe java che mi rappresenta uno stato, e che implementa rispettivamente le interfacce GoalTest e SuccessorFunction, allora posso applicare i seguenti metodi di ricerca: 1. Breadth-first 2. Depth-first 3. Depth-bounded 4. Iterated Deepening 12
13 E la strategia a Costo Uniforme? Se voglio sapere il costo per giungere a tale soluzione, devo anche conoscere il costo degli operatori applicati per giungervi A tal scopo è specificata l interfaccia aima.search.framework.stepcostfunction con il metodo: calculatestepcost( ) 13
14 Strategie Informate E se voglio applicare delle strategie informate? Ricordiamoci la definizione di euristica: una funzione che mi restituisce una stima (più o meno esatta) di quanto mi costa giungere fino al goal a partire da un certo stato L interfaccia aima.search.framework.heuristicfunction definisce quindi soltanto un nuovo metodo double getheuristicvalue(object state); Ricordiamoci che poi, a seconda della strategia, si può scegliere di considerare soltanto l euristica, o una qualche funzione più elaborata 14
15 Riepilogo: come implementare uno stato 1. Breadth-first 2. Depth-first 3. Depth-bounded 4. Iterated Deepening 5. Uniform Cost 6. Greedy StepCostFunction HeuristicFunction GoalTest, SuccessorFunction 7. A* N.B.: Applicare strategie intelligenti ha un costo in termini di conoscenza che devo fornire 15
16 Fornisce la classe: Com è costruita la libreria aima.search aima.search.framework.problem, rappresentante il problema, a cui è possibile fornire lo stato iniziale (una qualunque istanza di java.lang.object), e le implementazioni delle interfacce (secondo necessità): GoalTest SuccessorFunction StepCostFunction HeuristicFunction 16
17 Com è costruita la libreria aima.search Fornisce direttamente l implementazione dei nodi di un albero (grafo) di ricerca, tramite le classi: aima.search.framework.node, aima.search.framework.queuesearch, che implementa l algoritmo GeneralSearch, con le sottoclassi: BreadthFirstSearch DepthFirstSearch DepthLimitedSearch IterativeDeepeningSearch GreedyBestFirstSearch SimulatedAnnealingSearch HillClimbingSearch AStarSearch 17
18 L algoritmo generale di ricerca Tramite l argomento Queuing-Fn viene passata una funzione per accodare i nodi ottenuti dall espansione 18
19 Com è costruita la libreria aima.search Per attuare le varie strategie, la libreria aima.search utilizza diverse queuening function: aima.search.datastructures.fifoqueue aima.search.datastructures.lifoqueue aima.search.datastructures.priorityqueue 19
20 Com è costruita la libreria aima.search Alla classe QueueSearch (cioè alle sue sottoclassi) è possibile specificare anche se si sta effettuando la ricerca su un albero o su un grafo (controlla di non ripassare per uno stato già visitato). A tal scopo fornisce anche le classi: aima.search.framework.treesearch aima.search.framework.graphsearch 20
21 Com è costruita la libreria aima.search Viene fornita infine la classe: aima.search.framework.searchagent che provvede direttamente a cercare la soluzione nello spazio degli stati. Riceve come parametri di ingresso un problema (istanza della classe Problem), ed una strategia di ricerca (istanza dell interfaccia Search). 21
22 Un primo problema semplice: Missionari e Cannibali ESEMPIO: 3 missionari e 3 cannibali devono attraversare un fiume. C'è una sola barca che può contenere al massimo due persone. Per evitare di essere mangiati i missionari non devono mai essere meno dei cannibali sulla stessa sponda (stati di fallimento). Stato: sequenza ordinata di tre numeri che rappresentano il numero di missionari, cannibali e barche sulla sponda del fiume da cui sono partiti. Perciò lo stato iniziale è: (3,3,1) (nota l importanza dell astrazione). 22
23 Un primo problema semplice: Missionari e Cannibali Operatori: gli operatori devono portare in barca 1 missionario, 1 cannibale, 2 missionari, 2 cannibali, 1 missionario 1 cannibale. Al più 5 operatori (grazie all astrazione sullo stato scelta). Test Obiettivo: Stato finale (0,0,0) Costo di cammino: numero di traversate. 23
24 Esempio MCState initstate = new MCState(); Problem problem = new Problem( initstate, new MCSuccessorFunction(), new MCGoalTest()); Search search = new BreadthFirstSearch(new TreeSearch()); SearchAgent agent = new SearchAgent(problem, search); // semplici metodi di stampa dei risultati printactions(agent.getactions()); printinstrumentation(agent.getinstrumentation()); 24
25 Un secondo problema : Quadrato Magico E dato un quadrato di 10 caselle per 10 (in totale 100 caselle). Nello stato iniziale tutte le caselle sono vuote tranne la più in alto a sinistra che contiene il valore 1. Problema: assegnare a tutte le caselle un numero consecutivo, a partire da 1, fino a 100, secondo le seguenti regole: A partire da una casella con valore assegnato x, si può assegnare il valore (x+1) solo ad una casella vuota che dista 2 caselle sia in verticale, che orizzontale, oppure 1 casella in diagonale. 25
26 Un secondo problema : Quadrato Magico Se il quadrato è ancora vuoto, per una casella generica ci sono 7 possibili caselle vuote su dove andare Perché le caselle sono 7 e non 8 (4 in diagonale e 4 in orizzontale/verticale)? Man mano che si riempe il quadrato, le caselle libere diminuiscono diminuisce il fattore di ramificazione La profondità dell albero è 100 (dobbiamo assegnare 100 numeri 99 se il primo è già stato assegnato) 26
27 Un terzo problema : Il ponte degli U2 (compito d esame del 16 Dicembre 2005) Il complesso degli U2 sta per fare un concerto a Dublino. Mancano 17 minuti all'inizio del concerto ma, per raggiungere il palco, i membri del gruppo devono attraversare un piccolo ponte che è tutto al buio, disponendo di una sola torcia elettrica. Sul ponte non possono andare più di due persone per volta. La torcia è essenziale per l'attraversamento, per cui deve essere portava avanti e indietro (non può essere lanciata da una parte all'altra) per consentire a tutti di passare. Tutti sono dalla stessa parte del ponte. Ciascun componente del complesso cammina a una velocità diversa. I tempi individuali per attraversare il ponte sono: Bono, 1 minuto Edge, 2 minuti Adam, 5 minuti Larry, 10 minuti 27
28 Un terzo problema : Il ponte degli U2 (compito d esame del 16 Dicembre 2005) Se attraversano in due, la coppia camminerà alla velocità del più lento. Ad esempio: se Bono e Larry attraversano per primi, quando arrivano dall'altra parte saranno trascorsi 10 minuti. Se Larry torna indietro con la torcia saranno passati altri dieci minuti, per cui la missione sarà fallita. Si stabilisca una funzione euristica ammissibile per questo problema e lo si risolva tramite l algoritmo A* per i grafi, mostrando il grafo generato. Per limitare la dimensione dello spazio di ricerca, si supponga che i componenti si muovano sempre in 2 in una direzione e sempre in 1 nella direzione opposta (quando devono riportare indietro la torcia per prendere gli altri componenti della band). 28
29 Un terzo problema : Il ponte degli U2 (compito d esame del 16 Dicembre 2005) Per definire la funzione euristica h si usi la seguente idea: Possono spostarsi solo 2 persone alla volta, per cui raggruppiamo le persone sulla riva di partenza (sinistra) in gruppi da 2. Ordino i tempi di percorrenza dal più alto al più basso e metto nel primo gruppo i primi due nel secondo gruppo il terzo ed il quarto. Ciascun gruppo si muoverà alla velocità del più lento, per cui per ogni gruppo prendo il massimo. La funzione h è data dalla somma dei tempi di percorrenza di ciascun gruppo. In altre parole, il tempo di percorrenza totale sarà almeno il tempo di percorrenza del più lento, più quello del terzo più lento (il secondo più lento potrebbe essersi mosso con il più lento, per cui il suo tempo non viene calcolato). Nell algoritmo A* per i grafi si considerano cammini alternativi per arrivare ad uno stesso stato; in caso di cammini alternativi viene tenuto il costo minore. Rappresentiamo con una freccia piena il cammino migliore e con una freccia tratteggiata i cammini peggiori. La funzione h cosi definita e ammissibile? L algoritmo trovera` la strada migliore? 29
30 In laboratorio 1. Lanciare Eclipse e creare un nuovo progetto 2. Scaricare dalla home page del corso il file aima.0.93,jar ed includerlo nelle librerie del progetto 3. Creare nuove classi al fine di risolvere uno dei problemi proposti Missionari e Cannibali U2 Quadrato magico 30
31 Fa caldo Al primo studente/gruppo che termina entro le ore uno a scelta dei tre problemi, il docente (io) offre un gelato (vabbeh, uno solo? vediamo in quanti siete ho figli piccoli ) 31
32 Esempio Il problema del 23 Il mio stato è rappresentato da un numero intero Le operazioni ammesse sono add2 (con costo 2) e add3 (con costo 4) Lo stato iniziale è 0 Problema: quale sequenza di operatori devo applicare per poter avere stato che sia multiplo di 23, partendo dallo stato iniziale 0? Goal: soddisfatto se (stato % 23) == 0 32
Espansione: si parte da uno stato e applicando gli operatori (o la funzione successore) si generano nuovi stati.
Strategie di ricerca Esercitazione del 12 Marzo 2010 Scopo: 1. Assestare la comprensione delle strategie di ricerca viste a lezione 2. Imparare ad utilizzare la libreria aima.search, che vi potrà essere
Dettagli1. Assestare la comprensione delle strategie di ricerca viste a lezione 2. Imparare ad utilizzare la libreria aima.search
Strategie di ricerca Seminario del 13 e 21 ottobre 2016 Scopo: 1. Assestare la comprensione delle strategie di ricerca viste a lezione 2. Imparare ad utilizzare la libreria aima.search Com è organizzata
DettagliUn secondo problema : Quadrato Magico
Un secondo problema : Quadrato Magico E dato un quadrato di 10 caselle per 10 (in totale 100 caselle). Nello stato iniziale tutte le caselle sono vuote tranne la più in alto a sinistra che contiene il
DettagliUn secondo problema : Quadrato Magico
Un secondo problema : Quadrato Magico E dato un quadrato di 10 caselle per 10 (in totale 100 caselle). Nello stato iniziale tutte le caselle sono vuote tranne la più in alto a sinistra che contiene il
DettagliCOMPITO DI INTELLIGENZA ARTIFICIALE, Fondamenti di Intelligenza Artificiale e Intelligenza Artificiale Modulo A 16 Dicembre 2005 Tempo 2,30 ore
COMPITO DI INTELLIGENZA ARTIFICIALE, Fondamenti di Intelligenza Artificiale e Intelligenza Artificiale Modulo A 16 Dicembre 2005 Tempo 2,30 ore Esercizio 1 (punti 5) Date due liste di atomi, si determini
DettagliEspansione: si parte da uno stato e applicando gli operatori (o la funzione successore) si generano nuovi stati.
CERCARE SOLUZIONI Generare sequenze di azioni. Espansione: si parte da uno stato e applicando gli operatori (o la funzione successore) si generano nuovi stati. Strategia di ricerca: ad ogni passo scegliere
DettagliIntelligenza Artificiale Compito - 12 Marzo 2007
Intelligenza Artificiale Compito - 1 Marzo 007 Nome e Cognome: Matricola: Nickname: ESERCIZIO N 1 Ricerca Informata A* 4 punti Stabilite se un euristica monotona permette ad A* di espandere sempre meno
Dettaglimax 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
Strategie di ricerca Esercizi Martedì Maggio 005 Scopo:. Esercizi sulle strategie di ricerca. Esercizi sui giochi, alberi min-max max e tagli alfa-beta Errata corrige precedente esercitazione Una funzione
DettagliIntelligenza Artificiale. Risoluzione dei Problemi
Intelligenza Artificiale Risoluzione dei Problemi Strategie non-informate: principali 1. breadth-first; 2. depth-first; 3. depth-first a profondità limitata; 4. ad approfondimento iterativo. Ricerca in
DettagliAlgoritmi di Ricerca
Algoritmi di Ricerca Contenuto Algoritmi non informati Nessuna conoscenza sul problema in esame Algoritmi euristici Sfruttano conoscenze specifiche sul problema Giochi Quando la ricerca è ostacolata da
DettagliIntelligenza Artificiale. Lezione 5. Sommario. Ricerca Best-first. Ricerca golosa. Russell & Norvig Capitolo 4, Paragrafi 1 2. Ricerca Best-first
Sommario Russell & Norvig Capitolo 4, Paragrafi 1 2 Intelligenza Artificiale Ricerca Best-first Ricerca A Euristiche Lezione 5 IDA* SMA* Intelligenza Artificiale Daniele Nardi, 2004 Lezione 5 0 Intelligenza
DettagliIntelligenza Artificiale
Intelligenza Artificiale 17 Marzo 2005 Nome e Cognome: Matricola: ESERCIZIO N 1 Ricerca Cieca 5 punti 1.A) Elencare in modo ordinato i nodi (dell'albero sotto) che vengono scelti per l'espansione dalle
DettagliAgenti che risolvono problemi attraverso la ricerca in uno spazio di stati
Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_1 V1.4 Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati Il contenuto del documento è
DettagliIntelligenza Artificiale. Tecniche di ricerca basate sullo spazio degli stati
Intelligenza Artificiale Tecniche di ricerca basate sullo spazio degli stati Marco Piastra Ricerca e stati - 1 Problemi diversi, soluzioni simili Fox, Goat and Cabbage La definizione prevede Uno stato
DettagliIntelligenza Artificiale. Ricerca euristica Algoritmo A*
Intelligenza Artificiale Ricerca euristica Algoritmo A* Marco Piastra Metodi di ricerca - Ricerca non informata Ricerca nello spazio degli stati Definizione di un grafo come spazio degli stati I nodi rappresentano
DettagliIntelligenza Artificiale. Ricerca euristica L algoritmo A*
Intelligenza Artificiale Ricerca euristica L algoritmo A* Marco Piastra Ricerca euristica - Ricerca non informata Ricerca nello spazio degli stati Definizione di un grafo come spazio degli stati I nodi
DettagliRicerca non informata
Ricerca non informata Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 05/03/2018 Ricerca non informata Definizione del problema della ricerca Architettura necessaria Blind search
DettagliConstraint Satisfaction Problems
Constraint Satisfaction Problems Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 19/03/2018 Constraint Satisfaction problem Fino ad ora ogni stato è stato modellizzato come una
DettagliAlberi. Alberi: definizioni. Alberi Binari. Esercizi su alberi binari: metodi ricorsivi. Struttura dati per alberi generici. ASD-L - Luca Tesei
Alberi Alberi: definizioni Alberi Binari Esercizi su alberi binari: metodi ricorsivi Struttura dati per alberi generici 1 Alberi Gli alberi sono strutture dati naturalmente ricorsive Un albero è un particolare
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
Dettagli3 Ricerca per Giochi e CSP
Esercizio 3.1 Dire quale tecnica usereste per risolvere i seguenti giochi: 1. Backgammon 2. Scarabeo 3. Scacchi 4. Go 5. Monpoli 6. Poker Motivate le risposte con adeguate ragioni basate sulle caratteristiche
DettagliIntelligenza Artificiale. Problem Solving -Agenti risolutori di problemi
Intelligenza Artificiale Problem Solving -Agenti risolutori di problemi Ragionare per cercare soluzioni Un problema viene risolto ricercandone la soluzione in un ampio spazio di possibili soluzioni. La
DettagliSoluzioni della settima esercitazione di Algoritmi 1
Soluzioni della settima esercitazione di Algoritmi 1 Beniamino Accattoli 19 dicembre 2007 1 Grafi Un grafo è non orientato se descrivendo un arco come una coppia di vertici (i,j) l ordine è ininfluente
DettagliRicerca informata in uno spazio di stati
Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_3 V2.5 Ricerca informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli studenti,
DettagliGrafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)
Grafi: visite Una breve presentazione Visite di grafi Scopo e tipi di visita Una visita (o attraversamento) di un grafo G permette di esaminare i nodi e gli archi di G in modo sistematico Problema di base
DettagliK 4 è planare? E K 3,3 e K 5 sono planari? Sì! No! (Teorema di Kuratowski) K 5. Camil Demetrescu, Irene Finocchi, Giuseppe F.
K 4 è planare? Sì! E K 3,3 e K 5 sono planari? K 5 No! (Teorema di Kuratowski) 1 Un albero è un grafo bipartito? SÌ! Ma un grafo bipartito è sempre un albero?? 2 Algoritmi e Strutture Dati Capitolo 11
DettagliRicerca Cieca. Spazio di Ricerca. ! albero di ricerca. Russell & Norvig: Introduzione al Problem Solving. Introduzione al Problem Solving
Ricerca Cieca Russell & Norvig: 3.4 3.6 Spazio di Ricerca! albero di ricerca Concetti di Base Albero di ricerca Espansione nodi Strategia di ricerca: Per ogni nodo determina quale nodo espandere Nodi di
DettagliBioinformatica. Grafi. a.a Francesca Cordero. Grafi Bioinformatica
fcordero@di.unito.it Introduzione cknowledgement Lucidi da. Horváth,. emetrescu et al, lgoritmi e strutture dati, McGraw-Hill 3 efinizione: che cosa sono i grafi? definizione astratta: un grafo G = (V,)
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
DettagliFONDAMENTI DI INTELLIGENZA ARTIFICIALE 11 Gennaio 2018 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 Esercizio 1 (6 punti) Si formalizzino le seguenti frasi in logica dei predicati: 1. Chi conosce la
DettagliEsercizi proposti 10
Esercizi proposti 10 In questo gruppo di esercizi assumiamo, dove non sia specificato diversamente, di rappresentare i grafi mediante liste di archi, con il tipo di dati così dichiarato: type a graph =
DettagliAlberi e alberi binari I Un albero è un caso particolare di grafo
Alberi e alberi binari I Un albero è un caso particolare di grafo I I I I È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine
DettagliRelazione su Gioco dell'otto
Martorana Nicola 18/4/25 Relazione su Gioco dell'otto Search problem: 8-puzzle Introduzione ai Search Problem : Si considera un problema di ricerca come un' indagine su un numero elevato di possibili configurazione.
DettagliAlberi e alberi binari I Un albero è un caso particolare di grafo
Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra
Dettagli1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI
1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI Questo capitolo tratta della possibilità di risolvere problemi analizzando le diverse possibilità prodotte dalla scelta dell agente. Abbiamo già visto come un agente
DettagliPLANNING LINEARE FORWARD. Esercizio in Prolog
PLANNING LINEARE FORWARD Esercizio in Prolog 1 Prendiamo l esempio noto come anomalia di Sussman: Stato iniziale: Planning lineare in Prolog c" b a " Stato finale: a " b" c " 2 Stato Per rappresentare
DettagliMETODI DELLA RICERCA OPERATIVA
Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco (mdifrance@unica.it) i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it)
DettagliCOMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I. 2 Dicembre 2008 (Tempo a disposizione 2h ; su 32 punti)
COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I 2 Dicembre 2008 (Tempo a disposizione 2h ; su 32 punti) Esercizio 1 (punti 5) Rappresentare le seguenti frasi:
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme
DettagliEsercizi svolti a lezione
Esercizi svolti a lezione Problema 1 In un corso di laurea sono previsti un certo numero di esami obbligatori. Esistono inoltre dei vincoli di propedeuticità: se un esame A è propedeutico ad un esame B
Dettagli5.1 Metodo Branch and Bound
5. Metodo Branch and Bound Consideriamo un generico problema di ottimizzazione min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando
DettagliINTELLIGENZA ARTIFICIALE (elementi) 6 cfu
INTELLIGENZA ARTIFICIALE (elementi) 6 cfu Prof.ssa Stefania Bandini Dott. Alessandro Mosca Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca www.lintar.disco.unimib.it
DettagliIntelligenza Artificiale Compito - 12 Marzo 2007
Intelligenza Artificiale Compito - 1 Marzo 007 Nome e Cognome: Matricola: Nickname: ESERCIZIO N 1 Ricerca Informata A* 4 punti Stabilite se un euristica monotona permette ad A* di espandere sempre meno
DettagliIn questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi.
In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi. 1 strutture dati (astratte) Una struttura dati astratti consiste di uno o più insiemi con delle operazioni
DettagliAlberi ed Alberi Binari
Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,
DettagliRicerca Automatica. Esercitazione 3. Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 0
Ricerca Automatica Esercitazione 3 Intelligenza Artificiale Daniele Nardi, 2004 Esercitazione 3 0 Ascensore In un grattacielo ci sono 3 coppie formate da marito e moglie. Il cancello delle scale viene
DettagliGrafi: definizioni e visite
Grafi: definizioni e visite Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della
DettagliINSTRADAMENTO: ALGORITMO DI BELLMAN-FORD
UNIVERSITA' DEGLI STUDI DI BERGAMO Dipartimento di Ingegneria INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD FONDAMENTI DI RETI E TELECOMUNICAZIONE A.A. 2012/13 - II Semestre Esercizio 1 Sia dato il grafo G=
DettagliTECNOLOGIE INFORMATICHE MULTIMEDIALI
TECNOLOGIE INFORMATICHE MULTIMEDIALI ««Gli errori sono necessari, utili come il pane e spesso anche belli: per esempio, la torre di Pisa.» (Gianni Rodari, Il libro degli errori) Prof. Giorgio Poletti giorgio.poletti@unife.it
DettagliIntroduzione all Intelligenza Artificiale a.a. 2016/17
Introduzione all Intelligenza Artificiale a.a. 2016/17 Prima prova intermedia 7 Aprile 2017 PRIMA PARTE Domande (punti 7) La risposta corretta alla maggior parte delle domande abilita la correzione della
DettagliUniversità degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 16 Aprile 2018
DIPARTIMENTO DI INGEGNERIA GESTIONALE, DELL INFORMAZIONE E DELLA PRODUZIONE Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 16 Aprile 2018 Nome: Cognome: Matricola: Riga: Colonna:
DettagliAlberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.
Alberi Alberi Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Frodo Dudo Daisy Alberi Gli alberi sono una generalizzazione
DettagliINTELLIGENZA ARTIFICIALE (elementi) 6 cfu
INTELLIGENZA ARTIFICIALE (elementi) 6 cfu Docente: prof.ssa Stefania Bandini Esercitatore: dr. Matteo Palmonari Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca www.lintar.disco.unimib.it
Dettagli3.4 Metodo di Branch and Bound
3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land
DettagliRisoluzione di un problema di VRP
Risoluzione di un problema di VRP Un problema di VRP (Vehicle Routing Problem) è un tipico problema di programmazione lineare in cui l obiettivo primario è quello di individuare, su una rete generica,
DettagliAlberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.
Alberi Alberi Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Dudo Frodo Daisy Alberi Gli alberi sono una generalizzazione
DettagliEsercizi d'esame su strategie di ricerca, CSP e Giochi. Compiti d'esame 2017 e 2018
Esercizi d'esame su strategie di ricerca, CSP e Giochi Compiti d'esame 2017 e 2018 1 Giugno 2018 Strategia a costo uniforme Si consideri il seguente grafo in cui gli archi sono annotati col costo e si
DettagliAlberi binari: definizione e alcune proprietà
Alberi binari: definizione e alcune proprietà Alberi binari Un albero binario è un albero con radice in cui ogni nodo ha al più due figli. In maniera più formale: Definizione. (Alberi binari) Un albero
DettagliAlberi ed Alberi Binari di Ricerca
Alberi ed Alberi Binari di Ricerca Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell
DettagliGioco 10x10. Prova con una matita, che punteggio ottieni?
Gioco 10x10 Il gioco consiste nel cercare di riempire una tabella quadrata 10x10 con i numeri progressivi da 1 a 100 partendo da una qualunque casella con il numero 1 e passando alla successiva casella
DettagliPrima prova intercorso 29 Novembre 2005
Laboratorio di Algoritmi e Strutture Dati R.Zizza (matr. dispari-dispari) Anno Acc. 2005-06 Prima prova intercorso 29 Novembre 2005 Cognome: Nome: Matricola: Regole del gioco: La soluzione del compito
DettagliEsercizio: punti e segmenti
Esercizio: punti e segmenti! Punti e segmenti nel piano, con data abstraction Esercizio: punti e segmenti! Punti e segmenti nel piano, con data abstraction! Lunghezza di un segmento l = (x 2 " x 1 ) 2
DettagliIntelligenza Artificiale. Risoluzione dei Problemi
Intelligenza Artificiale Risoluzione dei Problemi Metodi di ricerca con informazione parziale I metodi esposti prima adottano l ipotesi che l ambiente sia completamente osservabile e deterministico e che
DettagliI giochi con avversario. I giochi con avversario. Introduzione. Giochi come problemi di ricerca. Il gioco del NIM.
I giochi con avversario I giochi con avversario Maria Simi a.a. 26/27 Regole semplici e formalizzabili eterministici, due giocatori, turni alterni, zero-sum, informazione perfetta (ambiente accessibile)
DettagliAlgoritmi e Strutture Dati. Capitolo 3 Strutture dati elementari
lgoritmi e Strutture Dati Capitolo 3 Strutture dati elementari Gestione di collezioni di oggetti Tipo di dato: Specifica una collezione di oggetti e delle operazioni di interesse su tale collezione (es.
DettagliIl TDA Map. Tabelle hash
Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale
DettagliDefinizione informale. Il TDA Map memorizza coppie formate da una chiave k e da un valore v. La coppia è chiamata entry. Ogni chiave deve essere unica
Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale
DettagliIl TDA Map. Definizione informale. I metodi del TDA Map 2. I metodi del TDA Map 1. Interfaccia Map 1 NO_SUCH_KEY. Tabelle hash
Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale
DettagliUniversità degli Studi di L Aquila Facoltà di Scienze M.F.N. Corso di Laurea in Informatica. Modulo di Laboratorio di Algoritmi e Strutture Dati
Università degli Studi di L Aquila Facoltà di Scienze M.F.N. Corso di Laurea in Informatica Modulo di Laboratorio di Algoritmi e Strutture Dati Alberi binari Giovanna Melideo melideo@di.univaq.it 1 Alberi
DettagliIl problema del commesso viaggiatore
Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università
DettagliTecnologie informatiche multimediali
Università degli Studi di Ferrara Facoltà di Lettere e Filosofia Corso di Laurea in «Scienze e ecnologie della Comunicazione» aa 2011-2012 ecnologie informatiche multimediali Prof. Giorgio Poletti giorgio.poletti@unife.it
DettagliFONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 13 Gennaio 2015 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 Esercizio 1 (6 punti) Si esprimano in logica dei predicati del I ordine le seguenti frasi:
DettagliRipasso di teoria ed esercizi in preparazione al terzo compito. 26 gennaio 2004
Ripasso di teoria ed esercizi in preparazione al terzo compito 26 gennaio 2004 Teoria: domande tipo per il terzo compitino 1. Metaprogrammazione: In cosa consiste la metaprogrammazione? Quali sono alcuni
DettagliAlgoritmi e Strutture Dati
Strutture Elementari Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 29 ottobre 2008 Strutture Dati Astratte Il concetto di dato Il concetto
DettagliESERCIZIO MIN-MAX Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore.
ESERCIZIO MIN- Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore. B C D E F G H I J K L M N O P Q R S T U (6) (8) (5) (0) (-2) (2) (5) (8) (9) (2)
DettagliGenerare sequenze di azioni.
Cercare soluzioni L idea è quella di mantenere ed estendere un insieme di sequenze soluzioni parziali. Un agente con diverse opzioni immediate di esito sconosciuto può decidere cosa fare esaminando prima
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli
DettagliIl metodo dei Piani di Taglio (Cutting Planes Method)
Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera
DettagliRisoluzione automatica di problemi. Sistemi distribuiti LS Prof. Andrea Omicini A.A
Risoluzione automatica di problemi Sistemi distribuiti LS Prof. Andrea Omicini A.A. 2003-2004 Problemi del risolvere problemi Goal organizzare il comportamento del problema attorno al goal rappresentare
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 04 Introduzione ai Tipi astratti di dato A. Miola Febbraio 2007 http://www.dia.uniroma3.it/~java/fondinf2/ Introduzione ADT 1
DettagliAlgoritmi e Strutture Dati. Capitolo 3 Strutture dati elementari
Algoritmi e Strutture Dati Capitolo 3 Strutture dati elementari Gestione di collezioni di oggetti Tipo di dato: Specifica una collezione di oggetti e delle operazioni di interesse su tale collezione (es.
DettagliCorso di Intelligenza Artificiale
Nome e Cognome: Matricola: Corso di Intelligenza Artificiale Anno Accademico 2010/2011 Compitino del 14 Febbraio 2011 Istruzioni Scrivere la risposta nello spazio bianco al di sotto della domanda; Non
DettagliUn esempio: l ADT Dizionario (mutabile) Definizione. Alberi binari di ricerca (BST = binary search tree) search(chiave k) -> elem
Un esempio: l ADT Dizionario (mutabile) Algoritmi e Laboratorio a.a. 2006-07 Lezioni Gli alberi di ricerca sono usati per realizzare in modo efficiente il tipo di dato astratto dizionario Parte 19-D Alberi
DettagliAlgoritmi e strutture dati
Algoritmi e Strutture Dati Alberi di ricerca Dizionari Gli alberi di ricerca sono usati per realizzare in modo efficiente il tipo di dato dizionario 2 Alberi binari di ricerca (BST = binary search tree)
Dettagli4c. Esercizi sul livello di Rete Instradamento in Internet
c. sul livello di Rete Instradamento in Internet c- o Si consideri la rete in figura. Si rappresenti, mediante un grafo, la rete per il calcolo dei cammini minimi (solo i nodi e gli archi no reti). Si
DettagliHeap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
DettagliAlgoritmi di ricerca
Intelligenza Artificiale Elementi 2004 2005 Università degli Studi di Milano Bicocca Algoritmi di ricerca Matteo Palmonari matteo.palmonari@disco.unimib.it Outline 1. Problemi come spazio delle soluzioni
DettagliAlgoritmi e Strutture Dati
Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Il concetto di dato Il concetto di tipo di dato Insertion Sort for j 2 to lenght[a]
DettagliRicerca con avversari
Ricerca con avversari Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 12/03/2018 Ricerca con avversari Definizione di gioco Giochi deterministici Giochi stocastici Giochi con parziale
DettagliAlgoritmi e Strutture Dati
Maria Rita Di Berardini 2, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 2 Polo di Scienze Università di Camerino ad Ascoli Piceno Il concetto di dato Il concetto
Dettagli1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;
1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione
Dettagli