Chi ha introdotto il calcolo non deterministico?


20

Ho due domande storiche:

Chi ha descritto per primo il calcolo non deterministico?

So che Cook ha descritto problemi NP-completi e che Edmonds ha proposto che gli algoritmi P siano algoritmi "efficienti" o "buoni".

Ho cercato questo articolo di Wikipedia e ho scremato "Sulla complessità computazionale degli algoritmi", ma non sono riuscito a trovare alcun riferimento a quando il calcolo non deterministico è stato discusso per la prima volta.

Qual è stato il primo riferimento alla classe NP? Era la carta di Cook del 1971?


5
NP fu anche inventato più o meno simultaneamente da Levin sull'altro lato della cortina di ferro. Oltre a Edmonds, Rabin e Cobham (ciascuno separatamente) "introdussero" P, sebbene Edmonds fosse forse il più efficace nel giustificare il punto di vista di P come "efficiente".
Joshua Grochow,

La carta Karps del 1972 è considerata un contrappunto chiave alla carta di Cooks che mostra che un sacco di problemi sono NP completi; in un certo senso Cook mostrò solo che SAT era NP completo e non era ovvio dopo quel documento quanto potesse essere comprensivo il concetto.
vzn,

(ulteriore breve riflessione) quindi i due articoli Cook / Karp erano come un "pugno 1-2" sulla comprensione collettiva della comunità TCS. inoltre, su domande storiche come questa, a volte i concetti sono "nell'aria" al momento e non esiste un'unica risposta unica / definitiva ma alcune risposte quasi ugualmente praticabili. un altro posto in cui guardare è il documento di Turings del 1936 sulle TM, non ho mai visto nessuno analizzare / decostruire in modo definitivo escludere che nulla nel lungo documento si avvicini al non determinismo.
vzn,

ancora un altro angolo (su questo argomento complesso / multidimensionale): il parallelismo ha molte somiglianze con il non determinismo.
vzn,

È anche interessante notare che Godel ha riconosciuto l'importanza della complessità e probabilmente ha previsto P come algoritmi "efficienti". rjlipton.wordpress.com/the-gdel-letter
evanb

Risposte:



11

Ecco cosa dice Odifreddi sulla questione:

"Il nostro modello di macchina di Turing è deterministico, nel senso che le istruzioni devono essere coerenti (al massimo una di esse è applicabile in una determinata situazione). Gli elementi di randomizzazione nei dispositivi di elaborazione furono introdotti all'inizio da Shannon [1948] e De Leeuw, Moore, Shannon e Shapiro [1956]. Esistono sostanzialmente due modelli. Le macchine di Turing non deterministiche si comportano, in una situazione ambigua in cui potrebbero essere applicabili istruzioni contrastanti, scegliendone una a caso: il loro potere di calcolo, almeno per 0, Le funzioni (insiemi) con valore 1 non superano il potere di quelle deterministiche. Le macchine probabilistiche differiscono da quelle non deterministiche in quanto lo stato successivo ha una probabilità, e quindi istruzioni contrastanti non hanno le stesse possibilità di essere scelte dalla macchina. "
[P. Odifreddi, Teoria della ricorsione classica, vol. 1, pagina 50]

Si noti che la nozione di non determinismo nel senso di "esiste + verificatore" esisteva nella teoria della computabilità molto prima della teoria della complessità, ad esempio la forma normale di Kleene , la gerarchia aritmetica . Anche altri modelli di calcolo come i sistemi post-canonici (conosciuti almeno dal 1943) e le grammatiche sono non deterministici. Penso che si possa persino spingere il concetto al tempo del calcolo epsilon di Hilbert e degli operatori di scelta.


A proposito di NP, ho chiesto a Steve Cook. Il nome NP per la classe di problemi calcolabili non deterministici in tempo polinomiale è stato introdotto da Richard Karp nel suo famoso articolo del 1972. Cook fa riferimento alla classe di problemi calcolabili della macchina di Turing non deterministici del tempo polinomiale nel suo famoso documento del 1971 che definisce le riduzioni dei tempi polinomiali e mostra che ci sono problemi completi, ma senza dare un nome alla classe.

Prima del suo articolo non c'era molto interesse per i problemi calcolabili in tempo polinomiale dalle macchine di Turing non deterministiche, solo dopo il documento di Karp divenne chiaro che così tanti problemi naturali si trovano in NP. Dopo il giornale di Cook alcune persone si sono interessate, in particolare due che si sono interessate presto (prima che uscisse il documento di Karp) erano Michael Rabin e Allan Borodin .

L'articolo di Karp del 1972 ha sorpreso la gente mostrando come la pervasiva completezza NP sia tra i problemi naturali.


L'uso del termine "casuale" in questo contesto è pericoloso, non si riferisce alla casualità in senso statistico, ma solo al fatto che una scelta viene lasciata vuota.
reinierpost,

@reinierpost, yest, è confuso il fatto che affermi che la macchina non deterministica seleziona casualmente lo stato successivo (ma in ogni caso la macchina non deterministica confonde da sola, ecco perché le persone preferiscono in genere la definizione di verifica di NP).
Kaveh,

Non l'ho mai trovato confuso. Forse sono così profondamente confuso da non rendermene conto.
reinierpost,

7

Rabin e Scott introdussero gli automi finiti non deterministici con il loro documento di ricerca pubblicato sulla rivista IBM, aprile 1959. Nel documento menzionavano:

abbiamo adottato una forma ancora più semplice della definizione eliminando una complicata funzione di output e facendo in modo che le nostre macchine diano semplicemente risposte "sì" o "no". Anche questo è stato usato da Myhill, ma le nostre generalizzazioni alle macchine "non deterministiche", "a due vie" e "a molti nastri" sembrano essere nuove .

L'intero documento è disponibile qui: http://www.cse.chalmers.se/~coquand/AUTOMATA/rs.pdf

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.