Categorie: Matematica Riflessioni
Tags: logica quiz salvezza scambio spie
Scritto da: Vincenzo Zappalà
Commenti:15
La spia più intelligente (ma anche più fortunata) del mondo ****
Tre imprendibili spie, dotate di un'intelligenza e furbizia fuori dal comune, vengono catturate e, per loro, è stabilita la pena di morte. Il direttore del carcere in cui sono rinchiuse riceve, però, un messaggio dai massimi vertici istituzionali che gli ordinano di salvarne una per potere fare uno scambio con una loro spia in mano del nemico.
Il direttore D decide di mettere alla prova l'intelligenza delle spie e architetta una gara, veramente all'ultimo sangue. Chiama le tre spie, che indichiamo con A, B e C, e gli fa vedere otto francobolli, quattro verdi e quattro rossi. Poi li fa bendare perfettamente e gli incolla sulla fronte due francobolli, mentre gli ultimi due li nasconde in tasca.
A questo punto, spiega la gara: "Ognuno di voi tre può vedere i francobolli incollati sulla fronte degli altri due, ma non quelli sulla sua. Ovviamente, nessuno di voi può vedere i due francobolli che ho nascosto. Cominciando da A, passando poi a B e quindi a C, dovrete dirmi che colore hanno i francobolli che avete sulla vostra fronte. Ognuno di voi potrà dire solo PASSO (ossia comunicare che non è ancora in grado di rispondere) oppure LO SO e dirmi che francobolli ha sulla fronte. Se qualcuno dice LO SO e poi sbaglia viene immediatamente ucciso. Il primo che dirà LO SO e indovinerà il colore dei suoi due francobolli avrà salva la vita e sarà scambiato con una nostra spia detenuta nel vostro Paese. Avete a disposizione solo tre turni di risposta, ossia ABC ABC ABC. Se nessuno risponderà sarete uccisi tutti e tre! Vi permetto di usare carta e matita e di prendervi il tempo necessario (ma non certo più di 15 minuti)".
Le tre spie sanno di essere molto intelligenti e mai e poi mai daranno una risposta a caso, ma solo con l'assoluta certezza di dare quella esatta.
Come aiuto FONDAMENTALE posso dirvi il risultato delle prime quattro risposte:
A PASSO
B PASSO
C PASSO
A PASSO
.....
Fermiamoci qui. Vi chiedo:
- Qual è la spia che si salva la vita?
- Qual è il ragionamento che l'ha portata ad avere la certezza della risposta?
- Che francobolli ha sulla sua testa
Tra parentesi... sembra che il suo nome sia Bond, James Bond!
15 commenti
Scusa Enzo ho una domanda: i francobolli sulla testa delle singole spie devono essere del medesimo colore oppure possono anche essere uno verde e uno rosso?
Paolo
caro Paolino,
sì, sia uguali che di colore diverso...
C'è una cosa che mi sembra curiosa in questa situazione. Almeno per la soluzione che ho trovato, ci può essere uno solo dei prigionieri che si salva. Anche se questo volesse fare il gesto eroico di passare al suo turno per permettere ad un altro di salvarsi, nessuno degli altri due potrebbe salvarsi dando una risposta certa. Potrebbero salvarsi solo affidandosi alla fortuna.
Non dico la soluzione perché non ho rispettato le regole date da Enzo per ottenerla.
caro Fabri,
mi dà l'idea che tu abbia azzeccato ancora una volta. Se ti riferisci ai 15 minuti era solo una battuta per aumentare la confusione...
aggiungo: sul fatto della fortuna, lo dice anche il titolo...
e poi i 15 minuti si riferivano alla spia... e James è stato, ovviamente, rapidissimo!!!
L'indicazione che non ho seguito è quello di carta e penna. La selezione dei casi possibili l'ho fatta con un programmino.
va bene, va bene... James Bond ha sempre usato metodi innovativi per i suoi tempi!!!
Grazie al gadget fornito da Q, credo sia Bond che ancora una volta si salva.
Ho utilizzato questa procedura.
Per chi fosse interessato, la procedura scritta in Python è questa. I blocchi sono il codice da inserire nelle celle dell'applicazione Jupyter Notebook.
----
import itertools as it
import numpy as np
from IPython.display import Markdown as md
----
----
def passo(p,L):
# Aggiorna la lista delle possibili triplette di affrancature
# dopo il 'passo' di uno dei prigionieri
# p:prigioniero che ha passato, può essere 'A' 'B' o 'C'
# L: lista di triplette possibili
# restituisce la lista delle triplette aggiornata e la lista degli scarti
# identifica la posizione di p nelle triplette
m={'A':0,'B':1,'C':2}[p]
# identifica la posizione degli altri due nella tripletta
i,j=[(m+1)%3,(m+2)%3]
# crea la lista delle coppie di ciò che avrebbe potuto vedere p
M=list(zip(*L)) # produce 3 liste con i 1i 2i e 3i elementi di L
Lp=list(zip(M[i],M[j])) # accoppia gli elementi degli liste i e j
# trova le coppie presenti nella lista
Sp=list(set(Lp)) # set elimina automaticamente i duplicati
# Esclude dalla lista le coppie che appaiono una sola volta tra le possibili
# se p avesse visto una di queste coppie di 'affrancature' non avrebbe passato
# perché sarebbe stato certo della sua 'affrancatura'
Cp=[s for s in Sp if Lp.count(s)!=1]
# nuova lista di triplette con i soli casi selezionati
nuovaL=[l for l in L if ((l[i],l[j]) in Cp)]
# lista degli scarti
scartiL=[l for l in L if not((l[i],l[j]) in Cp)]
return nuovaL,scartiL
----
----
# funzioni di supporto per la formattazione della stampa
def stampaLista(Lista):
oL=list(zip(*([(10,11,12)]+Lista)))
stringhe=['A','B','C',r'${\color {red} {RR}}$',r'${\color {red} R}{\color {green} V}$',
r'${\color {green} {VV}}$']
converti=lambda Lista:([r'$\,$'.join(list(map(lambda x :stringhe[([10,11,12]+F).index(x)],l))) for l in Lista])
return ('<br>'.join(converti(oL)))
def stampa(I,Lista,Scarti):
return I+r'<br>$Nuova Lista$<br>'+stampaLista(L)+r'<br><i>$Scarti$<br>'+stampaLista(Scarti)
----
----
# lista dei tre tipi 'affrancature'.
#Parte reale numero di rossi,
#parte immaginaria numero di verdi.
F=[2,1+1j,2j]
----
----
# crea lista delle possibili triplette con le 'affrancature' di A B C,
# senza considerare il limite di 4 francobolli dello stesso tipo.
L=list(it.product(F,repeat=3))
# calcola il numero di rossi ed il numero di verdi in ciascuna combinazione
N_francobolli=np.sum(L,axis=1)
# selezione le triplette valide quelle che contengono al più 4 elementi per ciascun colore
L=[item for n,item in enumerate(L) if N_francobolli[n].imag<=4 and N_francobolli[n].real<=4]
I='<i>Possibili affrancature iniziali<br>'
md(I+stampaLista(L))
----
----
# aggiorna la lista delle possibili 'affrancature' dopo il primo passo di A
L,scarti=passo('A',L)
I='<i>Possibili affrancature dopo il 1° \"passo\" di A'
md(stampa(I,L,scarti))
----
----
# aggiorna la lista delle possibili 'affrancature' dopo il passo di B
L,scarti=passo('B',L)
I='<i>Possibili affrancature dopo il \"passo\" di B'
md(stampa(I,L,scarti))
----
----
# aggiorna la lista delle possibili 'affrancature' dopo il passo di C
L,scarti=passo('C',L)
I='<i>Possibili affrancature dopo il \"passo\" di C'
md(stampa(I,L,scarti))
----
----
# aggiorna la lista delle possibili 'affrancature' dopo il secondo passo di A
L,scarti=passo('A',L)
I='<i>Possibili affrancature dopo 2° \"passo\" di A'
md(stampa(I,L,scarti))
----
Il suo nome è Fabry...
Caro Enzo, ci provo anch’io.
Alle tre domande rispondo che la spia che si salva è B e che sulla sua testa ha un francobollo Rosso e uno Verde.
Provo ad esporre il ragionamento che ho fatto, per arrivare a questa conclusione.
Parto dalla prima ipotesi, ossia che A, B e C abbiano tutti e tre dei francobolli dello stesso colore.
Nella tabella elenco i ragionamenti importanti delle spie ed in giallo quando si trova la soluzione:
A
B
C
RR
VV (se A e C sono RR lui può essere solo VV)
RR
VV (se B e C sono RR lui può essere solo VV)
RR
RR
RR
RR
VV (se A e B sono RR lui può essere solo VV)
VV
RR (se A e C sono VV lui può essere solo RR)
VV
RR (se B e C sono VV lui può essere solo RR)
VV
VV
VV
VV
RR (se A e B sono VV lui può essere solo RR)
Dato che la soluzione si trova al massimo entro il primo giro (ABC), questa è da scartare.
Provo, dunque un'altra serie di combinazioni con relativa tabella:
A
B
C
A
B
RV
VV
RR
RV (se fosse RR B avrebbe detto lo so, se fosse VV C avrebbe detto LO SO)
VV
RV (sa che non può essere RR altrimenti A avrebbe detto LO SO)
RR (sa di non essere VV altrimenti B avrebbe detto LO SO)
VV (sa di non essere RR altrimenti B avrebbe detto LO SO)
RV (se fosse VV C avrebbe detto LO SO, RR lo ha escluso prima)
VV
RR
RV (sa che non può essere RR altrimenti A avrebbe detto LO SO, né VV altrimenti B avrebbe detto LO SO)
RV
RR
VV
RV (se fosse VV B avrebbe detto lo so, se fosse RR C avrebbe detto LO SO)
RR
RV (sa che non può essere VV altrimenti A avrebbe detto LO SO)
VV (sa di non essere RR altrimenti B avrebbe detto LO SO)
RR (sa di non essere VV altrimenti B avrebbe detto LO SO)
RV (se fosse RR C avrebbe detto LO SO, VV lo ha escluso prima)
RR
VV
RV (sa che non può essere VV altrimenti A avrebbe detto LO SO, né RR altrimenti B avrebbe detto LO SO)
Con tali combinazioni solo 2 sono compatibili con la soluzione, ossia quelle dove B al secondo giro dice LO SO ed ha un francobollo rosso ed uno verde sulla fronte.
Esistono però altre combinazioni, per cui è necessario proseguire con le verifiche.
Terza possibile serie di combinazioni, riportate nella tabella sottostante:
A
B
C
A
B
VV
RV (sa che non è VV)
RV (sa che non è VV)
VV
RV (non può essere nemmeno RR, poiché C avrebbe detto LO SO dato che C avrebbe concluso che lui non può essere RR se lo è già B, altrimenti A avrebbe detto LO SO vedendo B e C entrambi RR)
RV(sa che non è VV)
VV
RV (sa che non è VV)
RV ( non può essere nemmeno RR, poiché C avrebbe detto LO SO dato che C avrebbe concluso che lui non può essere RR se lo è già A, altrimenti B avrebbe detto LO SO vedendo A e C entrambi RR)
RV (sa che non è VV)
RV (sa che non è VV)
VV
RV
RV (non può essere nemmeno RR, poiché A al secondo giro avrebbe detto LO SO dato che A avrebbe concluso che lui non può essere RR se lo è già B, altrimenti C avrebbe detto LO SO vedendo A e B entrambi RR)
RR
RV (sa che non è RR )
RV (sa che non è RR)
RR
RV ( non può essere nemmeno VV, poiché C avrebbe detto LO SO dato che C avrebbe concluso che lui non può essere VV se lo è già B, altrimenti A avrebbe detto LO SO vedendo B e C entrambi VV)
RV(sa che non è RR)
RR
RV (sa che non è RR)
RV ( non può essere nemmeno VV, poiché C avrebbe detto LO SO dato che C avrebbe concluso che lui non può essere VV se lo è già A, altrimenti B avrebbe detto LO SO vedendo A e C entrambi VV)
RV (sa che non è RR)
RV (sa che non è RR)
RR
RV
RV ( non può essere nemmeno VV, poiché A al secondo giro avrebbe detto LO SO dato che A avrebbe concluso che lui non può essere VV se lo è già B, altrimenti C avrebbe detto LO SO vedendo A e B entrambi VV)
Con tali combinazioni 4 sono compatibili con la soluzione ed anche in questi casi sono quelle dove B al secondo giro dice LO SO ed ha un francobollo rosso ed uno verde sulla fronte.
Infine manca solo l'ultima combinazione:
A
B
C
A
B
RV
RV
RV
RV
RV (non può essere RR, poiché A al secondo giro avrebbe detto LO SO dato che A avrebbe concluso che lui non può essere RR se lo è già B, altrimenti C avrebbe detto LO SO vedendo A e B entrambi RR, e per lo stesso motivo non può essere nemmeno VV, poiché A al secondo giro avrebbe detto LO SO dato che A avrebbe concluso che lui non può essere VV se lo è già B, altrimenti C avrebbe detto LO SO vedendo A e B entrambi VV
Quindi anche con questa combinazione B al secondo giro dice LO SO ed ha un francobollo rosso ed uno verde sulla fronte.
Ne segue che l'unica spia che si salva è B e che ha sula fronte un francobollo Roso e uno Verde!
Spero di non aver sbagliato qualcosa.
Paolo
PS: confesso che ci ho messo decisamente più di 15 minuti per tentare di risolvere il quiz.
Cavolo non ha tenuto le tabelle .... provo a inserire le 4 tabelle come immagini.
Ma non posso dire subito che B poteva avere solo R N altrimenti mi si presentavano 6 possibilità
vv rr vv
rr vv rr
rv rr vv <———- 3.
vv rr rv
rv vv rr <———-5.
rr vv rv
In 3. rimangono disponibili tre rossi... quindi due vanno obbligatoriamente a D e uno a B più il residuo verde.
Analogamente per la 5.
Ho detto una .. . pazzesca
Salve ... Gabriella
Rileggendo noto che ho esposto malissimo... ma il concetto è ... usando tutte le ipotesi partire da:
quello che NON può essere
perché così riduco i casi
sempre Gabriella ♀️
Scusa Gabriella, ma continuo a non capire...
Vincenzo scusami: credevo fosse possibile usare la dimostrazione per assurdo . Suppongo che possa essere rosso rosso o verde verde e arrivo a contraddizione.
No non è possibile.
Un saluto... Gabriella