NP-Completezza di Andrea S. Gozzi Valerio Romeo

Slides:



Advertisements
Presentazioni simili
Sistemi dinamici discreti e computabilità intrinseca
Advertisements

Il gioco del 15 Il gioco del quindici fu inventato da Sam Loyd piu' di un secolo fa. Lo scopo del gioco e' quello di ordinare le caselle dal numero 1 al.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Un esempio di complessità computazionale
Due esempi di valutazione per competenze nella matematica.
Eventi, rischi e risarcimenti catastrofali
Capitolo 8 Sistemi lineari.
Precorsi di Informatica Dott. Antonio Cisternino Settembre 2003
Deduzione naturale + Logica & Calcolabilità
Integrazione Corso: Analisi Numerica Anno Accademico:
Lez. 31 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
di Federico Barbarossa
Chiara Mocenni – Analisi delle Decisioni a.a Analisi delle Decisioni Preferenze, decisioni e incertezza Chiara Mocenni.
RSA Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.
Il ragionamento classico
Iterazione enumerativa (for)
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Computational Learning Theory and PAC learning
Problemi intrattabili e quantum computing
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Algoritmi e Strutture Dati (Mod. B)
Seminario su clustering dei dati – Parte II
CORSO DI MODELLI DI SISTEMI BIOLOGICI LAUREA IN INGEGNERIA CLINICA E BIOMEDICA.
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Algoritmi e Strutture Dati
Analisi bivariata Passiamo allo studio delle relazioni tra variabili
Semantica per formule di un linguaggio proposizionale p.9 della dispensa.
Unità Didattica 1 Algoritmi
Intelligenza Artificiale
Obiettivi Conoscere strumento Analisi di un progetto
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
PROBLEMI RISOLUBILI E COMPUTABILITÀ
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Elementi di Informatica
Strutture periodiche discrete: introduzione del vincolo di periodicità e studio della ricostruzione da due proiezioni. A. Del Lungo, A. Frosini, M.Nivat,
Metodo della moltiplicazione
Elementi di Informatica di base
L’inventore del calcolatore odierno
Le distribuzioni campionarie
Algoritmi e Strutture Dati
IL PROBLEMA DELLO SCHEDULING
Problemi facili, problemi difficili
Euristiche: algoritmi costruttivi e di ricerca locale
DIDATTICA DELLA MATEMATICA TFA A059
BIOINFO3 - Lezione 15 ISTRUZIONI
Logica.
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
Intelligenza Artificiale Apprendimento automatico Prof. M.T. PAZIENZA a.a
Galois gioca con il cubo di Rubik
1 Robotica Esempi di Architetture Lezione 8. 2 Criteri di Valutazione I secondo Arkin secondo Arkin – Supporto al parallelismo – Adattabilità all'hardware.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
NP completezza. Problemi decisionali I problemi decisionali sono una classe di problemi dove per ogni possibile ingresso un algoritmo deve scegliere una.
1/20 NP completezza. 2/20 Problemi astratti Un problema è un’entità astratta (es. il TSP). Una istanza del problema è un suo caso particolare in cui vengono.
Il Problema del Commesso Viaggiatore. Traveling Salesman’s Problem (TSP) Un commesso viaggiatore deve visitare un certo numero di città Conosce la distanza.
Automi temporizzati.
Giochiamo a tris. Un campo di esperienza per il problem-solving: i giochi di interazione strategica.
La curva di Gauss Prof. Marco Lombardi.
La Matematica a tavola: concetto di misura
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
Classe IV B plesso di Ripalimosani A.S
Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini III. La logica delle proposizioni.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Regressione lineare Misure Meccaniche e Termiche - Università di Cassino2 Distribuzioni Correlate Una variabile casuale z, può derivare dalla composizione.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Se A e B sono variabili random statisticamente indipendenti P (2) (B,A)=P(B)P(A) P(A)=probabilità che la variabile stocastica A assuma un certo valore.
Transcript della presentazione:

NP-Completezza di Andrea S. Gozzi Valerio Romeo

Argomenti trattati Concetti base & formalismi Out of intense complexities, intense simplicities emerge. Winston Churchill Concetti base & formalismi Introduzione alla Teoria della Complessità Classi di problemi Focus su NP e NP-Completezza Ipotesi su P vs NP Esempi

Un po' di terminologia Cosa è un problema? Relazione P ⊆ I x S dove I è l'insieme delle istanze ed S quello delle soluzioni. Cosa è un'istanza? Un’istanza I di un problema P è un caso specifico del problema. MT deterministiche/non-deterministiche Nella teoria della computazione una macchina che, dato lo stesso ingresso e lo stesso stato interno, ammetta differenti uscite, é detta non-deterministica. Una macchina che sempre, nel prendere una decisione, osservi un principio, sarebbe deterministica.

Mediamente: O(n·logn)‏ Quicksort (n²)‏ Mediamente: O(n·logn)‏ Worst Case: O(n²)‏

Teoria della complessità Classificazione di problemi in base alle risorse computazionali richieste per la loro soluzione. TEMPO - M opera in tempo f(n) se dato un input x di lunghezza n, la macchina M produce il risultato in f(n) passi. SPAZIO - M opera in spazio f(n) se dato un input x di lunghezza n, la macchina M utilizza f(n) celle "temporanee" per effettuare la computazione.

Tipi di problemi Problemi di decisione Problemi di ottimizzazione Soluzione: TRUE/FALSE Problemi di ottimizzazione Soluzione: la migliore tra le possibili Problemi di enumerazione Problemi di ricerca

Classi principali P NP PSPACE NSPACE EXPTIME Classi di problemi Classi principali P NP PSPACE NSPACE EXPTIME Possibili relazioni tra le classi:

Algoritmi algoritmi deterministici algoritmi non deterministici Un algoritmo si dirà deterministico se per ogni istruzione esiste, a parità di dati d'ingresso, un solo passo successivo. Invece, non deterministico se contiene almeno una istruzione che ammette più passi successivi.

NP (1)‏ Vogliamo verificare se un'istanza w soddisfa una certa proprietà in un problema decisionale P. Bisogna quindi trovare un oggetto K(w,P) che dimostri la proprietà soddisfatta. Certificato I problemi contenuti nella classe NP ammettono certificati verificabili in tempo polinomiale.

NP (2)‏ Un problema P1 é definito “NP-Completo” quando: per ogni allora

Riducibilità polinomiale Sia P1e , P1 si riduce in tempo polinomiale a P2 (P1 ∝ P2) se esiste un algoritmo per risolvere P1 che chiama un certo numero di volte un ipotetico algoritmo per P2, e risulta polinomiale se si suppone che quello per P2 richieda un’unica unità di tempo.

NP-Completezza Come detto in precedenza, i problemi NP-completi non ammettano algoritmi polinomiali di risoluzione. Basterebbe infatti provare che uno qualsiasi di essi é risolvibile in tempo polinomiale, perché tutti i problemi in NP siano risolvibili in tempo polinomiale.

P=NP? Nel settembre 2000 il Clay Institute (USA) ha istituito un fondo per premiare chiunque riuscisse a risolvere vari problemi matematici, tra cui il “P=NP?”. Fino ad oggi nessuno ha ancora riscosso il milione di dollari in palio...

P = NP (1)‏ K. Gödel (1906-1978)‏ É possibile costruire una MT che decida se per un numero naturale n ed una teoria del primo ordine F esiste una “proof of lenght” di n. ψ(F,n) numero di passi γ(n)=max(F,n)‏ Si può dimostrare come γ(n)≥K∙n, ma quanto cresce γ(n)?

P = NP (2)‏ “the reasoning of mathematicians about yes-or-no Una soluzione lineare o polinomiale per un input n, sembra essere “quite within the realm of possibilities”. Questo però significherebbe che: “the reasoning of mathematicians about yes-or-no questions can be completely replaced by machines.”. Un modesto informatico, dimostrando che P=NP, potrebbe quindi vincere tutti e 7 i premi offerti dal Clay Institute!

Se P=NP... Metodi crittografici ora sicuri diventano facilmente violabili. Precisione vicina al 100% nel riconoscimento visivo automatizzato, nelle traduzioni e in genere per tutti i problemi di apprendimento automatico. Miglioramenti significativi nella previsione del meteo e dei fenomeni naturali. Trasporti per persone e materiali più veloci ed economici.

P ≠ NP (1)‏ I teorici moderni pensano invece che P≠NP, principalmente perché nessuna prova del contrario é stata trovata in decenni di ricerche. “The main argument in favour of P≠NP is the total lack of fundamental progress in the area of exhaustive search. ” Moshe Vardi, Rice University

P ≠ NP (2)‏ Nonostante le implicazioni di una possibile dimostrazione di P≠NP non avrebbero lo stesso impatto di P=NP, si tratterebbe comunque di un sostanziale avanzamento nella teoria computazionale e permetterebbe di focalizzare gli sforzi per la risoluzione parziale dei problemi NP o di altri problemi notevoli.

SAT F T T F T T Istanza: Formula Booleana Problema: Verificare la soddisfacibilità della formula Formula soddisfattibile: F T T F T T Formula non soddisfattibile:

Minesweeper è NP (1)‏ “Minesweeper” é un videogioco per PC per singolo giocatore inventato da Robert Donner nel 1989. Lo scopo del gioco é ripulire un campo minato senza far esplodere le mine. Se giocata con abilità, una partita può essere vinta senza rischiare troppi tentativi casuali.

Minesweeper é NP (2)‏ Giocare “abilmente” significa individuare prima di tutto le caselle libere, e quindi concentrarsi su quelle potenzialmente minate. Per determinare se una casella sia innocua, la si indica come minata e si verifica se la configurazione sia consistente: se la risposta è negativa, allora la cella può essere scoperta tranquillamente!

Minesweeper é NP (2)‏ Determinare se nella casella (2,6) ci sia una mina non é particolarmente complicato ma con una configurazione diversa...

Minesweeper é NP (2)‏

Minesweeper é NP (3)‏ Si capisce chiaramente che Minesweeper appartiene alla classe NP, infatti per valutare la consistenza di una configurazione é necessario verificare ogni possibilità. Riducendo un problema SAT in una board Minesweeper permette di dimostrare come sia anche NP-Completo.

Minesweeper & SAT Ad esempio, é possibile ridurre un “wire” (connettore) espresso in termini booleani in una configurazione Minesweeper: Esistono infatti soltanto due alternative per cui la board sia soddisfatta: x=TRUE, x'=FALSE x=FALSE, x'=TRUE

Sudoku (1)‏ Il Sudoku é un gioco di logica nel quale al giocatore o solutore viene proposta una griglia di 9×9 celle. L'obiettivo del gioco consiste nel riempire il diagramma in modo che in tutte le righe orizzontali, in tutte le colonne verticali e in tutti quadrati 3x3 compaiano una sola volta i numeri da 1 a 9.

Sudoku (2)‏ Generalizzando il problema,una istanza del Sudoku é una tavola G n²·n², suddivisa in n² quadratini n·n, contenente alcuni interi compresi tra 1 e n². Il peso della istanza é n. La domanda é: "si può completare G in modo tale che in ogni riga ed in ogni colonna di G gli interi tra 1 e n² appaiano una ed una sola volta, e siano al tempo stesso tutti presenti in ogni quadratino? Ovviamente il problema sta in NP.

Job Scheduling Dati J processi dove Li é il tempo necessario al completamento di Ji . Si vuole suddividerli su M macchine in modo che vengano completati nel minor tempo possibile riducendo il makespan. Infatti non può essere trovato uno scheduler ottimo per multiprocessori senza una conoscenza a priori delle deadline, tempi di computazione e tempi di arrivo di tutti i task.

Bibliografia Minesweeper and NP-completeness – Richard W. Kaye April 1989 Structural Complexity Column – J. Hartmanis Le Scienze Agosto 2005 – P. Odifreddi Un premio per Gauss – U. Cerruti Complexity and completeness of finding another solution and its application to puzzle – T. Yato Complexity 2003 - D.Moshk