Nella teoria della complessità computazionale, il complemento di un problema decisionale è il problema risultante dall'inversione delle risposte e no.[1] In maniera equivalente, se definiamo un problema decisionale come un insieme di stringhe finite, allora il complemento di questo insieme su un certo dominio è il suo problema complementare.[2]

Per esempio, un importante problema è stabilire se un numero sia o no primo. Il suo complemento è di determinare se un numero è composto (ovvero, se non è primo). In questo caso, il dominio del complemento è l'insieme di tutti gli interi tranne uno.[3]

Esiste una Turing-riduzione da ogni problema al suo complemento.[4] L'operazione complementare è l'involuzione, ovvero il complemento del problema originale.

Le precedenti nozioni possono essere estese al livello delle classi di complessità, ottenendo così il concetto di classe complemento (o classe complementare), che è l'insieme dei complementi di tutti i problemi della classe data.[5] Presa una classe C qualsiasi, il suo complemento viene convenzionalmente indicato con co-C. Da notare che una classe complemento non è il complemento della classe in quanto insieme di problemi, il quale conterrebbe un numero di problemi assai maggiore.

Una classe di complessità è detta essere chiusa rispetto al complemento se il complemento di ciascun problema della classe appartiene alla classe stessa.[6] Dato che esiste una Turing-riduzione da ogni problema al suo complemento, ogni classe che è chiusa rispetto alle Turing-riduzioni è chiusa rispetto al complemento. Ogni classe chiusa rispetto al complemento è uguale alla sua classe complementare. Per quanto riguarda le classi chiuse rispetto alle cosiddette riduzioni "many-one", invece, si crede che molte classi importanti (tra cui NP, in particolare) siano distinte dal proprio complemento (nello specifico, co-NP), anche se non è stato provato.[7]

Ogni classe di complessità deterministica (DSPACE(f(n)), DTIME(f(n)), per ogni f(n)) è chiusa rispetto al complemento,[8] perché si può semplicemente aggiungere un ultimo passo all'algoritmo che inverte la risposta. Questo espediente non funziona per le classi di complessità non deterministiche: dati, infatti, due percorsi computazionali, uno accettante ed uno respingente, pur facendo in modo che essi neghino il proprio risultato, continueranno ad esistere due percorsi uno dei quali sarà accettante; quindi la macchina, in maniera non deterministica, troverà ancora il modo di accettare ed il problema continuerà ad avere esito positivo (e, di conseguenza, non rappresenterà il complemento del problema di partenza).

Note

modifica
  1. ^ (EN) Kiyosi Itô, Encyclopedic Dictionary of Mathematics, Volume 1, MIT Press, 1993, p. 269, ISBN 9780262590204.
  2. ^ (EN) Alexander Schrijver, Theory of Linear and Integer Programming, Wiley Series in Discrete Mathematics & Optimization, John Wiley & Sons, 1998, p. 19, ISBN 9780471982326.
  3. ^ (EN) Steven Homer e Alan L. Selman, Computability and Complexity Theory, Texts in Computer Science, Springer, 2011, ISBN 9781461406815.
  4. ^ (EN) Arindama Singh, Elements of Computation Theory, Texts in Computer Science, Springer, 2009, p. 287 (esercizio 9.10), ISBN 9781848824973.
  5. ^ (EN) Daniele Bovet e Pierluigi Crescenzi, Introduction to the Theory of Complexity, Prentice Hall International Series in Computer Science, Prentice Hall, 1994, pp. 133–134, ISBN 9780139153808.
  6. ^ (EN) Heribert Vollmer, Introduction to Circuit Complexity: A Uniform Approach, Texts in Theoretical Computer Science. An EATCS Series, Springer, 1999, p. 113, ISBN 9783540643104.
  7. ^ (EN) R. Pruim e Ingo Wegener, Complexity Theory: Exploring the Limits of Efficient Algorithms, Springer, 2005, p. 66, ISBN 9783540274773.
  8. ^ (EN) Giorgio Ausiello, Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties, Springer, 1999, p. 189, ISBN 9783540654315.

Voci correlate

modifica

📚 Artikel Terkait di Wikipedia

NP-completo

definizione è stata data da Stephen Cook in una pubblicazione intitolata 'The complexity of theorem-proving procedures' alle pagine 151-158 di Proceedings of the

Lista delle classi di complessità

qwiki.stanford.edu, Stanford University Complexity Zoo (archiviato dall'url originale il 14 ottobre 2012). Complexity Zoo - elenco di 467 classi di complessità

Problema della cricca

Fellows, Parameterized complexity, Springer-Verlag, 1999, ISBN 0-387-94883-X. F. Eisenbrand e F. Grandoni, On the complexity of fixed parameter clique

Cricca (teoria dei grafi)

senso che a ogni cricca corrisponde un insieme indipendente nel grafo complemento. Sebbene lo studio dei sottografi completi risalga almeno alla riformulazione

Linguaggio regolare

Davis, Ron Sigal; Elaine J. Weyuker, Regular Languages, in Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science, Morgan Kaufmann

Grafo d'intervallo

cordale e il suo complemento è un grafo di comparabilità. I grafi d'intervallo sono grafi cordali e quindi grafi perfetti. I loro complementi appartengono

Taglio massimo

non il numero di archi ma il peso totale degli archi fra S ed il suo complemento. Il problema max-cut su grafi pesati è solitamente ristretto ai pesi

Marjolijn Verspoor

Il titolo della sua tesi era Criteri semantici nella selezione del complemento. Nel corso della sua carriera ha pubblicato articoli su riviste e alcuni