Kodowanie Pi i inne żarty

https://xpil.eu/VcBHL

Dziś dwa żarciki z pogranicza informatyki i matematyki. Trzeba będzie trochę natężyć dendryty, proszę się nie spodziewać kawałów ze skórką od banana czy też głośnym pierdzeniem.

Żart pierwszy dotyczy kodowania tudzież kompresji: w jaki sposób za pomocą dwóch liczb całkowitych zakodować dowolną informację, w taki sposób, żeby jej odbiorca mógł ją jednoznacznie odczytać?

Odpowiedź jest banalna, chociaż przewrotna. Wystarczy znaleźć odpowiadający tej informacji ciąg liczb wśród cyfr rozwinięcia dziesiętnego liczby Pi, a następnie przekazać odbiorcy pozycję początkową oraz liczbę cyfr.

Czy to faktycznie ma prawo zadziałać?

Z teoretycznego punktu widzenia, ponieważ Pi jest liczbą niewymierną, KAŻDY ciąg liczbowy, choćby nie wiem jak długi, o ile tylko jest skończony, da się znaleźć w rozwinięciu dziesiętnym. Wszystkie filmiki o śmiesznych kotach, zakodowane wszystkimi możliwymi standardami (również tymi, których jeszcze nie wynaleziono), we wszystkich możliwych jakościach, wszystkie wersje Encyklopedii Britannica, wszystkie książki ze Świata Dysku (nawet te jeszcze nie napisane), plany inwazji Zimbabwe na mBhutu oraz zdjęcie rentgenowskie szczęki pawiana - wszystkie te informacje znajdują się w cyfrowej postaci gdzieś wśród cyfr liczby Pi. Tak właśnie działa nieskończoność.

A jak to wygląda w praktyce?

Spróbujmy zakodować ciąg '12345678':

(186557266, 8)

Co to oznacza?

Otóż w rozwinięciu dziesiętnym liczby Pi ciąg '12345678' występuje po raz pierwszy na pozycji 186557266 po przecinku.

Jaki mamy zysk?

Ujemny! Osiem znaków dziesiętnych to około 26 bitów informacji. Zakodowaliśmy je za pomocą dziesięciu znaków (dziewięciocyfrowa pozycja plus ósemka jako długość), czyli około 33 bitów. Straciliśmy na kodowaniu jakieś sześć bitów, albo około 23 procent wielkości oryginalnej informacji. Poza tym zmuszamy odbiorcę do wykonania całkiem pokaźnej pracy obliczeniowej, jaką jest wyliczenie pierwszych 186557274 cyfr liczby Pi. Metoda jest więc kompletnie bezużyteczna.

Drugi żarcik to mój wspominek z dawnych lat: czytałem kiedyś opowiadanie (niestety nie pamiętam ani tytułu, ani autora), w którym to na Ziemię przylatują przedstawiciele obcej cywilizacji i żadają nieograniczonego dostępu do wszystkich książek i innej wiedzy zgromadzonej przez ludzkość na przestrzeni wieków. Skanują to wszystko do wielkiego komputera, następnie szef wyprawy wyciąga z latającego talerza jakiś patyk, stawia na nim kreskę, chowa ten patyk do środka i ekipa odlatuje. Zdumieni ludzie tuż przed odlotem Obcych pytają po co to wszystko, no i się okazało, że ci obcy skopiowali sobie w tym jednym patyku całą ludzką wiedzę. Mianowicie zapisali wszystkie nasze dane w postaci jednego długiego ciągu liczb, potem dopisali na początku zero z przecinkiem, wyszedł im ułamek dziesiętny. Kreska na patyku dzieli ten patyk w takich proporcjach, że jak się podzieli to wyjdzie dokładnie ten ułamek.

Bardzo sprytne, nieprawdaż?

[yop_poll id="29"]

https://xpil.eu/VcBHL

Leave a Comment

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.