Lucchetto con combinazione (3 numeri tra 0 e 39)

Documenti analoghi
Lucchetto con combinazione (3 numeri tra 0 e 39)

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Problemi decisionali. Esempi

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale la classe conp e le relazioni tra P, NP,coNP e EXPTIME

Teoria della NP-completezza

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

Teoria della Complessità Computazionale

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché

Problemi difficili e ricerca esaustiva intelligente

Il problema di P e NP

Problemi intrattabili

Teoria della Complessità Computazionale

Certificati dei problemi in NP

Automi e Linguaggi Formali

Teoria della complessità

Complessità Strutturale e NP-Completezza

Teoria della NP-completezza. Damiano Macedonio

Note sulle classi di complessità P, NP e NPC per ASD (DRAFT)

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

Il problema di P e NP

Capitolo 9: Trattabilitá e intrattabilitá dei problemi

Complessità computazionale

Complessità Computazionale

UD 4.b: Trattabilità e Intrattabilità INTRODUZIONE

Algoritmi, Strutture Dati e Programmi. UD 4.b: Trattabilità e Intrattabilità

Complessità computazionale

Aniello Murano NP- Completezza (prima parte)

La matematica negli algoritmi. Maat: dea egizia dell ordine. Liber Abaci 1202

3 Ricerca per Giochi e CSP

idea della crittografia a chiave pubblica

PROBLEMI DI VINCOLI CSP (Constraint satisfaction problems) trovare una assegnazione di valori alle variabili che soddisfa i vincoli.

Sommario. Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi?

Teoria della Complessità Concetti fondamentali

crittografia a chiave pubblica

NP completezza. Problemi astratti

NP completezza. Vittorio Maniezzo - Università di Bologna

Progettazione di Algoritmi

Soddisfacibilità e Semantic Tableau [1]

PROBLEMI DI VINCOLI CSP (Constraint satisfaction problems),, X ik. ) che specificano quali valori delle variabili sono compatibili tra loro,

Teoria della Complessità Computazionale Parte II: Classi di Complessità

Algoritmo per A. !(x) Istanza di B

Progettazione di Algoritmi

Efficienza: esempi. Fondamenti di Informatica. Ferdinando Cicalese. Nella lezione precedente. Pseudocodice per descrivere algoritmi

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità

Efficienza: esempi. Nella lezione precedente. Fondamenti di Informatica. Ferdinando Cicalese. ! Qualche problema computazionale

Problemi, istanze, soluzioni

PSPACE completezza. Un linguaggio A è PSPACE completo se. 1. A è in PSPACE, cioè esiste una TM T che accetta A con complessità di spazio polinomiale.

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE

Capitolo 8: Teoria della complessitá

Dentro P e oltre NP?

Ancora su 2-SAT. può essere pensata come una coppia di implicazioni!! " 1

Algoritmo. Calcolabilità

Complessità computazionale

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

3-SAT CLIQUE VERTEX-COVER INDEPENDENT-SET 3-COLORING

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

Algoritmi e Strutture Dati

Progettazione di Algoritmi

Problemi intrattabili e quantum computing

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;

Sommario. Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi?

METODI DELLA RICERCA OPERATIVA

Teoria della Complessità Computazionale Parte I: Introduzione

Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi, anno accademico 2011/12

Teoria della Calcolabilità!

Algoritmi e Strutture Dati

LA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola:

Introduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi

Algoritmi e Strutture Dati

Che cos è l Informatica?

Constraint Satisfaction Problems

una possibile funzione unidirezionale

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

Corso di Perfezionamento

Elementi di Complessità Computazionale

Il più grande problema irrisolto dell informatica

Sommario. Esempi di problemi NP-completi: 3-COLORING TSP. HamCycle

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Esercitazione 6 Ancora sul Network Flow

conp La classe conp contiene i complementi dei linguaggi in NP. conp = { L L è in NP} Esempi di problemi in conp:

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

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)

LABORATORIO DI COMPLESSITÀ COMPUTAZIONALE LEZIONE 6

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come

Intelligenza Artificiale. Logica proposizionale classica (Parte 1)

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Logica per la Programmazione

I Limiti della computazione

Transcript:

Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2011/12 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Combinazione di 3 numberi 0-39 Un ladro dovrebbe provare 40 3 = 64,000 combinazioni 1

Tempo esponenziale Tempo 2 n per risolvere instanze di taglia n Incrementando n di 1! running time raddoppia! Da tener presente: Per n =300, 2 n > numero di atomi dell universo. Soddisfacibilita di formule Booleane (A + B + C)! (D + F + G)! (A + G + K)! (B + P + Z)! (C + U + X)! = and + = or A = not A " Esiste un assegnamento che la rende vera? " E se abbiamo 100 variabili? " 1000 variabili? " Quanto impiegheremmo per trovare l assegnamento che rende vera la formula? 2

Esistono numerosi problemi computazionali la cui soluzione richiede trovare un ago in un pagliaio. CLIQUE Problem " In questo social network, esiste una CLIQUE con 5 o piu studenti? " CLIQUE: Gruppo di studenti, in cui ogni coppia di studenti sono amici " Qual e un buon algoritmo per determinare clique? " In che misura l efficienza di tale algoritmo dipende dalla taglia della rete e della clique cercata? 3

Il problema di spargere la voce " Social network " Ogni nodo rappresenta uno studente " Due nodi sono connessi da un arco se gli studenti sono amici " Anna comincia a mettere voci in giro " La voce raggiungera Benjamin? " Suggerite un algoritmo per rispondere alla domanda " Come cresce la complessita rispetto alla taglia della rete? " I server della rete devono risolvere tale problema continuamente. Ricerca esaustiva / Esplosione Combinatoriale Algoritmi Naïve per molti problemi tipo ago nel pagliaio finiscono per testare tutte le possibili soluzioni! running time esponenziale. " Frequentissimo nell universo computazionale " E possibile trovare algoritmi migliori (come per Spargere la Voce )? Per es., running time O (n 2 ). 4

Armonia di gruppo Dato un Social network di n studenti. Dove gli archi corrispondono a coppie di studenti che NON vanno d accordo. Decidi se esiste un insieme di k studenti che costituisca un gruppo in armonia (ognuno va d accordo con ognuno). E il problema della Clique mascherato! Il commesso viaggiatore (il problema dei corrieri UPS) " Input: n locazioni e tutte le distanze tra coppie di punti, e una lunghezza k " Scopo: decidere se esiste un modo per visitare tutte le locazioni percorrendo in totale una distanza <= k 5

Il problema dell Orario " Input: n studenti, k corsi, liste degli studenti in ogni corso, m possibili orari per gli esami finali " Conflitto : uno studente e in due corsi con l esame programmato alla stessa ora " Scopo: decidere se esiste la possibilita di programmare l orario con al piu 100 conflitti? Il problema P / NP " P: problemi per i quali e possibile trovare una soluzione in tempo polinomiale (n c dove c e una costante e n e la taglia dell input ). Esempi: ricerca binaria, Spargi la voce " NP: problemi per i quali una buona soluzione puo essere verificata in tempo n c. Esempi: Soddisfacibilita Booleana, Commesso Viaggiatore, Clique, Orario " Domanda: Vale P = NP? (Nota: Indipendente dal Modello computazionele --- Turing-Post, pseudocodice, C, Java, etc.) 6

Problemi NP-completi I Problemi piu difficili nella classe NP # Se uno di essi in P allora ogni problema in NP e anche in P. Esempi: Soddifacibilita, Commesso Viaggiatore, Clique, Orario,. e molti molti altri ancora (migliaia) Come e possibile provare che tali problemi sono I piu difficili? Riduzione Datemi un punto d'appoggio, ed io muoverò la Terra. Archimedes (~ 250BC) Se mi date un algoritmo polinomiale per il problema della Soddifacibilita delle Formule Boolean, Vi darò un algoritmo polinomiale per ogni problema in NP. --- Cook, Levin (1971) Ogni problema in NP è un problema di soddisfacibilità mascherato 7

Cosa fare con I problemi NP-completi 1. Euristiche (algoritmi che producono soluzioni ragionevoli per istanze reali) 2. Algoritmi di Approssimazione (producono soluzioni sub-ottimali, ma con la possibilità di garantire il massimo margine di sub-ottimalità) Teoria della Complessità Computazionale: Studio dei problemi computazionalmente difficili. Una nuova prospettiva? " Studio dei processi! focus sulla difficoltà computazionale 8

Esempio 1: Economia Teoria degli equilibri: " Input: n agenti, ognuno con un portafoglio iniziale (beni, denaro, etc.) e con delle preferenze (funzione per misurare il guadagno) " Equilibrio: sistema di prezzi tale che per ogni bene, domanda = offerta. " Equilibrio esiste [Arrow-Debreu, 1954]. Gli Economisti assumono che i mercati lo trovino (come una mano invisibile ) " Ma, non e noto alcun algoritmo efficiente per calcolarlo. Come fa il mercato a computarlo? Esempio 2: Problema della Fattorizzazione Dato un numero n, trova due numberi p, q (diversi da 1) tali che n = p x q. Come possiamo risolverlo? Infatti: Si assume che tale problema sia difficile. E alla base di gran parte della crittografia. 9

Esempio 3: Quantum Computation A B Peter Shor " Principio fondamentale della meccanica quantistica: quando una particella va da A a B, usa tutti i possibili cammini allo stesso tempo " [Shor 97] Possiamo usare il comportamento quantistico per fattorizzare interi in maniera efficiente (e rompere protocolli crittografici) " E possibile costruire un computer quantistico, o la meccanica quantistica non descrive correttamente il nostro mondo fisico? Esempio 4: Intelligenza Artificiale Qual e la complessita computazionale di problemi quali riconoscimeto del linguaggio, giocare Ottimamente a scacchi? Etc. etc. Un possibile dimostrazione che il cervello non e un computer: Mostrare che esso continuamente risolve problemi che necessariamente (dimostrato) richiedono tempo esponenziale su un computer 10

Perche la relazione P / NP e un problema da $1.000.000? " Se P = NP allora soluzioni brillanti diventano la norma (best schedule, best route, best design, best math proof, etc ) " Se P " NP allora sappiamo qualcosa di nuovo e fondazionale non solo rispetto alla scienza dei computer (analogo a Niente viaggia piu veloce della luce ). Altre implicazioni: Crittografia (uso pratico della complessità computaz. ) 11