Ne pouvons-nous pas produire la complexité de Kolmogorov?


28

Fixons un codage sans préfixe des machines de Turing et une machine de Turing universelle qui en entrée (codée comme le code sans préfixe de suivi de ) sort quelles que soient sorties sur l'entrée (éventuellement les deux fonctionnant pour toujours). Définissez la complexité de Kolmogorov de , , comme la longueur du programme le plus court tel que .U(T,x)TxTxxK(x)pU(p)=x

Existe-t-il une machine de Turing telle que pour chaque entrée elle génère un entierqui est différente de la complexité de Kolmogorov de , c'est-à-dire mais ?TxT(x)|x|xT(x)K(x)lim inf|x|T(x)=

Les conditions sont nécessaires, car

(a) si T(x)|x|, alors il serait facile de sortir un nombre qui est trivialement différent de K(x) car il est plus grand que |x|+cU ,

(b) si lim inf|x|T(x)<C est autorisé, alors nous pouvons simplement sortir 0 (ou une autre constante) pour presque tous les nombres, en devinant "heureusement" le plus un (nombre fini de nombres) qui s'évaluent à 0 (à une autre constante) et y produisent autre chose. Nous pouvons même garantir lim sup|x|T(x)= en sortant quelque chose comme 2logn pour x=2n .

Notez également que notre travail serait facile si nous savons que T(x) n'est pas surjectif, mais on en sait peu à ce sujet, donc la réponse pourrait dépendre de U , bien que je doute que ce le soit.

Je sais que les relations sont beaucoup étudiées en général, mais

Quelqu'un a-t-il déjà posé une question similaire où notre objectif est de donner un algorithme qui ne génère pas de paramètre?

Ma motivation est ce problème http://arxiv.org/abs/1302.1109 .


5
Cela dépend de votre encodage, car comme mentionné dans le sujet sur la surjectivité de auquel vous vous connectez, il peut arriver que seuls les programmes de longueur paire soient valides. Donc, pour rendre votre question non triviale, vous devez avoir plus d'hypothèses sur l'encodage. Kp
Denis

2
À votre deuxième question: oui. Étant donné un entier , soit la machine -th de Turing. Une fonction diagonalement non récursive (ou DNR) est une fonction telle que pour tous les entiers , . (Autrement dit, si s'arrête sur , alors , et sinon peut être arbitraire.) Ceux-ci ont été étudiés assez récemment dans la calculabilité / calculable communauté de hasard. Google "diagonalement non récursif" pour trouver des articles à ce sujet. M[M]Mf:NNM[M](M)f(M)[M]Mf(M)[M](M)f(M)
Joshua Grochow

1
@Denis: Je pense que vous vous trompez. Selon ma définition des machines de Turing universelles donnée dans le premier paragraphe, toutes les longueurs peuvent être des programmes valides.
domotorp

3
Il y a quelques temps, j'ai pensé (en vain) à une version apparemment plus simple: (dis) prouver que pour suffisamment grand , pour tout . x0K(x)|x|/2xx0
Marzio De Biasi du

1
@Ricky: C'est bien, je n'ai aucune restriction sur les encodages des machines Turing, seulement sur les programmes, que vous pouvez lire dans le premier paragraphe.
domotorp

Réponses:


7

La question peut être reformulée comme si , et comme Denis le souligne dans les commentaires c'est faux pour certains encodages. Voici une déclaration plus faible et une tentative de preuve qui ne dépend d'aucun détail de l'encodage, mais je suppose un langage binaire pour plus de simplicité:liminf|x||T(x)K(x)|=0

Soit une fonction calculable satisfaisant et . Alors . De manière informelle, s'il existe une cible autour de la complexité Kolmogorov de chaque chaîne qui s'étend sans limites, aucune fonction calculable ne peut éviter de la toucher.T:{0,1}N0T(x)|x|liminf|x|T(x)=liminf|x||T(x)K(x)|<

Pour voir cela, soit un nombre aléatoire de bits, c'est-à-dire et . Pour tout , un tel aléatoire existe. Notez également qu'il ya un nombre infini de valeurs de pour laquelle , cela découle des conditions imposées à . Soit maintenant la plus petite chaîne telle que . Il existe clairement une constante telle que , car etnb0n<2bK(n)bbnb|{T(x)=b}|2bTxnthT(x)=bc1K(x)>bc1K(n)bnpeut être calculé à partir de . Et il y a une constante telle que , car est également limité par le haut par seulement une constante supérieure à , et peut être calculé à partir de . Alors , et nous avons un nombre infini de choix pour (ceux avec une préimage de cardinalité au moins ), donnant un nombre infini de valeurs pour , nous avons donc terminé.xc2K(x)<b+c2K(n)bxn|K(x)T(x)|<c1+c2b2bx

Une implication est que pour certains , infiniment souvent. On pourrait donc dire que nous ne pouvons pas ne pas produire quelque chose qui n'est pas la complexité de Kolmogorov!cZT(x)=K(x)+c


1
Bien, je pense que cela devrait fonctionner. Bien sûr, il peut ne pas y avoir de chaînes avec , alors peut-être que vous voulez exiger , non? f(x)=bf(x)b
domotorp

1
Il doit être pour que soit calculable à partir de . Donc, je suppose que l'on doit choisir pour que ou des chaînes y . Vraisemblablement, les hypothèses devraient impliquer qu'il existe une infinité de tels (bien que je ne le vois pas tout à fait pour le moment). (Pour autant que je sache, les hypothèses n'ont pas été utilisées d'une autre manière.)f(x)=bnxb,n b2b+1b
Emil Jeřábek soutient Monica le

1
Oui, en effet, cela est nécessaire. Mais la preuve est facile par contradiction - si elle est toujours si , alors en regardant n'importe quelle plage , nous pouvons conclure qu'au moins chaînes sont mappées sur , donc infiniment nombreux, ce qui contredit . <2bb>b0b0<bBBb0b0lim inf=
domotorp

Ce dont parle Denis ne s'applique pas à la façon dont j'ai défini l'universalité dans la première ligne de ma question. Sa remarque est également banale, je ne sais pas pourquoi tant de gens ont voté pour son commentaire. Mais hélas, la réponse incorrecte de Peter a également reçu tant de votes positifs, je perds confiance en ce site ...
domotorp

Peu importe la façon dont les MT sont codées, tant que mes critères concernant la MT universelle sont satisfaits, le commentaire de Denis est donc incorrect. Si cela était dit comme une remarque sur un autre modèle, ce serait autre chose. Quoi qu'il en soit, au lieu de nous morfondre, essayons de voir si nous pouvons renforcer votre idée ...
domotorp

3

Je pense que les œuvres suivantes. Je vais utiliser pour la complexité de KolmogorovC(x)

  • Donner à une limite de temps (disons, une fonction exponentielle de la longueur du programme d'entrée) et appeler le résultat . Si un programme dépasse la limite de temps, entre dans une boucle infinie.UtUtUt
  • Soit le programme le plus court pour sur . Notez que est calculable.Ct(x)xtCt
  • Soit retourner , sauf si cette valeur est égale àauquel cas retournez 0. Sauf si est la sortie du programme vide, auquel cas retournez 1.T(x)Ct(x)+1|x|x
  • Puisque , sera toujours différent de . La logique de l'étape précédente prend en charge les cas marginaux.C(x)Ct(x)T(x)C(x)
  • Ut fonctionne comme un code pour toutes les chaînes, il a donc une limite inférieure à l'infini.

quelques commentaires, la théorie KC dans une interprétation alternative (mais équivalente) déclare ce qui suit: Presque toutes les chaînes sont déjà dans leur représentation optimale (par rapport à un modèle donné) à l'exception de nombreuses chaînes dénombrables qui peuvent être transformées en une représentation optimale (minimum) par rapport à un modèle de calcul donné (ou TM). En ce sens, presque tous les programmes produisent des représentations de chaînes optimales, mais celles-ci ne sont pas connues (ou calculables) a priori
Nikos M.

Pourquoi aurez-vous? T(x)|x|
domotorp

@domotorp Techniquement, nous avons où est la longueur du programme d'impression le plus court. Bien sûr, cette constante est également là pour (et en fait, à moins que le programme d'impression ne soit vraiment lent, c'est la même constante). T(x)|x|+ccC(x)
Peter

Mais c'est ce qui rend toute la question intéressante! J'aurais pu demander n'importe quelle fonction au lieu de, par exemple, , mon seul objectif était d'éliminer les solutions similaires aux vôtres. |x||x|/2+99
domotorp

@domotrop Je vois, donc vous voulez forcer à ne pas être une limite supérieure à . C'est plus intéressant ...T(x)C(x)
Peter
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.