290 likes | 445 Views
NP-Completezza di Andrea S. Gozzi Valerio Romeo. Concetti base & formalismi Introduzione alla Teoria della Complessità Classi di problemi Focus su NP e NP-Completezza Ipotesi su P vs NP Esempi. Argomenti trattati. Out of intense complexities, intense simplicities emerge.
E N D
NP-Completezza di Andrea S. Gozzi Valerio Romeo
Concetti base & formalismi Introduzione alla Teoria della Complessità Classi di problemi Focus su NP e NP-Completezza Ipotesi su P vs NP Esempi Argomenti trattati Out of intense complexities, intense simplicities emerge. Winston Churchill
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. Un po' di terminologia
Quicksort (n²) Mediamente: O(n·logn) Worst Case: O(n²)
Classificazione di problemi in base alle risorse computazionali richieste per la loro soluzione. Teoria della complessità 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 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 Possibili relazioni tra le classi:
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. Algoritmi
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. NP (1) Certificato I problemi contenuti nella classe NP ammettono certificati verificabili in tempo polinomiale.
NP (2) • Un problema P1 é definito “NP-Completo” quando: • per ogniallora
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. Riducibilità polinomiale
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. NP-Completezza
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...
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. P = NP (1) • ψ(F,n) numero di passi γ(n)=max(F,n) • Si può dimostrare come γ(n)≥K∙n, ma quanto cresce γ(n)?
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.”. P = NP (2) Un modesto informatico, dimostrando che P=NP, potrebbe quindi vincere tutti e 7 i premi offerti dal Clay Institute!
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. Se P=NP...
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 (1)
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. P ≠ NP (2)
Istanza: Formula Booleana Problema: Verificare la soddisfacibilità della formula SAT Formula soddisfattibile: F T T F T T Formula non soddisfattibile:
“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. Minesweeper è NP (1) Se giocata con abilità, una partita può essere vinta senza rischiare troppi tentativi casuali.
Giocare “abilmente” significa individuare prima di tutto le caselle libere, e quindi concentrarsi su quelle potenzialmente minate. Minesweeper é NP (2) 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...
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 é NP (3)
Ad esempio, é possibile ridurre un “wire” (connettore) espresso in termini booleani in una configurazione Minesweeper: Minesweeper & SAT • Esistono infatti soltanto due alternative per cui la board sia soddisfatta: • x=TRUE, x'=FALSE • x=FALSE, x'=TRUE
Il Sudoku é un gioco di logica nel quale al giocatore o solutore viene proposta una griglia di 9×9 celle. Sudoku (1) 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.
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. Sudoku (2)
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. 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.
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 Bibliografia