Teoria della Complessità Concetti fondamentali
|
|
- Gino Valle
- 5 anni fa
- Visualizzazioni
Transcript
1 Teoria della Complessità Concetti fondamentali L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile La difficoltà di un problema è una caratteristica generale e non associata a particolari istanze del problema stesso Definizione Un problema è la richiesta a rispondere ad una domanda circa le proprietà di una struttura matematica in funzione di parametri costanti e dei valori non fissati di variabili Esempio Dato un grafo G=(V,E), esiste un percorso hamiltoniano di lunghezza <K? Struttura del problema = grafo G Struttura della soluzione = percorso hamiltoniano Parametri = i particolari nodi, archi ed i pesi degli archi C-187
2 Definizioni fondamentali Istanza di un problema Un particolare caso del problema per cui sono stati specificati i valori assunti dai parametri. Un problema è l insieme delle sue infinite istanze. Problemi di decisione Risposta SI/NO (es., un ciclo hamiltoniano di lunghezza <K?) Problemi di ricerca Trovare una soluzione (una prova della risposta SI ) (es., trovare un ciclo hamiltoniano di lunghezza <K) Problemi di enumerazione Trovare tutte le soluzioni (es., trovare tutti i cicli hamiltoniani di lunghezza <K) Algoritmo Metodo per passi successivi per risolvere un problema C-188
3 Facilità di un problema Difficoltà di un problema Esiste un algoritmo di soluzione efficiente Non esiste un algoritmo di soluzione efficiente Stabilire la difficoltà di un problema misurare l efficienza del (migliore) algoritmo risolutore Misurare l efficienza di un algoritmo determinare la complessità computazionale dell algoritmo Efficienza di un algoritmo Tempo richiesto per trovare la soluzione Quantità di memoria richiesta per i dati del {problema Dimensione dell istanza del problema (Numero di variabili, vincoli, grandezza dei dati) Quantità di informazioni necessarie per codificare un istanza C-189
4 Codifica di un istanza di problema Esempio: Un problema di PL Codificare i dati (n+mxn+m coeff.) c i, i=1,...n; a ij, i=1,...,n, j=1,...,m; b j, j=1,...m Sistema binario (codifica di un numero x): k+1 bit, con k log 2 k+1 più 1 bit per il segno Numeri a precisione finita: interi e razionali come rapporto tra interi Codifica Ragionevole utilizza almeno 2 simboli non introduce dati irrilevanti né richiede una generazione esponenziale di dati Esempio: Codifica decimale (ragionevole) 1 cifra (0-9) 10 simboli 10 (2 cifre) 100 simboli 10x10=100 (3 cifre) 1000 simboli 100x10=1000 (4 cifre) simboli mentre il numero di simboli cresce di fattori 10 il numero di cifre cresce come il logaritmo C-190
5 Esempio: Codifica unaria (non ragionevole) 1 cifra (1) 1 simbolo 10 decimale (10 cifre) 10 simboli 100 decimale (100 cifre) 100 simboli 1000 decimale (1000 cifre) simboli mentre il numero di simboli cresce di fattori 10 il numero di cifre cresce linearmente Esempio: Generazione esponenziale di dati Problema di decisione difficile: dato un grafo determinare se esiste un ciclo hamiltoniano di lunghezza <K. Problema di decisione semplice: dati n numeri trovare se esiste un numero <K (sorting) Con una codifica non ragionevole (codificare il grafo e tutti i suoi cicli) si potrebbe trasformare il problema difficile del ciclo hamiltoniano nel problema semplice del sorting. La codifica non è ragionevole perché in essa è contenuta la generazione delle soluzioni del problema. C-191
6 Efficienza di un algoritmo Tempo richiesto per risolvere un istanza del problema codificata ragionevolmente Il tempo di calcolo della soluzione è definito in maniera indipendente dalle caratteristiche del particolare calcolatore utilizzato. Tempo di soluzione: numero delle operazioni elementari necessarie all algoritmo per risolvere un istanza di una dimensione data. Operazioni elementari: addizioni, moltiplicazioni, confronti. Definizione La funzione di complessità nel tempo, f(k), dove k è la dimensione di un istanza, è la funzione che restituisce il massimo numero di operazioni elementari necessarie ad un algoritmo per risolvere le istanze di dimensione k di un problema. La funzione di complessità nel tempo è determinata per mezzo della worst case analysis. Un modo alternativo di valutare la complessità è l analisi statistica (più complicato). C-192
7 Occorre conoscere solo il comportamento asintotico (k ) della funzione di complessità nel tempo, ossia l ordine di f(k) Definizione La funzione f(k) è di ordine g(k), indicato come O(g(k)), se k ed una costante c tali che f(k) c g(k) per k k Esempio: un polinomio p( k) = c k è O(k n ) n i=0 i i Definizione Un algoritmo è di tipo polinomiale se ha una funzione di complessità nel tempo che è O(k p ) per un certo p fissato. Definizione Un algoritmo è di tipo esponenziale se non ha una funzione di complessità nel tempo di tipo polinomiale. Definizione Una funzione f(k) è di ordine esponenziale se non è limitata da alcun polinomio, ossia k k c1d1 f( k) c2d2 per k k, c 1, c 2 >0 e d 1, d 2 >1 C-193
8 Classe P Appartengono alla classe P tutti i problemi di decisione che possono essere risolti da algoritmi di tipo polinomiale (Polynomial time algorithm). I problemi in P sono ben risolti poiché per essi esiste un algoritmo efficiente Esempio: tre algoritmi su un calcolatore che esegue una operazione in 10-6 s k O(f(k)) k 10 s 9 10 s s 5 k 01. s 24. 3s 13m k s 17. 9m 366c Legenda: s=secondi, m=minuti, c=secoli (!) polinomiale esponenziale La complessità computazionale non dipende dalla velocità del calcolatore utilizzato. Esempio: un calcolatore 1000 volte più veloce (10-9 s) quante operazioni potrebbe eseguire in più per i tre algoritmi? k n n 5 k n 398. n 2 k n 10 + n C-194
9 Esempio: Sono algoritmi polinomiali gli algoritmi per determinare il minimo albero ricoprente in un grafo: Kruskal è O(nlogn), Prim è O(n 2 ) Il problema (di decisione) dello shortest spanning tree: dato un grafo stabilire se esiste un albero ricoprente di lunghezza <K è in P Classe NP Appartengono alla classe NP tutti i problemi di decisione per cui, essendo nota una soluzione, è possibile verificare in tempo polinomiale che la risposta è affermativa (Non deterministic Polynomial time algorithm) La codifica di una soluzione è detta certificato di ammissibilità Esempio: Problema: Dato il grafo G, esiste un circuito hamiltoniano di lunghezza <K? Risposta: Si Certificato di ammissibilità: Una sequenza di nodi del grafo Verifica: Seguire la sequenza dei nodi verificando che corrisponde ad un circuito hamiltoniano di lunghezza <K (polinomiale) C-195
10 I problemi NP sono quelli che sono risolvibili da un algoritmo di tipo polinomiale non deterministico (Non deterministic Polynomial time algorithm). Un algoritmo NP: Guessing stage) Checking stage) Un oracolo indovina la soluzione (non deterministico) Verifica in tempo polinomiale della soluzione (ovviamente nella realtà non esistono tali algoritmi) P NP Congettura P NP NP P Esempi di problemi di decisione Shortest spanning tree: è P e NP PL (determinare se esiste una soluzione >K): è NP e dal 1979 è stato provato che è P (algoritmo dell ellissoide) Ciclo hamiltoniano di lunghezza <K: è NP ma non è stato provato che sia in P C-196
11 Problemi di decisione e problemi di ottimizzazione Le definizioni della teoria della complessità fanno riferimento a problemi di decisione. Quanto detto si può estendere ai problemi di ottimizzazione Esempio: un algoritmo che risolve un problema di decisione può essere utilizzato all interno di un algoritmo di tipo polinomiale per risolvere il corrispondente problema di ottimizzazione. Problema di decisione (CH(k)) Dato il grafo G, esiste un circuito hamiltoniano di lunghezza <K? Problema di ottimizzazione (TSP) Determinare il ciclo hamiltoniano di G di lunghezza minima. Sia S l algoritmo per risolvere CH(k). L algoritmo per risolvere TSP può essere costituito dalla seguente procedura dicotomica: 1. Siano A e B la minima e massima lunghezza degli archi di G ed m il numero di nodi di G. Allora m A lunghezza circuto hamiltoniano m B Porre k= m(b-a)/2 2. Usare S per risolvere CH(k). 3. Se la risposta di S è si, porre k=k/2 altrimenti k=k(3/2) ed andare a 2. Poichè i coefficienti sono interi, al più ci saranno (log(m(b-a))+1 iterazioni. C-197
12 Problema Complementare I problemi complementari (co-problemi) sono quelli per cui viene formulata una domanda in termini negati. Esempio: Il problema complementare del ciclo hamiltoniano di lunghezza<k: Dato il grafo G, è vero che non esistono cicli hamiltoniani di lunghezza <K? I problemi complementari dei problemi in P sono ancora in P. P=co-P Congettura NP co-np P NP co-np NP P co-np Esempio: Il certificato di ammissibilità per il problema complementare del ciclo hamiltoniano: la lista di tutti i possibili cicli hamiltoniani per un grafo completo con m nodi è pari a m! esponenziale quindi non verificabile in tempo polinomiale C-198
13 Trasformazioni ed NP-completezza Definizione Si definiscono come problemi più difficili di una classe quei problemi appartenenti alla classe che risultano almeno difficili quanto ogni altro Se si riuscisse a risolvere efficientemente uno dei problemi più difficili allora si potrebbero risolvere efficientemente anche tutti gli altri problemi della classe Trasformazione polinomiale E un algoritmo che, data un istanza I di un problema π, produce in tempo polinomiale un istanza I di un problema π in modo tale che, se la risposta è SI per I, allora la risposta è SI anche per I La trasformazione polinomiale di π a π π π (π ridotto a π ) Le trasformazioni polinomiali sono simmetriche e transitive C-199
14 Classe NP-C (NP-Completi) Appartengono alla classe NP-C tutti i problemi di decisione della classe NP che sono almeno difficili quanto ogni altro problema in NP. Il problema π è NP-C se π NP, è possibile π π I problemi NP-C sono quelli a cui possono essere ridotti con una trasformazione polinomiale tutti i problemi in NP Conseguenze: Se fosse possibile risolvere efficientemente un π NP-C allora tutti i problemi NP sarebbero stati risolti efficientemente. Per dimostrare P=NP basterebbe provare che un solo problema NP-C è P NP NP-C P co-np C-200
15 Il problema della soddisfacilità (SAT) E stato il primo problema NP di cui è stata dimostrata l appartenenza ad NP-C SAT Problem Data un espressione booleana in forma congiuntiva normale in n variabili, x 1,..., x n, e loro complementi, dire se l espressione è soddisfacibile. Forma congiuntiva normale: un AND di OR: K i hi ji n n i= ( y... y ) con y { x,..., x, x,..., x } dove le espressioni in parentesi sono clausole di cardinalità h Esempio: Data ( ) ( ) ( ) ( ) ( ) E = x1 x2 x4 x1 x2 x4 x1 x3 x4 x2 x3 x4 dire se esiste un assegnazione VERO-FALSO alle variabili per cui E=VERO. C-201
16 Teorema di Cook (1971) Il problema SAT è NP-C se h 3. Per dimostrare che π NP è tale che π NP-C, per la transitività di è sufficiente dimostrare che un π NP-C (ad esempio, SAT) si riduce ad esso, π π. Estensione ai problemi di ottimizzazione. Problemi NP-hard Un problema è NP-hard se esiste un problema NP-C che può essere ridotto ad esso con una trasformazione polinomiale. Sono NP-hard problemi (anche non NP) almeno difficili quanto ogni problema NP-C. Se π NP-C per alcune delle sue istanze (le più grandi) non potrà essere trovata la soluzione ottima in un tempo accettabile per mezzo di algoritmi esatti (enumerazione esplicita o implicita). In generale è possibili determinare soluzioni accettabili per π NP-C per mezzo di algoritmi approssimati (soluzioni sub-ottime) algoritmi euristici C-202
17 Esempi di problemi Problemi P Programmazione Lineare Continua Matching Min Spanning Tree Shortest Path (Dijkstra O(m 3 ), Bellman-Ford O(m 2 ) Sistemi equazioni lineari Problemi NP-C Travelling Salesman Problem SAT Set partitioning, packing, covering 0-1 Integer programming Knapsack C-203
Teoria della Complessità Concetti fondamentali. la teoria della complessità computazionale tenta di rispondere a domande del tipo
Teoria della Complessità Concetti fondamentali la teoria della complessità computazionale tenta di rispondere a domande del tipo quanto è efficiente un algoritmo? quanto è intrinsecamente difficile un
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliTeoria della complessità
Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi
DettagliProblemi 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
DettagliTeoria della Complessità Computazionale
Teoria della Complessità Computazionale Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it Rev. 1.3, 11/00 rev. 1.3 - Novembre 2000 Teoria della Complessità Studia la difficoltà dei problemi
DettagliAutomi 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.
DettagliCertificati dei problemi in NP
Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione
DettagliProblemi 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.
DettagliTeoria della Complessità Computazionale
Teoria della Complessità Computazionale Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 21 Ottobre 2014 Ricerca Operativa 2
DettagliRicerca Operativa 2. Ricerca Operativa 2 p. 1/6
Ricerca Operativa 2 Ricerca Operativa 2 p. 1/6 Introduzione In questo corso ci occuperemo di problemi di ottimizzazione. Ricerca Operativa 2 p. 2/6 Introduzione In questo corso ci occuperemo di problemi
DettagliRicerca Operativa 2. Ricerca Operativa 2 p. 1/6
Ricerca Operativa 2 Ricerca Operativa 2 p. 1/6 Introduzione In questo corso ci occuperemo di problemi di ottimizzazione. Tali problemi sono tipicamente raggruppati in classi ognuna delle quali è formata
DettagliNP completezza. Problemi astratti
NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti
DettagliNP completezza. Vittorio Maniezzo - Università di Bologna
NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti
DettagliProf. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE
Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE COMPLESSITÀ DEGLI ALGORITMI L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile In base a quali parametri
DettagliTeoria della Complessità Computazionale Parte I: Introduzione
Teoria della Complessità Computazionale Parte I: Introduzione Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 3.0 - ottobre 2003 Teoria della Complessità Studia la difficoltà dei
DettagliAlgoritmo per A. !(x) Istanza di B
Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione
DettagliPartizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché
Partizioni intere PARTIZIONAMENTO: Dato un insieme di n interi non negativi rappresentati in binario, trovare un sottoinsieme P! {1,2,..., n } tale che! i"p a i =! i# P a i Es: Dato {38, 17, 52, 61, 21,
DettagliComplessità Computazionale
Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare
DettagliProblemi decisionali. Esempi
Problemi decisionali La teoria della complessità computazionale è definita principalmente in termini di problemi di decisione Essendo la risposta binaria, non ci si deve preoccupare del tempo richiesto
Dettagli1. Problemi di ottimizzazione combinatoria
1. Problemi di ottimizzazione combinatoria Un istanza I di un problema di ottimizzazione combinatoria è la coppia (X, f), dove: o X Ω è un insieme finito (soluzioni ammissibili) o f è una funzione di costo
DettagliLezioni di Ricerca Operativa
Lezioni di Ricerca Operativa Estratto per la parte di programmazione lineare e ottimizzazione sui grafi Corso di Metodi di Ottimizzazione per l'ingegneria della Sicurezza Laurea Magistrale in Ingegneria
DettagliLezioni di Ricerca Operativa
Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e Telematica (DIST) Università di Genova paolucci@dist.unige.it http://www.dattero.dist.unige.it Anno accademico
DettagliTeoria della NP-completezza
Teoria della NP-completezza Ivan Lanese Dipartimento di Informatica Scienza e Ingegneria Università di Bologna Ivan.lanese@gmail.com http://www.cs.unibo.it/~lanese/ NP-completezza 2 Complessità di problemi
DettagliAncora su 2-SAT. può essere pensata come una coppia di implicazioni!! " 1
Ancora su 2-SAT Qualsiasi clausola a 1! a 2 può essere pensata come una coppia di implicazioni!! " 1 " a 2 e " 2 " a 1 Il caso di letterale singolo a viene considerato come "" a Partendo da una istanza
DettagliTeoria della NP-completezza. Damiano Macedonio
Teoria della NP-completezza Damiano Macedonio mace@unive.it Copyright 2010, Moreno Marzolla, Università di Bologna, Italy (http://www.moreno.marzolla.name/teaching/asd2009/) This work is licensed under
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliProblemi, 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
DettagliTeoria della Complessità Computazionale Parte II: Classi di Complessità
Teoria della Complessità Computazionale arte II: Classi di Complessità Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 3.0 - Ottobre 2003 Classi di complessità: ed N classe dei problemi
DettagliCapitolo 9: Trattabilitá e intrattabilitá dei problemi
Capitolo 9: Trattabilitá e intrattabilitá dei problemi 1 La classe P : é considerata tradizionalmente come una caratterizzazione formale dei problemi trattabili. n = 2 n = 5 n = 10 n = 100 n = 1000 n 2
DettagliNote sulle classi di complessità P, NP e NPC per ASD (DRAFT)
Note sulle classi di complessità P, NP e NPC per ASD 2010-11 (DRAFT) Nicola Rebagliati 20 dicembre 2010 1 La complessità degli algoritmi Obiettivo principale della teoria della complessità: ottenere una
DettagliLA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE
LA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE INTRODUZIONE OBIETTIVO: classificare gli algoritmi a seconda delle risorse utilizzate - risorse necessarie (lower bound) - risorse sufficienti (upper bound) Aspetti
DettagliComplessità Strutturale e NP-Completezza
Complessità Strutturale e NP-Completezza Una breve introduzione Francesco De Rose Alberto Giorgi Università degli Studi di Brescia Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica
DettagliComplessità computazionale
Complementi di Algoritmi e Strutture Dati Complessità computazionale Docente: Nicolò Cesa-Bianchi versione 6 marzo 2019 Attenzione: Questo è un riassunto di alcune lezioni messo a disposizione dal docente.
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)
DettagliIl 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
DettagliCapitolo 8: Teoria della complessitá
Capitolo 8: Teoria della complessitá 1 La Teoria della calcolabilitá considera aspetti qualitativi della soluzione di problemi. Distingue il calcolabile dal non calcolabile. La Teoria della complessitá
DettagliProposte di approfondimenti
Linguaggi formali Proposte di approfondimenti 1. Forme normali di Greibach, trasformazione di una grammatica in forma normale di Greibach Automi a stati finiti 2. Automi di Büchi: particolari automi a
DettagliAlgoritmi e complessità
Appendice A Algoritmi e complessità In questa appendice vogliamo brevemente richiamare alcuni concetti fondamentali della teoria della complessità computazionale, utili per meglio comprendere la diversa
DettagliTeoria dei Grafi Concetti fondamentali
Teoria dei Grafi Concetti fondamentali I grafi sono un mezzo per rappresentare relazioni binarie. Ad esempio: due città connesse da una strada due calcolatori connessi in una rete telematica due persone
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 è
DettagliRiduzioni che preservano l approssimazione e completezza nelle classi di approssimabilità.
RISULTATI DI NON APPROSSIMABILITA Tecnica di base: gap. Riduzioni che preservano l approssimazione e completezza nelle classi di approssimabilità. Risultati negativi basati su prove verificabili in modo
DettagliPARTE II ALGORITMI APPROSSIMATI PER PROBLEMI DI OTTIMIZZAZIONE NP-HARD
PARTE II ALGORITMI APPROSSIMATI PER PROBLEMI DI OTTIMIZZAZIONE NP-HARD 1 Complessità di problemi di ottimizzazione Algoritmi approssimati e schemi di approssimazione Tecniche algoritmiche Classi di approssimabilità
DettagliIntroduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza
NP-Completezza e la complessità strutturale degli algoritmi Simone Frassanito Dipartimento di Elettronica per l Automazione Università degli Studi di Brescia Cosa non è l NP-Completezza Si potrebbe pensare
DettagliRicerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.
Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1 . Luigi De Giovanni
DettagliTEORIA DELLA COMPLESSITÀ
TEORIA DELLA COMPLESSITÀ MATERIALE CONSIGLIATO: TESTO DI RIFERIMENTO SULLA TEORIA DELLA COMPLESSITÀ: Computers and Intractibility A Guide to the Theory of NP-Completeness M. R. Garey, D. S. Johnson Freeman
DettagliSommario. Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi?
Sommario Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi? Decisione vs ricerca Se disponiamo di un efficiente algoritmo per risolvere
DettagliProblemi difficili e ricerca esaustiva intelligente
Problemi difficili e ricerca esaustiva intelligente Progettazione di Algoritmi a.a. 2016-17 Matricole congrue a 1 Docente: Annalisa De Bonis Gli argomenti di questa lezione sono tratti da Dasgupta, Papadimitriou,
DettagliLezioni di Ricerca Operativa
Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e Telematica (DIST) Università di Genova paolucci@dist.unige.it Anno accademico 2000/2001 La Ricerca Operativa (Operation
DettagliSommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP
Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same
DettagliAlgoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano
Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 14.30-16.30 in Aula Omega Venerdì 14.30-16.30 in
DettagliOttimizzazione Combinatoria
Ottimizzazione Combinatoria Riepilogo degli argomenti trattati nel corso a.a. 2018/2019 1 Algoritmi e complessità computazionale (dispense n. 1) Riepilogo sulla programmazione strutturata e sugli algoritmi;
DettagliAniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale
Aniello Murano Classe dei problemi NP 13 Lezione n. Parole chiave: Classe NP Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduzione alla lezione Nella lezione
DettagliRicerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.
Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1. Luigi De Giovanni -
DettagliPROBLEMA 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
DettagliSistemi con vincoli. Docente: Francesca Rossi.
E-mail: frossi@math.unipd.it Scopo del corso Dare le nozioni di base della programmazione con vincoli Come rappresentare un problema reale con un insieme di vincoli Tecniche principali per risolverlo Approccio
DettagliA-2 a PI. Esercizio 2. Domanda 3
A-2 a PI Ricerca Operativa 1 Seconda prova intermedia È dato il problema di PL in figura. 1. Facendo uso delle condizioni di ortogonalità, dimostrare o confutare l ottimalità della soluzione x = 1; x =
DettagliElementi di Complessità Computazionale
Elementi di Complessità Computazionale Ultima modifica 23.06.2004 Il problema Esiste una misura oggettiva per valutare l'efficienza di un algoritmo? In che relazione sono gli input di un algoritmo con
DettagliUniversità Roma Tre - PAS Classe A048 "Matematica Applicata" - Corso di Informatica a.a. 2013/2014
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A08 Matematica Applicata Corso di Informatica Algoritmi su Grafi Marco Liverani (liverani@mat.uniroma.it) Sommario
DettagliSommario. Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi?
Sommario Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi? Decisione vs ricerca! Se disponiamo di un efficiente algoritmo per risolvere
DettagliSommario. Esempi di problemi NP-completi: 3-COLORING TSP. HamCycle
Sommario Esempi di problemi NP-completi: 3-COLORING HamCycle SP 3-Coloring è NP-hard Una colorazione di un grafo G=(V,E) è una funzione f : V {1,...,n} tale che {u,v} E f(u) f(v). Una 3- colorazione usa
DettagliSommario. Caratterizzazione alternativa di NP: il verificatore polinomiale la classe conp e le relazioni tra P, NP,coNP e EXPTIME
Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale la classe conp e le relazioni tra P, NP,coNP e EXPTIME HAMPATH - 1 HAMPATH = { G è un grafo diretto con un cammino hamiltoniano
DettagliAlgoritmi Euristici. Molti problemi reali richiedono soluzioni algoritmiche
9 Algoritmi Euristici introduzione Vittorio Maniezzo Università di Bologna 1 Molti problemi reali richiedono soluzioni algoritmiche I camion devono essere instradati VRP, NP-hard I depositi o i punti di
DettagliPROGRAMMA LEZIONI ASD (II SEMESTRE) PROF. CLEMENTI
PROGRAMMA LEZIONI ASD 2017-2018 (II SEMESTRE) PROF. CLEMENTI Lezione n. 1 (8-3-18): 9.00-11.00 ( 2.5 ore acc) 1. Introduzione generale al II modulo, modalità dell'esame. 2. Def. del problema dei cammini
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)
Dettagli3.2 Rilassamenti lineari/combinatori e bounds
3.2 Rilassamenti lineari/combinatori e bounds Consideriamo un problema di Ottimizzazione Discreta min{f(x) : x X} e sia z il valore di una soluzione ottima x X. Metodi di risoluzione spesso generano una
DettagliEuristiche per il Problema del Commesso Viaggiatore
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni bruni@dis.uniroma.it Il materiale presentato
DettagliDispensa di Informatica Teorica (Elementi) - Teorema di Cook
Teorema di ook (Idea generale) Dato L NP, costruire una trasformazione polinomiale f da L a L (sodd, e), cioè il linguaggio composto dalle stringhe che corrispondono ad istanze del problema sodd. La trasformazione
DettagliRichiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena
Richiami di Teoria dei Grafi Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Teoria dei grafi La Teoria dei Grafi costituisce, al pari della Programmazione Matematica, un corpo
DettagliComplessità computazionale
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Complessità computazionale Marco Liverani (liverani@mat.uniroma3.it)
DettagliAlgoritmi esatti. La teoria ci dice che per problemi difficili (come il
p. 1/4 Algoritmi esatti La teoria ci dice che per problemi difficili (come il KNAPSACK o, ancora di più, il TSP ) i tempi di risoluzione delle istanze, calcolati tramite analisi worst-case, tendono a crescere
DettagliAlgoritmi di approssimazione
Algoritmi di approssimazione Corso di Laurea Magistrale in Matematica A.A. 2014/2015 Algoritmi di approssimazione: elementi di complessità Sommario Informazioni generali Richiami di algoritmica Un primo
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
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
Dettagliidea della crittografia a chiave pubblica
idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura
DettagliComplessità computazionale
Complessità computazionale Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Complessità computazionale 1 / 20 Un rappresentante di commercio... deve recarsi
DettagliProgrammazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica
Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 33 INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, bisogna conoscere
DettagliCapitolo 3: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano
Capitolo 3: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati come problemi di Programmazione Lineare
DettagliQuinto 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
DettagliMassimo flusso e matching
Capitolo Massimo flusso e matching. Problema del massimo matching. Nel problema del massimo matching è dato un grafo non orientato G(V, A); un matching in G è un insieme di archi M A tale che nessuna coppia
DettagliESERCIZIO 1: Punto 1
ESERCIZIO : Punto La seguente matrice è una matrice delle distanze di un istanza del problema del Commesso Viaggiatore. - - - - - - - Calcolare.Il valore del rilassamento che si ottiene determinando l
DettagliSoddisfacibilità e Semantic Tableau [1]
Intelligenza Artificiale I Soddisfacibilità e Semantic Tableau Marco Piastra Soddisfacibilità e Semantic Tableau [1] Problemi e decidibilità (automatica) Problema In forma rigorosa, un problema è una relazione
DettagliLA PROGRAMMAZIONE MATEMATICA (p.m.)
LA PROGRAMMAZIONE MATEMATICA (p.m.) Un problema di programmazione matematica è un problema di ottimizzazione riconducibile alla seguente espressione generale: ricercare i valori delle variabili x 1, x
DettagliIn prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni:
6.5 Trattabilita' computazionale. In prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni: - la forte differenza nell'andamento asintotico
DettagliTeoria dei Grafi Parte I. Alberto Caprara DEIS - Università di Bologna
Teoria dei Grafi Parte I Alberto Caprara DEIS - Università di Bologna acaprara@deis.unibo.it Teoria dei Grafi Paradigma di rappresentazione di problemi Grafo G : coppia (V,E) V = insieme di vertici E =
DettagliI Appello Ricerca Operativa 2 bis Compito A
I Appello Ricerca Operativa 2 bis Compito A Cognome e nome:. Esercizio 1. Si consideri il problema del matching di cardinalità massima in un grafo G ed il suo problema di decisione associato: esiste un
DettagliAlgoritmi di ricerca. Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati.
E. Calabrese: Fondamenti di Informatica Algoritmi-1 Algoritmi di ricerca Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati. Per esempio: - cercare
DettagliIn prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni:
6.5 Trattabilita' computazionale. In prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni: - la forte differenza nell'andamento asintotico
DettagliAlgoritmo 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
DettagliEfficienza: esempi. Nella lezione precedente. Fondamenti di Informatica. Ferdinando Cicalese. ! Qualche problema computazionale
Efficienza: esempi Fondamenti di Informatica Ferdinando Cicalese Nella lezione precedente! Qualche problema computazionale " Trova min " Selection sort! Pseudocodice per descrivere algoritmi " Variabili
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione
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
DettagliProgetto e analisi di algoritmi
Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento
DettagliAlgoritmi e Strutture Dati
Cognome................................ Nome................................... Matricola............................... Algoritmi e Strutture Dati Prova scritta del 4 luglio 207 TEMPO DISPONIBILE: 2 ore
DettagliEsercizio 1. min. Esercizio 2. Esercizio 3
A UNIVERSIÀ DEGLI SUDI ROMA RE Ricerca Operativa Primo appello gennaio 00 Esercizio Portando il problema in forma standard si aggiungono le variabili e 4. Impostando il problema artificiale è sufficiente
DettagliAlgoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo
1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo
Dettagli