1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI"

Transcript

1 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 possa essere rappresentato da una esecuzione (un run), e come questa sia il risultato della scelta di quale azione intraprendere ad ogni stato ambientale raggiunto dall agente; una volta applicata l azione, si raggiungerà un altro stato ambientale (o si rimarrà nello stesso, qualora l azione sia ininfluente), e così via fino a raggiungere auspicabilmente uno degli stati che interessa all agente: La definizione data implica che in ogni stato ambientale ci sia, almeno in linea di principio, la possibilità di scegliere tra diverse azioni, ; se così non fosse, non vi sarebbe alcuna scelta e quindi sarebbe inutile qualsiasi atto di ragionamento. Negli altri casi invece, avremo che a fronte di una situazione ambientale si potrà scegliere più di un azione, e quindi si procederà verso diversi stati ambientali, non necessariamente già non esplorati. a 1 e 0 a 3 a 2 a 1 e 1 a3 e 2 e 3 a 2 e 4 e 1 e 7 FIGURA 1IL GRAFO DEGLI STATI TRAMITE LE AZIONI Noi siamo interessati principalmente alla risoluzione di problemi, e quindi vogliamo utilizzare uqesto meccanismo per trovare un modo razionale ed efficiente di farlo. 1.1 DEFINIZIONE DI UN PROBLEMA Il primo passo sarà analizzare i problemi che vogliamo risolvere e definirli in modo che possano essere tradotti in una navigazione su un grafo. Per far questo dobbiamo definire lo spazio degli stati che abbiamo a disposizione, ovvero i nodi del grafo e gli archi per passare da un nodo all altro: 1. lo stato ambientale iniziale, ovvero da quale contesto parte l agente. 2. Le azioni che l agente può compiere; poiché le azioni ci permettono di raggiungere altri nodi stati ambientali, possiamo dire che le azioni sono funzioni successori di quello stato, ovvero una cerca azione j è uno S j (e i ), cioè restituisce l insieme degli stati raggiungibili dallo stato ambientale e i una volta applicata. 1 Introduzione all Intelligenza Artificiale Stefano De Luca

2 È evidente dunque che i nodi sono gli stati ambientali e gli archi le azioni che si possono applicare al nodo sorgente per arrivare agli altri nodi. Ad es., per un navigatore satellitare lo stato iniziale sarà la posizione in cui ci troviamo, ed eventualmente la conoscenza del mezzo che deve guidare (un automobile, una bicicletta, una persona a piedi). Poiché possiamo vedere le diverse strade già come un grafo, le azioni saranno la scelta di una strada piuttosto che un altra (di un arco del grafo stradale); una volta percorsa quella strada, ci troveremo in un altra posizione. Nel caso di una partita a scacchi, la posizione iniziale sarà quella iniziale della scacchiera, le azioni saranno i movimenti dei diversi pezzi che ci permetteranno di trovarci in una diversa posizione della scacchiera. Per l acquisto di un bene su Internet, lo stato iniziale sarà la quantità di soldi che l agente ha a disposizione, e le azioni saranno le ricerche sui siti di e-commerce, e l acquisto su di essi. Naturalmente, non tutti i nodi sono uguali. Poiché abbiamo un obiettivo da raggiungere, abbiamo bisogno di una funzione che ci dica se con quel particolare nodo abbiamo lo abbiamo raggiunto; nel caso del navigatore, avremo raggiunto l obiettivo nel caso che siamo arrivati a destinazione (che è un singolo caso); per gli scacchi, una qualsiasi posizione in cui avremo vinto dando scaccomatto (e sono numerosi casi); per l acquisto del bene, il raggiungimento dell obiettivo sarà dato dall acquisizione del bene, indipendentemente da dove questo sia stato acquistato. Abbiamo quindi bisogno di una funzione obiettivo, che restituisca un booleano che segnali il raggiungimento dell obiettivo; questa funzione può anche restituire un valore numerico, che segnali quanto è adeguato quel nodo all obiettivo (dove 0 è totalmente inadeguato e 1 totalmente adeguato), e che permetta all agente di stabilire se andare avanti a cercare una soluzione migliore o accontentarsi di quella già trovata. Da ultimo, poiché non sempre le azioni hanno lo stesso costo, dovremmo tenere conto di questo per non raggiungere l obiettivo in tempi troppo lunghi, o con azioni tropo costose. Per poter calcolare questo costo usiamo una funzione di costo, che indichi quanto il passaggio da un nodo all altro usando quella particolare azione sia costoso; la funzione di costo prenderà quindi in considerazione lo stato iniziale e l azione, g(e i, a j ), per segnalare quanto questa sia efficace. In alcuni problemi tutte le azioni hanno lo stesso costo, ad es. nel gioco degli scacchi, mentre in altri no, come negli altri esempi del navigatore (il costo può essere dato dalla lunghezza del percorso, o dal tempo stimato di percorrenza), e degli acquisti (il costo è dato dall inversa di quanto si spende, o dal tempo di acquisizione del bene). Come si vede dagli esempi, non è sempre facile definire una funzione di costo, e questa può essere il risultato di diversi parametri combinati tra loro, eventualmente ognuno definito con un suo peso; ad es. per l acquisto di un bene si potrà stabilire che la funzione costo è dato dal 70% dal costo economico del bene e dal 30% dal tempo di consegna. Percorrendo tutto l albero, dallo stato iniziale a quello finale, potremo calcolare il costo totale sommando i valori del costo di ogni singolo arco. Ricapitolando, gli elementi necessari per la definizione di un problema sono la definizione di: 1. stato iniziale; 2. funzione successore, ovvero le azioni applicabili; 3. funzione di raggiungimento dell obiettivo; 4. funzione di costo. 2 Introduzione all Intelligenza Artificiale Stefano De Luca

3 1.2 STRATEGIE DI RICERCA Una volta definito un problema fornendo i quattro elementi testé elencati, si dovrà scegliere come navigare all interno del grafo prodotto dall elaborazione dei successori a partire dal nodo base. Il punto è questo: la base del problema è il nodo iniziale, ovvero l iniziale stato ambientale; a partire da questo, dovremo andare oltre questo nodo tramite un operazione di espansione, ovvero di raggiungimento degli altri stati ottenuti tramite azioni. La scelta di quali nodi espandere corrisponde ad una strategia di ricerca, ovvero un modo di creare e navigare tutti gli stati possibili. Esistono diverse strategie di ricerca, che differiscono per le principali proprietà: completezza: una strategia è completa se garantisce il raggiungimento dell obbiettivo, assunto che ne esista uno; complessità nel tempo: quanto tempo impiega l algoritmo ad essere eseguito; complessità nello spazio: di quanta memoria ha necessità; ottimalità: supposto che esistano diverse soluzioni, ordinabili per valore, l algoritmo ci garantisce che viene trovata la migliore? Gli algoritmi di ricerca si dividono ancora in non informati, ovvero dove non si sa nulla del problema su cui si opera, ed informati, dove è possibile ottimizzare la ricerca usando informazioni specifiche al problema RICERCA PER PROFONDITÀ (DEPTH FIRST) La ricerca per profondità (depth first search) è in assoluto il più popolare algoritmo di ricerca; questo è dovuto alla sua facilità implementativa e alla buona velocità di esecuzione. L idea dell algoritmo è quella di espandere il primo nodo figlio e da là continuare a scendere finché non si raggiunge un nodo obiettivo o non si può più andare avanti; in quest ultimo caso, si torna indietro (backtracking) al nodo più recente di cui non siano stati espansi tutti i nodi. FIGURA 2RICERCA PER PROFONDITÀ, ORDINE DI ESPANSIONE DEI NODI Il limite principale di questo algoritmo è che, qualora il grafo contenga dei cicli, l algoritmo rimarrà bloccato in esso e nessun risultato sarà dato. Guardando la prossima figura, si vede come l algoritmo 3 Introduzione all Intelligenza Artificiale Stefano De Luca

4 procederà passando dal nodo 1 al 2, al 3, e poi, una volta arrivato al 4 tornerà indietro nuovamente al 2, ripetendo il ciclo già detto. FIGURA 3FINIRE IN UN CICLO Si può evitare la caduta nel ciclo mantenendo in memoria i nodi già attraversati, ed evitando di tornare su di essi. Nell esempio, da 4 non si andrà su 2 (già attraversato), ma si passerà invece al 5. Evidentemente c è un incremento della memoria usata, ma a vantaggio della solidità dell algoritmo. Rispetto alle specifiche suddette, possiamo dire che la ricerca in profondità: non è completo, in quanto in presenza di cicli può non trovare la soluzione; la sua complessità nel tempo è O(b m ), dove b è il branching factor, ovvero di quanto si espande l albero, e m è la massima profondità dell albero; potenzialmente questo vuol dire che bisogna navigare tutto l albero per trovare la soluzione. la sua complessità nello spazio è O(bm), che è senz altro buona; non è ottimale, in quanto è possibile trovare una soluzione sub-ottimale prima di una migliore, e in linea di principio quella migliore potrebbe essere dietro un ciclo RICERCA PER AMPIEZZA (DEPTH FIRST SEARCH) La ricerca per ampiezza differisce da quella in profondità perché prova a navigare il grafo livello livello per livello; in questo modo si evita di cadere in cicli infiniti, e diventa possibile trovare sempre la soluzione, se esiste, e la soluzione ottima se ne esiste più di una. 4 Introduzione all Intelligenza Artificiale Stefano De Luca

5 FIGURA 4NAVIGAZIONE TRAMITE ALGORITMO PER AMPIEZZA L idea dell algoritmo è esplorare tutti i nodi figli prima di scendere ulteriormente in profondità. I nodi esplorati vanno a comporre una coda, che verrà usata per navigare il livello sottostante una volta che non vi siano altri nodi figli. Rispetto alle specifiche suddette, possiamo dire che la ricerca in profondità: è completo, in quanto può scendere senza incontrare cicli fino a raggiungere la soluzione; la sua complessità nel tempo è O(b d ), dove b è il branching factor, ovvero di quanto si espande l albero, e d è la profondità della soluzione; come si vede, è migliore di quella per profondità. la sua complessità nello spazio è sempre O(b d ), che è invece decisamente non buona; è ottimale, in quanto è possibile trovare tutte le soluzioni, ottimali e sub-ottimali ITERATIVE DEEPENING Abbiamo visto come i due algoritmi di depth first e breadth first abbiamo ognuno degli elementi di criticità, il primo perché è soggetto ai cicli, il secondo per un uso eccessivo di memoria. Esiste un algoritmo che cerca di prendere gli elementi migliori da entrambi; già dal nome, iterative deepening, approfondimento iterativo, vediamo quale sia la strategia scelta: l idea è di partizionare il grafo in fasce della stessa ampiezza, ovvero si sceglierà una profondità n (1, 2, 3 ) e si esploreranno tutti i nodi a partire dalla radice che siano a distanza n; la distanza indica quanti archi bisogna attraversare dal nodo iniziale a quello di interesse. Entro questa fascia, si utilizzerà l algoritmo di depth first, che non potrà entrare in cicli infiniti, visto che la discesa sarà limitata dal parametro di approfondimento n. Una volta esplorati tutti i nodi, verranno posti in una coda tutti i nodi sulla frontiera, ovvero quelli raggiunti esattamente a profondità n. Da là si partirà con il medesimo approccio dell algoritmo breadth first, per ulteriori n livelli. 5 Introduzione all Intelligenza Artificiale Stefano De Luca

6 FIGURA 5NAVIGAZIONE DI UN GRAFO: ITERATIVE DEEPENING Rispetto alle specifiche suddette, possiamo dire che l iterative deepening sia : è completo, in quanto trova sempre la soluzione, se questa esiste; la sua complessità nel tempo è O(b d ), come nel caso del depth first la sua complessità nello spazio è O(bd), di nuovo come il depth first; è ottimale, in quanto è possibile raggiungere tutte le soluzioni. L uso di questo algoritmo è preferito nel caso di un grande spazio di esplorazione e non sia nota la profondità della (possibile) soluzione. 1.3 RICERCHE INFORMATE Gli algoritmi visti finora non presuppongono alcuna conoscenza del problema; ci basterà conoscere la funzione successore che ci permette di passare da un nodo all altro. Esiste però la possibilità di avere informazioni aggiuntive sul problema, come il costo (peso) del passaggio da un nodo all altro o una stima della distanza verso la soluzione, che possono consentire di migliorare in modo importante i tempi di ricerca e la quantità di memoria necessaria ALGORITMO GOLOSO (GREEDY) Il più semplice di questi algoritmi è l algoritmo goloso, o greedy. Per poterlo applicare, abbiamo bisogno di un grafo dove ogni arco sia etichettato con il costo, o peso, dell attraversamento. Un esempio semplice, vedi anche Figura 6, sono le distanze in chilometri tra due città. Lo stesso arco può 6 Introduzione all Intelligenza Artificiale Stefano De Luca

7 avere anche diversi pesi: nel caso del grafo stradale, possiamo avere un altro peso che ci indica la quantità di tempo necessaria prendendo in considerazione i limiti di velocità, un altro peso che indica la pericolosità della strada, o un altro che misura la sua bellezza paesaggistica. FIGURA 6ESEMPIO DI GRAFO PESATO: DISTANZE TRA CITTÀ L algoritmo greedy opera in modo molto semplice: a partire da un nodo, lo si espanderà tramite la funzione successore, e si sceglierà il nodo successivo in cui l arco abbia il costo minore. Ovviamente questo algoritmo è troppo semplice; immaginiamo di partire da Oradea e voler andare a Sibiu. L algoritmo sceglierà l arco che porta a Zerind, che ha un peso di 71, piuttosto che quello diretto con un costo superiore 151. Ma una volta passati a Zerind, si dovrà andare necessariamente ad Arad, con un costo complessivo di 146, e da là a Sibiu, con un costo complessivo di ben 286, mentre il percorso migliore è ovviamente soltanto 151. Per migliorare questo algoritmo (che in questa modalità è detto anche best-first, ovvero si procede per primi verso il nodo immediatamente migliore), si potrò usare una euristica. L euristica è una funzione che approssimi la soluzione finale cercando di stimare il percorso nel grafo migliore; per quanto l euristica sia necessariamente imperfetta (se fosse perfetta, non servirebbe alcun algoritmo di ricerca su grafo, si seguirebbero semplicemente le indicazioni dell euristica), può darci una prima approssimazione e indirizzarci, anche se non sempre, verso la soluzione migliore. Per un grafo stradale, una semplice euristica può essere la distanza in linea d aria (straight line) tra un nodo, una città nel nostro esempio, e la città obiettivo. Nella precedente figura a destra vi sono le distanze in linea d aria di ogni città verso Bucharest. Non è importante che la funzione sia precisa, ma è importante che rispetti queste due caratteristiche: Restituire 0 se il nodo di cui si calcola l euristica sia un nodo obiettivo. Restituire un valore comunque inferiore a quello reale, potremmo dire con approccio ottimista. 7 Introduzione all Intelligenza Artificiale Stefano De Luca

8 Vediamo che la distanza in linea d aria rispetta questi due vincoli: la distanza in linea d aria tra una città obiettivo e se stessa sarà sempre 0, e non sarà mai possibile che la strada percorsa da una città all altra sia inferiore alla distanza in linea d aria. Ora è possibile usare l euristica anche nell algoritmo greedy. Partendo da Arad e volendo arrivare a Bucharest, si sceglierà Sibiu e non Timisoara, poiché la funzione euristica dei nodi, potremmo definirla h(x), è h(sibiu) = 253, mentre h(timisoara) = 329. Naturalmente l algoritmo continua a non essere ottimale, ovvero a non necessariamente trovare il percorso migliore; basterà pensare a una città raggiungibile da due intermedie, con una distanza in linea d aria quasi similare: se quella con minore distanza in linea d aria ha un numero maggiore di curve e deviazioni, sarà sub-ottimale (ovvero non la migliore) rispetto all alternativa che magari percorrerà in via diretta il percorso. In più, l algoritmo greedy non è nemmeno completo, perché seguendo il percorso di minore costo momentaneo può portarci in porzioni del grafo che non ci consentono di raggiungere l obiettivo. <todo> ALGORITMO DI RICERCA A* 8 Introduzione all Intelligenza Artificiale Stefano De Luca

Ricerca non informata

Ricerca 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

Dettagli

Espansione: si parte da uno stato e applicando gli operatori (o la funzione successore) si generano nuovi stati.

Espansione: 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

Dettagli

Intelligenza Artificiale. Risoluzione dei Problemi

Intelligenza 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

Dettagli

Intelligenza Artificiale. Tecniche di ricerca basate sullo spazio degli stati

Intelligenza 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

Dettagli

Intelligenza Artificiale. Ricerca euristica Algoritmo A*

Intelligenza 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

Dettagli

Intelligenza Artificiale Compito - 12 Marzo 2007

Intelligenza 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

Dettagli

Intelligenza Artificiale. Lezione 5. Sommario. Ricerca Best-first. Ricerca golosa. Russell & Norvig Capitolo 4, Paragrafi 1 2. Ricerca Best-first

Intelligenza 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

Dettagli

Ricerca con avversari

Ricerca 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

Dettagli

Intelligenza Artificiale. Ricerca euristica L algoritmo A*

Intelligenza 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

Dettagli

Ricerca informata in uno spazio di stati

Ricerca 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,

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N

Dettagli

Algoritmi di Ricerca

Algoritmi 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

Dettagli

Intelligenza Artificiale

Intelligenza 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

Dettagli

Ricerca Cieca. Spazio di Ricerca. ! albero di ricerca. Russell & Norvig: Introduzione al Problem Solving. Introduzione al Problem Solving

Ricerca 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

Dettagli

Introduzione all Intelligenza Artificiale a.a. 2016/17

Introduzione 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

Dettagli

TECNOLOGIE INFORMATICHE MULTIMEDIALI

TECNOLOGIE 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

Dettagli

3 Ricerca per Giochi e CSP

3 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

Dettagli

Risoluzione automatica di problemi. Sistemi distribuiti LS Prof. Andrea Omicini A.A

Risoluzione 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

Dettagli

2 Problemi di Ricerca

2 Problemi di Ricerca Esercizio 2.1 Formalizzare come problema di ricerca il problema delle 8 regine. Esercizio 2.2 Analizzare l algoritmo di ricerca a lunghezza iterativa. Tale algoritmo incrementa iterativamente il limite

Dettagli

Il problema del commesso viaggiatore

Il 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à

Dettagli

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

Agenti 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 è

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Generare sequenze di azioni.

Generare 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

Dettagli

Constraint Satisfaction Problems

Constraint 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

Dettagli

Ricerca euristica. Funzioni di valutazione euristica. Esempi di euristica. Strategia best-first: esempio. Algoritmo di ricerca Best-First 3/17/11

Ricerca euristica. Funzioni di valutazione euristica. Esempi di euristica. Strategia best-first: esempio. Algoritmo di ricerca Best-First 3/17/11 Ricerca euristica Ricerca euristica Maria Simi a.a. 2010/2011 La ricerca esaustiva non è praticabile in problemi di complessità esponenziale Noi usiamo conoscenza del problema ed esperienza per riconoscere

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Dettagli

Il valore di flusso che si ottiene è

Il valore di flusso che si ottiene è 1) Si consideri un insieme di piste da sci e di impianti di risalita. Lo si modelli con un grafo orientato che abbia archi di due tipi: tipo D (discesa e orientato nel senso della discesa) e tipo R (risalita

Dettagli

3.4 Metodo di Branch and Bound

3.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

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 3 Cammini minimi: algoritmo di Dijkstra Cammini minimi in grafi: cammini minimi a singola sorgente (senza pesi negativi) Cammini minimi in grafi pesati Sia G=(V,E,w)

Dettagli

Problem-solving agents

Problem-solving agents Problem-solving agents 1 Formulazione del problema :! lo stato iniziale;" Descrizione delle azioni possibili che sono disponibili da parte dell agente (operatori che trasformano uno stato in un altro o

Dettagli

Relazione su Gioco dell'otto

Relazione 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.

Dettagli

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

Ricerca 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

Dettagli

K 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? 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

Dettagli

Corso di Intelligenza Artificiale

Corso 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

Dettagli

Esercitazione 2. Progettare un algoritmo che risolva tale problema in tempo O( E + V log V ).

Esercitazione 2. Progettare un algoritmo che risolva tale problema in tempo O( E + V log V ). Esercitazione 2 Problema 4: Dato un grafo G = (V, E) con pesi positivi sugli archi ed un insieme di k centri C = {c 1, c 2, c k } V, si richiede di partizionare l insieme V in k insiemi V 1, V 2, V k in

Dettagli

Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte II

Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte II Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte II Classificazione digli archi Sia G la foresta DF generata da DFS sul grafo G. Arco d albero: gli

Dettagli

PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Il costo di cammino minimo da un vertice u ad un vertice v è definito nel seguente modo:

PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Il costo di cammino minimo da un vertice u ad un vertice v è definito nel seguente modo: PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Sia G = (V,E) un grafo orientato ai cui archi è associato un costo W(u,v). Il costo di un cammino p = (v 1,v 2,...,v k ) è la somma dei costi degli archi

Dettagli

INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD

INSTRADAMENTO: 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=

Dettagli

Esercizi svolti a lezione

Esercizi 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

Dettagli

Esercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST.

Esercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST. Esercitazione 3 Problema 6: Sia G = (V, E) un grafo con pesi distinti sugli archi ed e E un arco di G. Progettare un algoritmo lineare in grado di determinare se esiste un MST di G che contiene l arco

Dettagli

Bioinformatica. Grafi. a.a Francesca Cordero. Grafi Bioinformatica

Bioinformatica. 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,)

Dettagli

Unità E1. Obiettivi. Non solo problemi matematici. Problema. Risoluzione di un problema. I dati

Unità E1. Obiettivi. Non solo problemi matematici. Problema. Risoluzione di un problema. I dati Obiettivi Unità E1 Dall analisi del problema alla definizione dell algoritmo Conoscere il concetto di algoritmo Conoscere le fasi di sviluppo di un algoritmo (analisi, progettazione, verifica) Conoscere

Dettagli

Il metodo dei Piani di Taglio (Cutting Planes Method)

Il 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

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Dijkstra (*) (ACM in grafi diretti e non diretti senza archi di peso negativo) Punto della situazione Algoritmo basato sull ordinamento

Dettagli

Progettazione di Algoritmi - lezione 11

Progettazione di Algoritmi - lezione 11 Progettazione di Algoritmi - lezione 11 Discussione dell'esercizio [rifornimenti] Un algoritmo greedy per questo problema è quello che si presenta naturalmente: facciamo rifornimento solo quando è necessario,

Dettagli

Programmazione a numeri interi: il metodo del Branch and Bound

Programmazione a numeri interi: il metodo del Branch and Bound Programmazione a numeri interi: il metodo del Branch and Bound L. De Giovanni G. Zambelli Un problema di programmazione lineare intera è una problema della forma z I = maxc T x Ax b x 0 x i Z, i I. (1)

Dettagli

Strutture dati per rappresentare grafi

Strutture dati per rappresentare grafi lgoritmi e strutture dati amil emetrescu, Irene inocchi, iuseppe. Italiano Strutture dati per rappresentare grafi opyright 2004 - The Mcraw - Hill ompanies, srl lgoritmi e strutture dati amil emetrescu,

Dettagli

Programmazione dinamica

Programmazione dinamica p. 1/1 Programmazione dinamica La programmazione dinamica è un altro approccio che consente di risolvere problemi in modo esatto. Considereremo solo problemi di massimo ma piccole modifiche consentono

Dettagli

PROBLEMI SU GRAFO (combinatori)

PROBLEMI SU GRAFO (combinatori) PROLMI SU GRO (combinatori) In molti problemi il numero di soluzioni ammissibili è finito. Questi problemi sono quasi sempre descritti su grafi. Rete stradale: come andare da a in tempo minimo? Grafo orientato

Dettagli

Problema del cammino minimo

Problema del cammino minimo Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento

Dettagli

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);

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); Algoritmi e Strutture di Dati II 2 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); E µ V V è u n i n s i e m e d i archi. Denotiamo

Dettagli

Intelligenza Artificiale Compito - 12 Marzo 2007

Intelligenza 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

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

PLANNING LINEARE FORWARD. Esercizio in Prolog

PLANNING 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

Dettagli

4c. Esercizi sul livello di Rete Instradamento in Internet

4c. 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

Dettagli

Esercizi 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 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

Dettagli

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;

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; 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

TECNICA BACKTRACKING

TECNICA BACKTRACKING TECNICA BACKTRACKING 1. Introduzione Il Backtracking è un modo sistematico di muoversi tra tutte le possibili configurazioni di uno spazio. Queste configurazioni ad esempio possono essere tutti i possibili

Dettagli

Esercizi proposti 10

Esercizi 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 =

Dettagli

Algoritmi e giochi combinatori

Algoritmi e giochi combinatori Algoritmi e giochi combinatori Panoramica Giochi combinatori Programmi che giocano Albero di un gioco L algoritmo Minimax 1 Perché studiare i giochi? Problemi che coinvolgono agenti in competizione tra

Dettagli

2 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 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

Dettagli

Note sull implementazione in virgola fissa di filtri numerici

Note sull implementazione in virgola fissa di filtri numerici Note sull implementazione in virgola fissa di filtri numerici 4 settembre 2006 1 Introduction Nonostante al giorno d oggi i processori con aritmetica in virgola mobili siano molto comuni, esistono contesti

Dettagli

I 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. 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)

Dettagli

Suffix Trees. Docente: Nicolò Cesa-Bianchi versione 21 settembre 2017

Suffix Trees. Docente: Nicolò Cesa-Bianchi versione 21 settembre 2017 Complementi di Algoritmi e Strutture Dati Suffix Trees Docente: Nicolò Cesa-Bianchi versione 21 settembre 2017 In generale, possiamo trovare tutte le occorrenze di un pattern y in un testo x in tempo O(

Dettagli

2 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 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

Dettagli

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 0/06/06 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai

Dettagli

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Un algoritmo per il flusso a costo minimo: il simplesso

Dettagli

FONDAMENTI 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 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

Dettagli

Progettazione di algoritmi

Progettazione di algoritmi Progettazione di algoritmi Discussione dell'esercizio [acqua 2] Vogliamo trovare una sequenza di versamenti che sia buona e parsimoniosa. Consideriamo quindi il grafo i cui nodi sono le possibili configurazioni

Dettagli

Risoluzione di un problema di VRP

Risoluzione 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,

Dettagli

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Stdi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia gigno Nome: Cognome: Matricola: voglio sostenere la prova orale il giorno venerdì //

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Introduzione ai grafi Grafi: Definizione e Algoritmi di visita Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2007/08 Introduzione ai

Dettagli

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 06/07/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via

Dettagli

5.1 Metodo Branch and Bound

5.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

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A Ricerca Operativa 1 Seconda prova intermedia Si è rotto un aereo che doveva trasportare un elevato numero di persone dalla città 3 alla città 8. Si rende quindi necessario utilizzare i posti disponibili

Dettagli

Alberi binari di ricerca

Alberi binari di ricerca Alberi binari di ricerca Gli alberi binari di ricerca sono ottime strutture dati per memorizzare coppie di elementi (k, e) chiave elemento di un dizionario. Un albero binario di ricerca T è un albero binario

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),

Dettagli

Alberi di Decisione (2)

Alberi di Decisione (2) Alberi di Decisione (2) Corso di AA, anno 2017/18, Padova Fabio Aiolli 25 Ottobre 2017 Fabio Aiolli Alberi di Decisione (2) 25 Ottobre 2017 1 / 18 Apprendimento di alberi di decisione: Bias induttivo Come

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014 A Ricerca Operativa 1 Seconda prova intermedia Un tifoso di calcio in partenza da Roma vuole raggiungere Rio De Janeiro per la finale del mondiale spendendo il meno possibile. Sono date le seguenti disponibilità

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

Gestione della produzione e della supply chain Logistica distributiva Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non

Dettagli

Note per la Lezione 22 Ugo Vaccaro

Note per la Lezione 22 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 0 09 Note per la Lezione Ugo Vaccaro Nella lezione scorsa abbiamo introdotto la vista in ampiezza di grafi. Essenzialmente, esso è un metodo per esplorare in

Dettagli

Algoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford

Algoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio II: cammini minimi a singola sorgente (per grafi

Dettagli

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale A n n o A c c a d e m i c o 2 0 0 8-2 0 0 9 La Rappresentazione della Conoscenza: I Sistemi di Produzione Sommario Formalismi dichiarativi e procedurali Le regole di produzione

Dettagli

Problemi CSP: Problemi di. soddisfacimento di vincoli. Colorazione di una mappa. Formulazione di problemi CSP. Formulazione. Tipi di problemi CSP

Problemi CSP: Problemi di. soddisfacimento di vincoli. Colorazione di una mappa. Formulazione di problemi CSP. Formulazione. Tipi di problemi CSP Problemi di soddisfacimento di vincoli Maria Simi a.a. 2010/2011 Problemi CSP: soddisfacimento di vincoli Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati.

Dettagli

Espansione: si parte da uno stato e applicando gli operatori (o la funzione successore) si generano nuovi stati.

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

Dettagli

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola: Sesto appello 7/7/8 RICERCA OPERATIVA (a.a. 7/8) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B

Dettagli

Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: I Sistemi di Produzione

Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: I Sistemi di Produzione Intelligenza Artificiale A n n o A c c a d e m i c o 2 0 0 8-2 0 0 9 La Rappresentazione della Conoscenza: I Sistemi di Produzione 1 Sommario Formalismi dichiarativi e procedurali Le regole di produzione

Dettagli

Cammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo

Cammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo

Dettagli

Algoritmi e Strutture di Dati II 2. Visite di grafi

Algoritmi e Strutture di Dati II 2. Visite di grafi Algoritmi e Strutture di Dati II 2 Visite di grafi Gli algoritmi di visita di un grafo hanno come obiettivo l esploraione di tutti i nodi e gli archi del grafo. Vi sono due modi principali per esplorare

Dettagli

Appunti lezione Capitolo 13 Programmazione dinamica

Appunti lezione Capitolo 13 Programmazione dinamica Appunti lezione Capitolo 13 Programmazione dinamica Alberto Montresor 12 Novembre, 2015 1 Domanda: Fattore di crescita dei numeri catalani Vogliamo dimostrare che cresce almeno come 2 n. La nostra ipotesi

Dettagli

Soluzioni della settima esercitazione di Algoritmi 1

Soluzioni 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

Dettagli

Parte III: Algoritmo di Branch-and-Bound

Parte III: Algoritmo di Branch-and-Bound Parte III: Algoritmo di Branch-and-Bound Sia Divide et Impera z* = max {c T x : x S} (1) un problema di ottimizzazione combinatoria difficile da risolvere. Domanda: E possibile decomporre il problema (1)

Dettagli

Alberi di Decisione (2)

Alberi di Decisione (2) Alberi di Decisione (2) Corso di AA, anno 2018/19, Padova Fabio Aiolli 05 Novembre 2018 Fabio Aiolli Alberi di Decisione (2) 05 Novembre 2018 1 / 19 Apprendimento di alberi di decisione: Bias induttivo

Dettagli