Teoria Informacji i Metody Kompresji Danych

Podobne dokumenty
Teoria Informacji i Metody Kompresji Danych

Teoria Informacji i Metody Kompresji Danych

Materiały wykładowe (fragmenty)

Robert Susmaga. Instytut Informatyki ul. Piotrowo 2 Poznań

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.

Niech x 1,..., x n będzie ciągiem zdarzeń. ---

AKD Metody słownikowe

Kody Tunstalla. Kodowanie arytmetyczne

Materiały wykładowe (fragmenty)

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

Kodowanie informacji

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

Kompresja danych DKDA (7)

Teoria informacji i kodowania Ćwiczenia

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Teoria Informacji i Metody Kompresji Danych

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a

Podstawy nauk przyrodniczych Matematyka Wstęp

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Teoria Informacji i Metody Kompresji Danych

LZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe

Teoria Informacji i Metody Kompresji Danych

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Teoria Informacji i Metody Kompresji Danych

Fundamentals of Data Compression

Algorytmy asymetryczne

Kodowanie informacji

MATrix LABoratory. A C21 delta tvx444 omega_zero. hxx J23 aaa g4534 Fx_38

Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.

Robert Susmaga. Instytut Informatyki ul. Piotrowo 2 Poznań

Kodowanie Shannona-Fano

Kompresja bezstratna. Entropia. Kod Huffmana

Kompresja JPG obrazu sonarowego z uwzględnieniem założonego poziomu błędu

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

Wykład III: Kompresja danych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Podstawowe pojęcia. Teoria informacji

Elementy teorii informacji i kodowania

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ

Materiały wykładowe (fragmenty)

Aproksymacja diofantyczna

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając

Zakładamy, że są niezależnymi zmiennymi podlegającymi (dowolnemu) rozkładowi o skończonej wartości oczekiwanej i wariancji.

Transformata Fouriera

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Temat: Algorytm kompresji plików metodą Huffmana

2 Kryptografia: algorytmy symetryczne

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Przetwarzanie obrazu cyfrowego

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Funkcje. Część pierwsza. Zbigniew Koza. Wydział Fizyki i Astronomii

Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Technologie cyfrowe semestr letni 2018/2019

Zestaw nr 6 Pochodna funkcji jednej zmiennej. Styczna do krzywej. Elastyczność funkcji. Regu la de l Hospitala

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Kompresja Stratna i Bezstratna Przegląd Najważniejszych Formatów Graficznych

Przetwarzanie i transmisja danych multimedialnych. Wykład 2 Podstawy kompresji. Przemysław Sękalski.

Wykład z Technologii Informacyjnych. Piotr Mika

Wstęp do Techniki Cyfrowej... Teoria automatów

FUNKCJE LICZBOWE. Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y.

dr inż. Jacek Naruniec

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Algorytmy kodowania entropijnego

Teoria Informacji - wykład. Kodowanie wiadomości

Klasyfikacja metod kompresji

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Podstawy Informatyki: Kody. Korekcja błędów.

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Parametry systemów klucza publicznego

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 3, strona 1.

Kompresja dźwięku w standardzie MPEG-1

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

KOMPRESJA STRATNA I BEZSTRATNA

Wprowadzenie. Algorytmy kompresji danych. Sebastian Deorowicz. Politechnika Śląska. Sebastian Deorowicz (PŚl) Wprowadzenie / 60

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Wykład 12: Warunkowa wartość oczekiwana. Rozkłady warunkowe. Mieszanina rozkładów.

FUNKCJE. 1. Podstawowe definicje

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Kompresja obrazów w statycznych - algorytm JPEG

Klasyfikacja metod kompresji

Aproksymacja funkcji a regresja symboliczna

Maksymalne powtórzenia w tekstach i zerowa intensywność entropii

6. Całka nieoznaczona

Przetwarzanie i transmisja danych multimedialnych. Wykład 8 Transformaty i kodowanie cz. 2. Przemysław Sękalski.

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Jeśli X jest przestrzenią o nieskończonej liczbie elementów:

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Kompresja Danych. Streszczenie Studia Dzienne Wykład 13, f(t) = c n e inω0t, T f(t)e inω 0t dt.

ZADANIE 1. Rozwiązanie:

Wykład 5. Kompresja danych

Transkrypt:

Teoria Informacji i Metody Kompresji Danych 1

Materiały wykładowe (fragmenty) 2

Robert Susmaga Instytut Informatyki ul. Piotrowo 2 Poznań kontakt mail owy Robert.Susmaga@CS.PUT.Poznan.PL kontakt osobisty Centrum Wykładowe, blok informatyki, pok. 7 3

Wyłączenie odpowiedzialności Prezentowane materiały, będące dodatkiem pomocniczym do wykładów, z konieczności fragmentarycznym i niedopracowanym, należy wykorzystywać z pełną świadomością faktu, że mogą nie być pozbawione przypadkowych błędów, braków, wypaczeń i przeinaczeń :-) Autor

... 5

Co to za funkcja? log 2 (1/x) = log 2 (x) = log 2 (x)/( 1) = log 2 (x)/log 2 (1/2) = log 1/2 (x)

A przy okazji... pamiętacie? Entropia: wprowadzenie wykres H([x]) = x log P (x) (1 x) log P (1 x) dla P = 2

Przykłady innych odmian miary informacji T. Maszczyk, W. Duch: Comparison of Shannon, Renyi and Tsallis Entropy used in Decision Trees, LectureNotes in Computer Science, 5097, 643 651, 2008.

... 9

TIMKoD: teoria i praktyka W planach mieliśmy porządne wprowadzenie do entropii met. kodowe kompresji statyczne, adaptacyjne met. słownikowe kompresji adaptacyjne met. RLE met. arytmetyczne kompresji......a tu jeszcze o głos wołały kompresja stratna kompresja obrazów (a także: dźwięków) kompresja predykcyjna... Co się udało? Głównie Wikipedia!

[...] [...] nade wszystko, świerszczyku mój, [detektyw] Kwass ma wiadomości encyklopedyczne. Gdyby nasz szef miał chociaż ćwierć tych wiadomości encyklopedycznych, [...] bylibyśmy już dawno milionerami [...] Mówisz, że Hippollit Kwass ma wiadomości encyklopedyczne? [...] Tak jest, świerszczyku mój. On ma wiadomości encyklopedyczne [...]. Musisz mu uszczknąć odrobinę tych wiadomości encyklopedycznych. Uszczknąć? Przynajmniej na literę A. [...] Edmund Niziurski Niewiarygodne przygody Marka Piegusa 1959

... 12

Dygresja Od przybytku głowa boli*! problemu przybytku pozbywamy się kompresując dane przypadłość jest jednakże dość uporczywa atakuje same metody kompresji! (np. słowniki w metodach słownikowych) * w oryginale: Od przybytku głowa nie boli

Rodzina algorytmów LZ... LZ77, LZ78, LZSS, LZW,... charakterystyka (w kategoriach wejście/wyjście) LZ77 dla elementów wejścia o zmiennej długości znajduje elementy wyjścia o stałej długości LZSS, LZ78, LZW dla elementów wejścia o zmiennej długości znajduje elementy wyjścia o zmiennej długości

Rodzina algorytmów LZ... LZ77, LZ78, LZSS, LZW,... zastosowania (w konkretnych systemach kompresji) LZ77 deflate zip, gzip, 7z PNG LZSS, LZ78, LZW compress GIF, TIFF

A przy okazji... pamiętacie? Współczynnik kompresji = 1 N y /N x gdzie dla N x > 0: liczba elementów w ciągu źródłowym N y > 0: liczba elementów w ciągu wynikowym N y < N x : > 0 (kompresja pozytywna) N y = N x : = 0 (brak zmian) N y > N x : < 0 (kompresja negatywna) uwaga: współczynnik kompresji ma ogólniejsze zastosowania niż SWDK!

Algorytm LZW skuteczność kompresji Współczynnik kompresji = 1 N y /N x gdzie N x > 0: liczba elementów w ciągu źródłowym N y > 0: liczba elementów w ciągu wynikowym np. dla N x = 100 i N y = 50: = +0.50 N x = 100 i N y = 75: = +0.25 N x = 100 i N y = 100: = 0.00 N x = 100 i N y = 125: = 0.25 N x = 100 i N y = 150: = 0.50..

Algorytm LZW skuteczność kompresji Dalsze przykłady nieco specyficzne oznaczenie: x dla x > 0: x = wartość x zaokrąglona w górę dla x = 0: x = 1

Algorytm LZW skuteczność kompresji Dalsze przykłady dane wejściowe alfabet wejściowy: {a, b, c,d, r} ciąg wejściowy: abrrracadabrrrra alfabet wyjściowy: {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 8.0, 9.0} ciąg wyjściowy: 1.02.05.08.01.03.01.04.06.08.09.0 parametry danych/metody A: liczność alfabetu N: długość ciągu : współczynnik kompresji A WE = 5 log 2 (A WE ) = 3 N WE = 16 log 2 (A WE ) N WE = 48 A WY = 8 log 2 (A WY ) = 3 N WY = 11 log 2 (A WY ) N WY = 33 = +0.313

Algorytm LZW skuteczność kompresji Dalsze przykłady dane wejściowe alfabet wejściowy: {a} ciąg wejściowy: aaaaaaaaaaaaaaaa alfabet wyjściowy: {1.0, 2.0, 3.0, 4.0, 5.0} ciąg wyjściowy: 1.02.03.04.05.01.0 parametry danych/metody LA: liczność alfabetu DC: długość ciągu : współczynnik kompresji A WE = 1 log 2 (A WE ) = 1 N WE = 16 log 2 (A WE ) N WE = 16 A WY = 5 log 2 (A WY ) = 3 N WY = 6 log 2 (A WY ) N WY = 18 = 0.125

Algorytm LZW eksperymenty Rys. 1 4000 3500 3000 2500 2000 1500 1000 500 0 0 500 1000 1500 2000 2500 3000 3500 4000 we = aaa... X: l(we); Y: l(wy)

Algorytm LZW eksperymenty Rys. 2 700 600 500 400 300 200 100 0 0 500 1000 1500 2000 2500 3000 3500 4000 we = aaa... X: l(we); Y: l(wy)

Algorytm LZW eksperymenty Rys. 2 700 600 500 400 300 200 100 0 0 2 4 6 8 10 12 we = aaa... X: log 2 (l(we)); Y: l(wy)

Algorytm LZW eksperymenty Rys. 3 1 0.8 0.6 0.4 0.2 0-0.2 0 500 1000 1500 2000 2500 3000 3500 4000 we = aaa... X: l(we); Y:

Algorytm LZW eksperymenty Rys. 3 1 0.8 0.6 0.4 0.2 0-0.2 0 2 4 6 8 10 12 we = aaa... X: log 2 (l(we)); Y:

Algorytm LZW eksperymenty Rys. 4 90 80 70 60 50 40 30 20 10 0 0 500 1000 1500 2000 2500 3000 3500 4000 we = aaa... X: l(we); Y: l(dict)

Algorytm LZW eksperymenty Rys. 4 90 80 70 60 50 40 30 20 10 0 0 2 4 6 8 10 12 we = aaa... X: log 2 (l(we)); Y: l(dict)

Algorytm LZW eksperymenty Rys. 5 0.12 0.1 0.08 0.06 0.04 0.02 0 0 500 1000 1500 2000 2500 3000 3500 4000 we = aaa... X: l(we); Y: t enc, t dec (Matlab)

Algorytm LZW eksperymenty Rys. 5 0.12 0.1 0.08 0.06 0.04 0.02 0 0 2 4 6 8 10 12 we = aaa... X: log 2 (l(we)); Y: t enc, t dec (Matlab)

Algorytm LZW eksperymenty Rys. 6 0.12 0.1 0.08 0.06 0.04 0.02 0 0 500 1000 1500 2000 2500 3000 3500 4000 we = aaa... X: l(we); Y: t enc, t dec (Matlab) (wykres wygładzono)

Algorytm LZW eksperymenty Rys. 6 0.12 0.1 0.08 0.06 0.04 0.02 0 0 2 4 6 8 10 12 we = aaa... X: log 2 (l(we)); Y: t enc, t dec (Matlab) (wykres wygładzono)

Algorytm LZW eksperymenty Rys. 2 600 500 400 300 200 100 0 0 500 1000 1500 2000 2500 3000 3500 4000 we = aaa... X: l(we); Y: l(wy) (pominięto zaokrąglenia logarytmów)

Algorytm LZW eksperymenty Rys. 2 600 500 400 300 200 100 0 0 2 4 6 8 10 12 we = aaa... X: log 2 (l(we)); Y: l(wy) (pominięto zaokrąglenia logarytmów)

Algorytm LZW eksperymenty Rys. 3 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 500 1000 1500 2000 2500 3000 3500 4000 we = aaa... X: l(we); Y: (pominięto zaokrąglenia logarytmów)

Algorytm LZW eksperymenty Rys. 3 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 we = aaa... X: log 2 (l(we)); Y: (pominięto zaokrąglenia logarytmów)

... 36

A przy okazji... pamiętacie? Kompresja kodowa a kompresja słownikowa dzięki swej naturalnej dualności, metody kodowa: dla elementów wejścia o stałej długości znajduje elementy wyjścia o zmiennej długości słownikowa: dla elementów wejścia o zmiennej długości znajduje elementy wyjścia o stałej długości stanowią dość udaną parę!

Algorytmy Huffman / Shannon-Fano eksperymenty Prezentowane poniżej wyniki dotyczą eksperymentu, w którym losowano N rozkładów prawdopodobieństw dla ustalonego alfabetu, po czym generowano dla nich kody zgodnie z procedurą Huffmana Shannona-Fano i obrazowano* ich parametry * uwaga: punkty niebieskie rysowane były wcześniej, a czerwone później, wskutek czego na niektórych wykresach (w szczególności: 1 i 1 ) punkty niebieskie są przesłonięte punktami niebieskimi

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 1 l(a) = 2, N = 1000 X: H(p); Y: SWDK H (p), SWDK SF (p)

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 1 l(a) = 2, N = 1000 X: H(p); Y: H, H

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 2 l(a) = 4, N = 1000 X: H(p); Y: SWDK H (p), SWDK SF (p)

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 2 l(a) = 4, N = 1000 X: H(p); Y: H, H

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 3 l(a) = 8, N = 1000 X: H(p); Y: SWDK H (p), SWDK SF (p)

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 3 l(a) = 8, N = 1000 X: H(p); Y: H, H

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 4 l(a) = 16, N = 1000 X: H(p); Y: SWDK H (p), SWDK SF (p)

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 4 l(a) = 16, N = 1000 X: H(p); Y: H, H

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 5 l(a) = 32, N = 1000 X: H(p); Y: SWDK H (p), SWDK SF (p)

Algorytmy Huffman / Shannon-Fano eksperymenty Rys. 5 l(a) = 32, N = 1000 X: H(p); Y: H, H

... 49

Data compression. WTF?* "God Save the Queen" is a song by the British punk rock band the Sex Pistols. It was released as the band's second single [...] during Queen Elizabeth II's Silver Jubilee in 1977. The record s lyrics [...] were controversial at the time, and both the BBC and the Independent Broadcasting Authority refused to play the song. [...] The phrase "no future", the song's closing refrain, became emblematic of the punk rock movement. https://en.wikipedia.org/wiki/god_save_the_queen_(sex_pistols_song) * ang. Kompresja danych. Jaka przyszłość? ( Data compression. What s the Future? )

Data compression. WTF? Teraźniejszość (co najmniej) świetlana kompresja jawna ZIP, RAR, 7Z, APK, CAB,... kompresja niejawna... JPG, MP3, MP4,... PDF,... DOCX,... JAR,... Przyszłość...

Podstawowe tożsamości trygonometryczne sin(x + y) = sin(x) cos(y) + cos(x) sin(y) sin(x y) = sin(x) cos(y) cos(x) sin(y) cos(x + y) = cos(x) cos(y) sin(x) sin(y) cos(x y) = cos(x) cos(y) + sin(x) sin(y)... Dygresja (jedna z ostatnich!)

Podstawowe tożsamości logarytmiczne log P (x y) = log P (x) + log P (y) log P (x/y) = log P (x) log P (y) log P (x y ) = y log P (x)... Dygresja (jedna z ostatnich!)

Przyszłość kompresji? Wstęp do eksperymentu myślowego wartość wartość a log(x) log(a) b log(x) log(b).........

Przyszłość kompresji? Wstęp do eksperymentu myślowego wartość wartość exp(u) exp(x) u exp(v) exp(x) v.........

Przyszłość kompresji? Eksperyment myślowy a b

Przyszłość kompresji? Eksperyment myślowy a log(x) log(a) b log(x) log(b)

Przyszłość kompresji? Eksperyment myślowy log(a) log(b)

Przyszłość kompresji? Eksperyment myślowy c = a b log(a) log(b) log(c)?

Przyszłość kompresji? Eksperyment myślowy log(a) log(b) c = a b log(c)? exp(log(a)) exp(x) log(a) exp(log(b)) exp(x) log(b)

Przyszłość kompresji? Eksperyment myślowy log(a) log(b) c = a b log(c)? a = exp(log(a)) exp(x) log(a) b = exp(log(b)) exp(x) log(b)

Przyszłość kompresji? Eksperyment myślowy c = a b log(a) log(b) a b

Przyszłość kompresji? Eksperyment myślowy c = a b log(a) log(b) a b c = a b

Przyszłość kompresji? Eksperyment myślowy c = a b log(a) log(b) a b c = a b c log(x) log(c)

Przyszłość kompresji? Eksperyment myślowy c = a b log(a) log(b) log(c)

Przyszłość kompresji? Eksperyment myślowy c = a b log(a) log(b) log(c) = = log(a) + log(b)

Przyszłość kompresji? Szerszy eksperyment myślowy a szyfr(x) szyfr(a) b szyfr(x) szyfr(b) desz(u) desz(x) u desz(v) desz(x) v.........

Przyszłość kompresji? Szerszy eksperyment myślowy a szyfr(x) szyfr(a) b szyfr(x) szyfr(b) desz(u) desz(x) u desz(v) desz(x) v.........

Przyszłość kompresji? Szerszy eksperyment myślowy c = a b szyfr(a) szyfr(b) szyfr(c) = = szyfr(a) szyfr(b)

Dygresja (druga z ostatnich!) Homomorfizm [...] funkcja odwzorowująca jedną algebrę ogólną (np. monoid, grupę, pierścień czy przestrzeń wektorową) w drugą, zachowująca przy tym odpowiadające sobie działania. https://pl.wikipedia.org/wiki/homomorfizm

Dygresja (prawie ostatnia!) Szyfrowanie homomorficzne szyfrowanie, które pozwala na operowanie na zaszyfrowanym dokumencie bez jego deszyfrowania (bez znajomości klucza deszyfrującego). https://pl.wikipedia.org/wiki/szyfrowanie_homomorficzne

Przyszłość kompresji? Kompresja homomorficzna w szczególności: fingerprinting (funkcje skrótu) w ogólności: (potencjalne) wykorzystanie transformat! chociażby transformat już znanych i wykorzystywanych! (w innych miejscach, np. w procedurach kompresji stratnej)

Przyszłość kompresji? Pomoc z nieoczekiwanej strony Drużyna A Załoga G Transformata Z w innej wersji: funkcja tworząca

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) jeżeli* t = x 0 + x 1 + x 2 + x 3 +... to t(1 x) = (x 0 + x 1 + x 2 + x 3 +...)(1 x) = = (x 0 + x 1 + x 2 + x 3 +...) (x 1 + x 2 + x 3 + x 4 +...) = = x 0 = 1 i wtedy t = 1/(1 x) czyli 1/(1 x) = x 0 + x 1 + x 2 + x 3 +... * uwaga: może zachodzić wyłącznie dla wybranych x (np. dla x [0,+1))

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) i dalej, ponieważ x 0 + x 1 + x 2 + x 3 +... = 1 x 0 + 1 x 1 + 1 x 2 + 1 x 3 +... więc można zapisywać 1 / (1 x) 1, 1, 1, 1,... wyrażenie 1 / (1 x) reprezentuje (nieskończony) ciąg jedynek inaczej: funkcja (tworząca) f(x) = 1 / (1 x) tworzy (nieskończony) ciąg jedynek...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) inne wyrażenia reprezentujące ciągi (funkcje tworzące) 1 / (1 2 x) 1, 2, 4, 8,... niech x = 2 y, wtedy 1/(1 x) = x 0 + x 1 + x 2 + x 3 +... implikuje 1/(1 2 y) = (2 y) 0 + (2 y) 1 + (2 y) 2 + (2 y) 3 +... = 1 y 0 + 2 y 1 + 4 y 2 + 8 y 3 +...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) inne wyrażenia reprezentujące ciągi (funkcje tworzące) 1 / (1 x/2) 1, 1/2, 1/4, 1/8,... niech x = y/2, wtedy 1/(1 x) = x 0 + x 1 + x 2 + x 3 +... implikuje 1/(1 y/2) = (y/2) 0 + (y/2) 1 + (y/2) 2 + (y/2) 3 +... = = 1 y 0 + 1/2 y 1 + 1/4 y 2 + 1/8 y 3 +...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) w ogólności 1 / (1 a x) 1, a, a 2, a 3,... i wtedy dla a = 1 mamy 1/(1 x) 1, 1, 1, 1,... dla a = 2 mamy 1/(1 2 x) 1, 2, 4, 8,... dla a = 1/2 mamy 1/(1 x/2) 1, 1/2, 1/4, 1/8,...... dla a = 1 mamy 1/(1+x) 1, 1, 1, 1,... dla a = 2 mamy 1/(1+2 x) 1, 2, 4, 8,... dla a = 1/2 mamy 1/(1+x/2) 1, 1/2, 1/4, 1/8,......

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) niech np. Z = 1 / (1 2 x) C = 1, 2, 4, 8,... wobec tego, że wyrażenie Z i ciąg C sobie jednoznacznie odpowiadają oraz Z jest krótsze od C (Z jest skończone, C nieskończone!) można powiedzieć, że Z jest skompresowaną wersją C (to tę wersję w praktyce przechowujemy)

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) jak w tej sytuacji wygląda operacja przekształcająca ciąg C na wyrażenie Z (kompresja)? operacja przekształcająca wyrażenie Z na ciąg C (dekompresja)?

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) dekompresja znalezienie ciągu C reprezentowanego przez wyrażenie Z

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) dekompresja (łatwe!) znalezienie ciągu C reprezentowanego przez wyrażenie Z Pytanie: jak wyznaczyć ciąg C reprezentowany przez (zadane) wyrażenie Z? np. jaki C jest reprezentowany przez Z = (4 x+1)/(1 x 2 x 2 ) Odpowiedź: wyliczyć współczynniki rozwinięcia Taylora* dla x = 0 * cała tajemnica tkwi w tym, że szereg Taylora umie (jednoznacznie) reprezentować różne funkcje, co oznacza m.in., że wartości różnych funkcji można obliczać korzystając z ich rozwinięć w szereg Taylora (a także, że same funkcje można reprezentować za pomocą ich rozwinięć)

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) niech Z = 1 / (1 2 x) wtedy Z(0)/0! = 1 Z (0)/1! = 2 Z (0)/2! = 4 Z (0)/2! = 8...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) niech Z = 1 / (1+x) wtedy Z(0)/0! = 1 Z (0)/1! = 1 Z (0)/2! = 1 Z (0)/2! = 1...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) kompresja znalezienie wyrażenia Z reprezentującego ciąg C

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) kompresja (trudne!) znalezienie wyrażenia Z reprezentującego ciąg C Pytanie: jak wyznaczyć wyrażenie Z reprezentujące (zadany) ciąg C? np. jakie Z reprezentuje C = 1, 5, 7, 17,... Odpowiedź: właściwie brak metod (współcześnie) Pytanie pomocnicze: czy warto, a jeżeli tak, to dlaczego, szukać takich metod? Odpowiedź: metodologia wydaje się dość trudna, ale pomimo tego warto, chociażby dlatego, że...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) niech Z = (4 x+1) / (1 x 2 x 2 ) wtedy Z(0)/0! = 1 Z (0)/1! = 5 Z (0)/2! = 7 Z (0)/2! = 17...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) jak się okazuje, Z = (4 x+1) / (1 x 2 x 2 ) = 2 Z 1 Z 2, gdzie Z 1 = 1 / (1+2 x) Z 2 = 1 / (1+x) uzasadnienie: 2 Z 1 Z 2 = = 2 1 / (1 2 x) 1 / (1+x) = = (2+2 x 1+2 x) / (1 2 x)/(1+x) = = (4 x+1) / (1 x 2 x 2 )

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) wobec Z 1 = 1 / (1 2 x) 1, 2, 4, 8,... można mieć nadzieję, że 2 Z 1 = 2 1 / (1 2 x) 2, 4, 8, 16,... jednocześnie, wobec Z 2 = 1 / (1+x) 1, 1, 1, 1,... można mieć nadzieję, że Z 2 = 1 / (1+x) 1, 1, 1, 1,...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) tak jest faktycznie: jeżeli Z 1 = 1 / (1 2 x) 1, 2, 4, 8,... to dla 2 Z 1 = 2 1 / (1 2 x) otrzymujemy Z(0)/0! = 2 Z (0)/1! = 4 Z (0)/2! = 8 Z (0)/2! = 16...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) tak jest faktycznie: jeżeli Z 2 = 1 / (1+x) 1, 1, 1, 1,... to dla Z 2 = 1 / (1+x) otrzymujemy Z(0)/0! = 1 Z (0)/1! = 1 Z (0)/2! = 1 Z (0)/2! = 1...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) a więc: Z 1 = 1 / (1 2 x) 1, 2, 4, 8,... Z 2 = 1 / (1+x) 1, 1, 1, 1,... 2 Z 1 = 2 1 / (1 2 x) 2, 4, 8, 16,... Z 2 = 1 / (1+x) 1, 1, 1, 1,...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) a więc: Z 1 = 1 / (1 2 x) 1, 2, 4, 8,... Z 2 = 1 / (1+x) 1, 1, 1, 1,... 2 Z 1 = 2 1 / (1 2 x) 2, 4, 8, 16,... Z 2 = 1 / (1+x) 1, 1, 1, 1,... jednocześnie: 2 Z 1 Z 2 =...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) a więc: Z 1 = 1 / (1 2 x) 1, 2, 4, 8,... Z 2 = 1 / (1+x) 1, 1, 1, 1,... 2 Z 1 = 2 1 / (1 2 x) 2, 4, 8, 16,... Z 2 = 1 / (1+x) 1, 1, 1, 1,... jednocześnie: 2 Z 1 Z 2 =... 1, 5, 7, 17,...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) a więc: Z 1 = 1 / (1 2 x) 1, 2, 4, 8,... Z 2 = 1 / (1+x) 1, 1, 1, 1,... 2 Z 1 = 2 1 / (1 2 x) 2, 4, 8, 16,... Z 2 = 1 / (1+x) 1, 1, 1, 1,... jednocześnie: 2 Z 1 Z 2 =... 1, 5, 7, 17,... operacje wykonane na wzorach po stronie Z wykonały się też na elementach ciągu po stronie C! wniosek: ta metoda jest homomorficzna!

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) czyli: wobec tego, że wyrażenie Z i ciąg C sobie jednoznacznie odpowiadają (nawet po /pewnych/ przekształceniach!) oraz Z jest krótsze od C (Z jest skończone, C nieskończone!) można powiedzieć, że Z jest skompresowaną wersją C (to tę wersję w praktyce przechowujemy i na niej operujemy)

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie)...łyżki dziegciu w beczkach miodu... łatwym / znanym operacjom po jednej stronie mogą odpowiadać trudne / nieznane operacje po drugiej stronie trudny (niemożliwy?) proces kompresji

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) niech Z = Z 1 Z 2 = 2 1/(1 2 x) ( 1)/(1+x) = 2 / (1 x 2 x 2 ) iloczyn wtedy Z(0)/0! = 2 Z (0)/1! = 2 Z (0)/2! = 6 Z (0)/2! = 10...

Przyszłość kompresji? Idea transformat (np. Z) / funkcji tworzących (na przykładzie) niech Z = Z 1 Z 2 = 2 1/(1 2 x) ( 1)/(1+x) = 2 / (1 x 2 x 2 ) powstaje pytanie: czy ciąg 2, 2, 6, 10,... jest jakąś funkcją ciągów 2, 4, 8, 16,... oraz 1, 1, 1, 1,... a jeżeli tak, to jaką?

... 100

(Skompresowana, bo ostatnia) dygresja?! (In 1862 the author Victor Hugo wrote to his publisher asking how his most recent book, Les Misérables, was getting on. Hugo just wrote "?" in his message, to which his publisher replied "!", to indicate it was selling well.) https://en.wikipedia.org/wiki/exformation

... 102