Esiste un linguaggio decidibile di Turing non numerabile?


17

Esistono molte (e intendo molte) lingue numerabili che sono Turing-decidibili. Qualche lingua non numerabile può essere decisa da Turing?


2
Se la lingua di tutte le parole possibili è non numerabile (che richiede un alfabeto non numerabile), fornisce immediatamente un esempio di un linguaggio non calcolabile (banalmente) decidibile di Turing. Se non lo è (vale a dire, è numerabile), anche le lingue secondarie non sono numerabili.
Marc van Leeuwen,

Risposte:


25

Ogni lingua su un alfabeto finito (o anche numerabile) è numerabile. Supponendo che l'alfabeto della tua macchina di Turing sia finito, qualsiasi lingua che possa eventualmente accettare è numerabile.


Che dire dell'insieme di tutte le lingue di un numero finito di stringhe su un alfabeto numerabile infinito? È numerabile o non numerabile? Inoltre non sono stato in grado di pensare alla prova per "la lingua sull'alfabeto numerabile infinito è numerabile".
anir

Il tuo set è anche numerabile.
Yuval Filmus,

Ciò dimostra che "l'insieme delle lingue sull'alfabeto finito è numerabile". Sento che possiamo dimostrare che "l'insieme delle lingue che contengono stringhe numerabili infinite su alfabeto finito è numerabile" seguendo lo stesso approccio di prova dovuto all'alfabeto finito. Ma non riesco a immaginare come questo approccio possa essere adattato per l'alfabeto numerabile infinito.
anir

Non puoi provarlo poiché è falso. Il numero di sequenze binarie infinite è già numerabile.
Yuval Filmus il

12

Possiamo avere lingue non numerabili solo se consentiamo parole di lunghezza infinita, vedi ad esempio linguaggio Omega-regolare . Queste lingue sono chiamate lingue . Un altro esempio sarà la lingua del sottoinsieme di reali che contiene, diciamo, espansioni decimali di tutti i numeri reali.ω

Ci sono alcuni modelli in cui le macchine di Turing sono modificate per accettare le lingue . Alcuni di questi modelli utilizzano le condizioni Buchi per l'accettazione. Dal momento che non è possibile vedere l'intero input in tempo finito, diciamo che l'input è accettato se la Macchina di Turing entra nello stato di accettazione infinite volte. Se possiamo provarlo analizzando l'input (non eseguendolo), diciamo che l'input è accettato.ω


1
Perché l'alfabeto dovrebbe essere numerabile?
lasciato il

2
Ogni modello in studio ha un alfabeto finito. Se anche l'alfabeto diventa infinito (numerabile o non numerabile), è difficile avere un modello ragionevole.
Shreesh,

@Shreesh Bene, se l'alfabeto non è numerabile, una mappatura ingenua di un FSM (con innumerevoli transizioni tra un numero finito di stati) potrebbe essere piuttosto potente?
Yakk,

1
È vero, questi sono il tipo di estensioni, che potrebbero avere classi di lingue che potrebbero essere superclasse di lingue RE o linguistiche ricorsive. Ma non sono studiati bene, se studiati affatto. Il problema più grande è, secondo me, come possiamo dare una rappresentazione finita della macchina. Quindi devi scrivere il simbolo in una cella a nastro. Anche l'umile cella potrebbe aver bisogno di una memoria infinita per memorizzare la descrizione del simbolo del nastro che viene scritto.
Shreesh,

Questa è un'ottima spiegazione Aggiungo che anche se viene utilizzato un solito criterio di accettazione / rifiuto, si potrebbe dire che esistono ancora alcune lingue che una macchina di Turing potrebbe decidere e che tecnicamente avrebbe innumerevoli stringhe, ma solo perché la stragrande maggioranza dei caratteri sono " inutile "per la lingua.
Owen,

5

La calcolabilità classica discute le funzioni sulle stringhe finite di un alfabeto finito. Di conseguenza, sono numerabili tutte le lingue, decidibili o indecidibili.

Per considerare linguaggi non numerabili dobbiamo guardare stringhe infinite al posto di stringhe finite. (AFAIK, avere un alfabeto infinito non è molto interessante e non corrisponde a un modello realistico di calcolo da solo.)

Esistono modelli di calcolo in cui possiamo gestire infinite stringhe che ci consentono di rappresentare oggetti da domini non numerabili come numeri reali. Questi sono spesso rappresentati come calcoli di tipo superiore. Un modello che utilizza le macchine di Turing è il modello TTE. In questo modello l'input può essere stringhe infinite e le macchine possono accedere a qualsiasi elemento nella stringa desiderata. Non è necessario terminare la macchina, tuttavia esistono condizioni per assicurarsi che l'output della macchina converga.

Supponiamo che l'input della nostra macchina da Σ ω , ovvero stringhe infinite dall'alfabeto Σ , ad esempio Σ = { 0 , 1 } . Quindi ci sono Σ N = 2 stringhe N. Pertanto ci sono 2 2 NΣωΣΣ={0,1}ΣN=2N22N lingue possibili. Il numero di macchine TTE Turing è ancora numerabile. Quindi la maggior parte di queste lingue sono indecidibili.

Ma c'è qualcosa di ancora più interessante qui: se vuoi che la macchina si fermi sempre, sarà in grado di leggere solo una parte iniziale finita dell'input. Di conseguenza abbiamo quanto segue: Sia una macchina TTE che si ferma sempre (a tempo finito). Poi c'è una lingua senza prefisso L Σ e una macchina di Turing N tale che per ogni x Σ ωMLΣ*NXΣω , accetta x sef N accetta la parte iniziale di x che è in LMXNXL .

In parole povere , il computo delle macchine TTE Turing che si ferma sempre è determinato dal calcolo di una macchina Turing su stringhe finite.


Lasciatemi fare un esempio di linguaggi decidibili e indecidibili di stringhe infinite:

  1. Per qualsiasi è decidibile la lingua di stringhe infinite la cui k ° posizione è 0. Lo stesso con k esima posizione essendo 1. Intersezione di due qualsiasi linguaggi decidibili è decidibile, ad esempio stringhe cui 3 ° posizione è 0 e 6KNKK36 ° posizione è 1.

  2. L'unione di due lingue decidibili è decidibile. Ad esempio stringhe che iniziano con o 10010 .

  3. Sia un elenco computabilmente enumerabile di lingue decidibili. Quindi L = iLio è semi-decidibili, cioè v'è macchina che arresta e accetta ogni nuova stringhe in L e non accetta quando le corde non è in L . Se non è in LL=ioLioLLL la macchina potrebbe non arrestarsi. Qualsiasi lingua semi-decidibile può essere ottenuta prendendo l'unione di un elenco enumerabile di lingua del modulo indicato nel precedente punto 1.

  4. Una lingua è decidibile se sia la lingua che il suo complemento sono semi-decidibili.

  5. La lingua contenente le stringhe di inifinite di 0 non è decidibile. Potrebbe sembrare strano ma guardalo in questo modo: quando leggi la stringa quando puoi fermarti e dire che l'input è composto da tutti gli 0? Se si interrompe dopo aver letto 0, la macchina accetta anche la lingua che inizia con k 0 e segue tutti gli 1. Si noti che l'unico accesso che abbiamo alla stringa in questo modello è chiedere un po 'e ottenerlo.KK


Questo potrebbe farti pensare che TTE non sia un modello interessante. Ma risulta che il calcolo su stringhe infinite usando il modello TTE è in realtà abbastanza interessante. Si basa sull'intuizione che per ottenere una parte finita dell'output è possibile leggere solo una parte finita dell'input. In altre parole, qualsiasi informazione finita sull'output dipende solo dalla quantità finita di informazioni sull'input. Si scopre che le funzioni che siamo interessati al calcolo seguono questa regola, altrimenti non potremmo calcolarle. Ad esempio, considera i numeri letti codificati come stringhe binarie e la funzione XlgXXlgX a noi.


f{0,1}f-1(1) deve essere clopen. Altri modelli realistici di calcolo su numeri reali (non solo in virgola mobile ma numeri reali davvero infiniti) hanno questa proprietà. Se sei interessato a un buon posto per leggere su TTE è il libro di Klaus Weihrauch " Analisi computabile


1
" Di conseguenza tutte le lingue sono limitate " - Vuoi dire numerabile?
Anton Trunov,

Penso di sì, signor Trunov.
Jyotirmoy Pramanik,

Questo è un bel post, ma non riesco a vedere che cosa ha a che fare con la domanda specifica qui. Forse volevi creare una coppia domanda-risposta?
Raffaello
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.