Σελίδα 1 από 1

Κομψό θέμα

Δημοσιεύτηκε: Δευ Απρ 23, 2012 1:53 pm
από billy_scabilly
Τρεις παίκτες βρίσκονται έξω από ένα δωμάτιο μέσα στον οποίο υπάρχει ένας 8x8 πίνακας με 0 και 1(την κατάσταση των οποίων κανείς δεν ξέρει αρχικά αφού είναι απέξω). Ο Α και ο Γ είναι φίλοι και έχουν συννενοηθεί εκ των προτέρων, ενώ ο Β είναι εχθρός τους. Μπαίνουν στο δωμάτιο ο Α και ο Β,ενώ ο Γ μένει απέξω. Ο Β αλλάζει κάνει flip ένα bit του πίνακα(ο Α βλέπει τι κάνει) και μετά πρέπει να αλλάξει και o A ακριβώς ένα bit από τον πίνακα. Βγαίνουν από το δωμάτιο και μπαίνει ο Γ μετά. Υπάρχει στρατηγική που μπορούν να συννενοηθούν ο Α και ο Γ ώστε ο Γ μόλις μπει στο δωμάτιο να μπορέσει να βρει ποιο κουτάκι άλλαξε ο Β?

Re: Κομψό θέμα

Δημοσιεύτηκε: Τετ Μάιος 21, 2014 7:27 am
από ealexiou
Οι A και \Gamma συνεννοήθηκαν εκ των προτέρων να κάνουν χρήση της ιδιότητας της πράξης xor :

Αν AxorBxor \Gamma xor...xorX=Y τότε ισχύει: AxorBxor \Gamma xor...xorY=X

Αριθμούν τα τετράγωνα του πίνακα 8 \times8 \ \  0,1,2,...,63 και μετατρέπουν την αρίθμηση στο δυαδικό σύστημα ήτοι: 000000,000001,...,111111

Έστω ότι το 1 υπάρχει στις θέσεις 7=000111 στο δυαδικό και 57 = 111001 και στις άλλες θέσεις 0 (χάριν ευκολίας των πράξεων και χωρίς βλάβη της γενικότητας) και έστω ότι ο B αλλάζει το τετράγωνο X=9 \ \ (X=001001) , από 0 σε 1

Ο A υπολογίζει το συνολικό xor των τετραγώνων 7,9,57που έχουν το 1. \Sigma xor= 000111xor001001xor1110011=110111

Στο \Sigma xor=110111 που βρήκε ξαναπροσθέτει το X=001001, 110111xor001001=111110 =Y, τετράγωνο 62) και αντικαθιστά το 0 με 1 στο τετράγωνο 62

Στον πίνακα τώρα υπάρχει το 1 στα τετράγωνα .7,9,57,62.

Κάνοντας την πράξη 000111xor001001 xor111001xor111110 μας δίνει το X=001001 που αντιστοιχεί στο τετράγωνο 9 και έτσι ο \Gamma εύκολα βρίσκει ποιο τετράγωνο του πίνακα άλλαξε ο B.