Tips turingmachine
Unicidade
Todos os verificadores são úteis. Você pode obter muitas informações a partir deles. Vamos pegar um exemplo, os verificadores são:
A) azul é ímpar | azul é par
B) azul >1 | azul = 1
C) nenhum 4 | um 4 | dois 4 | três 4
D) azul <4 | azul >3
Então, primeiramente, se a resposta for '444', isso significaria que os verificadores A, B e D seriam inúteis, o que não é possível, então não pode ser 444.
Você pode perceber que temos muito pouca informação sobre amarelo e roxo. Se a resposta for 123, então nenhum verificador distinguiria o código 133. Isso significa que amarelo não pode ser 2 ou 3.
A única informação que poderíamos ter sobre amarelo e roxo é o número 4. Então podemos deduzir que amarelo e roxo são iguais a 4.
Além disso, se azul fosse igual a 1, então B e C seriam suficientes para indicar a combinação como sendo 144. Então azul não é igual a 1.
Se azul fosse 4 ou 5, então B seria inútil em comparação com D. Em outras palavras, A e C e D seriam suficientes para determinar se é 444 ou 544, e B seria inútil, o que não é possível. Então B não é 4 ou 5.
Portanto, as duas combinações restantes possíveis são 244 e 344.
Mas agora, se você olhar para 244 e os verificadores ACD, temos dois 4's, azul igual a 1, 2 ou 3, e azul é par... O que significa que já é 244 sem usar B. Então B é inútil. Logo não é isso, e também não é 244.
E então é exatamente 344 sem nenhuma verificação.
E podemos verificar isso:
Com essas respostas (azul ímpar, azul >1, dois 4's, azul<4), há apenas uma possibilidade: azul é forçado a ser 3, e então amarelo e roxo são forçados a ser 4
Se removermos o verificador A, há 2+ soluções: 244 & 344
Se removermos o verificador B, há 2+ soluções: 144 & 344
Se removermos o verificador C, há 2+ soluções (25): por exemplo, 325 & 314
Se removermos o verificador D, há 2+ soluções: 344 & 544
Portanto, cada verificador é útil, e há apenas uma possibilidade no final. Sem o raciocínio acima, isso apenas significa que é uma solução válida, não que é a única.