Teoria Informacji i Metody Kompresji Danych · » ab dla b > –1 odwrotność pierwiastka...
Transcript of Teoria Informacji i Metody Kompresji Danych · » ab dla b > –1 odwrotność pierwiastka...
1
Teoria Informacji i
Metody Kompresji Danych
2
Materiały wykładowe
(fragmenty)
3
Robert SusmagaInstytut Informatyki
ul. Piotrowo 2
Poznań
kontakt mail’owy
kontakt osobisty
Centrum Wykładowe, „blok informatyki”, pok. 7
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
...
• (prawie wcale) Sygnały / dane ciągłe– częstotliwości
– kanały, pasma
– transformaty
– dyskretyzacja / kwantyzacja
– ...
• (niewiele) Optymalizacja kodów– ...
• (niewiele) Algorytmy specjalizowane– ...
• (niewiele) Kompresja stratna– ...
(znakomita konkurencja!)
Czego nie będzie na tym wykładzie?
7
Plan TIMKoD (plany)
• Wstęp
• Teoria informacji– podstawy matematyczne
– informacja
– miara informacji• entropia i jej pochodne
• interpretacje i zastosowania
– idea kodowania
– właściwości kodów
Plan TIMKoD (w punktach)
• Metody kompresji danych– idea kompresji
• bezstratnej
• stratnej
• bezpowrotnej
– metody kompresji bezstratnej• algorytm Huffmana
• kodowanie arytmetyczne
• metody słownikowe
– popularne systemy kompresji bezstratnej
• Sprawdzian
Plan TIMKoD (w punktach)
• Matematyka teoretyczna / stosowana– podmioty
• teoria informacji– składowanie/przesyłanie informacji
• kompresja danych– metody bezstratne
– metody stratne
– kontekst• algebra abstrakcyjna
• algorytmy i struktury danych
• złożoność obliczeniowa
• kryptografia
• rachunek prawdopodobieństwa
• statystyka
• uczenie maszynowe
„Usytuowanie” przedmiotu
• Dotycząca przedmiotu?
• Wszelka/współczesna?
• Faktycznie wykorzystywana?
• Mniej/bardziej specjalistyczna?
• Mniej/bardziej polecana?
Literatura
• Karta ECTS– podstawowa
• A. Drozdek: „Wprowadzenie do kompresji danych” WNT, Warszawa, 1999
• A. Przelaskowski: „Kompresja danych. Podstawy, metody bezstratne, kodery obrazów”, BTC, Legionowo, 2005
– uzupełniająca• T.M. Cover, J.A. Thomas, "Elements of Information Theory", 2nd Edition,
Wiley & Sons, Hoboken, New Jersey, 1991
• D.J.C. MacKay: „Information Theory, Inference, and Learning Algorithms”, Cambridge University Press, Cambridge, UK, 2003
• K. Sayood (red.): „Lossless Compression Handbook”, Academic Press, Elsevier Science, San Diego, California, 2003
• K. Sayood: „Introduction to Data Compression”, 3rd Ed., Morgan Kaufmann Publishers, San Francisco, California, 2006
Literatura
• Inne– TI
• J. Seidler: „Teoria kodów”, PWN, Wrocław-Warszawa, 1965
• W. Sobczak: „Teoria informacji”, WNT, Warszawa, 1970
• A.M. Rosie: „Teoria przesyłania informacji”, PWN, Warszawa, 1978
• W. Sobczak: „Statystyczna teoria systemów przesyłania informacji”, WKiŁ, Warszawa, 1984
• J. Seidler: „Nauka o informacji”, t. I i II, WNT, Warszawa, 1983
• L. Brillouin: „Nauka a teoria informacji”, PWN, Warszawa, 1969
• W. Sobczak, W. Malina: „Metody selekcji i redukcji informacji”, WNT, Warszawa, 1985
• M. Mazur: „Jakościowa teoria informacji”, WNT, Warszawa, (1970)
– MKD• A. Przelaskowski: „Kompresja danych. Podstawy, metody bezstratne,
kodery obrazów”, BTC, Legionowo, 2005
• K. Sayood: „Kompresja danych (wprowadzenie)”, RM, Warszawa, 2002
• K. Heim: „Metody kompresji danych”, MIKOM, Warszawa, 2000
Literatura
• Inne– wąski kontekst
• metody stratne
– średni kontekst• algebra liniowa (rozkłady macierzy, transformaty)
• przetwarzanie sygnałów cyfrowych
• przetwarzanie obrazów cyfrowych
• ...
• np.:– J. Stokłosa: „Kryptograficzne metody ochrony danych”, Wydawnictwo Politechniki
Poznańskiej (skrypt 1676), Poznań, 1992
– R. Lidl: „Algebra dla przyrodników i inżynierów”, PWN, Warszawa, 1983
Literatura
• Inne– szeroki kontekst
• algebra
• matematyka dyskretna
• ...
• np.:– J. Rutkowski: „Algebra abstrakcyjna w zadaniach”, PWN, Warszawa, 2000
– B. Mikołajczak, J. Stokłosa: „Złożoność obliczeniowa algorytmów”, Wydawnictwo Politechniki Poznańskiej (skrypt 1327), Poznań, 1986
– Z. Pawlak: „Systemy informacyjne. Podstawy teoretyczne”, WNT, Warszawa, 1983
– N. Deo: „Teoria grafów i jej zastosowania w technice i informatyce”, PWN, Warszawa, 1980
Literatura
• O czym mowa?– literatura
– materiały
• Jak szukać– w wydawnictwach
• np.: [Przelaskowski]: 234 pozycje w bibliografii
– w Internecie• [Google]: gugol pozycji w sieci
„Literatura” a „materiały”
17
Internet na temat „Teorii informacji”
• Zapytanie „teoria informacji” w https://www.google.pl (05.03.2018)
• ...mimuw• ...i kodowania• ...norberta wienera
– 1. Teoria informacji – Wikipedia, wolna encyklopedia• https://pl.wikipedia.org/wiki/Teoria_informacji
– 2. Entropia (teoria informacji) (video) | Khan Academy• https://pl.khanacademy.org/computing/.../v/information-entropy
– 3. Podróż do teorii informacji | Informatyka | Khan Academy• https://pl.khanacademy.org/computing/computer.../informationtheo...
– teoria informacji pdf – jakościowa teoria informacji– teoria informacji wienera – teoria informacji zadania– teoria informacji książka – entropia teoria informacji– teoria informacji mimuw – teoria informacji i kodowania
18
Internet na temat „Kompresji danych”
• Zapytanie „kompresja danych” w https://www.google.pl (05.03.2018)
• ...programy• ...co to jest• ...wikipedia
– 1. Kompresja (informatyka) – Wikipedia, wolna encyklopedia• https://pl.wikipedia.org/wiki/Kompresja_(informatyka)
– 2. [PDF] Kompresja Danych• www.sms.am.put.poznan.pl/eskrypty_pliki/.../kompresjadanych.pdf
– 3. [PDF] Algorytmy bezstratnej kompresji danych - Politechnika Śląska• sun.aei.polsl.pl/~akd/artykuly/zn-kdanych.pdf
– dekompresja danych – rodzaje kompresji– kompresja danych programy – kompresja bezstratna– kompresja bezstratna przykłady – kompresja stratna– algorytmy kompresji – kompresja stratna i bezstratna
19
...
http://hoth.amu.edu.pl/~pczarnec/ostafin/papier300.bmp
Dygresja
• John Napier of Merchiston (1 February, 1550 – 4 April 1617)• also signed as Neper, Nepair; nicknamed Marvellous Merchiston
– a Scottish landowner known as a mathematician, physicist, and astronomer. He was the 8th Laird of Merchiston. His Latinized name was Ioannes Neper.
– Napier's birthplace, Merchiston Tower in Edinburgh, is now part of the facilities of Edinburgh Napier University.
– John Napier is best known as the discoverer of logarithms. He also invented the so-called "Napier's bones" and made common the use of the decimal point in arithmetic and mathematics.
• https://en.wikipedia.org/wiki/John_Napier
Dygresja
22
Dygresja
• „Multimedialny słownik PWN – wyrazy obce”
logarytm -mu, -mie, lm -my, mrz | mat. «wykładnik potęgi, do której należy podnieść liczbę stałą (podstawę logarytmu), aby otrzymać liczbę daną (logarytmowaną), (skrót: log, lg)»
mat. logarytm naturalny «logarytm, którego podstawą jest liczba niewymierna e, równa w przybliżeniu 2,7182 (skrót: ln)»
<ang. logarithm (John Napier of Merchiston 1614 r.), od gr. lógos w zn. proporcja’ + arithmós liczba’>
23
...
• Logika– funkcje logiczne
• implikacja, równoważność, ...
– warunek konieczny / dostateczny
– ...
Pojęcia wstępne
• Teoria mnogości– zbiór
• zbiór potęgowy
– relacja binarna• funkcja
– bijektywna» surjektywna
» injektywna
– zbiory o mocy• skonczonej (n)
• nieskonczonej– policzalne (A0)
– niepoliczalne (C0)
Pojęcia wstępne
• Rachunek prawdopodobieństwa– klasyczna i aksjomatyczna definicja prawdopodobieństwa
– aksjomaty prawdopodobieństwa
– zdarzenie: prawdopodobieństwo• p(A), p(B)
• p(A B)
• p(A B)
• p(A | B)
• p(A \ B)
– zmienna: rozkład prawdopodobieństwa
Pojęcia wstępne
• Statystyka• (różnice: statystyka a rachunek prawdopodobieństwa?
– rozkłady prawdopodobieństwa• podział
– dyskretne» policzalne (wektory)
» niepoliczalne (ciągi)
– ciągłe (funkcje)
• reprezentacja dyskretnego rozkładu prawdopodobieństwa w postaci simpleksu
– wizualizacje w układach barycentrycznych» elementów dyskretnego rozkładu prawdopodobieństwa
» funkcji dyskretnego rozkładu prawdopodobieństwa
Pojęcia wstępne
• Statystyka– miary położenia
• średnia arytmetyczna– klasyczna a ważona
» średnia ważona jako kombinacja wypukła
– miary rozproszenia• wariancja
• odchylenie standardowe
– miary związku• kowariancja
• korelacja
Pojęcia wstępne
• Algebra liniowa– kombinacja wypukła
• punkty a wektory
• kombinacja liniowa wektorów
• kombinacja wypukła wektorów
• powłoka wypukła– wektory wewnętrzne a zewnętrzne
• simpleks
– macierz • rozkładu, stochastyczna, ...
• nieujemnie/dodatnio określona
Pojęcia wstępne
• Algebra – funkcja potęgowa
• oznaczenie
• definicja
– wielomiany
Pojęcia wstępne
• Analiza matematyczna– właściwości
• monotoniczność
• wklęsłość / wypukłość
• ekstrema
• minima / maksima
• unimodalność
• ...
funkcji • potęgowej
• wykładniczej
• logarytmicznej
• informacyjnej
• ...
Pojęcia wstępne
• Algebra abstrakcyjna– grupy
– pierścienie
– ciała
Pojęcia wstępne
• Języki formalne– automaty
– gramatyki• przedrostek
• wrostek
• zarostek?
– parsery
Pojęcia wstępne
34
...
• Analiza matematyczna – funkcja wykładnicza (rzeczywista)
• oznaczenie
• definicja (dla całkowitego n)
b = an gdy b = a·a·...·a
n razy
• definicja (dla rzeczywistego n)...
Pojęcia wstępne
• Analiza matematyczna– funkcja wykładnicza (rzeczywista)
• właściwości podstawowe– podstawy, wykładniki
– dziedzina
– przeciwdziedzina
– miejsca zerowe
– pochodna
– granice
– wykres
Pojęcia wstępne
• Analiza matematyczna– funkcja wykładnicza (rzeczywista)
• właściwości podstawowe– axi = axi
» ab+c = abac
– abc = (ab)c
– w szczególności» a– = 0
» a–1 = 1/a
» a0 = 1
» a1 = a
» a =
Pojęcia wstępne
• Analiza matematyczna– funkcja wykładnicza (rzeczywista)
• interpretacje potęg– potęga przy rożnych wykładnikach niedodatnich
» ab dla b < –1 <==> odwrotność „właściwej” potęgi
» a–1 = 1/a
» ab dla b > –1 <==> odwrotność pierwiastka „stopnia” b
– potęga przy rożnych wykładnikach nieujemnych» ab dla b < 1 <==> pierwiastek „stopnia” b
» a1 = a
» ab dla b > 1 <==> „właściwa” potęga
Pojęcia wstępne
• Analiza matematyczna– funkcja logarytmiczna (rzeczywista)
• oznaczenie
• definicja
b = loga(c) gdy ab = c– inaczej: aloga(c) = c (z definicji)
Pojęcia wstępne
• Analiza matematyczna– funkcja logarytmiczna (rzeczywista)
• właściwości podstawowe– związek z f. wykładniczą
– dziedzina
– przeciwdziedzina
– miejsca zerowe
– pochodna
– granice
– wykres
Pojęcia wstępne
• Analiza matematyczna– funkcja logarytmiczna (rzeczywista)
• właściwości podstawowe (P (0,1) (1,))– logP(xi) = logP(xi)
» logP(ab) = logP(a) + logP(b)
– logP(ab) = b·logP(a)
– logP(c)/logP(a) = loga(c)
– w szczególności» logP() =
» logP(P) = 1
» logP(1) = 0
» logP(1/P) = –1
» logP(0) = –
Pojęcia wstępne
• Analiza matematyczna– funkcja logarytmiczna (rzeczywista)
• właściwości podstawowe (P (0,1) (1,))– implikacje
» logP(ab) = logP(a) + logP(b)
• logP(a·1) = logP(a) + logP(1) = logP(a) + 0 = logP(a)
• logP(1·b) = logP(1) + logP(b) = 0 + logP(b) = logP(b)
» logP(a/b) = logP(a) – logP(b)
• logP(a/1) = logP(a) – logP(1) = logP(a) – 0 = logP(a)
• logP(1/b) = logP(1) – logP(b) = 0 – logP(b) 0 = –logP(b)
Pojęcia wstępne
• Analiza matematyczna– funkcja wykładnicza (rzeczywista) i logarytmiczna (rzeczywista)
• właściwościloga(b)·logb(a) = 1
– z definicji zachodzi aloga(b) = b, czyli
logP(aloga(b)) = logP(b)
loga(b)·logP(a) = logP(b)
loga(b) = logP(b)/logP(a)
– jednocześnie z definicji zachodzi blogb(a) = a, czyli
logP(blogb(a)) = logP(a)
logb(a)·logP(b) = logP(a)
logb(a) = logP(a)/logP(b)
– czyli
loga(b)·logb(a) = logP(b)/logP(a)·logP(a)/logP(b) = logP(a)/logP(a)·logP(b)/logP(b) == 1·1 = 1
Pojęcia wstępne
• Analiza matematyczna– funkcja wykładnicza (rzeczywista) i logarytmiczna (rzeczywista)
• najpopularniejsze funkcje wykładnicze i logarytmiczne– ex exp(x)
– loge(x) ln(x)» tymczasem: log(x) log2(x)
Pojęcia wstępne
• Analiza matematyczna– funkcja wykładnicza (rzeczywista) i logarytmiczna (rzeczywista)
• liczba e– e = limn(1+1/n)n = 2,71...
– e1 = e
– ln(e) = 1
Pojęcia wstępne
• Analiza matematyczna– funkcja wykładnicza (rzeczywista) i logarytmiczna (rzeczywista)
• pochodna funkcji wykładniczej– (ax)’ = log(a)·ex
– (ex)’ = ex
» ponieważ: (ex)’ = log(e)·ex = 1·ex = ex
• pochodna pochodna funkcji logarytmicznej– (logP(x))’ = 1/(log(P)·x) = logP(e)/x
– (ln(x))’ = 1/x» ponieważ: (ln(x))’ = 1/(loge(e)·x) = 1/(1·x) = 1/x
Pojęcia wstępne
• Analiza matematyczna / algebra wyższa– funkcja wykładnicza (rzeczywista) i logarytmiczna (rzeczywista)
• jak obliczać ax?– np. wykorzystując funkcję exp(x)
ax = eln(a)·x exp(ln(a)·x)
• jak obliczać log(x)?– np. wykorzystując funkcję ln(x)
loga(x) = lne(x)/lne(a)
(w obu powyższych przypadkach)
• a jak obliczać exp(x) i ln(x)?
Pojęcia wstępne
• Analiza matematyczna / algebra wyższa– funkcja wykładnicza (rzeczywista) i logarytmiczna (rzeczywista)
• jak obliczać...– np. z rozwinięcia Taylora:
Pojęcia wstępne
...1
1
5
2
1
1
3
2
1
1
1
2)ln(
531
x
x
x
x
x
xx
...!2
1
!1
1
!0
1)exp( 210 xxxx
Pojęcia wstępne
• Analiza matematyczna– funkcja ln(x)
Pojęcia wstępne
• Analiza matematyczna– funkcja ln(x) a funkcja 1/x
• pole „pod krzywą”
• Analiza matematyczna– funkcja logarytmiczna (zespolona)
• w ogólności: odwzorowanie wielowartościowe (jak arcsin(x), arccos(x), ...)– stanowi funkcję przy dodatkowych założeniach
logP(z) = logP(|z|) + i·arg(z)» gdzie arg(z) = 0 + 2k dla każdego całkowitego k przy 0 [0, 2)
• czyli, np.: (dla k = 0)z = 1 + 0i (|z| = 1, arg(z) = 0): log2(z) = log2(1) + 0i = 0 + 0i = 0
z = –1 + 0i (|z| = 1, arg(z) = ): log2(z) = log2(1) + i = 0 + i = i
z = 0 + 1i (|z| = 1, arg(z) = 1/2): log2(z) = log2(1) + 1/2i = 0 + 1/2 = 1/2
z = 0 – 1i (|z| = 1, arg(z) = 3/2): log2(z) = log2(1) + 3/2 = 0 + 3/2 = 3/2
Pojęcia wstępne
https://www.geogebra.org/m/rVQ4RCYy
Pojęcia wstępne
• Skale logarytmiczne– co opisują?
• przebiegi o szerokiej skali zmienności (np. wykładnicze)
– czy (i gdzie) występują? • w przyrodzie
– np. przy opisie funkcjonowania zmysłów
Pojęcia wstępne
• Skale logarytmiczne– idea (i nazwy) „jednostek” związanych ze skalami logarytmicznymi
• ln(x): neper
• log10(x): bel– 10log10(x): decybel
– przykłady• skala pH
• entropia termodynamiczna
• jasność gwiazdowa
• przesłona w fotografii
Pojęcia wstępne
• Skale logarytmiczne– przykłady, c.d.
• skala Richtera„I was lucky because logarithmic plots are a device of the devil”
Charles Francis Richter– https://www.brainyquote.com/quotes/charles_francis_richter_276658
– P[jsR] = log10(A/A0)
– np.. 4, 6, 8, ...
• siła sygnału Wi-Fi– P[dBm] = 10·log10(P[mW]/1mW)
– np. –10, –20, –50, –90, ...
• ...
Pojęcia wstępne
56
Pojęcia wstępne
50,8944264922295,27321742601219,6440273420
0,00000491360,83340665781,07921684630,00000420090,0000598881
5015,88140433460,0268475121
57
Pojęcia wstępne
58
Pojęcia wstępne
50,8944264922 1,707295,2732174260 2,4701219,6440273420 3,086
0,0000049136 -5,3090,8334066578 -0,0791,0792168463 0,0330,0000042009 -5,3770,0000598881 -4,223
5015,8814043346 3,7000,0268475121 -1,571
59
Pojęcia wstępne
1 2 3 4 5 6 7 8 9 10-6
-5
-4
-3
-2
-1
0
1
2
3
4
1 2 3 4 5 6 7 8 9 100
200
400
600
800
1000
1200
1 2 3 4 5 6 7 8 9 100
0.5
1
1.5
2
2.5
3
3.5
60
Pojęcia wstępne
2 0,3010299964 0,6020599918 0,903089987
16 1,20411998332 1,50514997864 1,806179974
128 2,10720997256 2,408239965512 2,709269961
1024 3,010299957
61
...