L'ensemble de codages d'une classe de langues non triviale qui contient l'ensemble vide peut-il être récursivement énumérable?


8

Soit un ensemble non trivial de langages récursivement énumérables ( ) et soit L l'ensemble des encodages des machines Turing qui reconnaissent un langage en C : L = \ {\ langle M \ rangle \ mid L (M) \ in C \}CC∅⊊C⊊RE∅⊊C⊊RELLCCL={⟨M⟩∣L(M)∈C}

L={⟨M⟩∣L(M)∈C}

Supposons que ⟨Mloopy⟩∈L⟨Mloopy⟩∈L , où MloopyMloopy est une MT qui ne s'arrête jamais. Je me demande s'il est possible que L∈REL∈RE ?

Par le théorème de Rice, je sais que L∉RL∉R (l'ensemble des langages récursifs), donc soit L∉REL∉RE ou ¯L∉REL¯¯¯¯∉RE . Doit-il être la première option depuis Mloopy∈LMloopy∈L ?


1
Vous devez expliquer votre notation. Qu'est-ce que ⟨M⟩⟨M⟩ ? Qu'est-ce que L(M)L(M) ? Qu'est-ce que ¯LL¯¯¯¯ ? La seule chose que vous avez expliquée est ce que RE représente, et c'est la seule chose que vous n'avez pas besoin d'expliquer.
— Andrej Bauer

2
@AndrejBauer: C'est une notation assez standard. Ils veulent dire, de gauche à droite, le codage de M, la langue acceptée par MM , et le complément de LL .
— Raphael

Vous voulez dire "donc soit L∉REL∉RE ou ¯L∉REL¯¯¯¯∉RE ", je suppose?
— Raphael

1
il y a une extension du théorème de Rice qui décrit les conditions qui font . Je pourrais avoir le temps plus tard de l'écrire, à moins que d'autres ne le fassent. MAIS , si (ce qui est impliqué par l'existence de ), alors . Cela découle également du thm de Rice avec la preuve standard. L∈REL∈RE∅∈C∅∈CMloop∈LMloop∈LL∉REL∉RE
— Ran G.

@Raphael, vous avez raison.
— Numérateur

Réponses:


3

Non, ce n'est pas possible. Il existe une version étendue du théorème de Rice¹ pour prouver qu'un ensemble d'index n'est pas récursivement énumérable.

Dans votre notation, le théorème déclare que si un (non trivial) contient un langage qui a un sur-ensemble approprié pas en , alors . L'intuition est qu'aucun algorithme ne peut séparer les codages de et ; ils ne peuvent pas décider que la machine ne encodée pas accepter un mot de après un certain laps de temps fini, qu'ils devaient.CCL1L1L2L2 CCL∉REL∉REL1L1L2L2L2∖L1L2∖L1

Vous avez maintenant besoin de mais , donc le théorème s'applique et n'est pas récursivement énumérable.∅∈C∅∈CC≠2Σ∗C≠2Σ∗LL


  1. L' article Wikipedia est horrible, méfiez-vous!

Puis-je prétendre que puisque nous obtenons que la machine de turing vide, qui n'accepte aucun mot et en raison du théorème de Rice nous savons que (toutes les conditions de Rice sont OK) donc parce que nous obtenons que ? L(Mloop)=∅L(Mloop)=∅Etm⊂LEtm⊂LL∉RL∉REtm∈Co-REEtm∈Co−REL∉REL∉RE
— Numérateur

@Numerator: Qu'est-ce que Etm? Dans tous les cas, n'est pas nécessairement dans , donc non. Si c'était le cas, ce raisonnement fonctionnerait, oui. LLco-REco-RE
— Raphael

4

pour compléter la réponse de Raphaël, il y a une extension du théorème de Rice qui dit ce qui suit:

Théorème de Rice généralisé

Soit une propriété et Soit toutes les MT qui satisfont la propriété , c'est-à-dire Ensuite, si et seulement si toutes les conditions suivantes sont réunies:S⊆RES⊆RELSLSSSLS={⟨M⟩∣L(M)∈S}.

LS={⟨M⟩∣L(M)∈S}.
LS∈RELS∈RE
  1. pour toute L1,L2∈REL1,L2∈RE, si L1∈SL1∈S et L1⊆L2L1⊆L2 puis L2∈SL2∈S.
  2. si L1∈SL1∈S alors il existe un fini L2⊆L1L2⊆L1 tel que L2∈SL2∈S.
  3. La langue de «toutes les langues finies en SS'est en RE.
    (en d'autres termes, il existe une MTMSMS que si LL est une langue finie L={w1,w2,…wk)L={w1,w2,…wk), et (w1,w2,…,wk)(w1,w2,…,wk) est donné à MSMS en entrée, MM accepte uniquement si L∈SL∈S.

Revenons maintenant à la question d'origine. Nous maintenant⟨Mloopy⟩∈L⟨Mloopy⟩∈L donc L(⟨Mloopy⟩)∈CL(⟨Mloopy⟩)∈C. MaisL(⟨Mloopy⟩)=∅L(⟨Mloopy⟩)=∅puisque cette TM ne s'arrête jamais. Cela signifie que∅∈C∅∈C.

Voyons maintenant la première condition du théorème ci-dessus. N'IMPORTE QUELLE langueLL satisfait ∅⊆L∅⊆L. Ainsi, pour satisfaire à la condition 1, il faut queC=REC=RE. Cependant, la question indique queC⊊REC⊊RE et donc, par le théorème, L∉REL∉RE.


Y a-t-il une source où je peux en savoir plus sur ce théorème? Je n'ai pas pu en trouver un en ligne qui soit satisfaisant.
— Gokul

1
@Gokul On me dit que ce théorème apparaît dans le livre de Hopcroft, Motwani, Ullman, mais seulement dans sa première version (apparemment il a été supprimé dans les versions ultérieures).
— Ran G.

@Ran G. Je n'ai pas pu trouver le livre mentionné pour vérifier cela, mais le numéro 3 semble faux, car pour S=RES=RE, la langue de toutes les langues finies n'est pas RERE. Vous pourriez plutôt vouloir dire une autre condition similaire:∀X(X∈LS⟺∃u(réF(u)⊆WX))∀x(x∈LS⟺∃u(Df(u)⊆Wx)), où réD est le codage canonique des langages finis, WW l'énumération standard de RERE langues et Ffune fonction totalement calculable. Dans ce cas, cette condition équivaut uniquement àLSLS étant RERE. (Voir H. Rogers Theory of Recursive Functions and Effective Computability p324 ) Bien que # 1 et # 2 soient suffisants ici.
— Beleg

@Beleg Je ne vois pas pourquoi c'est mal. SiS=RES=RE alors toute langue finie est en SS, par conséquent, la MT qui accepte n'importe quelle chaîne (ou plutôt, toute chaîne bien formatée) est un décideur pour l'ensemble de toutes les langues finies en S. Si vous n'êtes toujours pas d'accord, continuons dans le chat informatique .
— Ran G.

0

Il est possible que LLest un re set. Considérez le casC=REC=RE. alorsLLest l'ensemble de tous les codes de toutes les machines Turing. Ceci est un ensemble récursif, en fait, selon les détails de l'encodage, nous pourrions avoirL=N. Il est donc faux queL ne peut pas être récursif.

Je soupçonne que vous avez mal formulé la question.


Le PO exclu RE.
— Raphael

@Raphael, je ne suis pas sûr (cela dépend si ⊂ était censé être strict), mais si c'est ce qui rend la question intéressante, supposons C n'est pas l'ensemble de RE.
— Gilles 'SO- arrête d'être méchant'

@Andrej Merci pour la réponse, mais Raphael a raison, j'ai exclu RE.
— Numérateur
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.