Outro exemplo muito fácil é o seguinte: use a complexidade de Kolmogorov para provar que Lww={ww∣w∈{0,1}∗} não é regular.
Dou-lhe uma prova muito informal, esperando que possa ajudá-lo a entender melhor o papel da complexidade de Kolmogorov.
A ideia principal é a seguinte: um autômato finito D (que reconhece um idioma normal LD) possui uma quantidade finita de "memória"; então rodando em uma string de entradax=yz quando "processou" a primeira parte da entrada y a associação de x no LD depende apenas do seu estado atual e da segunda parte da entrada z.
Agora suponha que Lwwé regular; então existe um DFADww que reconhece isso.
Deixei y ser uma sequência incompressível de comprimento |y|=n≫|D|
Para todas as entradas x=yz, no final da primeira parte y, o DFA Dww estará claramente no mesmo estado qie, por hipótese, ele aceitará apenas se a parte restante z é tal que x=yz pode ser dividido em duas partes iguais (ou seja, yz=ww); por exemplo
Let y = 10110
y z
x = 10110 0 >> rejected
x = 10110 1 >> accepted (w=101, |y|>|z|)
x = 10110 00 >> rejected
x = 10110 01 >> rejected
....
x = 10110 10110 >> accepted (w=10110, |y|=|z| !!!)
....
x = 10110 1101101 >> accepted (w=101101, |z|<|y|
Mas é importante notar que existe apenas uma string z de comprimento |y| isso é aceito (z=y)
Então, dada a descrição de Dww, o Estado qi no fim de ye o comprimento |y| podemos simular o comportamento de Dww em todo o 2|y| cordas e veja qual delas aceita ... mas aceita exatamente z=y.
Então, com um programa de tamanho ℓ=|Dww|+logi+logy+c
(|Dww| é necessário espaço para armazenar a descrição de Dww,
logi espaço para guardar qi, logy espaço para armazenar o comprimento de y, c é necessário espaço para as instruções que simulam o DFA)
podemos "reconstruir" a corda y; mas para grande o suficientey temos ℓ<|y| o que é uma contradição porque y é incompressível.