L'indovinello lo potete trovare sul sito:
http://www.hku.hk/philodep/intro/hardest_puzzle.htm
è in inglese ma abbastanza comprensibile.
Per i più svogliati:
Ci sono 3 oracoli: uno dice sempre la verità uno mente sempre ed il terzo
(il più st***zo di tutti) a volte mente e a volte dice la verità.
Posso far loro tre domande che prevedano una risposta affermativa o negativa
(sì o no). Come faccio a scoprire l'identità di ciascuno dei tre. Quali
domande devo fare loro (una per ciascun idolo)? A complicare le cose c'è il
fatto che i tre oracoli a capire capiscono benissimo la mia lingua ma quando
rispondono rispondono nella loro.
Non so quale tra «ia» e «da» corrisponda al nostro «sì» e quale al nostro
«no».
Qualcuno di voi sa trovare la risposta?
Luigi
PS: La soluzione si trova nel cap 29 di
George Boolos, Logic Logic Logic, Harvard University Press, 1998
Ma siamo certi che io non me lo compro...
Sperando che gli idoli non si irritino troppo se uno sbaglia,
propongo questa soluzione. :)
[spoiler]
Basta fare a tutte e tre (o se si è fortunati solo ai
primi due) la domanda: "*Da* significa sì?".
Se l'idolo dice la verità risponderà con *da*, se mente
con *ja*, indipendentemente dal significato delle due
parole nella sua lingua.
--
Grazie, ciao.
Sperando che gli idoli non si irritino troppo se uno sbaglia,
propongo questa soluzione. :)
[spoiler]
Basta fare a tutte e tre (o se si è fortunati solo ai
primi due) la domanda: "*Da* significa sì?".
Se l'idolo dice la verità risponderà con *da*, se mente
con *ja*, indipendentemente dal significato delle due
parole nella sua lingua.
Ciao.
>[spoiler]
Potresti spegarlo.. io non ci sono:-(
1. da--> e` o Vero o X
2. da--> idem
3. ja--> Falso
A questo punto ho individuato solo il F e non so neppure da, ja..
boh 8-]
--
Ci sentiamo | Remigio Zedda || Attenzione! campo "From:" alterato
ciao Remigio | ||==> E-mail: remi...@tiscalinet.it
-------------| ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.19pre17 su Debian GNU/Linux 2.2 Potato */
Beh, ci ho messo qualche ora ma dovrei essere arrivato alla soluzione.
Aspetto qualche commento o osservazione da parte vostra.
Ciao!
:) Valentino
Spoilerino
.
.
.
.
.
.
.
.
Precisazione:
Nel testo originale in inglese e' indicato che le domande possono essere
solo 3 ma si puo' porle all'oracolo che si preferisce.
Premesse:
Oracoli: A, B, C
valore: V,F,X (dice il vero, dice il falso, risponde a caso)
Risposte: DA,IA
valore: V,F (vero o falso)
se IA=V allora DA=F e viceversa
Combinazioni possibili:
A B C IA DA
1 V F X V F
2 V X F V F
3 F V X V F
4 F X V V F
5 X V F V F
6 X F V V F
7 V F X F V
8 V X F F V
9 F V X F V
10 F X V F V
11 X V F F V
12 X F V F V
1^ DOMANDA:
ad A:
E' IA che B risponde piu' correttamente di C?
(E' vero/falso che ho una maggiore percentuale di risposte esatte da B
piuttosto che da C?)
La domanda puo' essere posta in innumerevoli modi del dipo "se chiedessi a
... mi risponderebbe IA?" ma questo modo mi sembra molto piu' elegante
A B C IA DA R1
1 V F X V F DA
2 V X F V F IA
3 F V X V F DA
4 F X V V F IA
5 X V F V F DA/IA
6 X F V V F DA/IA
7 V F X F V DA
8 V X F F V IA
9 F V X F V DA
10 F X V F V IA
11 X V F F V DA/IA
12 X F V F V DA/IA
Se A risponde DA allora B non risponde a caso.
Se A risponde IA allora C non risponde a caso.
Supponiamo che risponda DA (l'altro caso e' speculare)
Eliminiamo i casi 2,4,8,10
2^ DOMANDA:
a B (che risponde il vero o il falso ma non a caso):
A risponde piu' correttamente di C?
(Ho una maggiore percentuale di risposte esatte da A piuttosto che da C?)
A B C IA DA R1 R2
1 V F X V F DA DA
3 F V X V F DA DA
5 X V F V F DA/IA IA
6 X F V V F DA/IA IA
7 V F X F V DA DA
9 F V X F V DA DA
11 X V F F V DA/IA IA
12 X F V F V DA/IA IA
>>> prima individuazione
Se B risponde DA allora C risponde a caso
Se B risponde IA allora A risponde a caso
Supponiamo che risponda DA (l'altro caso e' speculare)
Eliminiamo i casi 5,6,11,12
3^ DOMANDA
Di nuovo ad A:
IA vuol dire VERO?
A B C IA DA R1 R2 R3
1 V F X V F DA DA IA
3 F V X V F DA DA DA
7 V F X F V DA DA IA
9 F V X F V DA DA DA
>>> INDIVIDUAZIONE DEFINITIVA
Se A risponde IA allora A=V e B=F
Se A risponde DA allora A=F e B=V
Da notare il fatto che alla fine NON si sa cosa significhino DA e IA ma si
sono "solo" identificati i tre oracoi.
>Precisazione:
>Nel testo originale in inglese e' indicato che le domande possono essere
>solo 3 ma si puo' porle all'oracolo che si preferisce.
Raymond Smullyan devised a logical puzzle that has no challengers
I know of for the title of Hardest Logical Puzzle Ever. I'll set out
the puzzle here, give the solution, and then briefly discuss one of
its more interesting aspects.
The puzzle:
Three gods A, B, and C are called, in some order, True, False, and Random.
True always speaks truly, False always speaks falsely, but whether Random
speaks truly or falsely is a completely random matter.
Your task is to determine the identities of A, B, and C by asking three
yes-no questions; each question must be put to exactly one god.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The gods understand English, but will answer all questions in their own
language, in which the words for "yes" and "no" are "da" and "ja" in some
order. You do not know which word means which.
Infatti c'e' scritto
che ogni domanda deve essere posta soltanto ad un idolo e non che ad ogni
idolo deve essere posta una sola domanda!
Ciao.
Valentino :)
--------------------------------
Inviato via http://usenet.iol.it
>.................^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>Infatti c'e' scritto
>che ogni domanda deve essere posta soltanto ad un idolo e non che ad ogni
>idolo deve essere posta una sola domanda!
Uh.. e` vero:-) L'avevo interpretata nell'altro modo: in inglese non ci
capisco granche':-( Eppure (a me!) sembra molto strano 8-]
Quindi praticamente dice che l'unica condizione e` di fere tre domande
diverse.. ma diverse diverse o diverse diverse:-) Perche' possono
essere fatte diverse ma con equivalente contenuto..
:-)
Significa che se fai la stessa domanda a due idoli diversi
conta come due domande.
In pratica puoi prendere la parola solo tre volte
rivolgendoti ad un solo idolo per volta a tua scelta.
Valentino
>Significa che se fai la stessa domanda a due idoli diversi
>conta come due domande.
Ahhhhhhhh adesso si` che la capisco:-))))) THNX!!
La mia risposta č sbagliata.
Ho letto male il quesito. :(
Pensavo che il titolo fosse ironico e chiedesse semplicemente
di trovare chi mentiva e chi no, invece chiede di scoprirne
l'identitŕ. (Ok, io potrei essere Random... ;)
Ciao.
Gasp! Ho frainteso anche il testo originale!? :(
"[...]; each question must be put to exactly one god".
Non significa che si deve fare una ed una sola domanda ad
ognuno dei tre idoli?
Ciao.
Penso si possa scoprire l'identità degli idoli utilizzando
queste 3 domande:
[Spoiler]
1D: "Se ti chiedessi 'Sei Random?' risponderesti con la parola *da*?"
2D: "La parola *da* significa sì?"
3D: "Se ti chiedessi 'A ha detto la verità e B ha mentito?' risponderesti
con la parola *da*?"
Osservazione: Se la risposta alla prima domanda è *da* allora
si può scoprire anche il significato di *da* e *ja*,
ponendo al terzo idolo invece della 3D la domanda:
4D: "Se ti chiedessi '*Da* significa sì?' risponderesti con la parola
*da*?"
*DIMOSTRAZIONE*
LEGENDA
-- Con la scrittura X = 1D -> A intendo che X è la
-- risposta di A alla domanda 1D, con W un idolo generico.
-- True è l'idolo che dice sempre il vero
-- False è l'idolo che dice sempre il falso
-- Random è l'idolo che *dice* o il falso oppure il vero in modo
-- del tutto casuale.
PREMESSE
Verificato facilmente caso per caso che:
* if ( (X = 1D -> W) == da) l'idolo W è Random.
* if ( (X = 2D -> W) == da) l'idolo W ha detto la verità
* if ( (X = 3D -> W) == da) l'idolo A è True e B è False
* if ( (X = 4D -> W) == da) la parola *da* significa sì.
* if ( W == Random) allora gli altri due idoli non possono
entrambi mentire o dire la verità (ovviamente).
Le istruzioni da seguire per porre le domande
(una a testa per ogni idolo) sono allora le seguenti:
if ( (X = 1D -> A) == da) then {
print("L'idolo A è Random!");
if ( (X = 2D -> B) == da) then {
print("L'idolo B è True!");
print("L'idolo C è False!");
if ( (X = 4D -> C) == da)
print("*Da* significa 'sì'!");
else
print("*Da* significa 'no'!");
print("Il gioco è risolto!");
}
else {
print("L'idolo B è False!");
print("L'idolo C è True!");
if ( (X = 4D -> C) == da)
print("*Da* significa 'sì'!");
else
print("*Da* significa 'no'!");
print("Il gioco è risolto!");
}
else {
/* A è False oppure True, ma sicuramente non è Random */
if ( (X = 1D -> B) == da) then {
print("L'idolo B è Random");
if ( (X = 2D -> C) == da) then {
print("L'idolo C è True!");
/* di conseguenza... */
print("L'idolo A è False!");
print("Il gioco è risolto!");
} else {
print("L'idolo C è False!");
/* di conseguenza... */
print("L'idolo A è True!");
print("Il gioco è risolto!");
}
} else {
/* (C == Random), B è True o False */
if ( (X = 3D -> C) == da) then {
/* A == True, B == False */
print("L'idolo A è True!");
print("L'idolo B è False!");
print("L'idolo C è Random!");
} else {
/* A == False, B == True */
print("L'idolo A è False!");
print("L'idolo B è True!");
print("L'idolo C è Random!");
}
}
}
Ciao.
Beh, come dicevo a Rez in
quella frase c'e' scritto che ogni domanda deve essere posta soltanto ad un
idolo e non che ad ogni idolo deve essere posta una sola domanda!
Ciao.
Valentino :)
>Penso si possa scoprire l'identità
degli idoli utilizzando
>queste 3 domande:
>1D: "Se ti chiedessi 'Sei
Random?' risponderesti con la parola *da*?"
>2D: "La parola *da* significa
sì?"
>3D: "Se ti chiedessi 'A ha detto la verità e B ha mentito?'
risponderesti
> con la parola *da*?"
Non funziona:
Se ho ben capito
rivolgi la prima domanda ad A, la seconda a B e la terza a C.
A questo
punto la terza domanda non ha nessun significato perche':
- se C e' random
non puo' darti nessuna indicazione e devi per forza basarti sulle prime due
domande per identificare il tutto.
- se C mente o dice il vero ti
dara'comunque un'indicazione basata sulla risposta random di uno dei primi
e percio' e' random a sua volta. A questo punto non hai nessun tipo di
indicazione da due domande, e non sai neppure quale e' quella che ti ha
dato un'informazione valida.
Puoi verificarlo facilmente facendo una
tabellina con le 12 possibilita' e provare a rivolgere le domande che hai
citato.
Spoiler per proseguire (indizio):
.
.
.
.
.
.
.
.
.
.
.
.
E' necessario identificare gia' con la prima domanda l'idolo random
per potere porre le altre due agli altri in modo da avere delle risposte
che diano necessariamente qualche tipo di indicazione.
La prima domanda puo' forse "non
piacere" per il fatto che ho supposto che DA e IA vogliano dire VERO o
FALSO.
Se si vuole che il significato sia SI o NO si puo' porre la prima
domanda in quest'altro modo, del tutto equivalente a quello indicato prima,
ottenendo le stesse risposte:
D1: sempre ad A
" Chiedendo se 1+1=2
avrei piu' probabilita' di avere la risposta IA da B piuttosto che da C? "
D2 e D3 restano le stesse.
Non necessariamente, pongo le domande seguendo la logica che
ho descritto in un linguaggio pseudo-C nel post precedente.
> A questo punto la terza domanda non ha nessun significato perche':
> - se C e' random non puo' darti nessuna indicazione e devi per
> forza basarti sulle prime due domande per identificare il tutto.
Non sono del tutto d'accordo: *se le PREMESSE che ho fatto sono vere*,
indipendentemente dal fatto che "Random *speaks* truly or false",
cioè indipendentemente da quale raptus gli faccia credere di
essere in quel momento True oppure False :) e di *parlare* di conseguenza,
riesco a sapere se A è True oppure False.
> - se C mente o dice il vero ti dara'comunque un'indicazione
> basata sulla risposta random di uno dei primi
> e percio' e' random a sua volta. A questo punto non hai nessun tipo di
> indicazione da due domande, e non sai neppure quale e' quella che ti ha
> dato un'informazione valida.
Sono d'accordo, se C è True o False, è una domanda non indicativa
oppure del tutto superflua (ed in quest'ultimo caso infatti faccio
la 4D e non la 3D); ma io pongo la domanda 3D a C solo se ho già
dedotto che si tratta sicuramente di Random.
> Puoi verificarlo facilmente facendo una
> tabellina con le 12 possibilita' e provare a rivolgere le domande che hai
> citato.
Vero se pongo le domande:
1D -> A, 2D -> B, 3D -> C.
Ma come ho detto non è necessariamente questa la sequenza
che utilizzo. Scelgo quale tra le domande 1D, 2D, 3D utilizzare
in base alle risposte ottenute in precedenza, a parte ovviamente
la prima volta (1D -> A).
La mia risposta è sicuramente sbagliata se una delle proposizioni
che ho chiamato PREMESSE è falsa. Non mi sembra però che
tu stia contestando quelle, o sbaglio?
Per la verità ero convinto, anzi sicuro che lo avresti
fatto per almeno due di esse, ma mi sono sbagliato. :)
Nooo! È gia la seconda volta che sbaglio! :(
Mi sa che hai ragione tu: ho torto; i precedenti non mi sono
favorevoli... comincio pure ad avere crisi d'identità! :)
Ciao.
[...]
>Se A risponde DA allora B non risponde a caso.
>Se A risponde IA allora C non risponde a caso.
Bellissimo!! Sei riuscito ad emarginare il pazzo! :-)
> 7 V F X F V DA DA
> 9 F V X F V DA DA
>11 X V F F V DA/IA IA
>12 X F V F V DA/IA IA
Qui non capisco le r2 numeri dal 7 al 12, a me sembrano tutte quattro
invertite, esempio la 7:
7; a > c vero; --> b risponde falso; falso=ja
Poi allora non ho continuato con la 3d, mi son fermato qui.
Ma non riesci a scoprire da,ja-->si`,no?
Uh.. se ci vedono quelli delle critto: da ia si no --> dai asino:-)
Porcaccia
la miseriaccia!!! Hai proprio ragione!!!
Allora rettifico: per avere le
risposte indicate nella tabellina pongo la seconda domanda a B tale e quale
come ho posto la prima ad A cioe':
E' IA che A risponde piu'
correttamente di C?
(E' vero/falso che ho una maggiore percentuale di
risposte esatte da A piuttosto che da C?)
oppure in modo equivalente
Chiedendo se 1+1=2 avrei piu' probabilita' di avere la risposta IA da A
piuttosto che da C?
A B C IA DA R1 R2
1 V F X V F DA F=DA
3
F V X V F DA F=DA
5 X V F V F DA/IA V=IA
6 X F V V F DA/IA V=IA
7 V F X F V DA V=DA
9 F V X F V DA V=DA
11 X V F F V DA/IA F=IA
12 X F V F V DA/IA F=IA
Mi pare che cosi' torni tutto!
>Ma non
riesci a scoprire da,ja-->si`,no?
Suppongo che si riescano ad
identificare gli idoli senza capire cosa significhino DA e IA.
D'altra
parte ci sono cinque incognite (i tre idoli, DA e IA) e sole tre relazioni
(le tre domande). Un'ulteriore relazione e' data dal fatto che DA=-IA
quindi le incognite si riducono a 4 con 3 relazioni rimanenti. Quindi
suppongo che si riesca riesco alla meglio ad identificare solo tre delle
incognite.
>Uh.. se ci vedono quelli delle critto: da ia si no --> dai
asino:-)
:-)))
Grazie mille per la tua analisi!
Valentino :-)
Ach... temo di
non riuscire a capire il filo logico...
>Sono d'accordo, se C è True o
False, è una domanda non indicativa
>oppure del tutto superflua (ed in
quest'ultimo caso infatti faccio
>la 4D e non la 3D); ma io pongo la
domanda 3D a C solo se ho già
>dedotto che si tratta sicuramente di
Random.
Allora non capisco cosa serve fare la domanda o che conclusioni
ne trarrai visto che rispondera' random :-?
>comincio pure ad avere
crisi d'identità! :)
;-)
>Ciao.
Per poterlo seguire (nell'ipotesi che sia effettivamente
logico :) è necessario prima essere d'accordo sulla
veridicità delle "PREMESSE"; per te le seguenti
proposizioni sono *tutte* vere?
P1) se l'idolo (uno qualsiasi) risponde *da* alla domanda 1D,
allora è Random, indipendentemente dal fatto che
abbia mentito o detto la verità.
P2) se l'idolo (uno qualsiasi) risponde *da* alla domanda 2D,
allora dice il vero, indipendentemente dal significato
di *da* nella sua lingua.
P3) se l'idolo (può essere solo Random!) risponde *da* alla domanda 3D
allora A è True e B è False, indipendentemente dal fatto
che (Random) abbia mentito o detto la verità.
P4) se l'idolo (qualsiasi) risponde *da* alla domanda 4D
allora *da* significa 'sì', indipendentemente
dal fatto che abbia mentito o detto la verità.
> Allora non capisco cosa serve fare la domanda o che conclusioni
> ne trarrai visto che rispondera' random :-?
Provo a spiegare meglio il mio (s)ragionamento.
Supponiamo di aver appurato con assoluta certezza che nè A nè B
è Random (cioè C è Random); allora prima di porre la terza domanda
(a Random) abbiamo questa situazione:
A è True o False
B è True o False
C è Random
La domanda deve quindi logicamente permettermi di stabilire
quale dei due casi
C1) A è True, B è False
C2) A è False, B è True
è quello vero.
Ebbene *se la P3 è vera*, la 3D permette di fare questo,
mi sembra abbastanza ovvio.
Se Random risponde *da* => A == True, B == False
Se Random risponde *ja* => B == False, A == True
Come vedi tutto dipende dalla P3: ma è vera?
A questa domanda io risponderei *sì* (*ja* se
mi trovassi a Berlino, e *da* se mi trovassi a Mosca);
però io sono di parte e quindi non vale. :)
(Forse la scelta da parte degli autori del rompicapo
delle parole *da* *ja* non è del tutto casuale!)
Comunque se ti interessa, ecco perchè secondo me la P3 è
vera.
Premetto che la validità del ragionamento che segue
dipende (tra l'altro) da come io ho inteso la seguente frase
del quesito iniziale: "[...] whether Random speaks truly
or falsely is a completely random matter.".
Per me significa che, ad esempio, il comportamento di tale
idolo lo si può immaginare così: prima o dopo aver ascoltato la
domanda, esso lancia una moneta e in base all'esito testa/croce
del tutto casuale del lancio decide se comportarsi come se fosse
True o False, cioè se dire il vero o il falso (chiaramente esegue
un solo lancio e io non conosco il risultato del lancio nè
che comportamento ha deciso di assumere in caso di croce o testa).
Se questa non è l'interpretazione corretta del testo,
allora puoi anche interrompere qui la lettura,
la mia sarà (forse) la soluzione di qualche altro problema
di logica, ma non di quello di Smullyan-McCarthy e il
la faccenda è conclusa! :)
Vediamo allora caso per caso cosa risponde Random alla
domanda 3D (""Se ti chiedessi 'A ha detto la verità e B ha mentito?'
risponderesti con la parola *da*?").
Il significato dei simboli è il solito:
A, B, C sono gli idoli
T è l'idolo True
F è l'idolo False
R-T è l'idolo Random che dice il vero
R-F è l'idolo Random che dice il falso
da, ja le risposte possibili
== significa 'è', oppure 'significa'
1) Ipotesi: A == T, B == F, da == sì, ja == no, R == R-T
Ragionamento di R-T: il Fato (caso) ha voluto che io gli
(a chi ha posto la domanda) debba rispondere sinceramente;
vediamo... alla domanda'A ha detto la verità e B ha mentito?'
risponderei 'sì' nella sua lingua e quindi *da* nella mia,
cioè pronuncerei effettivamente la parola *da*, quindi
alla sua domanda devo rispondere con un *sì*.
Risposta di R-T: *da*
2) Ipotesi: A == T, B == F, da == sì, ja == no, R == R-F
Ragionamento di R-F: il Fato ha voluto che io gli
debba mentire e che mi comporti perciò come se fossi
False; vediamo... cosa risponderebbe adesso il mio
amico False alla domanda 'A ha detto la verità e B ha mentito?'?
Risponderebbe di 'no' per mentirgli, cioè pronuncerebbe la parola
*ja*. L'umano :) mi ha chiesto se io, pseudo-False, pronuncerei
*da*; non posso dirgli di *no*, perché non posso dire il vero,
ma devo rispondergli che "*sì*, pronuncerei la parola *da*",
perchè non è vero!
Risposta di R-F: *da*
Tralascio il ragionamento (simile) degli altri casi e
ti scrivo direttamente le risposte che dà Random:
3) Ipotesi: A == F, B == T, da == sì, ja == no, R == R-T
Risposta di R-T : *ja*
4) Ipotesi: A == F, B == T, da == sì, ja == no, R == R-F
Risposta di R-F: *ja*
5) Ipotesi: A == T, B == F, da == no, ja == si, R == R-T
Risposta di R-T: *da*
6) Ipotesi: A == T, B == F, da == no, ja == si, R == R-F
Risposta di R-F: *da*
7) Ipotesi: A == F, B == T, da == no, ja == si, R == R-T
Risposta di R-T: *ja*
8) Ipotesi: A == F, B == T, da == no, ja == si, R == R-F
Risposta di R-F: *ja*
Come si vede Random pronuncia la parola *da* solo
nel caso in cui A è True e B è False, quindi la
P3 è (dovrebbe essere) vera.
Con analoghi ragionamenti si possono verificare
anche le P1 e P2 e quindi porre le varie domande
secondo la logica che ho indicato nel post iniziale
e ottenere l'identità dei tre idoli.
Bisognerebbe anche a onor del vero verificare se il tipo
di ragionamento che fa Random è coerente con il suo essere
in una data occasione sincero o meno, ma finiremmo penso
per discutere di filosofia e qui saremmo OT. ;)
Ciao, Buon Natale! :)
:))
Ciao, Buon Natale! :)
>Suppongo che si riescano ad
>identificare gli idoli senza capire cosa significhino DA e IA.
>D'altra
>parte ci sono cinque incognite (i tre idoli, DA e IA) e sole tre relazioni
[...]
C'e` uno su it.scienza.matematica che ha postato una soluzione
completa. Io non c'ho capito nulla di nulla:-( Prova a buttarci
un occhio tu.. cmq poi provo a chieddergli spiegazioni.