Décidabilité de la langue du préfixe

9

À mi-parcours, il y avait une variante de la question suivante:

Pour un décidable, définissez Montrez que n'est pas nécessairement décidable.Pref ( L ) = { x y  st  x y L } Pref ( L )L

Pref(L)={xy s.t. xyL}
Pref(L)

Mais si je choisis je pense que est également , donc décidable. Aussi donne le même résultat. Et puisque doit être décidable, je ne peux pas choisir le problème d'arrêt ou autre .. Pref ( L ) Σ L = LL=ΣPref(L)ΣL=L

  1. Comment puis-je trouver si le n'est pas décidable?Pref ( L )LPref(L)
  2. Quelles conditions sur rendront décidable, et lesquelles le rendront indécidable?Pref ( L )LPref(L)
A sonné.
la source

Réponses:

9

Notez qu'en utilisant un quantificateur existentiel devant un langage décidable, nous pouvons obtenir n'importe quel langage re, c'est-à-dire que chaque langage re est exprimable comme

{xΣyΣ x,yV}

où est un langage décidable. Il s'agit notamment de langages indécidables comme .V

ATM={e,x e encodes a Turing machine which accepts x}

La seule différence ici est qu'ici nous devons séparer et nous-mêmes. L'astuce standard consiste à utiliser un nouveau symbole pour séparer les deux parties (supposons que le séparateur appartient à ). Par conséquent, toute nouvelle langue, y compris les indécidables, peut être exprimée dans ce format.y yxyy

Pour la deuxième question, il n'existe aucun moyen algorithmique général de vérifier si les préfixes d'un langage décidable donné sont indécidables. Cela découle du théorème de Rice.

Kaveh
la source
pouvez-vous donner explicitement le qui crée A T M ? VATM
Ran G.
2
soit une chaîne destinée à représenter un calcul d'acceptation d'arrêt de M e sur x , V vérifiera si y est un calcul d'acceptation de M e sur x . yMexVyMex
Kaveh
Voilà une belle solution!
Ran G.
3

Méta-connaissance: vous voulez trouver un langage non décidable qui a néanmoins une propriété de calcul. Un langage arbitraire non décidable ne vous mènera probablement pas très loin. Mais semi-décidable…


Indice plus fort: qu'est-ce qu'un langage semi-décidable? Cela signifie que nous pouvons énumérer les mots: c'est un ensemble de mots tel qu'il existe un entier n tel queun

u=f(n)

Regardez cette équation un peu, avec la décidabilité et les préfixes à l'esprit.


Intuitivement, supposons que vous ayez quelques et que vous aimeriez tester si c'est dans P r e f ( L ) . Vous ne ferez pas mieux en général que de cocher x a , x b , x a a , etc. où a , b , sont les lettres de l'alphabet. Il s'agit d'une fonction récursive partielle qui teste l'appartenance à P r e f ( L ) . Bien sûr, nous savions que P r e f ( L )xPref(L)xaxbxaaa,b,Pref(L)Pref(L)était déjà; ce que nous devons montrer, c'est que parfois il n'y a pas de méthode alternative. Prenons un ensemble qui est re et non récursif, et soit f une énumération de S ( S = f ( x ) x N ).SNfSS=f(x)xN

Supposons que l'alphabet contient trois symboles , 1 et : (si vous n'avez que deux symboles { , } , encodez 0 en , 1 en et : en ). Si n N , laissez ˉ n être n écrit en base 2 en utilisant les symboles 0 et 1 sans leader 0 .01:{,}01:nNn¯n010

Soit . Dans un anglais simple, nous prenons les éléments de S et clouons sur leur indice d'énumération. L est clairement décidable (vérifiez qu'il y a un seul :, que les séquences à deux chiffres ne contiennent pas de 0 de tête et que la première séquence de chiffres épelle l'image par f du nombre que la seconde épelle). Pourtant, décider si certains ˉ y est un préfixe de L équivaut à décider si y est dansL={y¯:x¯y=f(x)}SL:0fy¯Ly , ce que vous ne pouvez pas faire sans connaître x puisque S n'est pas récursif par hypothèse. Formellement, P r e f ( L ) n'est pas décidable, car P r e f ( L ) { 0 , 1 } : = S : n'est pas décidable.SxSPref(L)Pref(L){0,1}:=S:

Gilles 'SO- arrête d'être méchant'
la source