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 .
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 ?
Les conditions sont nécessaires, car
(a) si , alors il serait facile de sortir un nombre qui est trivialement différent de car il est plus grand que ,
(b) si est autorisé, alors nous pouvons simplement sortir (ou une autre constante) pour presque tous les nombres, en devinant "heureusement" le plus un (nombre fini de nombres) qui s'évaluent à (à une autre constante) et y produisent autre chose. Nous pouvons même garantir en sortant quelque chose comme pour .
Notez également que notre travail serait facile si nous savons que n'est pas surjectif, mais on en sait peu à ce sujet, donc la réponse pourrait dépendre de , 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 .
la source
Réponses:
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}∗→N 0≤T(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 etn b 0≤n<2b K(n)≥b b n b |{T(x)=b}|≥2b T x nth T(x)=b c1 K(x)>b−c1 K(n)≥b n peut ê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é.x c2 K(x)<b+c2 K(n) b x n |K(x)−T(x)|<c1+c2 b 2b x
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!c∈Z T(x)=K(x)+c
la source
Je pense que les œuvres suivantes. Je vais utiliser pour la complexité de KolmogorovC(x)
la source