Pour toute langue

9

J'essaie de trouver une preuve pour les éléments suivants:

Pour toute langue A , il existe un langage B tel que ATB , mais B TA .

Je pensais laisser B être ATM , mais je me rends compte que toutes les langues ne sont pas Turing réductibles à ATM , donc ATB ne tiendrait pas. Quel autre choix de B ai-je qui me permettrait d'écrire une MT qui utilise un oracle pour que B décide A ?

Merci!

user1354784
la source
Que diriez-vous de B=NPA ?
Eugene
3
Pensez au problème de l' arrêt sur les machines de Turing avec oracle A .
Willard Zhan
2
@ user1354784 Les machines de Turing avec oracle A peuvent être énumérées. Essayez donc d'utiliser la diagonalisation standard, où le seul changement est que pour chaque αΣ , Mα représente une TM oracle avec l'oracle A au lieu d'une TM normale.
Willard Zhan
1
@DavidRicherby Oui, mais B n'est pas fixe, il est construit en sachant ce qu'est A. Si on nous donne un A, nous construisons un B qui accepte chaque TM oracle avec un oracle pour ce A spécifique qui accepte les chaînes en A. Si on nous donne un A différent, la liste des TM dans B sera différente.
user1354784
1
@ user1354784 Exactement. Je voulais dire ce commentaire comme une autre explication de la raison pour laquelle nous ne pouvons pas prendre comme vous l'aviez suggéré (et déjà rejeté, pour une raison différente) dans votre question. J'ai oublié d'expliquer que c'était le point que je faisais - désolé pour la confusion là-bas. B=ATM
David Richerby

Réponses:

1

Soit , le saut de Turing . C'est un résultat de base dans la théorie des degrés de Turing.B=AA

Bjørn Kjos-Hanssen
la source
1

Avant de plonger dans la bonne réponse - à savoir que nous pouvons relativiser le problème d'arrêt pour attribuer à chaque langue une langue telle que (entre autres) - cela vaut la peine de voir la réponse idiote :XXX<TX

  • Cantor a montré qu'il existe d'innombrables langues.

  • Mais chaque langue spécifique ne peut calculer que de nombreuses langues: une seule machine Turing ne peut générer qu'une réduction par rapport à une langue donnée , et il n'y a que de nombreuses machines Turing.AA

Donc, en fait, nous savons, sans faire aucun travail sérieux, que:

Pour toutes les langues , la plupart (= tous mais beaucoup) dénombrable langues satisfont .ABBTA

Maintenant , nous combinons ceci avec la Turing se joignent : langues données , la jointure se compose de « entrelacer » et . Il existe différentes façons de le définir - par exemple, en considérant et comme des ensembles de naturels, nous laissons généralement - mais la caractéristique importante est que (et en fait est leur -least borne supérieure) .X,YXYXYXYXY={2i:iX}{2i+1:iY}XYTX,Y T

Nous pouvons donc appliquer ce qui précède, pour obtenir:

Pour toutes les langues , la plupart (= tout sauf dénombrable beaucoup) langues satisfont .ABA<TAB


Cela pose alors la question de donner une preuve non stupide , à savoir un moyen naturel de produire un langage strictement plus compliqué qu'un langage donné, et c'est à cela que sert le saut de Turing; mais cela vaut la peine de comprendre cet argument non constructif par lui-même.

Noah Schweber
la source