Existe x tal que K (xx) <K (x), onde K é complacência de Kolmogorov.

16

Seja K(x) denotado a complexidade Kolmogorov de uma string . Existe uma cadeia de caracteres tal que . (Aqui é a concatenação de consigo). Uma pergunta semelhante, mas diferente, foi feita aqui , mas o contra-exemplo dado na resposta a essa pergunta não funciona para essa.xK(xx)<K(x)xxx

Sune Jakobsen
fonte

Respostas:

20

Não sou especialista em complexidade de Kolmogorov, mas acho que esse x pode ser construído para cada função de complexidade K da seguinte maneira. Como 1, 11, 1111, 11111111,…, 1 2 n ,… é uma codificação de um número natural n , K (1 2 n ) não pode ser o (log n ). No entanto, quando n = 2 m , obviamente K (1 2 n ) = K (1 2 2 m ) = O (log m ) = O (log log n ). Portanto, a sequência K (1), K (11), K (1111), K (11111111),…, K (1 2 n ),… não pode aumentar levemente monotonicamente, o que significa que existe uma stringx na forma 1 2 n tal que K ( xx ) <K ( x ).

Tsuyoshi Ito
fonte
11
@Tsuyoshi, Existe uma string incompressível tal que K ( x x ) < K ( x ) ? xK(xx)<K(x)
Mohammad Al-Turkistany
Penso que e K (1 ^ {2 ^ n}) = Ω (log n) se contradizem. O que ele quis dizer é: Se f ( n ) = o ( log n ) então K ( 1 2 n )K(122m)=O(logm)f(n)=o(logn) . Caso contrário, a prova parece boa. K(12n)O(f(n))
Sune Jakobsen
11
Isso parece funcionar. Na verdade, acho que isso fornece uma sequência infinita de tais strings. No entanto, estou entendendo mal algo, ou a declaração da regra da cadeia para a Complexidade Kolmogorov que aparece na wikipedia ( en.wikipedia.org/wiki/Chain_rule_for_Kolmogorov_complexity ) está incorreta. Inicialmente, pensei que a definição da wikipedia poderia não se aplicar aqui, pois é necessário saber onde X termina e Y começa, enquanto aqui parece não ser necessário, mas quando Y = X você pode adicioná-lo à descrição em O (1) dizendo "dividir no meio".
Abel Molina
@Une: A notação Ω (⋅) tem várias definições ligeiramente diferentes. “K (1 ^ 2 ^ n) = log (log n)” na minha resposta significa “limsup K (1 ^ 2 ^ n) / log n> 0” e não contradiz “K (1 ^ 2 ^ 2 ^ m) = O (log m). ”Editei a resposta para esclarecer esse ponto. Veja também Que definição de taxa de crescimento assintótica devemos ensinar?
Tsuyoshi Ito
11
@ turkistany and all: Note que é sempre verdade que K (xx)> K (x) -c para alguma constante, pensei que isso deveria ser apontado. Isso também significa que precisamos de uma definição muito precisa de incompressível, se quisermos estudar esta questão. Eu acho que a resposta é novamente sim, mas não tenho uma prova.
Domotorp
2

Sim. A complexidade de Kolomogorov na prática depende do seu modelo. Máquina de Turing, programa Java, programa C ++, ... se houver uma idiossincrasia no seu modelo que permita que isso aconteça em um conjunto finito de entradas, não há problema.

A melhor pergunta é quanto desse comportamento você consegue e ainda tem o modelo como universal.

Chad Brewbaker
fonte
Penso que uma pergunta melhor é: Esse x existe para todos os modelos? Não sei o que é um "modelo" formalmente, mas parece que a resposta do Tsuyoshis funciona para todas as linguagens de programação razoáveis.
Sune Jakobsen
Você pode atribuir a x x algo maior para x e ainda ter um modelo universal. 0 0xxx
Kaveh
1

@Tsuyoshi:

Não entendi bem sua prova.

Suponha que escolhemos uma Máquina de Turing padrão como "linguagem de descrição", definindo como o número de estados da menor TM que começa com uma fita vazia e pára após imprimir oK(s) sequência nela.s

Será que você provou que podemos construir um que "imprime" a corda s s = 1111 ... 1 = 1 2 n + 1 na fita e é construído com menos estados de T M s que "imprime" o string s = 1 2 n ?TMssss=1111 ... 1=1 12n+1 1TMss=1 12n

Sua prova pode ser aplicada à complexidade de Kolmogorov nas TMs?

ESTÁ BEM! I GOT IT ... quando do T M s s pode ser "alimentado" com um novo "loop interno" (nós adicionamos alguns estados, mas podemos remover muitos estados que em T M s são necessários para " contando " n ) ... Obrigado!n+1 1=2mTMssTMsn

(desculpe, mas não sei como postar isso como comentário)

Marzio De Biasi
fonte
Para escrever um comentário em um post feito por alguém que não seja você que não é uma resposta à sua pergunta, você precisa de ponto de reputação pelo menos 50.
Tsuyoshi Ito