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. ,