Będę pisał
Posted on Fri 16 August 2013 in Pamietniczek • 4 min read
Chyba.
A właśnie oglądam świeży serial TVP o budowie portu w Gdyni. Pierwszy szajs: laska, która gra córkę rybaka wybiera zwiędłe rybki z kosza przywiezionego przez ojca. Nie chodzi o to, że rybki wskazują na zużycie ale o to, że córka rybaka bierze rybki w dwa paluszki.
Serial będzie denny, już to wiem, bo gra w nim chodzące drewno czyli niejaka Foremniak, tak którą tak pokochał pewnego razu w japońskim filmie Emsi.
A jak już przy Emsim jestem to wkleję tu zagadkę jaką mi dał:
Paczor, Ty żyjesz?
Mam do Ciebie pytanie odnośnie entropii. Uwaga, skup się:
Wyobraź sobie jakiś plik z danymi. Teraz wyobraź sobie że ten plikkompresujesz. Może to być zip, gzip, bzip, xz, lha albo nawet divxjeśli plik wejściowy to był obraz.No i teraz pytanie:Która wersja pliku ma większą entropię? Przed czy po skompresowaniu?Odpowiedzi należy nadsyłać drogą mailową do mnie (reply a nie reply toall) wraz z uzasadnieniem do wtorku, 20.08.Po tym terminie opublikuję odpowiedzi a najciekawsze omówimy w drodzedyskusji mailowej.p.s. prawidłowa odpowiedź jest tylko jedna.
--Mariusz Wołoszyn
Obstawiłem, że maleje a nawet wynosi zero. Zobaczymy.
[edit]
A tu niestety jest dokładnie odwrotnie.
Potwierdza to to, co podejrzewałem od dawna, a co wychodziło mi wpoprzednich naszych dyskusjach: na poziomie Wikipedii wszystko kumaszale kiedy dochodzi do wysnuwania wniosków to masz całkowicie błędnezrozumienie entropii. Pewnie trudność stwarza Ci fakt, że entropiajest zdefiniowana przez negację, czyli miara NIE-porządku.W pliku bez kompresji występuje pewien porządek. Tym porządkiem jestchociażby to, że są to same literki w pliku tekstowym albo wyrazy albociągi bajtów o tej samej wartości odpowiadające powierzchniom w tymsamym kolorze w pliku z obrazem albo jest jakas struktura pliku zdanymi, kolumny, wiersze, zbiory, drzewa, cokolwiek... Po kompresjiten porządek znika. Idealna kompresja wypluwałaby plik z maksymalnąentropią, którego już nie da się niczym skompresować: plik, w którymentropia jest maksymalna. Co ważne, istnieje wiele różnych plikówdanej długości o maksymalnej entropii. Gdyby był tylko jeden można bygo oznaczyć jako M i podać długość pliku w efekcie zapisując go wznacznie krótszej postaci co jest sprzeczne z założeniem, że nie dasię go skompresować bardziej. [Ta konstrukcja logiczna to się nazywadowód nie wprost. Dowodzi prawdziwości tezy poprzez zaprzeczenie(sprowadzenie do sprzeczności) tezy przeciwnej.]Kompresja więc zwiększa entropię, bo burzy struktury obecne w pliku izamienia je na chaos, w którym nie da się wyróżnić struktur a towłaśnie struktury i regularność daje się kompresować (jak wnajprostszym przypadku jeśli widzisz AAAAAAA to możesz napisać 7*A imieć tą samą informację ale w krótszym zapisie; zauważ, że 7*A totrzy, na pozór, przypadkowe znaki, podczas gdy AAAAA... na przypadkowenie wyglądają.).p.s. tu jest fajna książka Information Theory, Inference, and LearningAlgorithms (http://www.inference.phy.cam.ac.uk/itprnn/book.pdf)p.p.s: z tym Shanonem to jest niezły lol bo się okazuje, ze winformatyce w wielu procesach mamy do czynienia w praktyce z innąentropią, niż ta którą on opisał i sam ten fakt można wykorzystać np.do łamania zabezpieczeń kryptograficznych.
Ja: No bo stopień nieuporządkowania odnoszę do jakiegoś, teraz to pominę, stopnia pełnego uporządkowania i jego odwrotności. Definicja z Wikipedii skupia się, być może to błąd w wytłumaczeniu, na próbie przewidzenia następnego bitu.Nie kojarzę akurat tej definicji ale na pewno nie chodzi oprzewidzenie ale prawdopodobieństwa wystąpienia (niby to samo aleinaczej sformułowane). Jeśli prawdopodobieństwo wystąpienia N-tegobitu 0 jak i 1 jest takie samo, nie zależy od tego, co już było,pozycji, ilości zer wcześniej, czy to co 8 bit (jak było w przykładziez tekstem, gdzie co 8 bit był 0) itd. to mamy do czynienia zdystrybucją jednorodną. Tak jest na przykład z cyframi dziesiętnegorozwinięcia liczby PI. Nie na żadnej regularności, jeśli weźmieszdowolnie duży kawałek to będzie w nim taka sama liczba cyfr 8, 7 jak i2, 3 itd. Jeśli nie ma żadnej reguły co to teraz ma być za cyfra toznaczy, że mamy idealny bałagan, większego się nie da, czylimaksymalna entropia.Ja: Wyobraziłem sobie zatem algorytm, który analizując plik pierwotny dokonuje statystycznego doboru rodzaju kompresji, tak to jest opisane w Wiki, czyli niejako "uczy się" struktury takiego pliku. Następnie zmniejsza jego chaos, czyli nieprzewidywalność następnego bitu, uzyskując coś bliskie zeru entropii bo w procesie dekodowania każdy następny bit jest przecież przewidywalny.No jest dokładnie odwrotnie :) Po pierwsze kompresja (czy teższyfrowanie bo działa podobnie jeśli chodzi o entropię w pliku) rzadkosię "uczy" pliku (w sensie takim jak uczenie maszyn, chyba ze chodziCi o rozpoznawanie charakterystyki pliku), po drugie właśnie w plikuźródłowym (jeśli daje się kompresować a zakładam że tak :) rzadko jestchaos (przecież nie zapis z /dev/urandom) tylko jakieś dane, którewłaśnie mają strukturę.Ja: Zatem entropia dla AAAA jest większa bo jest iloczynem entropii dla każdego A, a mniejsza w przypadku 4*A bo tylko pierwszy bit ma jakąś entropię (jest nieznany), a pozostałe mają zero bo są jak najbardziej przewidywalne.Nie wiem czy zrozumiale dla was to opisałem.Może i zrozumiale ale całkowicie błędnie :) Dla AAAAprawdopodobieństwo wystąpienia A na dowolnej pozycji wynosi 1. Wdrugim wypadku tylko 1/3.Tutaj znalazłem fajny opis, tylko jest używane trochę inny opis, bosumowane jest prawdopodobieństwo dla dowolnego bajtu (bajt ma 8 bitówwięc wartości może mieć od 0 do 255 i liczona jest suma iloczynuprawdopodobieństwa wystąpienia każdego bajtu i jego logarytmu) więcwartości są z przedziału 0-8 (gdzie 8 pełny random):http://www.forensickb.com/2013/03/file-entropy-explained.html