Le macchine di Turing a nastro singolo con input protetto da scrittura riconoscono solo le lingue regolari


12

Ecco il problema:

Dimostrare che le macchine di Turing a nastro singolo che non sono in grado di scrivere sulla parte del nastro contenente la stringa di input riconoscono solo le lingue normali.

La mia idea è di dimostrare che questa particolare TM è equivalente a un DFA.

L'uso di questa TM per simulare DFA è molto semplice.

Tuttavia, quando desidero utilizzare questo DFA per simulare TM, riscontro il problema. Per la transizione TM , DFA può simulare definitivamente leggendo il nastro a destra e facendo la stessa transizione di stato.δ(q,a)=(q,a,R)

Per , non riesco a capire come usare questo DFA o NFA per simulare lo spostamento a sinistra perché il DFA legge solo a sinistra e non ha stack o qualcosa da memorizzare.δ(q,a)=(q,a,L)

Dovrei considerare un altro modo? Qualcuno potrebbe darmi qualche suggerimento? Grazie.


2
Per prima cosa dovresti stare attento alla logica / significato delle tue frasi. Il tuo titolo implica che devi solo dimostrare che qualsiasi lingua riconosciuta dalla macchina xxx Turing è regolare. Non è necessario dimostrare il contrario: che qualsiasi linguaggio regolare è riconosciuto da tale macchina (anche se questo è ovvio). Quindi il tuo quarto paragrafo "Uso di ..." è irrilevante per la domanda come indicato. Quindi, nel quinto, si utilizza "questo DFA", apparentemente facendo riferimento al DFA del paragrafo precedente, che non ha più nulla a che fare con il problema in questione. Hai una TM e devi trovare un DFA ancora sconosciuto.
babou,

3
Un suggerimento: potresti voler cercare l'idea di "incrocio di sequenze". Inoltre, potresti voler provare a dimostrare che è equivalente a un NFA (con uno stato impostato più grande). Come riscaldamento, immagina che la testa della TM proceda a destra di 10 passi, quindi a sinistra di 3 passi, quindi sempre a destra da lì in poi - potresti costruire un NFA per simulare l'insieme di input che può essere riconosciuto da tale TM lungo una tale testa movimento?
DW

1
@babou Consentire di scrivere al di fuori dell'area di input non dà tutto RE a mio avviso. Questo perché non ho trovato un modo per creare la funzione di transizione che consenta di copiare l'input nell'area vuota all'esterno dell'area di input originale. Se è possibile fare a meno di MAI scrivere nell'area di input originale, allora si può chiaramente lavorare sul lato destro dell'input proprio come una normale TM che ci fornisce tutti i linguaggi RE.
Informato il

1
@DW Non capisco come "attraversando sequenze" da sole risolveranno questo problema. In realtà, non li ho usati direttamente, ma solo usando l'equivalenza di 2NFA e NFA, ma questa equivalenza è solo una parte della dimostrazione. A proposito, dato che sembri conoscere il problema, sapresti da dove viene, dato che non riesco a trovare riferimenti su Internet. Il risultato in realtà mi ha sorpreso e mi chiedo perché non sembra interessare a nessuno.
babou,

1
@DW Hai mai pensato che si trattasse di una rivisitazione dell'equivalenza dell'FSA standard e dell'FSA a 2 vie, oppure conosci l'origine di questo problema: TM che non scrive sul loro input . Mi chiedo perché nessuno abbia risposto entro 9 mesi e perché è stato chiesto da uno studente apparentemente alle prime armi.
babou,

Risposte:


11

introduzione

Ho pensato che ci potesse essere un errore nella dichiarazione originale della domanda, e il PO non era più in giro per chiedere. Quindi ho assunto che il nastro fosse di sola lettura ovunque, e ho scritto una prima prova basata su quell'assunto, motivato dal fatto che la TM ha piena potenza di Turing al di fuori della parte di input del nastro se può scriverlo, il che induce il falso convinzione di poter riconoscere qualsiasi linguaggio RE.

Tuttavia, non è così: la restrizione alla scrittura sulla parte di input del nastro implica che dall'input possono essere estratte solo informazioni finite, limitato dal numero di stati in entrata e in uscita di quella parte del nastro (combinato con lato di entrata e uscita). InstructA deve essere accreditato per l' osservazione in un commento che c'è un problema nel riconoscere qualsiasi linguaggio RE, poiché non è possibile fare una copia dell'input senza MAI scrivere nell'area di input originale,

Quindi ho scritto una seconda prova che presuppone che solo la sezione di input del nastro sia di sola lettura, mentre il resto è consentito in lettura e scrittura.

Conservo entrambe le prove qui, poiché la prima mi ha aiutato a trovare la soluzione, anche se non è necessario comprendere la seconda prova, è più complessa ed è inclusa nella seconda prova. Può essere saltato. Tuttavia, la prova più debole ha il vantaggio di essere costruttiva (per ottenere un FSA equivalente alla Macchina di Turing), mentre il risultato più generale non è costruttivo.

Comunque sto dando prima l'ultimo e più potente risultato. Sono un po 'sorpreso di non essere riuscito a trovare questo risultato, anche senza prove, altrove in rete, o chiedendo ad alcuni utenti competenti, e qualsiasi riferimento a lavori pubblicati sarebbe il benvenuto.

Contenuti:

  • Le macchine di Turing che non sovrascrivono l'input accettano solo lingue normali. Questa dimostrazione non è costruttiva.

  • Le macchine di Turing con nastri di sola lettura accettano solo lingue normali. Può essere ignorato come riassunto dalle prove precedenti, ma utilizza un approccio diverso, che ha il vantaggio di essere costruttivo.

Le macchine da turismo che non sovrascrivono l'input accettano solo lingue normali

Ricordiamo che, sebbene il TM non sovrascriva il suo input, e sia quindi letto solo sul suo input, il TM può leggere e scrivere sul resto del nastro . La prova si basa sul fatto che il comportamento osservativo della MT rispetto a un input non noto può produrre solo un numero finito di casi diversi. Quindi, sebbene la TM abbia la piena potenza di Turing basandosi solo sul resto del suo nastro, le sue informazioni sull'input, che può essere qualsiasi stringa in , sono finite, quindi può calcolare solo su un numero finito di casi diversi. Ciò offre una visione diversa del carattere finito delle lingue normali, comportamentali piuttosto che strutturali.Σ

Partiamo dal presupposto che il TM accetta quando entra in uno stato di accettazione.

Prova.

Definiamo un calcolo con restrizioni di input (IRC) come un calcolo ( sola lettura) della TM in modo tale che la testa della TM rimanga sulla parte di input del nastro, tranne forse per l'ultima transizione che potrebbe spostarla immediatamente in una cella sinistra o destra dell'area di input.

Un calcolo limitato all'input sinistro è un IRC che inizia sul simbolo più a sinistra dell'ingresso. Un calcolo limitato per l'input corretto è un IRC che inizia sul simbolo più a destra dell'ingresso.

p

  • KLpLqpq

  • KLpRqpq

  • ALpp

pKRpLqKRpRqARp

Le 6 prove si basano sul fatto che gli automi a stati finiti non deterministici a due vie (2NFA) riconoscono insiemi regolari (vedere Hopcroft + Ullman 1979, pp 36-41 ed eseguire 2.18 pagina 51). Un 2NFA funziona come una TM di sola lettura su un nastro limitato al suo input, iniziando inizialmente dal simbolo più a sinistra e accettando spostandosi oltre l'estremità destra in uno stato accettante.

K????

pq

k4k2K????2kA??4k2+2k

4k2+2kΣ4k2+2k

PΣ24k2+2k

uvPuvP

Per essere molto completi, abbiamo ignorato il caso della stringa di input vuota. In questo caso, abbiamo solo una normale TM, che può leggere o scrivere ovunque. Se raggiunge uno stato accettante, la stringa vuota è nella lingua, altrimenti non lo è. Ma ciò ha scarso effetto sul fatto che la lingua riconosciuta sia regolare.

Naturalmente, non è possibile stabilire se una classe di equivalenza sia o meno nella lingua (lo stesso vale per la stringa vuota). Questa è una prova non costruttiva.

QED

Le macchine di Turing con nastri di sola lettura accettano solo lingue normali

Questo è riassunto dal risultato precedente. È mantenuto in quanto utilizza un approccio diverso, probabilmente meno elegante, e mi ha aiutato a trovare la prova precedente comprendendo ciò che conta. Ma può essere ignorato dai lettori. Tuttavia, un vantaggio di questa prova è che si tratta di una prova costruttiva che produce un FSA che accetta la lingua. Uno schizzo di una prova simile è stato dato da Hendrik Jan nella sua risposta a una precedente domanda simile , che presume che l'intero nastro fosse di sola lettura.

Il primo passo della dimostrazione è mostrare che la testina non deve mai lasciare l'area di input del nastro. Analizziamo quindi cosa succede quando la testa si sposta dal simbolo di input più a destra. L'analisi quando ci si sposta da quello più a sinistra è identica.

q

  1. la TM continua a lavorare per sempre, senza che la testa torni indietro nella parte di input del nastro;

  2. la MT raggiunge una (a) accettazione o (b) si ferma in uno stato di non accettazione;

  3. r

q

10

0

Rappresentiamo la parte rilevante del controllo dello stato finito da un grafico diretto in cui i vertici sono gli stati della TM e dove i bordi sono le transizioni vuote, con un peso +1 o -1 a seconda che la testa debba muoversi destra o sinistra.

ARq

ER(q,r)1qr

qA

p,aR,qp,aR,qAqAR

p,aR,q(q,r)ERp,aS,rS

aFa={(p,r) there is a dummy transition p,aS,r}FaFar,aL,s(p,r)Fap,aL,s

+11

qA

Ora dobbiamo apportare alcune modifiche estetiche, in modo che questa TM si comporti esattamente come una NDA a due vie (l'accettazione è solo uscendo dall'input a destra in uno stato eccitante). Quindi possiamo fare affidamento sull'equivalenza nota tra 2-NDA e FSA (vedere ad esempio Hopcroft + Ullman 1979, pagina 40) per ottenere la prova che la lingua è regolare.

QED


0

Spostarsi a sinistra o a destra non è un problema, poiché gli automi finiti a due vie riconoscono esattamente le lingue normali (questo non è ovvio). Tuttavia, se la tua TM è in grado di scrivere al di fuori della porzione del nastro della parola di input, penso che puoi usare questa parte del nastro per riconoscerla in lingue normali. Forse non capisco chiaramente la domanda.


Questa non sembra davvero una risposta. A proposito, il precedente commento di DW sulle "sequenze di attraversamento" è esattamente sull'argomento: sono usati per mostrare che 2DFA (2way det FA) riconosce gli insiemi regolari. Qui l'unico problema è che la TM può vagare sulle parti vuote del nastro. Se riesci a impedirlo, allora rimani con un 2DFA o un 2NFA. Penso che puoi ridurre una TM a un'altra TM che non vaga sul vuoto, usando anche "sequenze di attraversamento".
babou,
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.