Compression des informations sur le problème d'arrêt des machines Oracle Turing


12

Il est bien connu que le problème d'arrêt n'est pas calculable. Cependant, il est possible de "compresser" exponentiellement des informations sur le problème d'arrêt, de sorte que sa décompression soit calculable.

Plus précisément, il est possible de calculer à partir d'une description de machines de Turing et d'un conseil à n bits la réponse au problème d'arrêt pour les 2 n - 1 des machines de Turing, en supposant que l'état de conseil est fiable - nous laissez notre conseiller choisir les bits pour décrire combien de machines Turing s'arrêtent en binaire, attendez jusqu'à ce que beaucoup s'arrêtent et sortez que les autres ne s'arrêtent pas.2n1n2n1

Cet argument est une simple variante de la preuve que la constante de Chaitin peut être utilisée pour résoudre le problème d'arrêt. Ce qui m'a surpris, c'est qu'il est net. Il n'y a aucune carte calculable à partir d' une description de machines Turing et un n états conseils de -bit à 2 n bits de sortie qui obtient arrêt la bonne réponse pour chaque tuple de machines de Turing, pour certains tuple de bits. S'il y en avait, nous pourrions produire un contre-exemple en diagonalisant, chacune des 2 n machines de Turing simulant ce que le programme fait sur l'un des 2 n arrangements possibles des n bits, puis choisissant son propre état d'arrêt pour violer la prédiction.2nn2n2n2nn

Il n'est pas possible de compresser les informations sur le problème d'arrêt pour les machines Turing avec un oracle d'arrêt du tout (sans accès à une sorte d'oracle vous-même). Les machines peuvent simplement simuler ce que vous prédisez sur toutes les entrées possibles, en ignorant celles où vous ne vous arrêtez pas et en choisissant leurs temps d'arrêt pour donner la première réponse lexicographique que vous n'avez prédite sur aucune entrée.

Cela m'a motivé à réfléchir à ce qui se passe pour les autres oracles:

Existe-t-il un exemple d'oracle où le problème d'arrêt des machines Turing avec cet oracle peut être compressé à un taux de croissance intermédiaire entre linéaire et exponentiel?

Plus formellement, étant donné un oracle, soit le plus grand m tel qu'il existe une fonction partielle calculable à partir des machines de m oracle Turing et n bits à m bits, de sorte que pour chaque m -uple de machines oracle Turing, il y a un n- tuple de bits, où la valeur de la fonction évaluée sur cette entrée est égale au m- tuple de 1 pour chaque oracle Turing machine qui s'arrête et 0 pour chaque oracle Turing machine qui fonctionne pour toujours.f(n)mmnmmnm10

Y a-t-il un oracle où ? Y a-t-il un oracle où ω ( n ) = f ( n ) = o ( 2 n ) ?n<f(n)<2n1ω(n)=f(n)=o(2n)

Réponses:


1

Soit la sortie de la e e machine de Turing équipée d'oracle A , sur l'entrée e . Ici, J signifie «sauter». (En cas de non-arrêt, J A ( e ) n'est pas défini.)JA(e)eAeJJA(e)

Ah:NNeJA(e)Te(Te)eN|Te|h(e)e

fA(k,n)=nk0,,n1kfA(k,n)

fAAgfA(k,n)=JA(g(k,n))

nAh(e)Tee=g(k,n)k

hA

C'est un candidat raisonnablement bon dans le sens où nous avons une direction (la borne supérieure du taux de croissance) et que la méthode par laquelle nous avons obtenu la borne supérieure ne donne pas de borne supérieure beaucoup plus petite que cela.


nn
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.