MakarovSuites
Polski
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Kontakt i licencje

Math

Kod Huffmana

Uporządkowana kolejka częstości tworzy drzewo kodu prefiksowego. Wybierz symbol, aby prześledzić jego bity i kolejne połączenia.

Kod Huffmana — Obraz z aplikacji
Obraz z aplikacji

Co się dzieje

Każdy krok łączy dwie najmniejsze wagi. Gałęzie 0 i 1 wyznaczają kod od korzenia do symbolu. Wybranie litery wyróżnia całą ścieżkę. L to średnia długość kodu, a H to entropia. Huffman minimalizuje L wśród binarnych kodów prefiksowych pojedynczych symboli, również gdy L > H. Równość zachodzi dla prawdopodobieństw 2^(-k). Liczba bitów nie uwzględnia tablicy kodów ani nagłówków.

Równania modułu
Równania
budowa: łączymy dwa najlżejsze węzły, n−1 razy; kod symbolu to jego ścieżka od korzenia, w lewo 0, w prawo 1
L = Σ p(i)·l(i)  (bitów na symbol);  H = −Σ p(i)·log₂ p(i);  długość kodu l(i) jest głębokością liścia
Kraft: każdy kod prefiksowy spełnia Σ 2^(−l(i)) ≤ 1, a każdy taki wektor odpowiada drzewu; drzewo Huffmana jest pełne, więc suma wynosi dokładnie 1
H ≤ L < H + 1 zawsze;  L = H dokładnie wtedy, gdy każde p(i) jest potęgą dwójki
optymalność jest sprawdzana względem przeszukania WSZYSTKICH wektorów długości dopuszczalnych według Krafta - przeszukanie nic nie wie o algorytmie
równe częstości: 2(n − 2^k) symboli dostaje długi kod, gdzie 2^k jest największą potęgą dwójki mniejszą od n
częstości Fibonacciego 1, 1, 2, 3, 5, … dają najbardziej nierówne drzewo: długości n−1, n−1, n−2, …, 1

Inne eksperymenty

Wróć do katalogu
Plecak: zachłanność kontra tabela — Obraz z aplikacji

Math

Plecak: zachłanność kontra tabela

Wybierz ponumerowane ładunki przy limicie masy. Porównaj z zachłannym i optimum, otwórz komórkę tabeli i wróć do optymalnego wyboru.

Simpleks na płaszczyźnie — Obraz z aplikacji

Math

Simpleks na płaszczyźnie

Obszar dopuszczalny leży na stole, a nad nim wisi płyta na wysokości celu. Cel jest liniowy, więc płyta jest płaska i pochylona, a najlepszy punkt to dosłownie jej najwyższy róg.

Maszyna Turinga i pracowite bobry — Obraz z aplikacji

Math

Maszyna Turinga i pracowite bobry

Papierowa taśma między dwiema szpulami, metalowa głowica z lampką stanu i tablica reguł. Każdy krok odgrywa się jako odczyt, zapis, ruch, nowy stan; dziennik u dołu przechowuje cały przebieg, a zmieniona reguła zachowuje stary przebieg jako ducha. Rekordy znaleziono, wyliczając wszystkie maszyny, a nie cytując.