Os três robôs

Você está diante de três robôs que entendem tudo muito bem e são capazes de falar, mas falam apenas sim ou não.
Um deles sempre fala a verdade, outro sempre mente e o terceiro tem um comportamento totalmente aleatório: alguns dias, diz a verdade, outros, mente. Você não sabe qual é qual, mas cada um sabe quem são os outros dois. E, claro, você não sabe se hoje é o dia que aquele robô de comportamento instável mente ou fala a verdade.
Você tem direito a três perguntas que só podem ser respondidas com sim ou não - afinal, os robôs falam apenas essas duas palavras. Você pode dirigir a pergunta a qualquer um deles, repetir a mesma pergunta ou inquirir mais de uma vez um mesmo robô.
Quais perguntas você deve fazer para saber qual o robô mentiroso, qual o que fala a verdade e qual tem comportamento aleatório?

Vamos chamar os três robôs de A, B  e C e as características de v, para o que fala a verdade, m, para o que mente sempre e a para o aleatório.
Uma primeira pergunta é feita ao robô A: o robô B fala a verdade mais frequentemente do que o robô C? Se a resposta for “sim”, estão eliminadas as possibilidades que os robôs A, B e C sejam, respectivamente, aqueles com características (v, m, a) e (m, v, a), pois nestes casos as respostas seriam negativas. Ou seja, o robô C não é o aleatório. Se a resposta for negativa, estão eliminadas as possibilidades que os robôs A, B e C sejam (v, a, m) e (m, a, v), pois nesses casos a resposta seria “sim”. Portanto, concluiríamos que o robô B não é o aleatório.
Assim, a primeira pergunta permitiria saber quem não é o robô que fala aleatoriamente a verdade. Como a única coisa que importa é saber qual robô não responde aleatoriamente, é irrelevante saber se ele é o B ou o C. Vamos supor que seja o C. (Se for o B, nada muda: apenas trocaríamos os robes questionados.)
Então, pergunte ao C, que é o que mente sempre ou fala sempre a verdade, se A fala a verdade mais frequentemente do que B. Se a resposta for “sim”, estão eliminadas as possibilidades (v, a, f) e (f, a, v), casos em que a resposta seria negativa. Portanto, concluiríamos que B não é o robô de comportamento aleatório. Como ele também não é o C, concluímos que o robô aleatório é o A. Se a resposta for falsa, uma inspeção permite concluirmos que o robô A não é a aleatório; portanto, seria o B.

Com essas duas perguntas, sabemos quais dois robôs não são os aleatórios e, portanto, sabemos qual é. Uma pergunta singela a qualquer um dos dois que não são aleatórios, do tipo “1+1=2?” permite saber se o robô questionado é o que mente sempre ou o que fala a verdade.

Nenhum comentário:

Postar um comentário