Lezione 4. Stati e ricerca. Algoritmi di ricerca. Problemi di Ricerca. Ricerca e non determinismo. Esempio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 4. Stati e ricerca. Algoritmi di ricerca. Problemi di Ricerca. Ricerca e non determinismo. Esempio"

Transcript

1 Stati e ricerca Lezione RICERCA Un agente si uo trovare in uno stato Eseguendo determinate azioni, cambia il rorio stato Lo scoo e raggiungere un obbiettivo (goal), caratterizzabile come insieme di stati che verificano determinate condizioni Problema cerca una successione di mosse che orti ad uno statoobbiettivo Intelligenza Artificiale M. Ornaghi Intelligenza Artificiale M. Ornaghi Problemi di Ricerca Problemi di ricerca = roblemi caratterizzabili mediante: Uno sazio di ricerca (insieme di configurazioni) contenete un sottoinsieme di soluzioni otenziali Un metodo di ricerca generare o trovare le soluzioni, in modo ossibilmente affidabile decidere se una configurazione è una soluzione Esemi Trovare la mossa migliore in una artita a scacchi Trovare il ercorso minimo in un grafo Trovare una dimostrazione di un teorema Algoritmi di ricerca Ricercano una soluzione (o le soluzioni, o una soluzione ottimale) di un roblema di ricerca un agente comutazionale sesso risolve i roblemi in modo diverso da un umano, assando in rassegna tutti i casi ( forza bruta ) Sono algoritmi di base er IA Algoritmi di ricerca non informati (o ciechi ) : forza bruta Vi è modo di aggiungere euristiche, algoritmi informati Intelligenza Artificiale M. Ornaghi Intelligenza Artificiale M. Ornaghi Ricerca e non determinismo Sesso un roblema di ricerca è formulabile come un roblema di imlementazione di un algoritmo non deterministico Un algoritmo non deterministico ND è un algoritmo che in ogni stato uò scegliere fra iù assi elementari; una comutazione è una successione di assi elementari; uò: ortare ad una soluzione, ad un fallimento o essere infinita è il non determinismo don t know già incontrato ND risolve un roblema se esiste una comutazione che orta ad una soluzione (un oracolo uò dire all algoritmo le scelte giuste) Non disonendo di un oracolo, si rocede con una ricerca esaustiva nell albero delle comutazioni ossibili Si ricordi: P classe dei roblemi solubili in temo olinomiale deterministicamente, NP classe dei roblemi solubili in temo olinomiale non deterministicamente, roblema aerto P=NP? Esemio Cercare il cammino iù breve in un grafo Gli stati sono i nodi del grafo; I assi dell algoritmo sono il assaggio dal nodo corrente ad un nodo collegato da un arco Un oracolo uò dire uale sia la scelta giusta L algoritmo non deterministico è Nodo := nodo di artenza while not NodoDiArrivo(Nodo) {trova arco(nodo, Nodo); Nodo := Nodo;} Intelligenza Artificiale M. Ornaghi 5 Intelligenza Artificiale M. Ornaghi 6

2 Sazi di ricerca come grafi Lo sazio di ricerca è l insieme delle configurazioni all interno delle uali avviene la ricerca (i nodi nel recedente esemio), assieme alle relazioni esistenti fra le configurazioni Molti roblemi di ricerca sono formalizzabili (mediante le oortune astrazioni) come roblemi di ricerca in un grafo; le configurazioni sono i nodi del grafo e gli archi raresentano i ossibili assi verso la soluzione. In uesto caso: Uno sazio di ricerca è un grafo in cui si distinguono un insieme S di nodi iniziali e un redicato goal : Nodi Boolean il roblema è di trovare i cammini (un cammino, i cammini ottimali, ) dai nodi di S a nodi g in cui valga goal(g) Intelligenza Artificiale M. Ornaghi 7 Si hanno essenzialmente due tii di sazi: Sazio degli stati: i nodi raresentano stati del mondo : ad esemio, trovarsi in un nodo di un grafo che raresenta i collegamenti stradali in un insieme di città, nella ricerca del cammino iù breve Sazio dei roblemi: i nodi raresentano iotesi di soluzione intermedie nella ricerca di una soluzione di un roblema ad esemio, gli alberi di rova, eventualmente con delle foglie ancora da risolvere, nella ricerca della dimostrazione di un goal Intelligenza Artificiale M. Ornaghi 8 Esemio di sazio degli stati CODIFICA DEGLI STATI. Per semlicità, caso X : (0,,,) Intelligenza Artificiale M. Ornaghi Gli stati sono le configurazioni delle tessere; gli archi sono le coie (config, config) tali che si assa da config a config con una mossa (sostare una tessere nella osizione libera) (X,X,X,X) Le mosse ossibili, con (X,Y,Z) ermutazione di (,,): (0,X,Y,Z) (X,0,Y,Z) (0,X,Y,Z) (Z,X,Y,0) (X,0,Y,Z) (0,X,Y,Z) (X,0,Y,Z) (X,Y,0,Z) (X,Y,0,Z) (X,0,Y,Z) (X,Y,0,Z) (X,Y,Z,0) (X,Y,Z,0) (X,Y,0,Z) (X,Y,Z,0) (0,X,Y,Z) Intelligenza Artificiale M. Ornaghi 0 STATI INIZIALI: una configurazione GOAL (0,,,) oure (0,,,) Vediamo uno sazio di ricerca con stato iniziale (0,,,); gli archi di ritorno alla mossa recedente, in verde, ossono essere tagliati (0,,,) (,0,,) (,,,0) (,,0,) (,,0,) (,,,0) (,0,,) (0,,,) (0,,,) (,0,,) (,,,0) (,,0,) Intelligenza Artificiale M. Ornaghi Intelligenza Artificiale M. Ornaghi

3 Esemio di sazio dei roblemi :- s,r. :-,r.. r :- s. r :-.? Stati: alberi di rova Archi:?,, r Stati iniziali: una tesi scelto fra,,r,s goal(x): vero er X = albero con radice = alla tesi e senza foglie da risolvere Lo sazio di ricerca con nodo iniziale è:?, Ecc. Intelligenza Artificiale M. Ornaghi Intelligenza Artificiale M. Ornaghi. :- s,r.. :-,r.... r :-. SI osservi il don t care della selezione del goal r r r r r r FAIL r Intelligenza Artificiale M. Ornaghi 5 Ricerca in Grafi Concetti eterminologia Grafo Diretto G = (Nodi, Archi) con Archi Nodi Nodi Archi labellati: λ : Archi Etichette Archi esati: le etichette sono numeri, i esi Cammini: (n 0,n, n k ) tale (n i, n i+ ) Archi ossono essere infiniti Grafi Diretti Aciclici (DAG): nessun cammino contiene cicli cicli = cammini (n.. n) Intelligenza Artificiale M. Ornaghi 6 Problema di Ricerca: R=(G,S,goal), con G = (N, A) grafo S N nodi iniziali goal : N boolean Soluzione = cammino (i,,g) con i S, goal(g) = true Costi. se vi sono dei costi (esi degli archi), si associa ad ogni nodo n raggiunto con un cammino (i,n, nk,n) un costo: g(n) = costo(i,n ) + + costo(n k,n) Soluzioni ottimali (se vi è costo): soluzioni il cui costo è <= del costo di ogni altra soluzione Considereremo degli sazi in cui il grafo è un DAG. Fattori che influenzano la comlessità in sazio e temo: Fattore di ramificazione in avanti (numero archi uscenti) Fattore di ramificazione all indietro (numero archi entranti) Caratteristiche di un algoritmo (suosto corretto): Comletezza: se vi è una soluzione, viene trovata Ottimalità (nel caso di costi): le soluzioni trovate sono ottimali Comlessità in temo e sazio: misurata in funzione del fattore di ramificazione e della rofondità massima di soluzione Intelligenza Artificiale M. Ornaghi 7 Intelligenza Artificiale M. Ornaghi 8

4 L algoritmo generico di ricerca Le frontiere dell albero di ricerca Vediamo un rogramma generico con tii dati e oerazioni aerti, cioé non comletamente definiti le cui istanze che definiscono le arti aerte raresentano le varie strategie di ricerca che considereremo Chiamiamo tale rogramma l algoritmo generico di ricerca. La nozione centrale è uella di FRONTIERA Possiamo raresentare la ricerca come albero delle scelte di un algoritmo non deterministico, che da ogni nodo sceglie un arco. Utilizzando idealmente un albero (ma l algoritmo lavora sul grafo) consideriamo distinti nodi che coincidono nel grafo ma che occuano osizioni diverse nell albero. Una frontiera di tale albero è un insieme di cammini tale che ogni cammino verso un nodo non ancora eslorato estenda uno ed un solo cammino della frontiera ESEMPIO: Intelligenza Artificiale M. Ornaghi 9 Intelligenza Artificiale M. Ornaghi 0 FAIL r Esemi di frontiera r r Nodo trilicato nell albero r r r r r r Intelligenza Artificiale M. Ornaghi rocedure Search(G = (Nodi, Archi), S, goal): Cammini; local frontiera: setof(cammini); begin frontiera := S; while (frontiera <> {}) do togli (s 0... s k ) da frontiera; if goal(sk) then return (s 0... s k ) else aggiungi { (s 0... s k, s) (sk,s) in Archi } a frontiera end while end Intelligenza Artificiale M. Ornaghi Le rocedure aerte Deth-first e breadth-first con l algoritmo semlificato Diendono dal roblema secifico: S, goal(n:nodi), Archi Diendono dalla strategia di ricerca togli cammino da frontiera vi sono diversi modi di selezionare il cammino da esandere {(...s k,s) (s k,s) in Archi} ordine con cui rendere i diversi archi? aggiungi cammino a frontiera in che osizione aggiungere? La ricerca deth-first (in rofondità) imlementa la frontiera come uno stack; mentre breadth-first (in larghezza) la imlemeta come una coda Vediamo un esemio Intelligenza Artificiale M. Ornaghi Intelligenza Artificiale M. Ornaghi

5 DEPTH FIRST frontiera = {()} tolgo (); esansioni di (): {(,), (,)} frontiera = {(,),(,)} tolgo (,) esansioni: {(,,)} Intelligenza Artificiale M. Ornaghi 5 Intelligenza Artificiale M. Ornaghi 6 frontiera = {(,,),(,)} tolgo (,,) esansioni: {(,,,7)} frontiera: {(,..,7),(,)} tolgo (,...,7) esansioni: { } Intelligenza Artificiale M. Ornaghi 7 Intelligenza Artificiale M. Ornaghi 8 frontiera = {(,)} tolgo (,) esansioni {(,,5),(,,6)} frontiera... tolgo... esansioni Intelligenza Artificiale M. Ornaghi 9 Intelligenza Artificiale M. Ornaghi 0 5

6 frontiera... tolgo... esansioni... frontiera {(,..,),(,..6)} tolgo (,..,) goal() Intelligenza Artificiale M. Ornaghi Intelligenza Artificiale M. Ornaghi BREADTH FIRST frontiera {()} tolgo () esansioni {(,),(,)} frontiera {(,),(,)} tolgo (,) esansioni (,,) Intelligenza Artificiale M. Ornaghi Intelligenza Artificiale M. Ornaghi frontiera {(,),(,,)} tolgo (,) esansioni {(,,5),(,,6)} frontiera {(,,), (,,5),(,,6)} tolgo (,,) esansioni {(,,,7)} Intelligenza Artificiale M. Ornaghi 5 Intelligenza Artificiale M. Ornaghi 6 6

7 frontiera {(,,5),(,,6),(,..,7)} tolgo (,,5) esansioni {(,,5,8)} frontiera {(,,6),(,..,7),(,..,8)} esansioni Intelligenza Artificiale M. Ornaghi 7 Intelligenza Artificiale M. Ornaghi 8 esansioni... esansioni Intelligenza Artificiale M. Ornaghi 9 Intelligenza Artificiale M. Ornaghi 0 esansioni... esansioni Intelligenza Artificiale M. Ornaghi Intelligenza Artificiale M. Ornaghi 7

8 esansioni Intelligenza Artificiale M. Ornaghi 8

Riduzioni di Turing. OMdT. nastro di oracolo. domanda. tra linguaggi. macchina di Turing con oracolo (OMdT). detto insieme di oracolo.

Riduzioni di Turing. OMdT. nastro di oracolo. domanda. tra linguaggi. macchina di Turing con oracolo (OMdT). detto insieme di oracolo. Riduzioni di Turing! Nozione iù forte di riduzione olinomiale tra linguaggi.! Basata sul modello di calcolo della macchina di Turing con oracolo (OMdT). 1 OMdT! MdT dotata di un nastro addizionale: nastro

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

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

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

G è 2-colorabile se ogni nodo può essere colorato di bianco o di nero in modo che nodi connessi da archi siano colorati con colori distinti.

G è 2-colorabile se ogni nodo può essere colorato di bianco o di nero in modo che nodi connessi da archi siano colorati con colori distinti. Grafi Grafi bipartiti Un grafo non orientato G è bipartito se l insieme dei nodi può essere partizionato in due sottoinsiemi disgiunti tali che nessun arco del grafo connette due nodi appartenenti allo

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

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

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

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

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

Progettazione di algoritmi

Progettazione di algoritmi Progettazione di algoritmi Discussione dell'esercizio [vincoli] Prima di tutto rappresentiamo il problema con un grafo G: i nodi sono le n lavorazioni L 1, L 2,, L n, e tra due nodi L h, L k c'è un arco

Dettagli

Grafi Stessa distanza

Grafi Stessa distanza Grafi Stessa distanza In un grafo orientato G, dati due nodi s e v, si dice che: v è raggiungibile da s se esiste un cammino da s a v; la distanza di v da s è la lunghezza del più breve cammino da s a

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

Verifica parte IIB. Rif. Ghezzi et al

Verifica parte IIB. Rif. Ghezzi et al Verifica parte IIB Rif. Ghezzi et al. 6.3.4.1 Sommario Test In piccolo White box Black box Condizioni di confine Problema dell' Oracolo In grande Test di modulo Test di integrazione Test di Sistema Test

Dettagli

Verifica parte IIB. Grafo di controllo. Criteri di selezione per test strutturali (white box) Test. Rif. Ghezzi et al

Verifica parte IIB. Grafo di controllo. Criteri di selezione per test strutturali (white box) Test. Rif. Ghezzi et al Verifica parte IIB Rif. Ghezzi et al. 6.3.4.1 Test In piccolo White box Black box Condizioni di confine Problema dell' Oracolo In grande Test di modulo Test di integrazione Test di Sistema Test di Accettazione

Dettagli

Operazioni su liste. Creazione della lista (vuota e successivi inserimenti) Lettura di una lista Stampa di una lista Cancellazione di una lista

Operazioni su liste. Creazione della lista (vuota e successivi inserimenti) Lettura di una lista Stampa di una lista Cancellazione di una lista Oerazioni su liste Creazione della lista (vuota e successivi inserimenti) Lettura di una lista Stama di una lista Cancellazione di una lista Inserimento in lista Estrazione da lista Inserimento in lista

Dettagli

Alberi. Definizione, realizzazione e algoritmi elementari. Ugo de' Liguoro - Algoritmi e Sperimentazioni 03/04 - Lez. 7

Alberi. Definizione, realizzazione e algoritmi elementari. Ugo de' Liguoro - Algoritmi e Sperimentazioni 03/04 - Lez. 7 Alberi Definizione, realizzazione e algoritmi elementari Cosa sono gli alberi? Strutture gerarchiche di ogni tipo Generale Colonnello 1 Colonnello k Maggiore 1,1 Maggiore 1,m Capitano Maggiore k,1 Maggiore

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

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

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

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

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

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

1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI

1 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

Dettagli

Problemi intrattabili

Problemi intrattabili Tempo polinomiale ed esponenziale Una Tm M ha complessita in tempo T(n) se, dato un input w di lunghezza n, M si ferma dopo al massimo T (n) passi. Problemi intrattabili Ci occuperemo solo di problemi

Dettagli

Elementi di Logica matematica. Elementi di logica matematica

Elementi di Logica matematica. Elementi di logica matematica 1 Elementi di logica matematica Molte grammatiche definiscono la roosizione come un giudizio della mente esresso con arole, cioè da un unto di vista grammaticale la arola roosizione sta ad indicare l esressione

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

CAPITOLO 1. Spazi metrici. 1. Definizioni ed esempi

CAPITOLO 1. Spazi metrici. 1. Definizioni ed esempi CAPITOLO 1 Sazi metrici 1. Definizioni ed esemi Definizione 1.1. Sia X un insieme qualsiasi. Una distanza su X è un alicazione d : X X R tale che i) d(x, y) 0 er ogni x, y in X, e d(x, y) = 0 se e solo

Dettagli

Alberi e arborescenze di costo minimo

Alberi e arborescenze di costo minimo Alberi e arborescenze di costo minimo Complementi di Ricerca Operativa Giovanni Righini Dipartimento di Tecnologie dell Informazione - Università degli Studi di Milano Definizioni - 1 Un grafo G = (V,

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

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Si consideri il problema min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando una partizione (ricorsiva)

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

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.

Dettagli

Agenti risolutori di problemi. Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015

Agenti risolutori di problemi. Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015 Agenti risolutori di problemi Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015 Agenti risolutori di problemi Adottano il paradigma della risoluzione di problemi come ricerca in uno spazio

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

Grafi: visita generica

Grafi: visita generica .. Grafi: visita generica Una presentazione alternativa (con ulteriori dettagli) Algoritmi di visita Scopo: visitare tutti i vertici di un grafo (si osservi che per poter visitare un vertice occorre prima

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

Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP

Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP roblemi intrattabili Ci occuperemo solo di problemi decidibili, cioe ricorsivi. Tra loro, alcuni sono detti trattabili, se si puo provare che sono risolvibili in tempo polinomiale in modo deterministico.

Dettagli

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 14, 2016 Elementi Fondamentali Rappresentazione n = V numero di vertici (nodi) m = E numero di archi Matrice di adiacenza:

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) È dato un grafo non orientato G=(V,E). Ad ogni arco e i E, i=1,,m, è associato un costo c i 0 7 14 4 10 9 11 8 12 6 13 5 17 3 2

Dettagli

Generatori di Z p. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi ?? K. Potenze in Z 19 26/05/2005. Vedremo due schemi: Esempio: * a

Generatori di Z p. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi ?? K. Potenze in Z 19 26/05/2005. Vedremo due schemi: Esempio: * a /0/00 Accordo su chiavi Accordo su una chiave Diartimento di Tecnologie dell Informazione Università di Milano cimato@dti.unimi.it htt://www.dti.unimi.it/~cimato K K Accordo su chiavi Vedremo due schemi:

Dettagli

Alberi. Cosa sono gli alberi? Strutture gerarchiche di ogni tipo. Definizione, realizzazione e algoritmi elementari. Generale.

Alberi. Cosa sono gli alberi? Strutture gerarchiche di ogni tipo. Definizione, realizzazione e algoritmi elementari. Generale. Alberi Definizione, realizzazione e algoritmi elementari Cosa sono gli alberi? trutture gerarchiche di ogni tipo Generale Colonnello Colonnello k Maggiore, Maggiore,m Capitano Maggiore k, Maggiore k,n

Dettagli

Algoritmi e Strutture di Dati (3 a Ed.) Algoritmo dei tre indiani. Alan Bertossi, Alberto Montresor

Algoritmi e Strutture di Dati (3 a Ed.) Algoritmo dei tre indiani. Alan Bertossi, Alberto Montresor Algoritmi e Strutture di Dati ( a Ed.) Algoritmo dei tre indiani Alan Bertossi, Alberto Montresor Vediamo a grandi linee un algoritmo proposto da Kumar, Malhotra e Maheswari (978) come raffinamento di

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) diffusione di messaggi segreti memorizzazione

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

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

Applicazioni della logica proposizionale

Applicazioni della logica proposizionale Alicazioni della logica roosizionale Raresentazione di T e F in un comuter! I comuter raresentano le informazioni (dati e rogrammi) attraverso 1 e 0! La logica utilizza vero e falso, cioè T e F! Un bit

Dettagli

Note per la Lezione 21 Ugo Vaccaro

Note per la Lezione 21 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 20 20 Note per la Lezione 2 Ugo Vaccaro In questa lezione introdurremo il concetto di grafo, esamineremo le loro più comuni rappresentazioni ed introdurremo i

Dettagli

Alberi e alberi binari I Un albero è un caso particolare di grafo

Alberi 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

Dettagli

Agenti risolutori di problemi

Agenti risolutori di problemi Agenti risolutori di problemi Agenti risolutori di problemi Risolvere i problemi come ricerca Maria Simi a.a 2010/2011 Adottano il paradigma della risoluzione di problemi come ricerca in uno spazio di

Dettagli

Alberi e alberi binari I Un albero è un caso particolare di grafo

Alberi 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

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

Schedulazione di dettaglio Macchine in parallelo

Schedulazione di dettaglio Macchine in parallelo Lezione 8 Schedulazione di dettaglio Macchine in arallelo Dati: Una lista di lotti (job) che devono essere rocessati da un sistema roduttivo comosto da un set di macchine in arallelo. Siano i lotti caratterizzati

Dettagli

ESERCIZI SULLA TECNICA Greedy

ESERCIZI SULLA TECNICA Greedy ESERCIZI SULLA TECNICA Greedy 1. [FILE] Si supponga di avere n files di lunghezze l 1,..., l n (interi positivi) che bisogna memorizzare su un disco di capacità data D. Si assuma che la somma delle lunghezze

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

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi 1 TEORIA DELLE RETI 1 1 Teoria delle reti 1.1 Grafi Intuitivamente un grafo è un insieme finito di punti (nodi o vertici) ed un insieme di frecce (archi) che uniscono coppie di punti Il verso della freccia

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

Algoritmi Avanzati Soluzioni dello scritto del 2 febbraio 2004 (appello straordinario)

Algoritmi Avanzati Soluzioni dello scritto del 2 febbraio 2004 (appello straordinario) Algoritmi Avanzati Soluzioni dello scritto del febbraio 004 (appello straordinario) 1. Tengo nascosto nel taschino della giacca un grafo misterioso di 7 nodi. Vi dico solo che listando le valenze (= numero

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

1 Definizione formale di gioco in forma estesa.

1 Definizione formale di gioco in forma estesa. 1 Definizione formale di gioco in forma estesa. Una game form in forma estesa, finita, è: - un insieme finito N (assumeremo N = {1,..., n}) - un albero finito T = (V, L) con radice v V. (Dove: V è un insieme

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

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli

Note per la Lezione 4 Ugo Vaccaro

Note per la Lezione 4 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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]

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping lemma per i linguaggi Context-free Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=

Dettagli

Problemi di soddisfacimento di vincoli. Colorazione di una mappa. Formulazione di problemi CSP. Altri problemi

Problemi di soddisfacimento di vincoli. Colorazione di una mappa. Formulazione di problemi CSP. Altri problemi Problemi di soddisfacimento di vincoli Maria Simi a.a. 2012/2013 Problemi di soddisfacimento di vincoli (CSP) Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati

Dettagli

Grafi: definizioni e visite

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

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

Agenti risolutori di problemi

Agenti risolutori di problemi Agenti risolutori di problemi Risolvere i problemi mediante ricerca Alessio Micheli a.a. 2015/2016 Credits: Maria Simi Russell-Norvig Agenti risolutori di problemi Adottano il paradigma della risoluzione

Dettagli

Costruzione dell insieme dei Follow

Costruzione dell insieme dei Follow Costruzione dell insieme dei Follow E! T E - T E E! + T E - T E " T! F T T! *F T " F! (E) i Per evitare che alcuni insiemi siano vuoti si aggiunge per default il simbolo speciale $ che demarca la fine

Dettagli

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

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli. ESERCIZIO 1 Sia dato il grafo orientato in Figura 1. Si consideri il problema di flusso a 1 2 4 Figura 1: costo minimo su tale grafo con b 1 = 4 b 2 = 2 b = b 4 = e c 12 = 2 c 1 = 4 c 14 = 1 c 2 = 1 c

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Programmazione dinamica una tecnica di progettazione algoritmica molto potente Sommario La tecnica della programmazione

Dettagli

Sommario della lezione

Sommario della lezione Sommario della lezione Introduzione ai grafi Definizioni, applicazioni,... Rappresentazioni comuni di grafi Esplorazione di grafi Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro

Dettagli

Tecniche euristiche greedy

Tecniche euristiche greedy Tecniche euristiche greedy PRTLC - Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

PIANIFICAZIONE BASATA SU GRAFI

PIANIFICAZIONE BASATA SU GRAFI PIANIFICAZIONE BASATA SU GRAFI Nel 1995 viene proposto da Blum e Furst CMU un nuovo pianificatore GRAPHPLAN basato sui grafi Durante la pianificazione viene creato un particolare grafo detto Planning Graph

Dettagli

Visite in Grafi BFS e DFS

Visite in Grafi BFS e DFS Visite in Grafi BFS e DFS Visita di un Grafo Obiettivo: Visitare una sola volta tutti i nodi del grafo. Es.: visitare un porzione del grafo del Web Difficoltà: Presenza di cicli: Marcare i nodi visitati

Dettagli

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

Quinto appello 27/6/ = 4. B b B = 2 b N = 4 Quinto appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il problema di PL dato applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {, }. Per

Dettagli

argomenti (Sezione 9.1 e Capitolo 13 Savitch) puntatori puntatori I PUNTATORI E LE STRUTTURE DATI DINAMICHE 1. dichiarazioni di puntatori

argomenti (Sezione 9.1 e Capitolo 13 Savitch) puntatori puntatori I PUNTATORI E LE STRUTTURE DATI DINAMICHE 1. dichiarazioni di puntatori argomenti (Sezione 9. e Caitolo Savitch). dichiarazioni di untatori I PUNTATORI E LE STRUTTURE DATI DINAMICHE Cosimo Laneve. le oerazione su untatori (NULL, new, delete, &, *). untatori assati come arametri

Dettagli

Capitolo 5. Algoritmi di ricerca su grafo. 5.1 Algoritmi di ricerca su grafo

Capitolo 5. Algoritmi di ricerca su grafo. 5.1 Algoritmi di ricerca su grafo Capitolo 5 Algoritmi di ricerca su grafo Gli algoritmi di ricerca su grafo, oggetto dei prossimi paragrafi, rappresentano tecniche fondamentali per determinare nodi che soddisfino particolari proprietà

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

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

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

Sommario della lezione

Sommario della lezione Sommario della lezione Introduzione ai grafi Definizioni, applicazioni,... Rappresentazioni comuni di grafi Esplorazione di grafi Università degli Studi di Salerno Corso di Progettazione di Algoritmi Prof.

Dettagli

Sommario della lezione

Sommario della lezione Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2009/0 p. /37 Sommario della lezione Esplorazione di grafi: Visita in profondità Proprietà Applicazioni Università degli

Dettagli

Spiegazioni ASD 2012 Luddisti Spaziali

Spiegazioni ASD 2012 Luddisti Spaziali Spiegazioni ASD 2012 Luddisti Spaziali Risultati Statistiche Numero sottoposizioni: 2088 450 250 400 350 200 Sottomissioni 300 250 200 Sottomissioni 150 100 150 50 100 50 10 11 12 13 14 15 16 17 18 19

Dettagli

Esempi. non. orientato. orientato

Esempi. non. orientato. orientato Definizione! Un grafo G = (V,E) è costituito da un insieme di vertici V ed un insieme di archi E ciascuno dei quali connette due vertici in V detti estremi dell arco.! Un grafo è orientato quando vi è

Dettagli

a 11 s 1 + a 12 s a 1n s n = b 1 a 21 s 1 + a 22 s a 2n s n = b 2..

a 11 s 1 + a 12 s a 1n s n = b 1 a 21 s 1 + a 22 s a 2n s n = b 2.. Matematica II 020304 Ogni sistema di m equazioni lineari in n incognite x 1 x 2 x n si uo raresentare nella forma a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2 a m1 x 1

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

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola: o Appello 8// RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x x x x + x x per via algebrica, mediante l algoritmo del Simplesso Primale a partire

Dettagli

ESERCIZIO 1: Vincolo di bilancio lineare

ESERCIZIO 1: Vincolo di bilancio lineare Microeconomia rof. Barigozzi ESERCIZIO 1: Vincolo di bilancio lineare Si immagini un individuo che ha a disosizione un budget di 500 euro e deve decidere come allocare tale budget tra un bene, che ha un

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

Grafi Tutte le strade portano a Roma

Grafi Tutte le strade portano a Roma Grafi Tutte le strade portano a Roma Un vertice v in un grafo orientato G si dice di tipo Roma se ogni altro vertice w in G può raggiungere v con un cammino orientato che parte da w e arriva a v. 1 Descrivere

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

Grafi non orientati. Grafi (non orientati) Rappresentazione di Grafi: matrice delle adiacenze. Tipiche applicazioni di modelli basati su grafi

Grafi non orientati. Grafi (non orientati) Rappresentazione di Grafi: matrice delle adiacenze. Tipiche applicazioni di modelli basati su grafi Grafi non orientati Grafi (non orientati) Notazione. G = (V, E) V = nodi (o vertici). E = archi (o lati) tra coppie di nodi. Modella relazioni definite tra coppie di oggetti. aglia di un grafo: numero

Dettagli