|
Códigos: dois símbolos em três posições dão 2 × 2 × 2 = 8. São 000, 001, 010, 011, 100, 101, 110 e 111.
Toques: os dois primeiros não fecham código; cada um dos seguintes fecha um. Oito códigos pedem oito toques depois dos dois iniciais, 10 no total.
Fila: a regra do 1, partindo de 000, gera 0001110100. Deslizando a janela, aparecem 000, 001, 011, 111, 110, 101, 010 e 100, os oito, sem repetição.
Nenhuma fila de nove toques resolve. Com nove dígitos a janela só mostra sete códigos, e falta pelo menos um.
O nome da regra é algoritmo de preferência pelo 1, descrito pelo matemático americano Monroe Harnish Martin em 1934. Para senhas decimais, a versão prefere o maior dígito ainda livre e entrega as 10 mil senhas em 10.003 toques.
Para montar a sua cadeia, siga quatro passos.
1. Escreva tantos zeros quanto o tamanho da senha.
2. Acrescente o maior dígito que forme, com os anteriores, um código ainda não visto.
3. Se nenhum dígito servir, pare: a fila está completa.
4. Confira deslizando a janela e riscando cada código numa lista.
A cadeia aparece longe das fechaduras também. Mágicos usam a versão binária em truques de cartas: o baralho é arrumado de modo que a cor de cinco cartas seguidas revela a posição exata no maço. Na indústria, fitas de posição gravadas com uma cadeia de De Bruijn deixam um sensor ler poucos riscos e saber onde está na fita inteira.
A defesa contra o ataque é simples. Teclado que exige tecla de confirmar, ou que trava depois de três erros, devolve o custo aos 40 mil toques ou mais. A cadeia só vence aparelho que esquece onde cada tentativa começa.
|
A fechadura que não pergunta quando a senha acabou entrega três quartos do trabalho de graça.
|
A Sequência é o placar de quem fecha sozinho. Um ponto por enigma resolvido antes de conferir a solução, e o placar zera quando você espia fora da hora.
“Quantos toques bastariam para testar todas as senhas de dois dígitos decimais?”
Teste hoje: escreva a cadeia para senhas de dois dígitos usando só 0, 1 e 2, começando por 00 e preferindo sempre o maior dígito livre. Cronometre. O esperado é uma fila de 10 dígitos com os nove pares, cada um uma vez; se algum par repetir, volte ao ponto em que a regra foi quebrada.
|