Come può una macchina di Turing universale simulare quelle "più grandi"?


10

Sto cercando di trovare le risposte a due domande sulla Universal Turing machine.

  1. In che modo la macchina Universal Turing può simulare una macchina Turing se quella che viene simulata ha un numero maggiore di stati?
  2. Come può la macchina Universal Turing simulare una macchina Turing se quella che viene simulata ha un numero maggiore di caratteri alfabetici?

Qualcuno può aiutarmi con queste domande?


1
un altro aspetto interessante è che l'UTM può essere costruito con un numero costante di stati. simula altre TM con numero arbitrario di stati o simboli codificati sul nastro.
vzn,

una domanda correlata è come può una TM simulare un ATM (alternando TM), che è approssimativamente con lo stesso metodo pf che codifica gli adata extra su nastro più una riduzione degli stati in classi
Nikos M.

Risposte:


10

La risposta a entrambe le domande secondarie è la stessa: utilizzando il nastro per archiviare i dati necessari. Possiamo presumere che l'insieme di stati e l'alfabeto della macchina da simulare siano sottoinsiemi dei numeri naturali ("Stato 1", "Stato 2", "Stato 3", ecc.). Anche con solo due caratteri non vuoti, la macchina universale può rappresentare tutti quegli interi come stringhe binarie.

Si noti, tuttavia, che la macchina universale ha un numero fisso di stati, il che rende un po 'complicato il calcolo della funzione di transizione. Quello che vorremmo fare è scrivere alcune istruzioni che implementano una grande dichiarazione interruttore della forma: "Se lo stato è  e il carattere sotto la testa è  x , per poi passare allo stato  s ' , il carattere di scrittura  x ' e spostare il dirigersi in direzione  d . " Quindi - e penso che questa possa essere la radice della tua domanda - come possiamo calcolare la funzione di transizione se non abbiamo nemmeno abbastanza stati nella macchina universale per memorizzare l'input della funzione di transizione?sxsxd

Un modo è memorizzare la funzione di transizione come un albero binario. Supponiamo che tutta la macchina simulata abbia  stati q e  simboli nastro 2 . Memorizza la funzione di transizione come un albero binario di profondità q + dove, ai primi  livelli q , vai a sinistra oa destra a seconda che il bit successivo dello stato simulato sia uno o uno zero e che i successivi  livelli siano uguali ma per i bit successivi del carattere nastro simulato. Ora, la tua macchina universale può camminare avanti e indietro sul suo nastro, controllando il bit successivo dello stato / personaggio, ricordando quel bit nei suoi stati, spostandosi di nuovo sull'albero, posizionando un marcatore sul nodo corretto e così via.2q2q+q

Questo diventa un po 'più semplice se lasci che la tua macchina universale abbia più nastri ma poi devi ancora dimostrare che la tua macchina multitape è equivalente a una singola macchina a nastro.

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.