Classi di complessità P e NP
Il problema delle classi P e NP è un problema tuttora aperto nella teoria della complessità computazionale.
Un premio di un milione di dollari è stato offerto per la soluzione corretta (si tratta di uno dei problemi del millennio).
Indice |
[modifica] Definizione
A livello informale, esso richiede di determinare se ogni problema per il quale un computer è in grado di verificare la correttezza di una soluzione positiva, in un tempo accettabile, è anche un problema che può essere risolto dal computer in un tempo accettabile (ovvero se il computer è in grado di trovare da solo una soluzione positiva in un tempo accettabile).
Se la risposta è no, allora esistono problemi per i quali è più complesso calcolare una certa soluzione che verificarla.
Una definizione formale fa uso delle classi di complessità P e NP. La prima consiste di tutti quei problemi di decisione che possono essere risolti con una macchina sequenziale deterministica in un tempo che è polinomiale rispetto alla dimensione dei dati di ingresso; la seconda consiste di tutti quei problemi di decisione le cui soluzioni positive possono essere verificate in tempo polinomiale avendo le giuste informazioni, o, equivalentemente, la cui soluzione può essere trovata in tempo polinomiale con una macchina non deterministica. Il problema delle classi P e NP si risolve quindi nella seguente domanda:
- P è uguale a NP?
Un esempio per avere un'idea di cosa ciò vuole dire. Supponiamo di voler calcolare tutti i divisori (primi o no) di un numero n. Il problema, quindi, è trovare tutti i numeri x tali che x è un divisore di n.
È abbastanza facile verificare che un certo numero x0 è divisore di n; è sufficiente svolgere l'operazione di divisione e controllare il resto: se è pari a zero, il numero è un divisore, altrimenti non lo è. Il numero di passaggi richiesti per eseguire l'operazione di divisione è tanto maggiore quanto maggiore è il numero x0, tuttavia essa risulta sempre abbastanza veloce perché il tempo da essa richiesto sia considerato accettabile.
Al contrario, potrebbe non essere altrettanto facile determinare l'insieme di tutti i divisori. Infatti, quasi tutti i metodi[1] finora ideati nel corso dei secoli richiedono un tempo che aumenta rapidamente al crescere del valore di n, troppo perché esso sia considerato accettabile.
[modifica] Problemi NP-completi
| Per approfondire, vedi NP-completo. |
Un ruolo importante in questa discussione è giocato dall'insieme dei problemi NP-completi, che possono essere intuitivamente descritti come quei problemi che sicuramente non apparterrebbero a P se P fosse diverso da NP. Al contrario, dimostrando anche per un solo problema NP-completo la sua appartenenza a P, si otterrebbe una dimostrazione che P e NP sono equivalenti. In un certo senso, i problemi NP-completi sono quelli che meno probabilmente appartengono anche a P.
[modifica] Bibliografia
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, e Clifford Stein, Introduzione agli algoritmi, 2a ed., McGraw-Hill, 2005, pp. 966–1021. ISBN 978-88-386-6251-5
- (EN) A. S. Fraenkel and D. Lichtenstein, Computing a perfect strategy for n*n chess requires time exponential in n, Proc. 8th Int. Coll. Automata, Languages, and Programming, Springer LNCS 115 (1981) 278–293 and J. Comb. Th. A 31 (1981) 199–214.
- (EN) E. Berlekamp and D. Wolfe, Mathematical Go: Chilling Gets the Last Point, A. K. Peters, 1994. D. Wolfe, Go endgames are hard, MSRI Combinatorial Game Theory Research Worksh., 2000.
- (EN) Neil Immerman. Languages Which Capture Complexity Classes. 15th ACM STOC Symposium, pp.347–354. 1983.
- (EN) John Markoff, "Prizes Aside, the P-NP Puzzler Has Consequences", The New York Times, October 8, 2009
- (EN) Christos Papadimitriou, Chapter 14: On P vs. NP in Computational Complexity, 1st, Addison Wesley, 1993, 329–356. ISBN 0-201-53082-1
- (EN) Lance Fortnow (September 2009). The Status of the P Versus NP Problem 52: 78–86. DOI:10.1145/1562164.1562186.
[modifica] Voci correlate
[modifica] Note
- ^ L'eccezione è l'algoritmo di Shor, il quale, però, richiede un computer quantistico.
[modifica] Collegamenti esterni
- The Clay Math Institute Millennium Prize Problems
- The "PRIMES is in P" FAQ
- (EN) Eric W. Weisstein, Problema P vs. NP su MathWorld.
- (EN) Eric W. Weisstein, Problema di classe P su MathWorld.
- (EN) Eric W. Weisstein, Problema di classe NP su MathWorld.