Kryptografia romantyczna

https://xpil.eu/35DqB

Natrafiłem niedawno na interesujące zagadnienie. Ostrzegam, będzie trochę romantycznie. Osoby o słabych nerwach proszone są o zapięcie pasów.

Wyobraźmy sobie dwójkę ludzi, którzy jakiś czas temu poznali się (dajmy na to, na imprezie, a może w bibliotece albo w obserwatorium astronomicznym - to akurat bez znaczenia). Oznaczmy ich literkami A oraz B.

Tradycyjnie w takich opowieściach A oznacza Alicję, a B - Boba, ale może być też tak, że A to Anzelm, a B - Berenika. Albo nawet Adam i Bogdan, ewentualnie Anna i Bianka. Bez znaczenia.

No i okazało się, że jedno z nich zakochało się w drugim i chciałoby tę informację przekazać. Jednak ponieważ obydwoje są bardzo nieśmiali, nie chcą - w obawie przed odrzuceniem i śmiesznością - ujawnić tego faktu, o ile druga osoba nie zrobi tego samego.

Sytuacja trochę patowa - żadne się nie ujawni przed drugim, więc nawet jeżeli obydwoje mają się ku sobie, nigdy się o tym nie dowiedzą - i przeżyją swoje życia osobno. Smutna sprawa.

Aczkolwiek...

Wyobraźmy sobie, że mamy plastikową, leciutką kulkę o masie 50 gramów.

Wyobraźmy sobie ponadto, że mamy inną, też plastikową, wizualnie identyczną z tą pierwszą, kulkę, która jednakowoż ma w środku mniejszą kulkę metalową - dlatego też waży ona 120 gramów. Ciut powyżej dwukrotności masy tej pierwszej kulki.

Czytelników podejrzewających, że pomieszały mi się dwa różne wpisy i oczekujących na powrót wątku romantycznego prosimy o nieregulowanie odbiorników. Za chwilę wszystko się wyjaśni.

No i teraz tak: bierzemy równoważnię (czyli po naszemu wagę szalkową), na której jednym końcu kładziemy dwie kulki lekkie i jedną ciężką. Równoważnia opada na jedną stronę.

A i B (imiona wedle kaprysu - patrz wyżej) mają po dwie kule - jedną lekką i jedną ciężką.

Na drugim końcu wagi najpierw Alicja (albo Anzelm, Adam czy Anna - wsioryba) kładzie swoją kulę, a potem Bob (Berenika, Bodgan, Bianka?) dokłada swoją.

Jeżeli A chce wyznać miłość B, kładzie kulę cięższą. Jeżeli zaś nie - lżejszą. B robi dokładnie to samo.

No i teraz tak: jeżeli A kocha B, położy na szali 120 g. Szala pozostanie w górze, ponieważ na szali przeciwległej leżą dwie lekkie kule i jedna ciężka, czyli 50+50+120 = 220g. Jeżeli B kocha A, również położy na tej samej szali 120 g, i w efekcie szala z dwiema ciężkimi kulkami ważącymi łącznie 240 g, ku wielkiej radości A i B, opadnie. Można szykować zaręczyny.

Jeżeli jednakowoż okaże się, że płomienne uczucie jest jednostronne, na szali będzie jedna kulka ciężka i jedna lekka - razem 170 g, o wiele za mało, żeby szalę przechylić. Szala pozostanie w górze i nik nie narazi się na zakłopotanie wywołane wyznaniem niecelnej miłości.

W sytuacji, kiedy żadne z nich nie pała uczuciem do drugiego, na szali pozostaną - oczywiście - dwie lekkie kulki, czyli nędzne 100 g - również niewystarczające do jej przechylenia.

Problem daje się przełożyć na język matematyczny - zamiast wagi i kulek można zastosować odpowiedni algorytm, który ukryje dane wejściowe Alicji i Boba przed drugą stroną i zadziała dokładnie tak samo, jak opisana wyżej waga szalkowa i kulki. Ale na opisywanie tej części już nie mam rozpędu - może innym razem.

Dla odważnych - podaję źródło. Od razu ostrzegam, że po pierwsze primo jest po angielsku, a po drugie primo jest najeżone dość sążnistą matematyką: https://www.cl.cam.ac.uk/~fms27/papers/2000-StajanoHar-romantic.pdf.

Tymczasem - dobranoc.

 

https://xpil.eu/35DqB

3 komentarze

  1. yyy… nie załapałem tego zatajenia informacji. Jeśli A położy kulkę to B już wie po kącie odchylenia wagi jaki jest ciężar kulki (chyba, że nie widzi wagi). Dodatkowo jeśli A wybierze “kocha” a B “nie kocha” to z sumarycznego wyniku oni wiedzą, co kto wybrał. Inni też wiedzą, że jedno kocha a drugie nie. Chyba, że wynik “wagowy” jest nieznany. Źródła nie czytałem, jeno ten romans…

      1. ale tam nie ma nic o długości ramion wagi, masie samej wagi itp… więc nie wiadomo jak się odchyli i jak zmiana ciężaru zmieni wychylenie ramion… Przecie nie będzie stać w tej samej pozycji, chyba…

Skomentuj lacki2000 Anuluj pisanie odpowiedzi

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.