Kodowanie informacji. Elementy teorii informacji.

Transkrypt

Kodowanie informacji. Elementy teorii informacji.
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Wyklad 1
Kodowanie informacji.
Elementy teorii informacji.
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kontakt
Zaklad Chemii Teoretycznej, p. 4
[email protected]
tel. 663 20 28
Kodowanie danych
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Rozklad jazdy
Kodowanie informacji, elementy teorii informacji
Elementy algorytmiki
Architektura komputerów
Systemy komputerowe, systemy operacyjne
Sieci komputerowe, bezpieczeństwo, szyfrowanie
10 pozostalych wykladów (dr hab. A. Eilmes / J. Mrozek)
Folie dostepne
przez WWW:
,
http://www.chemia.uj.edu.pl/~makowskm.
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Zasady zaliczania
wyklad: test (prawdopodobnie na ostatnim wykladzie)
laboratorium: trzy kolokwia
ocena końcowa: 40% ocena z testu + 60% ocena z
laboratorium
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Reprezentacja danych
dane reprezentowane sa, przez sekwencje bitów
sekwencje bitów interpretowane sa, w kategoriach
wewnetrznych
typów danych
,
wewnetrzne
typy
danych określone poprzez:
,
dziedzine,
możliwe do wykonania operacje
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Wewnetrzne
typy danych
,
liczby calkowite
znaki
ulamki
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Liczby calkowite, znaki
liczby calkowite
skończony podzbiór matematycznego zbioru liczb calkowitych
operacje daja, dokladne wyniki
możliwy nadmiar
reprezentacje: NB, ”znak - modul”, U2, U1
znaki: skończony podzbiór zbioru liczb calkowitych
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Ulamki
skończony podzbiór matematycznego zbioru liczb
rzeczywistych
nie wszystkie liczby rzeczywiste z zadanego zakresu moga, być
reprezentowane
operacje nie zawsze daja, dokladne wyniki
reprezentacje: stalopozycyjna, zmiennopozycyjna
możliwy nadmiar i niedomiar
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Systemy liczbowe
Definicja
System liczbowy to zbiór regul
umożliwiajacych
przedstawienie liczb za
,
pomoc umownych znaków
Definicja
Cyfry to znaki za pomoca, których
zapisuje sie, liczby
Systemy liczbowe
niepozycyjne: jedynkowy, rzymski,
...
pozycyjne: dwójkowy, ósemkowy,
dziesietny,
szesnastkowy, . . .
,
Kodowanie danych
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Typowe systemy pozycyjne
Podstawa = k; ai ∈ {0, 1, 2, . . . , k − 1}
Liczba =
Pn−1 i
n
i=0 k ai ; Liczba ∈ [0, k − 1]
Przyklad
dziesietny
,
dwójkowy
ósemkowy
szesnastkowy
1
7
14
1
111
1110
1
7
16
1
7
E
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Kod BCD
tylko cyfry dziesietne
sa, podane w kodzie dwójkowym
,
z kodów cyfr dziesietnych
skladany jest kod liczby
,
stosowany w wyświetlaczach cyfrowych.
Przyklad
dziesietny
,
BCD (8421)
BCD (5421)
1
7
9
0001
0111
1001
0001
1010
1100
395 → 001110010101
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Reprezentacja binarna
Definicja
Znak binarny to zmienna przyjmujaca
jedna, z dwóch wartości
,
umownie oznaczonych jako ”0” i ”1”
Wektory znakowe
1-elementowy: bit
8-elementowy: bajt
16-elementowy: slowo 16-bitowe
32-elementowy: slowo 32-bitowe
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Kody znakowe
Definicja
Tablica wartości znaków to odwzorowanie znaków pisarskich na
liczby calkowite.
Definicja
Binarny kod wartości znaku to reprezentacja (w postaci 1 bajtu lub
sekwencji bajtów) liczby calkowitej odpowiadajacej
znakowi.
,
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kod ASCII
8-bitowy
slowo informacyjne obejmuje 7
bitów
jeden bit jest bitem kontrolnym
binarna postać kodu znaku reprezentacja 128 liczb (kody od 0
do 127) w postaci 1 bajtu
Kodowanie danych
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Tabela wartości znaków kodu ASCII
Kodowanie danych
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Kod ISO-8859-2
pelne 8 bitów kodu stanowi bity informacyjne
reprezentacja kodu znakowego w postaci 1 bajtu
bit MSB (najbardziej znaczacy)
dla znaków ASCII wynosi 0 a
,
nowe znaki maja, MSB równy 1
obsluguje znaki charakterystyczne dla jezyków
,
wschodnioeuropejskich
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Tabela wartości znaków kodu ISO-8859-2
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Unicode
standard Unicode określa tablice, wartości znaków majac
, a, w
zamierzeniu obejmować wszystkie pisma używane na świecie
najpopularniejsze kodowania to UTF-8, UTF-32
Wprowadzanie znaków Unicode niedostepnych
z klawiatury
,
wklejenie z systemowej tablicy znaków
kombinacja klawiszy + liczba
Linux: nacisnać
, Ctrl+Shift+u, wprowadzić kod szesnastkowy
znaku, nacisnać
, Enter
Windows: trzymajac
lewy Alt nacisnać
, naciśniety
,
, klawisz +,
wpisać numer szesnastkowy znaku, po czym zwolnić klawisz Alt
Windows: wpisać numer szesnastkowy znaku, a nastepnie
,
wcisnać
, kombinacje, lewy Alt + x
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Kodowanie liczb calkowitych
kodowanie liczb nieujemnych - kod ”natural binary” (NB)
kodowanie liczb ze znakiem
kod ”znak - modul”
kod ”uzupelnień do dwóch” (U2)
kod ”uzupelnień do jeden” (U1)
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Kod NB
dwójkowy kod pozycyjny
pozycja i: waga 2i
1001NB = 1 ∗ 20 + 0 ∗ 21 + 0 ∗ 22 + 1 ∗ 23 = 9
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Kod ”znak - modul”
znak liczby określany przez najbardziej znaczacy
bit (an−1 )
,
Pn−2
i
an−1 = 0: LiczbaZM = i=0 ai ∗ 2
an−1 = 1: LiczbaZM = −
Pn−2
i=0
ai ∗ 2i
niewygodny przy wykonywaniu operacjach arytmetycznych
dwa różne kody dla zera: 00000000, 10000000
Przyklad
45 = 000101101ZM
− 45 = 100101101ZM
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Kod U2
najpowszechniej stosowane kodowanie
najbardziej znaczacy
bit jest bitem znaku, ma (ujemna)
,
, wage,
równa, −2n−1
LiczbaU2 = −an−1 ∗ 2n−1 +
n−2
X
h
ai ∗ 2i ∈ −2n−1 , 2n−1 − 1
i=0
Przyklad
10001011U2 = −1 ∗ 27 + 1 ∗ 23 + 1 ∗ 21 + 1 ∗ 20 = −117
i
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
U2 - liczba przeciwna
Aby zamienić liczbe, w U2 na przeciwna, należy wykonać dwa kroki:
dokonać inwersji bitów, czyli zamienić 0 na 1 i odwrotnie
dodać do wyniku 1
Przyklad
57 = 00111001U2
Dokonujemy inwersji
11000110U2
Dodajemy 1:
11000111U2 = −1 ∗ 27 + 1 ∗ 26 + 1 ∗ 22 + 1 ∗ 21 + 1 ∗ 20 = −57
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
U2 - dodawanie liczb
traktujemy liczby jako zwykle liczby binarne (dodatnie),
dodajemy je, a wynik otrzymamy w kodzie U2
dodawanie odbywa sie, lacznie
z bitem znaku
,
Przyklad
11010001
+11100010
110110011
= 10110011
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Problem nadmiaru
wystepuje,
gdy wynik operacji
,
przekracza zakres reprezentacji
liczb
dodajac
, w U2 możemy go wykryć
przez sprawdzenie bitu znaku
wyniku
dodawanie dwóch liczb dodatnich
daje liczbe, ujemna,
dodawanie dwóch liczb ujemnych
daje liczbe, dodatnia,
Kodowanie danych
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Kod U1
Najbardziej znaczacy
, bit jest bitem znaku, ma (ujemna)
, wage,
równa, − 2n−1 − 1
LiczbaU1 = −an−1 ∗ 2
n−1
n−2
X
−1 +
h
ai ∗2i ∈ − 2n−1 − 1 , 2n−1 − 1
i=0
10001011U1 = −1 ∗ (27 − 1) + 1 ∗ 23 + 1 ∗ 21 + 1 ∗ 20 = −116
Liczbe, przeciwna, otrzymujemy przez inwersje, bitów
Przyklad
57 = 00111001U1
Dokonujemy inwersji
11000110U1 = −1 ∗ (27 − 1) + 1 ∗ 26 + 1 ∗ 22 + 1 ∗ 21 = −57
i
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Metody kodowania ulamków
275.34 czy
2.7534 ∗ 102
?
reprezentacja stalopozycyjna
zwykle dość ograniczony zakres
przy ustalonej calkowitej liczbie bitów wiekszy
zakres oznacza
,
arytmetyka może być realizowana za pomoca, dzialań
calkowitoliczbowych
reprezentacja wykladnicza (zmiennopozycyjna)
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Reprezentacja staloprzecinkowa
pozycyjny system liczbowy o dodatniej podstawie p
liczba kodowana w postaci
(L)p ≡ (an−1 , . . . , a1 , a0 , a−1 , . . . , a−m ) ≡ (CL UL )p
L=
n−1
X
i=−m
ai ∗ p i
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Reprezentacja zmiennoprzecinkowa
liczby kodowane w jednym slowie maszyny podzielonym na
trzy cześci:
,
znak liczby (zwykle 1 bit)
cześć
(zwykle najdluższa) zawierajaca
kod mantysy liczby i jej
,
,
znak
cześć
(zwykle kilkubitowa) zawierajaca
kod cechy liczby i jej
,
,
znak
Liczba = [znak]mantysa ∗ 2cecha
mantysa jest znormalizowana
0.5 ¬ |mantysa| ¬ 1
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Wlasności arytmetyki zmiennoprzecinkowej
nie jest laczna
,
(x + y ) + z 6= x + (y + z)
(x ∗ y ) ∗ z 6= x ∗ (y ∗ z)
nie jest rozdzielna
x ∗ (y + z) 6= (x ∗ y ) + (x ∗ z)
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Bledy
zaokragleń
i ich konsekwencje
,
,
Przedstawmy liczby zmiennopozycyjne ā, b̄ jako wartości dokladne
zaburzone bledem
reprezentacji
,
ā = a (1 + a )
b̄ = b (1 + b )
Wtedy bledy
wzgledne
operacji dokonywanych na liczbach ā i b̄
,
,
możemy oszacować nastepuj
aco
,
,
aa ± bb
+ ±
a±b
= a + b + ∗
a±b =
a∗b
a/b = a − b + /
gdzie ± , ∗ , / to bledy
wprowadzane przez poszczególne operacje
,
arytmetyczne
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Co to jest informacja?
Definicja
informacja: wiadomość, wieść, nowina, rzecz zakomunikowana,
zawiadomienie, komunikat; pouczenie, powiadomienie,
zakomunikowanie o czymś; dane; pokój, okienko, stanowisko, gdzie
sie, udziela informacji; (ilość informacji) miara wiedzy o jakimś
zdarzeniu, uzyskanej w wyniku przeprowadzenia określonego
eksperymentu; mat., cyber. miara braku entropii (nieokreśloności),
miara organizacji systemu; (i. genetyczna, dziedziczna) biol. zapis
genetycznych wlaściwości organizmu zawarty w czasteczkach
DNA
,
każdej komórki.
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Informatyka a teoria informacji
Definicja
informatyka: techniki i metody przetwarzania informacji; dyscyplina
nauki i techniki zajmujaca
sie, org. powstawania i przebiegu
,
informacji, technologia, i metodyka, jej przeksztalcania, zwl. za
pomoca, techniki obliczeniowej; nauka o komputerach; polaczenie
,
informacji z automatyka,
Definicja
teoria informacji: dyscyplina mat. badajaca,
jaka ilość informacji
,
zawiera sie, w pewnym zbiorze wiadomości (np. w zdaniu, ksiażce,
,
obrazie TV, zapisie kodowym), a także analizujaca
procesy
,
przekazywania informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Twierdzenie Shannona
Twierdzenie
Wiadomość (znak, zdarzenie) zawiera tym
wiecej
informacji, im mniejsze jest
,
prawdopodobieństwo jej wystapienia
,
im wieksze
jest prawdopodobieństwo
,
wyniku dla zdarzenia, tym mniejsza, ilość
informacji otrzymuje sie, w zwiazku
z jego
,
zaistnieniem
im mniej prawdopodobny byl wynik
zdarzenia, tym wiecej
informacji zawiera
,
wiadomość o jego zaistnieniu
Elementy teorii informacji
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Miara informacji
informacja jest ciag
, la,
, nieujemna,
, monotonicznie rosnac
, a,
funkcja, odwrotności prawdopodobieństwa
informacja o niezależnym wystapieniu
dwóch wiadomości o
,
prawdopodobieństwach pi i pk powinna być suma,
poszczególnych informacji o wystapieniu
każdej z wiadomości
,
informacja wynikajaca
ze zdarzenia pewnego jest zerowa
,
I (p) = −loga p
Wybór a = 2 prowadzi do pomiaru ilości informacji w bitach.
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Entropia
Definicja
Niech zdarzenie Y może przynieść k różnych wyników {Yi }. Niech
prawdopodobieństwo wyniku Yi wynosi P(Yi ). Wielkość H(Y )
zdefiniowana, jako
H(Y ) = −
k
X
P(Yi )log (P(Yi ))
i=1
nazywamy entropia, zdarzenia Y . Entropia zdarzenia stanowi miare,
oczekiwanej nieokreśloności zdarzenia
im bardziej równomierny rozklad prawdopodobieństw wyników
tym wieksza
entropia
,
im wiecej
możliwych wyników tym wieksza
entropia
,
,
Informacje o kursie
Reprezentacja i typy danych
Systemy liczbowe
Kodowanie danych
Elementy teorii informacji
Istotne pojecia
i obszary zastosowań
,
Centralne w teorii informacji bed
, a, zagadnienia dotyczace
,
laczy
informacyjnych
,
kodowania znaków
odleglości informacyjnych
Teoria informacji znajduje zastosowania przede wszystkim w
telekomunikacji, w szczególności w problematyce transmisji,
kompresji i kryptografii. Istnieje jednak też na przyklad
komunikacyjna teoria wiazania
chemicznego.
,