Newsgroup: italia.genova.discussioni
Titolo: [OT] Il problema delle bandiere

Nato quasi per caso da una mailing list la cui soluzione proposta era a dir
poco scandalosa ha comunque offerto agli iscritti di tale mailing list
l'opportunità di aver pensato e proposto due interessanti soluzioni : una
"colta e raffinata" e una più terra terra, la soluzione che vi chiedo è
quella terra terra (a cui sono particolarmente affezionato poichè mia :-)).
Il problema non è difficile ma neanche facilissimo.
Ecco il problema:
Una persona deve comunicare ad un'altra persona un numero compreso tra 1 e
64 in sole 3 mosse.
Informazioni:
1) Colui che deve comunicare il numero possiede 2 bandiere: una sulla
destra e una sulla sinistra che potrà alzare ottenendo quindi i 4 possibili
stati di bandiere alte e basse. Faccio notare che non si possono fare
mastrussamenti come scambiare la bandiera di destra con la sinistra
buttarne una per terra, urla, movimenti strani, ecc.., insomma gli stati
sono solo i 4 canonici.
2) Per separare i segnali (e solo per separare i segnali) per esempio
stenderà le braccia orizzontalmente o alzerà una gamba o comunque farà
qualche cosa che renderà il pasaggio dell'informazione più chiaro
(naturalmente verrà comunicato all'inizio)
3) Almeno una delle due persone non conosce la numerazione binaria.
4) Nessuno dei due possiede l'orologio ne un qualunque segnatempo, non vi è
insomma la possibilità di utilizzare il tempo come uno strumento per la
risoluzione del gioco.
5) All'inizio colui che dovrà comunicare il numero consegnerà un foglio
all'altro in cui vi è scritto il modo per comunicare tale numero.
6) Colui che dovrà individuare il numero non ha la possibilità per scrivere
niente (non è dotato neanche di grosse capacità astratte di calcolo....anzi
piuttosto pochine)
Buon lavoro :-)
Francesco

 Il problema non è difficile ma neanche facilissimo.
Provo a dare la soluzione che mi sembra più logica:
partiamo dagli stati delle bandiere (d=destra s=sinistra a=alta b=bassa)
D S    D S    D S    D S
B B    B A    A B   A A
ne consegue che noi possiamo ottenere solo 4 possibili combinazioni, questo
per 3 volte
quindi 4 x 4 x 4 = 64
pertanto basta che all'inizio noi comunichiamo a quale num corrisponde lo
stato delle bandiere e
facciano una semplice moltiplicazione.
Ho vinto "qualcheccosa"..................................
Dany

> Il problema non è difficile ma neanche facilissimo.
Dacci la soluzione entro sera, altimenti non dormo! Ne sto provando una, 
ti faccio sapere....


Non basta la moltiplicazione (come fai a trasmettere 5?), serve anche la
somma: supponendo che i numeri ricevuti siano N1, N2, N3 si dovrebbe
calcolare N1 x 16 + N2 x 4 + N3, oppure per evitare i conti si puo'
fare una bella tabella di corrispondenza.
Alessandro.

 fare una bella tabella di corrispondenza.
Ottima osservazione ! inoltre faccio notare che si sta prendendo na brutta
strada....
...cerchiamo di....uscire fuori dai binari :-)
Francesco
p.s. Alle 22:00 / 23:00 la soluzione :-)
In un certo senso Danny ha ragione (anzi è al 90% dalla soluzione) ma deve
gestirli meglio sti numeri.


E' difficile per chi ci e' abituato ad usare quelli.
Ma soprattutto come faccio a sapere quando sono abbastanza lontano?
Alessandro.


GIUSTO porca trota non avevo pensato a provare a calcolare tutti i num.
quindi direi che si potrebbe risolvere così:
il primo numero trasmesso moltiplicato per N volte il valore del secondo
sommando ai due il valore del terzo, avendo
come accortezza che i primi due avranno come valore 1 2 3 4 mentre il terzo
potrà assumere un valore di 0 1 2 3 a questo
modo a occhio ci stanno dentro tutti, a voi le prove.
Ciao
Dany

"Francesco Rotta"
Hey pelandroni ^__^
Ecco la soluzione:
Suddivido l'insieme in 4 parti
da 1 a 16 da 17 a 32,  ecc...
A questo punto stabilisco i miei criteri di comunicazione e stabilisco che:
1) Dx giù e Sx giù corrisponde al 1° insieme (1...16)
2) Dx giù e Sx  su corrisponde al 2° insieme (17..32)
3) ecc...
4) ecc..
Sicchè il primo segnale mi determina in quale insieme mi trovo
Supponiamo che il numero sia 7 sicchè mi interesserà il 1° insieme (1...16)
Dopodichè divido il mio nuovo insieme sempre in 4 parti (1....4, 5...8,
ecc...)
E utilizzo la stessa forma di comunicazione utilizzata in precedenza.
ecc... continuo sino a determinare la 3° azione.
Nella 3° azione l'ultimo insieme che mi interesserà e che dividerò
nuovamente sarà 5....8
Se ci fossero dei dubbi...
Francesco
p.s. comunque riporto la soluzione trovata da "broccan" in it.hobby.enigmi
(magari è più chiara)
"Si tratta, se non interpreto male, di 4 posizioni ripetute 3 volte,
se e' cosi' allora si risolve in questo modo:
1 mossa: ognuna delle 4 posizioni (chiamiamole ABCD) indica 1/4 di 64,
A= il numero sta tra 1 e 16, B= sta tra 17 e 32, ecc.
2 mossa: ognuna delle 4 posizioni (chiamiamole EFGH) indica 1/4 di 16
E = 1 2 3 4  F = 5 6 7 8  G = 9 10 11 12 
ecc.se
 la 1 mossa era A
E = 17 18 19 20 F = 21 22 23 24 ecc. se la 1 mossa era B
3 mossa: ognuna delle 4 posizioni (chiamiamole ILMN) indica il mumero
I=1 L=2 M=3 N=4 
ecc.se
 la 2 mossa era E
I= 21 L= 22 M=23 N=24 
ecc.se
 la 2 mossa era F
Saluti
R."


Ma e' equivalente a quella binaria! Se volessimo andare ad un descrizione 
ancora piu' intuitiva potremmo usare un albero ed usare un meccanismo di 
decodifica simile ai test a bivi che si trovano in certe riviste, ma la 
zuppa e' sempre la stessa.
Alessadnro.

 zuppa e' sempre la stessa.
Binaria ?
Per dividere un insieme in 4 ci vuole una conoscenza binaria ? O_o
Per le solzione che mi avevano proposto ci voleva eccome (se vuoi ti posto
il link al post (si parlava di pacchetti di bit)), per dividere un insieme
in 4 basta la 4 elementare :-)
Volendo ci potresti tirare dietro anche la ricorsione e i frattali poichč
tratti il nuovo insieme piů piccolo come il piů grande...
...perň ci vuole del fegato a dire che servono nozioni di ricorsione,
matematica dei frattali e numerazione binaria per dedurre il numero
comunicato con due sbandierate :-)
Francesco


Perché no?
Si assegna un codice di numerazione in base 4
3G


E per calcolare N1 x 16 + N2 x 4 + N3? (fermo restando che una soluzione
tabellare sarebbe ancora piu' semplice).
Alessandro.

 facciano una semplice moltiplicazione.
Che vorrebbe dire applicare la numerazione a base 4 :-)
Direi che è giusta
Ciao Marco 

 4) ecc..
Che vuol dire usare la numerazione a base 4 come aveva detto Dany :-)
Ciao Marco 

"Marco75"
beh si in effetti è vero :-)
Ora che ci ho ridato una letta in effetti il concetto era proprio quello.
Un complimenti in ritardo :-)
Francesco