Vi propongo questo indovinello che è una variante dell'indovinello pubblicato da George Boolos sugli oracoli divini.
Questo indovinello che mi avevano proposto (e di cui possiedo la soluzione) secondo me è molto bello.
Tre oracoli A, B e C corrispondono in un qualche ordine ad Onesto, Bugiardo e Xor.
Onesto dice sempre il vero, Bugiardo dice sempre il falso mentre Xor "fa lo XOR" delle risposte di Onesto e di Bugiardo se la domanda posta a Xor fosse stata posta a loro.
L'obbiettivo è determinare le identità di A, B e C (ovvero determinare chi dei tre è Onesto, chi Bugiardo e chi Xor) ponendo loro un massimo di tre domande a cui è possibile rispondere con un "sì" oppure con un "no".
Ogni domanda dev'essere posta ad uno solo degli oracoli.
Può essere che a qualche oracolo venga posta più di una domanda o che non ne vengano poste affatto. Gli oracoli comprendono l'italiano ma parlano una loro lingua strana che solo loro comprendono. Dunque a priori non si conoscono le parole utilizzate da loro per dire "no" e per dire "sì". Le parole sono comunque comprensibili perché formate dalle lettere dell'alfabeto.
Esempio su come "funziona" Xor.
Se ponessimo a Xor la domanda D: "Il numero 1 è un numero pari?", Xor ci risponderebbe: "Sì" (nella propria lingua ovviamente)
Infatti:
- se la domanda fosse stata posta a Onesto egli avrebbe risposto "No" (nella sua lingua) dicendo il vero
- se la domanda fosse stata posta a Bugiardo egli avrebbe risposto "Sì" (nella sua lingua) mentendo.
Siccome le risposte di Onesto e Bugiardo sono diverse allora Xor risponde "Sì".
Se le risposte di Onesto e Bugiardo fossero state uguali allora Xor ci avrebbe risposto: "No"