"Indovinare" è direttamente correlato alla nostra interpretazione esistenziale del non determinismo
In poche parole: l'
idea che un automa non deterministico possa indovinare (o essere aiutato da un oracolo) è direttamente correlata alla nostra interpretazione esistenziale del non determinismo. È possibile un'altra interpretazione (forse altre) in cui "indovinare" non avrebbe senso.
Il non determinismo è strano. Abbiamo un modo di interpretarlo nella teoria degli automi, ma non è a priori ovvio come dovremmo farlo.
Può sembrare sorprendente, ma il non determinismo è una situazione molto comune. Quando si deve dimostrare un teorema, dati gli assiomi di alcune teorie matematiche, il processo è naturalmente non deterministico. Questo è il motivo per cui spesso non sappiamo cosa fare per risolvere un problema, ad esempio per trovare le soluzioni di un'equazione di terzo grado o dimostrare un teorema.
Esistono molti modi per combinare ciò che è già noto con le regole di inferenza per ottenere nuovi risultati. E la situazione è generalmente la stessa se proviamo a ricostruire una prova a ritroso dal risultato.
Quando tentiamo di risolvere un simile problema, proviamo a " indovinare " un percorso in un sistema di transizione.
In realtà, non indoviniamo, ma costruiamo nella nostra mente una struttura che organizza e / o semplifica il labirinto di possibilità in modo da poter vedere il nostro percorso attraverso di esso. In alcuni casi, la domanda segue uno schema identificato per il quale abbiamo un modo standard di (a volte? Di solito? Sempre?) Trovare una soluzione e lo chiamiamo algoritmo.
Una tecnica (di solito costosa) che possiamo usare è semplicemente esplorare completamente il labirinto: seguire tutti i percorsi, eseguendo prima l'ampiezza per evitare di essere catturati in un sottografo infinito. Questo è praticamente ciò che viene fatto combinando tutti i possibili calcoli di un automa non deterministico. Questo calcolo a coda di rondine derivato è esso stesso deterministico.
Questo calcolo a coda di rondine D C. imita tutti i possibili calcoli dell'automa originale UN, ma non ci dice come dovrebbe essere interpretato. Può solo dirci se A potrebbe fermarsi, con l'accettazione o il rifiuto, e forse che si fermerà sempre. Ma non può, non più diUN stesso, dicci questo UN non si ferma mai o non si ferma mai con l'accettazione.
In realtà, potrebbero esserci diversi modi di interpretare un calcolo non deterministico . Dopo tutto sono coerenti, ma non l'uno con l'altro.
Nel caso di un riconoscimento di lingua R, come un NPDA, che non può arrestarsi o arrestarsi con accettazione o rifiuto, si dice che il riconoscitore accetti un inputwse c'è un calcolo che si ferma e accetta . Ciò è coerente con la nostra visione del processo di dimostrazione non deterministica che viene considerato efficace se può identificare un albero di prova per dimostrare il teorema.
L'idea di indovinare per il riconoscitore è solo un'immagine presa dal nostro modo di "indovinare" come trovare quell'albero della prova. Ma la grande differenza è che i nostri cervelli non sono PDA. Sono dispositivi molto più complessi con la capacità di esplorare e mappare approssimativamente strutture di transizione in modo che possiamo trovare la strada attraverso di esse, che a volte percepiamo come ipotesi.
Questa interpretazione del calcolo non deterministico è ciò che definirei accettazione esistenziale , in riferimento al fatto che richiede solo l'esistenza di un singolo calcolo accettante. Corrisponde a all'arresto esistenziale che ho introdotto in un'altra risposta .
Tuttavia, si potrebbe anche interpretare il non determinismo in modo universale come: si dice che un riconoscitore accetta (universalmente) un input "w" se tutti i possibili calcoli si fermano e accettano l'input. Questa accettazione universale corrisponde al concetto di arresto universale introdotto nella stessa risposta.
L'accettazione universale e l'interruzione universale sembrano condurre a una comprensione autoconsistente del non determinismo. Quindi si potrebbe fare un lavoro teorico con quella definizione. Ma non è coerente con la nostra pratica abituale in molte situazioni non deterministiche che dimostrano un teorema o nella situazione della vita quotidiana. Quando affrontiamo un problema, vogliamo solo un modo per risolverlo, e quindi non ci importa se altri modi hanno successo o meno (beh, questo è un po 'troppo semplificato).
Se dobbiamo riconoscere un palindromo, possiamo indovinare misurando la lunghezza e cercando il centro. Il PDA non può. Ma, poiché siamo interessati solo all'esistenza di una soluzione, possiamo sempre far finta che possa ... se ciò lo aiuterà. Oppure possiamo considerare che ha oracoli forniti da macchine più intelligenti (noi?) Per aiutarlo. Oppure potresti persino chiamarlo magia, e pensare che lo sia (dopotutto, il quantificatore esistenziale è una specie di bacchetta magica). Se può aiutare, lo farà. Se non si accetta il calcolo, nessun aiuto sarà di alcuna utilità.
Nota che questa idea di indovinare non avrebbe senso nell'interpretazione universale dell'accettazione.