CTW, Algorytmy specjalizowane cz. 2
|
|
- Irena Kaczmarek
- 7 lat temu
- Przeglądów:
Transkrypt
1 CTW, Algorytmy specjalizowane cz. 2 Algorytmy kompresji danych Sebastian Deorowicz
2 Plan wykładu CTW 1 CTW 2 3
3 CTW (ang. Context Tree Weighting) Opis Algorytm CTW opublikowany w latach roku przez Willemsa, Shtarkova i Tjalkensa Jeden z nowszych algorytmów kompresji ogólnego przeznaczenia Dla chętnych w miarę przystępny opis szczegółów CTW: RESEARCH_files/CTW/reflections.ps
4 Frans M. J. Willems Internet: _NewJersey/dscn5794.jpg Ważne daty 1993 Współtwórca algorytmu CTW
5 PPM a CTW CTW PPM Prawdopodobieństwo wystąpienia symbolu wyznaczane jest w kontekście pewnego maksymalnego rzędu d Jeśli w tym kontekście symbol jeszcze nie wystąpił, to kodowany jest symbol wyjścia, zmniejszany jest rząd i procedura powtarza się CWT Prawdopodobieństwo wystąpienia symbolu wyznaczane na podstawie statystyk dla wszystkich kontekstów rzędów od 0 do d Oryginalny algorytm działa dla sekwencji binarnej
6 PPM a CTW CTW PPM Prawdopodobieństwo wystąpienia symbolu wyznaczane jest w kontekście pewnego maksymalnego rzędu d Jeśli w tym kontekście symbol jeszcze nie wystąpił, to kodowany jest symbol wyjścia, zmniejszany jest rząd i procedura powtarza się CWT Prawdopodobieństwo wystąpienia symbolu wyznaczane na podstawie statystyk dla wszystkich kontekstów rzędów od 0 do d Oryginalny algorytm działa dla sekwencji binarnej
7 Wyznaczanie prawdopodobieństw w algorytmie CTW Algorytm Wyznacz prawdopodobieństwo wystąpienia symbolu w bieżącym kontekście rzędu 0 jako średnią ważoną prawdopodobieństw wyznaczonych na podstawie statystyk dla tego rzędu i wyznaczonego prawdopodobieństwa dla rzędu 1 Prawdopodobieństwo dla rzędu 1 wyznacz jako średnią ważoną prawdopodobieństwa na podstawie statystyk dla rzędu 1 i wyznaczonego prawdopodobieństwa dla rzędu 2 Postępuj podobnie aż do rzędu d, dla którego prawdopodobieństwo wyznacza się tylko na podstawie statystyk występowania symboli dla tego rzędu
8 Jak kompresować dane nie-binarne? Dekompozycja Dane należy przekształcić na ciąg bitów Możliwe są tu różne sposoby, np.: kompresujemy kolejno wszystkie bity kiepskie wyniki tworzymy 8 niezależnych modeli (dla każdej pozycji w bajcie); kontekst można wyznaczać np. tak: kontekstem są tylko bity z tej pozycji w bajcie z ostatnich d bajtów (zwykle d 20) kontekstem są wszystkie bity z poprzednich bajtów i zakodowane już bity z bieżącego bajta
9 CTW wyniki praktyczne Współczynnik kompresji Gorszy o kilka-kilkanaście procent od PPMonstr a także gorszy od najlepszych algorytmów opartych na BWT Prędkość Wolny a nawet bardzo wolny kilkadziesiąt KB/s na współczesnych komputerach
10 Plan wykładu CTW 1 CTW 2 3
11 Kompresja plików XML Pliki XML Nowoczesny format służący do przechowywania i wymiany danych Dane najczęściej przechowywane w postaci tekstowej Zestaw znaczników opisujących dane nie jest ustalony przez standard a użytkownicy mogą swobodnie stosować własne znaczniki Znaczniki tworzą zagnieżdżoną strukturę, a dokument można przedstawić jako pojedyncze drzewo
12 Pliki XML przykład <Line> <PKey>15</PKey> <SKey>1</SKey> <Count>1</Count> <Qty>25</Qty> <Price> </Price> <Discount>0.09</Discount> <Tax>0.05</Tax> <RFlag>A</RFlag> <Status>F</Status> <SDate> </SDate> <CDate> </CDate> <RDate> </RDate> <SI>COLLECT COD</SI> <SM>MAIL</SM> <Comment>hAwAxxiNP6nz7jQkhyNQnjB5yn</Comment> </Line>
13 Kompresja XML CTW Gdzie tu jest redundancja? Prawie wszystkie znaczniki otwierające mają znaczniki zamykające Teksty zwykle w języku naturalnym Wiodące spacje zwykle odzwierciedlają poziomy zagnieżdżenia Pola numeryczne zapisywane tekstowo; często są one podobne w kolejnych rekordach Daty zapisywane tekstowo, dodatkowo bardzo często daty się powtarzają albo różnią się tylko nieznacznie
14 Kompresja XML CTW Istniejące algorytmy, cz. 1 Algorytmy ogólnego przeznaczenia dają całkiem dobre wyniki, ale nie wykorzystują one wiedzy o strukturze plików XML XMill (Liefke i Suciu, 2000) rozdziela dokument na trzy oddzielnie kompresowane strumienie: nazwy znaczników i atrybutów tekst układ struktury
15 Kompresja XML CTW Istniejące algorytmy, cz. 2 XMLPPM (Cheney, 2001) specjalizowana wersja PPMa używająca czterech osobnych modeli dla kompresji różnych części dokumentu (np. znaczników, tekstu) XWRT (Swacha, Grabowski, Skibiński, 2006) preprocesing dokumentu, którego główna idea polega na zamianie najczęstszych słów na kody ze słownika (stworzonego we wstępnym przebiegu) Specjalna wersja transformaty BWT dla plików XML (Ferragina, 2006)
16 Kompresja XML przykładowe dane Plik Rozmiar [MB] Elementy Atrybuty Max. głęb. DBPL NASA SwissPr Pliki DBPL dane bibliograficzne o pracach naukowych NASA dane astronomiczne SwissPr dane o strukturach białkowych
17 Kompresja XML przykładowe wyniki (w bpc) 1 Algorytm DBPL NASA SwissPr bzip PPMd zip XMill+bzip XMill+PPMd XMLPPM XWRT+bzip XWRT+PPMd XWRT+zip Wyniki za Sz. Grabowski, prywatna komunikacja
18 Kompresja baz danych Czy jest potrzebna? Bazy danych osiągają ogromne rozmiary wniosek: jest bardzo potrzebna! Uwaga Różne bazy danych przechowywane są w różnych formatach wniosek: więcej pracy dla informatyków :-)
19 Kompresja baz danych Czy jest potrzebna? Bazy danych osiągają ogromne rozmiary wniosek: jest bardzo potrzebna! Uwaga Różne bazy danych przechowywane są w różnych formatach wniosek: więcej pracy dla informatyków :-)
20 Kompresja baz danych Możliwe podejścia Stawiamy na maksymalny współczynnik kompresji np. przy archiwizacji Stawiamy na dobry współczynnik kompresji przy zachowaniu swobody dostępu do danych np. dla danych rzadko używanych, ale takich, które jednak muszą być dostępne w miarę szybko
21 Kompresja baz danych przykładowa tabela Imię Nazwisko Data ur. Wzrost Miasto Płeć Jan Kowalski Gliwice M Joachim Nowak Bytom M Karolina Banach Gliwice K Zofia Zielna Zabrze K Tadeusz Żółtko Skoczów M Joanna Malinowska Łódź K Sonia Janik Mysłowice K Stefan Nowakowski Radzionków M Anna Kalinowska Katowice K Roman Polny Zabrze M Monika Tuszyńska Zabrze K Gizela Sroka Katowice K Tadeusz Tyczka Zabrze M Anna Złotopolska Warszawa K
22 Kompresja baz danych Gdzie tu jest redundancja? Dane przechowywane jako zbiory rekordów W każdym rekordzie te same typy pól tabela ma określoną strukturę Pola niektórych typów, np. liczbowych, daty, mogą być przechowywane w postaci tekstowej Wartości w polach daty kolejnych rekordów często nie różnią się od siebie za bardzo Często istnieją silne korelacje pomiędzy wartościami pól numerycznych w kolejnych rekordach Pola tekstowe często zawierają sporo spacji kończących (pole jest stałej długości)
23 Kompresja baz danych Przykładowa idea Bazę danych przekształcamy z zapisu wierszami na zapis kolumnami nie mieszają się wtedy pola numeryczne z tekstowymi itp. Daty kodujemy przyrostowo i binarnie a nie tekstowo Pola numeryczne kodujemy binarnie i ew. także przyrostowo Przekształconą tabelę kompresujemy z użyciem jednego ze znanych uniwersalnych algorytmów Można rozbić bazę danych na kilka plików (np. według typów kolumn) i kompresować każdy z plików osobno
24 Plan wykładu CTW 1 CTW 2 3
25 Dwa podejścia 1 Kompresja pliku wykonywalnego w celu archiwizacji 2 Kompresja pliku wykonywalnego do postaci, która da się uruchamiać
26 Kompresja EXE do archiwum Idea Programy wykonywalne mają określoną strukturę Można przeprowadzić deasemblację kodu binarnego w celu lepszej analizy pliku Instrukcje procesora mają przypisane konkretne kody binarne można próbować to jakoś wykorzystać
27 Kompresja EXE do pliku wykonywalnego Idea Plik wykonywalny składa się z: krótkiego (kilkaset bajtów kilka kilobajtów) nagłówka, który jest programem dekompresującym w locie skompresowanego oryginalnego pliku wykonywalnego Po uruchomieniu program dekompresujący odtwarza oryginalny program, który jest następnie uruchamiany Dekompresja musi być szybka, ale użytkownik nie odczuwał dyskomfortu
28 Kompresja EXE do pliku wykonywalnego Po co taka kompresja? Mniejsze pliki wykonywalne, które jednak mogą być uruchamiane Czasami uruchomienie takiego pliku jest szybsze niż oryginalnego, jeśli medium, z którego jest on uruchamiany jest wolne, np. dyskietka Można uruchamiać program bez jego dekompresji (sam w locie się dekompresuje)
29 Kompresja EXE do pliku wykonywalnego Jedna z istniejących realizacji UPX ( wydajny kompresor oferujący bardzo szybką dekompresję i bardzo dobry współczynnik kompresji
30 Plan wykładu CTW 1 CTW 2 3
31 Po co taka kompresja? Ogromne ilości danych biologicznych Bazy danych biologicznych rosną w bardzo szybkim tempie
32 Cechy DNA Alfabet 4-znakowy (zasady): A (adenina), C (cytozyna), G (guanina), T (tymina) Cechy białek Alfabet 20-znakowy (aminokwasy): A (alanina), C (cysteina), D (kwas asparaginowy), E (kwas glutaminowy), F (fenyloalanina), G (glicyna), H (histydyna), I (izoleucyna), K (lizyna), L (leucyna), M (metionina), N (asparagina), P (prolina), Q (glutamina), R (arginina), S (seryna), T (treonina), V (walina), W (tryptofan), Y (tyrozyna)
33 Cechy DNA Alfabet 4-znakowy (zasady): A (adenina), C (cytozyna), G (guanina), T (tymina) Cechy białek Alfabet 20-znakowy (aminokwasy): A (alanina), C (cysteina), D (kwas asparaginowy), E (kwas glutaminowy), F (fenyloalanina), G (glicyna), H (histydyna), I (izoleucyna), K (lizyna), L (leucyna), M (metionina), N (asparagina), P (prolina), Q (glutamina), R (arginina), S (seryna), T (treonina), V (walina), W (tryptofan), Y (tyrozyna)
34 Struktura DNA i białek Inny typ redundancji niż zakładany przez klasyczne algorytmy Klasyczne algorytmy działają kiepsko
35 Redundancja w DNA Łańcuchy DNA zawierają niewiele powtórzeń, ale powtórzenia te są zwykle długie a nawet bardzo długie Powtórzenia często występują w bardzo odległych miejscach (nie ma lokalności jak w tekstach) Zasady A i T oraz C i G tworzą pary Często zdarzają się w łańcuchach powtórzenia odwrócone, w których zasady są zamienione, tj. za A jest T a za C jest G, np. AACTGT ACAGTT Powtórzenia są długie ale często zawierają drobne błędy (wynik rozmaitych mutacji)
36 Istniejące algorytmy BioCompress2 (Grumbach, Tahi, 1994) GenCompress-2 (Chen i in., 2000) DNACompress (Chen i in., 2002) MR2004 (Manzini Rastero, 2004) szybkie AN2006 (Adjeroh Nan, 2006) nowość
37 Czy naprawdę warto? Wyniki dla DNA są na poziomie bita/znak (tylko sporadycznie jest istotnie lepiej) zważywszy na to, że 4-znakowy alfabet wymaga 2.0 bita/znak bez żadnej kompresji nie jest to osiągnięcie rewelacyjne Wyniki dla białek są na poziomie bita/znak bez kompresji białka wymagają 4.32 bita/znak
38 Plan wykładu CTW 1 CTW 2 3
39 Kompresja różnicowa Sytuacja 1 Istnieją różne wersje tego samego pliku, np. na komputerze firmowym wersja aktualna, a na komputerze domowym starsza Chcemy uaktualnić wersję domową do wersji nowej, a prędkość łącza nie zwala z nóg Sytuacja 2 Rozprowadzamy uaktualnienie oprogramowania Uaktualnienie polega na podmianie części plików na nowe wersje, które jednak tylko nieznacznie różnią się od wersji poprzednich Chcemy zminimalizować rozmiar uaktualnienia, żeby użytkownicy mogli wygodnie i szybko ściągnąć dane
40 Kompresja różnicowa Sytuacja 1 Istnieją różne wersje tego samego pliku, np. na komputerze firmowym wersja aktualna, a na komputerze domowym starsza Chcemy uaktualnić wersję domową do wersji nowej, a prędkość łącza nie zwala z nóg Sytuacja 2 Rozprowadzamy uaktualnienie oprogramowania Uaktualnienie polega na podmianie części plików na nowe wersje, które jednak tylko nieznacznie różnią się od wersji poprzednich Chcemy zminimalizować rozmiar uaktualnienia, żeby użytkownicy mogli wygodnie i szybko ściągnąć dane
41 Kompresja różnicowa Obserwacje Dwie wersje plików różnią się tylko nieznacznie Obie strony dysponują starszą wersją pliku, więc zamiast przesyłać cały plik można przesłać tylko różnice Problem Jak to zrobić?
42 Kompresja różnicowa Obserwacje Dwie wersje plików różnią się tylko nieznacznie Obie strony dysponują starszą wersją pliku, więc zamiast przesyłać cały plik można przesłać tylko różnice Problem Jak to zrobić?
43 Kompresja różnicowa Metoda Do kompresji różnicowej świetnie nadają się algorytmy z rodziny Ziva Lempela Algorytm kompresji pracuje na dwóch plikach: starym i nowym Kompresowany jest tylko nowy plik w następujący sposób: Dla bieżącej pozycji w nowym pliku wyszukaj najdłuższe powtórzenie zarówno w całym starym pliku jak i w zakodowanym już fragmencie nowego pliku Zakoduj informacje o powtórzeniu Odbiorca (dekompresor) zna stary plik, więc nie będzie miał problemu z odkodowaniem takiej sekwencji
44 Kompresja różnicowa Czy to takie proste? Jeśli pliki są małe to tak Jeśli pliki są duże, to oczywiście w nowym pliku wyszukujemy dopasowania tylko w oknie o rozmiarze np. 32 KB Problemem może być stary plik, bo tam też powinniśmy przesuwać okno niestety nie jest oczywiste jak je przesuwać Istnieją różne heurystyki przesuwania okna w starym pliku
45 Kompresja różnicowa wyniki eksperymentalne Algorytmy vcdiff (Hunt i in., 1998) xdelta (MacDonald, 2000) zdelta (Trendafilov i in., 2002) Dane testowe gcc i gcc emacs i emacs 19.29
46 Kompresja różnicowa wyniki eksperymentalne 2 Algorytm Rozmiar gcc [KB] Rozmiar emacs [KB] Bez kompresji gzip zdelta Wyniki z K. Sayood, Lossless Compression Handbook, 2003
47 Zdalna synchronizacja plików Problem Dysponujemy jakąś wersją pliku Serwer dysponuje najnowszą wersją pliku Chcemy uaktualnić naszą wersję pliku do wersji, która znajduje się na serwerze Serwer nie dysponuje naszą wersją pliku, bo samodzielnie ją edytowaliśmy
48 Zdalna synchronizacja plików Obserwacje Duże części naszej wersji pliku i wersji serwera są identyczne Identyczne fragmenty mogą być przesunięte względem siebie (występują w różnych miejscach w plikach) Serwer nie zna naszej wersji pliku
49 Zdalna synchronizacja plików Algorytm 1 Klient dzieli swój plik na bloki rozmiaru rzędu kilkudziesięciu kilkuset KB 2 Klient dla każdego z bloków oblicza sumę kontrolną 3 Klient wysyła sumy kontrolne do serwera 4 Serwer wyszukuje w swojej wersji pliku takie miejsca, które mają identyczne sumy kontrolne 5 Serwer wysyła informacje o różnicach i nowe fragmenty pliku 6 Klient uaktualnia swoją wersję pliku
50 Zdalna synchronizacja plików wyniki eksperymentalne 3 Algorytm Rozmiar gcc [KB] Rozmiar emacs [KB] Bez kompresji gzip zdelta rsync (skompresowany) Wyniki z K. Sayood, Lossless Compression Handbook, 2003
51 Kompresja zdalnych sesji graficznych Sytuacja Pracujemy zdalnie na oddalonym komputerze np. za pomocą Podłączania pulpitu zdalnego Łącze jest stosunkowo wolne a chcemy pracować graficznie Jeden ekran komputera w rozdzielczości to ok. 2.25MB Wygodna praca wymaga przesyłania kilku takich ekranów na sekundę Kto ma łącze 10MB/s?
52 Kompresja zdalnych sesji graficznych Gdzie tu jest redundancja? Zwykle mało się zmienia na ekranie w krótkim czasie można przesyłać tylko na początku pełny ekran, a później tylko różnice, np. wynik operacji xor na kolejnych ekranach Okna aplikacji zawierają zwykle tylko kilkanaście kilkadziesiąt różnych kolorów nie potrzeba przesyłać 24bitów/piksel Sąsiednie piksele bardzo często są identyczne
53 Kompresja zdalnych sesji graficznych Czy to takie proste? Jeśli użytkownik przesuwa okno, to wynik po xor będzie całkiem duży można jednak każde okno przesyłać niezależnie Pulpit może być skomplikowanym obrazkiem można pulpit przesłać tylko raz i nakładać na niego przesyłane okna Nawet pierwsze przesłanie pulpitu może długo trwać na wolnym łączu można zrezygnować z przesyłania pulpitu (może użytkownik się pogodzi z tym dyskomfortem?)
54 Kompresja zdalnych sesji graficznych Co jeszcze można? Często użytkownik będzie na tyle zadowolony, że ma zdalny dostęp, że pewne niedogodności zaakceptuje Przykładowo można ograniczyć paletę kolorów do 256 na zdalnym pulpicie Przesyłane dane można (należy!) dodatkowo kompresować jakimś algorytmem
55 Kompresja specjalizowana Czy to już wszystkie możliwości? Zdecydowanie nie! W zasadzie wszystkie algorytmy kompresji obrazów, dźwięków, sekwencji wideo są algorytmami specjalizowanymi W szczególności specjalizowane muszą być algorytmy kompresji stratnej, ale o tym już na kolejnych wykładach...
56 P1 Kompresor plików w formacie.dbf (2 osoby) Idea Przeanalizować nagłówek pliku.dbf Kompresja kolumnami a nie wierszami (większe podobieństwa) Różne metody kompresji pól różnych typów: tekstowe np. LZSS + RangeCoder logiczne wprost RangeCoder numeryczne binarnie i ew. RangeCoder (pola numeryczne zapisane znakowo!) daty binarnie (pola daty zapisane znakowo!) Można zmienić kolejność kolumn Możliwe, że kodowanie różnic pomiędzy polami (np. daty) pomoże
57 P2 Kompresja pliku w formacie.dbf z zachowaniem dostępu swobodnego do rekordów (2 osoby) Idea Każdy rekord musi być zakodowany niezależnie od pozostałych: oprócz zakodowanych rekordów skompresowane dane winny zawierać, wspólny dla wszystkich rekordów, opis ich charakterystyki (np. słownik dla pól tekstowych) na podstawie którego poszczególne rekordy kodowane są niezależnie, ponieważ rekordy będą miały różne długości, konieczne będzie utworzenie indeksu (tablicy offsetów początków poszczególnych rekordów w pliku)
58 P2 Kompresja pliku w formacie.dbf z zachowaniem dostępu swobodnego do rekordów (2 osoby) Idea Operacja modyfikacji rekordu może zmienić jego rozmiar (w postaci skompresowanej): w takim przypadku należy umieścić go na końcu pliku, a jego poprzednią lokalizację oznaczyć jako puste miejsce (lub umieścić w wystarczająco dużym pustym miejscu pozostałym po innym rekordzie) zatem należy przechowywać również indeks/listę pustych miejsc w sposób podobny, jak wyżej, realizujemy usunięcie rekordu zaimplementować operację przebudowy skompresowanego pliku, która polegać będzie na usunięciu pustych miejsc; taka przebudowa powinna być wykonywana na żądanie oraz ewentualnie w sytuacji, gdy puste miejsca zajmują ponad (np.) 10% skompresowanego pliku W danych wspólnych dla wszystkich rekordów konieczna jest okresowa aktualizacja tych danych można ją przeprowadzać co n dodanych rekordów oraz łącznie z przebudową pliku
59 P3 Kompresja pliku w formacie.ini z zachowaniem dostępu swobodnego do sekcji i kluczy (1 osoba) Idea Temat bardzo podobny do tematu P2
60 P4 Klasa skompresowanego stringa (1 lub 2 osoby) Wymagania Opracować klasę packedstring funkcjonalnie odpowiadającą klasie string z biblioteki standardowej języka C++, ale potrafiącą wewnętrznie przechowywać łańcuch w postaci skompresowanej. Klasa packedstring przeznaczona jest do zastosowania tam, gdzie prawie wszystkie operacje na łańcuchach to operacja przypisania i operacje we/wy realizowane na całym łańcuchu oraz dopisywanie na końcu łańcucha innego łańcucha lub pojedynczego znaku. Można przyjąć, że typowy rozmiar łańcucha jest odpowiednio duży (kilkaset znaków).
61 P4 Klasa skompresowanego stringa (1 lub 2 osoby) Idea Rozwiązanie można zrealizować w oparciu o kodowanie słownikowe LZSS (ewentualnie LZSS + koder arytmetyczny ze stałym modelem) Przy dopisaniu, na końcu łańcucha, nowego znaku lub łańcucha, kompresja będzie efektywniejsza, jeżeli cofniemy się do początku ostatnio zakodowanej frazy i spróbujemy czy teraz nie znajdzie się dłuższa fraza (można również koniec łańcucha kodować z opóźnieniem) Poniżej pewnej granicznej długości łańcucha kompresja jest nieefektywna, więc klasa packedstring winna krótkie łańcuchy przechowywać nie skompresowane klasa powinna obsługiwać również pozostałe typowe operacje na łańcuchach (w tym np. swobodne indeksowanie znaków łańcucha, metodę c str(), itp.) niektóre takie operacje wymagać będą przejścia na nie skompresowaną reprezentację łańcucha i pozostawienia łańcucha w takiej postaci (np. spakowany napis[20]= a ); klasa powinna mieć metodę wymuszenia wewnętrznej reprezentacji skompresowanej lub nie
62 P5 Klasa C++ reprezentująca archiwum ZIP (2 osoby) Idea Standard formatu ZIP dopuszcza dwa algorytmy kompresji, które są implementowane za pomocą poznanych bibliotek: zlib oraz libbzip2 (patrz pierwsze laboratorium) Tematem projektu jest wykorzystanie obu tych bibliotek do stworzenia klasy języka C++ reprezentującej archiwum ZIP
63 P5 Klasa C++ reprezentująca archiwum ZIP (2 osoby) Wymagania Wymagane metody: Create utworzenie pustego archiwum Open otwarcie archiwum Close zamknięcie archiwum ListContents zwrócenie listy plików (do listy) GetHeader zwrócenie nagłówka konkretnego pliku z archiwum AddFile dodanie pliku do archiwum z kompresją (tu się ustala parametry kompresji) AddFileRaw dodanie do archiwum pliku skompresowanego (przydaje się kiedy trzeba przenosić plik z archiwum do archiwum np. przy wyrzucaniu niektórych plików, bądź zastępowaniu nową wersją) GetFile dekompresja pliku z archiwum GetFileRaw zwrócenie z archiwum pliku skompresowanego Klasa powinna także umożliwiać podpięcie przez użytkownika własnego paska postępu (np. poprzez odziedziczenie po jakiejś klasie bazowej) i własnej obsługi błędów
64 P6 Klasa C++ reprezentująca automat przechowujący leksykon (2 osoby) Wymagania Źródła automatu reprezentującego leksykon są dostępne na stronie Należy te źródła przerobić na C++ i dodać funkcjonalność zapisu automatu na dysk w postaci jeszcze bardziej skompresowanej (możliwy jest stopień kompresji 2:1 a nawet trochę więcej) Do kompresji należy wykorzystać RangeCoder Struktura wewnętrzna automatu Automat przechowywany jest wewnętrznie w postaci tablicy Tablica ta zawiera w kolejnych komórkach krawędzie Kilka (od 1 do kilkudziesięciu) kolejnych krawędzi opisuje jeden węzeł Każdy węzeł kończy się krawędzią, która ma ustawiony bit (znacznik)
65 P6 Klasa C++ reprezentująca automat przechowujący leksykon (2 osoby) Idea Znaczniki końca węzła są ustawione w większości krawędzi na 0, a tylko w tych kończących węzeł na 1 Znaczniki terminalności rzadziej są ustawione na 0 niż na 1 Krawędzie w węźle ułożone są w porządku alfabetycznym (w wersji podstawowej automatu), tj. kontekstem symbolu może być poprzedni symbol Adresy zawsze wskazują na niższe pozycje w tablicy Adres jest potencjalnie liczbą z zakresu [0, ], więc należy go efektywnie kodować
66 P7 Porównanie kilku implementacji kodowania arytmetycznego (1 lub 2* osoby) Wymagania Przeprowadzić porównanie kilku publicznie dostępnych implementacji algorytmu kodowania arytmetycznego, porównywane implementacje ocenić pod względem: uzyskiwanych współczynników kompresji: dla rzeczywistych danych (np. korpusu Calgary) i prostego modelu danych (np. adaptacyjnego probabilistycznego modelu 1 rzędu, własnego lub gotowego); należy porównać wyniki pomiędzy różnymi implementacjami oraz porównać je z efektywnością idealnego kodera arytmetycznego (mierzoną dla użytego modelu danych tak, jak na ćwiczeniu 2) (*) oraz dla danych wygenerowanych przez kilka samodzielnie zaimplementowanych modeli źródeł o znanych entropiach prędkości kodowania i dekodowania (w miarę możliwości prędkości wyznaczyć dla kodowania, a nie kodowania i modelowania; można to zrealizować mierząc czasy (a) modelowania i kodowania oraz (b) tylko modelowania), łatwości użycia i jakości dokumentacji
67 P8 Porównanie algorytmów LZSS i LZW w zastosowaniu do kompresji dysku (1 osoba) Wymagania Przeprowadzić porównanie algorytmów LZSS i LZW (lub odmiany LZW-AP, tj. takiej, w której po zakodowaniu nowej frazy, do słownika wstawiamy nie tylko poprzednią frazę z dopisanym pierwszym znakiem nowej, ale też frazy złożone z poprzedniej frazy i wszystkich pref. nowej) Algorytmy testujemy w zastosowaniu do kompresji dysku (tj. tak, aby zachowana była możliwość częściowo swobodnego odczytu zakodowanych danych), co realizujemy następująco: skompresowane dane zapisujemy w klastrach o rozmiarze np. 4KB każdy, przy czym każdy klaster może zostać odkodowany niezależnie od pozostałych dla nas oznacza to, iż każdorazowo gdy rozmiar zakodowanych danych osiąga granicę klastra reinicjalizujemy słownik i kolejne dane kodujemy niezależnie od poprzednich aby dostęp był faktycznie swobodny, do zakodowanych danych powinniśmy dołączyć mapę/indeks z informacją jakim offsetom nieskompresowanego pliku odpowiadają początki kolejnych klastrów
68 P9 Algorytm kompresji oparty na transformacie Burrowsa Wheelera (2 osoby) Wymagania Zaimplementować algorytm kompresji oparty na transformacie Burrowsa Wheelera. Algorytm powinien składać się z następujących etapów: transformata Burrowsa Wheelera dowolna implementacja algorytmu sortowania, może być nawet qsort z języka C; trzeba tylko pamiętać aby nie przechowywać całej macierzy a tylko indeksy pozycji startowych transformata MTF w zupełności wystarcza tu naiwna implementacja, tj. utrzymujemy posortowaną tablicę i wyszukujemy symbol zawsze od początku, po czym przesuwamy go w tej tablicy na początek RangeCoder sposób modelowania można wybrać dowolny: jeden z omówionych na wykładzie bądź dowolny własny Otrzymany algorytm przetestować dla korpusu Calgary i porównać uzyskiwane współczynniki kompresji a także czas przynajmniej z bzip2 oraz gzip
69 P10 Algorytm kompresji różnicowej (2 osoby) Wymagania Opracować i zaimplementować algorytm kompresji różnicowej oparty na algorytmie LZSS Problem przesuwania okna w starej wersji pliku można rozwiązać na kilka sposobów: założyć, że najdłuższe znalezione dopasowania dla bieżącej pozycji w plikach starym i nowym wyznaczają punkt synchronizacji wyszukiwać w całym starym pliku wtedy trzeba odpowiednio zmodyfikować zapis dopasowania, aby były obsługiwane duże wartości. Pierwszy symbol trójek/par z algorytmu LZSS powinien mieć tu 3 wartości: brak dopasowania, dopasowanie w nowym pliku, dopasowanie w starym pliku. Opisy dopasowania w starym i nowym pliku mogą być kodowane w osobnych kontekstach dla poprawy współczynnika kompresji Przetestować program na kolejnych wersjach kilku (może być 2) dużych plików. Porównać współczynniki kompresji z osiąganymi przez algorytmy uniwersalne
70 P11 Kompresja plików XML (2 osoby) Wymagania Opracować i zaimplementować algorytm kompresji plików XML oparty na preprocesingu. Należy wykorzystać omówione na wykładzie przykłady redundancji w tych plikach Przetestować program na kilku plikach XML i porównać go z innymi znanymi algorytmami specjalizowanymi oraz z algorytmami uniwersalnymi
Tematy projektów Algorytmy Kompresji Danych (2006)
Tematy projektów Algorytmy Kompresji Danych (2006) Projekt nr 1 Temat: Kompresor plików w formacie.dbf Opracować algorytm kompresji plików w formacie.dbf. W algorytmie należy wykorzystać znajomość struktury
CTW, Algorytmy specjalizowane cz. 2
CTW, Algorytmy specjalizowane cz. 2 Algorytmy kompresji danych Sebastian Deorowicz 2009 04 23 Sebastian Deorowicz () AKD CTW, Algorytmy specjalizowane cz. 2 2009 04 23 1 / 69 Plan wykładu 1 CTW 2 Specjalizowane
AKD Metody słownikowe
AKD Metody słownikowe Algorytmy kompresji danych Sebastian Deorowicz 2009 03 19 Sebastian Deorowicz () AKD Metody słownikowe 2009 03 19 1 / 38 Plan wykładu 1 Istota metod słownikowych 2 Algorytm Ziva Lempela
Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk
Kompresja Kodowanie arytmetyczne Dariusz Sobczuk Kodowanie arytmetyczne (lata 1960-te) Pierwsze prace w tym kierunku sięgają początków lat 60-tych XX wieku Pierwszy algorytm Eliasa nie został opublikowany
Temat: Algorytm kompresji plików metodą Huffmana
Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik
Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.
Przetwarzanie i transmisja danych multimedialnych Wykład 5 Kodowanie słownikowe Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Przemysław
Kodowanie predykcyjne
Kodowanie i kompresja informacji - Wykład 5 22 marca 2010 Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie. Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie.
Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder
Algorytmy Kompresji Danych Laboratorium Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder 1. Zapoznać się z opisem implementacji kodera entropijnego range coder i modelem danych opracowanym dla tego
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy
wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK
wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy
Wprowadzenie. Algorytmy kompresji danych. Sebastian Deorowicz. Politechnika Śląska. Sebastian Deorowicz (PŚl) Wprowadzenie 2009 02 19 1 / 60
Wprowadzenie Algorytmy kompresji danych Sebastian Deorowicz Politechnika Śląska 2009 02 19 Sebastian Deorowicz (PŚl) Wprowadzenie 2009 02 19 1 / 60 Plan wykładu 1 Przedmiot Algorytmy Kompresji Danych Cel
ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ
ZESPÓŁ ABORATORIÓW TEEMATYKI TRANSPORTU ZAKŁAD TEEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POITECHNIKI WARSZAWSKIEJ ABORATORIUM Telekomunikacji Kolejowej INSTRUKCJA DO ĆWICZENIA NR 5 Kompresja danych
Instrukcja użytkownika
SoftwareStudio Studio 60-349 Poznań, ul. Ostroroga 5 Tel. 061 66 90 641 061 66 90 642 061 66 90 643 061 66 90 644 fax 061 86 71 151 mail: poznan@softwarestudio.com.pl Herkules WMS.net Instrukcja użytkownika
Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz
Algorytmy kompresji danych 2007 02 27 Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie definicja stowarzyszona ze zbiorem
Generatory pomocy multimedialnych
Generatory pomocy multimedialnych Storna 1 Instalacja generatorów oraz praca z generatorem puzzli, memory oraz grupowania.* *Projekt jest całkowicie finansowany z programu Kapitał Ludzki, III Wysoka jakoś
Podstawowe pojęcia. Teoria informacji
Kodowanie i kompresja informacji - Wykład 1 22 luty 2010 Literatura K. Sayood, Kompresja danych - wprowadzenie, READ ME 2002 (ISBN 83-7243-094-2) Literatura K. Sayood, Kompresja danych - wprowadzenie,
Krzysztof Kadowski. PL-E3579, PL-EA0312,
Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,
1 Kody Tunstalla Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 14.04.2005 Inne podejście: słowa kodowe mają ustaloną długość, lecz mogą kodować ciągi liter z alfabetu wejściowego o różnej
Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI
Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System
Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski
Kodowanie Huffmana Platforma programistyczna.net; materiały do laboratorium 24/5 Marcin Wilczewski Algorytm Huffmana (David Huffman, 952) Algorytm Huffmana jest popularnym algorytmem generującym optymalny
Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF
Krzysztof Leszczyński Adam Sosnowski Michał Winiarski Projekt UCYF Temat: Dekodowanie kodów 2D. 1. Opis zagadnienia Kody dwuwymiarowe nazywane często kodami 2D stanowią uporządkowany zbiór jasnych i ciemnych
Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania
Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami
System plików przykłady. implementacji
Dariusz Wawrzyniak Plan wykładu CP/M MS DOS ISO 9660 UNIX NTFS System plików (2) 1 Przykłady systemu plików (1) CP/M katalog zawiera blok kontrolny pliku (FCB), identyfikujący 16 jednostek alokacji (zawierający
WPROWADZENIE DO BAZ DANYCH
WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z
Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski
Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny
Architektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
Wykonawca systemu: Dr inż. Andrzej Łysko
Katedra Botaniki i Ochrony Przyrody Wydział Biologii Uniwersytetu Szczecińskiego ul. Wąska 13 71-415 Szczecin (91) 444 15 10 agnieszka.popiela@usz.edu.pl Wykonawca systemu: Dr inż. Andrzej Łysko Adresy
Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu
Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu
< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >
Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających
Kompresja sekwencji obrazów - algorytm MPEG-2
Kompresja sekwencji obrazów - algorytm MPEG- Moving Pictures Experts Group (MPEG) - 988 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et TélégraphieT
Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.
Bioinformatyka Ocena wiarygodności dopasowania sekwencji www.michalbereta.pl Załóżmy, że mamy dwie sekwencje, które chcemy dopasować i dodatkowo ocenić wiarygodność tego dopasowania. Interesujące nas pytanie
mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A
mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. KOMPRESJA ALGORYTMEM ARYTMETYCZNYM, GOLOMBA I RICE'A Idea algorytmu arytmetycznego Przykład kodowania arytmetycznego Renormalizacja
Formaty kompresji audio
Formaty kompresji audio Kompresja bezstratna Kompresja bezstratna zachowuje pełną informację o przebiegu sygnału dźwiękowego. Polega ona na sprytnej zmianie sposobu zapisu danych, dzięki czemu zapis jest
System plików przykłady implementacji
System plików przykłady implementacji Dariusz Wawrzyniak CP/M MS DOS ISO 9660 UNIX NTFS Plan wykładu System plików (2) Przykłady implementacji systemu plików (1) Przykłady implementacji systemu plików
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Kompresja danych kodowanie Huffmana. Dariusz Sobczuk
Kompresja danych kodowanie Huffmana Dariusz Sobczuk Plan wykładu Kodowanie metodą Shannona-Fano Kodowanie metodą Huffmana Elementarny kod Golomba Kod Golomba Kod Rice a kompresja danych 2 Efektywny kod
Pokaz slajdów na stronie internetowej
Pokaz slajdów na stronie internetowej... 1 Podpisy pod zdjęciami... 3 Publikacja pokazu slajdów w Internecie... 4 Generator strony Uczelni... 4 Funkcje dla zaawansowanych użytkowników... 5 Zmiana kolorów
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Kodowanie informacji
Tomasz Wykład 4: kodowanie słownikowe Motywacja Motywacje 1 kodowane dane nie tworza ciagu wartości niezależnych, rozkład prawdopodobieństwa zależy od symboli poprzedzajacych symbol kodowany; 2 pewne sekwencje
Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne
Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu
Program EWIDENCJA ODZIEŻY ROBOCZEJ INSTRUKCJA UŻYTKOWNIKA Przejdź do strony producenta programu
Program EWIDENCJA ODZIEŻY ROBOCZEJ INSTRUKCJA UŻYTKOWNIKA Przejdź do strony producenta programu http://www.jarsoft.poznan.pl/ 1. STRUKTURA PROGRAMU Program EWIDENCJA ODZIEŻY ROBOCZEJ jest aplikacją pracującą
Program EWIDENCJA ODZIEŻY ROBOCZEJ INSTRUKCJA UŻYTKOWNIKA Przejdź do strony producenta programu
Program EWIDENCJA ODZIEŻY ROBOCZEJ INSTRUKCJA UŻYTKOWNIKA Przejdź do strony producenta programu http://www.jarsoft.poznan.pl/ 1. STRUKTURA PROGRAMU Program EWIDENCJA ODZIEŻY ROBOCZEJ jest aplikacją wspierającą
Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając
Cyfrowe przetwarzanie i kompresja danych dr inż.. Wojciech Zając Wykład 7. Standardy kompresji obrazów nieruchomych Obraz cyfrowy co to takiego? OBRAZ ANALOGOWY OBRAZ CYFROWY PRÓBKOWANY 8x8 Kompresja danych
Podstawy Informatyki. Metody dostępu do danych
Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie
Zadanie projektowe nr 1
Zadanie projektowe nr 1 Badanie efektywności operacji dodawania (wstawiania), usuwania oraz wyszukiwania elementów w podstawowych strukturach danych Należy zaimplementować oraz dokonać pomiaru czasu działania
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład
Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.
Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego. Kandydat winien wykazać się wiedzą i umiejętnościami w zakresie: - korzystania z głównych
Instrukcja obsługi archiwów zabezpieczonych hasłem. ( na przykładzie oprogramowania 7-Zip )
Instrukcja obsługi archiwów zabezpieczonych hasłem. ( na przykładzie oprogramowania 7-Zip ) Do utworzenia zabezpieczonego archiwum użyjemy oprogamowania 7-Zip z paru powodów. Oprogramowanie to jest darmowym
Kodowanie predykcyjne
Studia Wieczorowe Wrocław, 27.03.2007 Kodowanie informacji Wykład 5 Kodowanie predykcyjne Idea: przewidujemy następny element ciągu i kodujemy różnicę między wartością przewidywaną i rzeczywistą, w oparciu
Kompresja sekwencji obrazów
Kompresja sekwencji obrazów - algorytm MPEG-2 Moving Pictures Experts Group (MPEG) - 1988 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie T et TélégraphieT
Haszowanie (adresowanie rozpraszające, mieszające)
Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy
Algorytmy sztucznej inteligencji
www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego
Systemy baz danych. mgr inż. Sylwia Glińska
Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania
3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:
Zadania-7 1. Opracować program prowadzący spis pracowników firmy (max.. 50 pracowników). Każdy pracownik opisany jest za pomocą struktury zawierającej nazwisko i pensję. Program realizuje następujące polecenia:
Złożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG
Założenia i obszar zastosowań KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Plan wykładu: Geneza algorytmu Założenia i obszar zastosowań JPEG kroki algorytmu kodowania obrazu Założenia: Obraz monochromatyczny
2017/2018 WGGiOS AGH. LibreOffice Base
1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,
PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P).
PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II DZIAŁ I: KOMPUTER W ŻYCIU CZŁOWIEKA. 1. Lekcja organizacyjna. Zapoznanie uczniów z wymaganiami edukacyjnymi i PSP. 2. Przykłady zastosowań komputerów
MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25
MS Excel 2007 Kurs zaawansowany Obsługa baz danych prowadzi: Dr inż. Tomasz Bartuś Kraków: 2008 04 25 Bazy danych Microsoft Excel 2007 udostępnia szereg funkcji i mechanizmów obsługi baz danych (zwanych
EXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.
Generatory pomocy multimedialnych
Generatory pomocy multimedialnych Storna 1 Praca z generatorem: parowanie, uzupełnianki, krzyżówki oraz testy.* *Projekt jest całkowicie finansowany z programu Kapitał Ludzki, III Wysoka jakoś systemu
Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++
Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania
1. Pliki i ich organizacja
1. Pliki i ich organizacja (1.1) Pojęcie pliku Dane bezpośrednio potrzebne procesorowi do wykonywania jego zadań są umieszczane w pamięci operacyjnej systemu. Jest to jednak pamięć ulotna i dane w niej
Kody Tunstalla. Kodowanie arytmetyczne
Kody Tunstalla. Kodowanie arytmetyczne Kodowanie i kompresja informacji - Wykład 3 8 marca 2010 Kody Tunstalla Wszystkie słowa kodowe maja ta sama długość ale jeden kod może kodować różna liczbę liter
Porównanie systemów zarządzania relacyjnymi bazami danych
Jarosław Gołębiowski 12615 08-07-2013 Porównanie systemów zarządzania relacyjnymi bazami danych Podstawowa terminologia związana z tematem systemów zarządzania bazami danych Baza danych jest to zbiór danych
WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA
WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA WSTĘP... 2 1 UWARUNKOWANIA TECHNICZNE... 2 2 UWARUNKOWANIA FORMALNE... 2 3 LOGOWANIE DO SERWISU... 2 4 WIDOK STRONY GŁÓWNEJ...
Maciej Piotr Jankowski
Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji
Wymagania Uczeń zna zasady bezpiecznej pracy z komputerem. Uczeń stosuje się do regulaminu szkolnej pracowni komputerowej.
I. EDUKACJA WCZESNOSZKOLNA 6 Uczeń samodzielnie wykonuje wszystkie zadania na lekcji, zadania dodatkowe. Jego wiadomości i umiejętności wykraczają poza te, które zawarte są w programie nauczania zajęć
Plan nauczania informatyki Opracował: mgr Daniel Starego
Obowiązuje od roku szkolnego 000/00 Plan nauczania informatyki Opracował: mgr Daniel Starego Szkoła podstawowa klasy IV VI Dział, tematyka L. godz. I rok II rok. TECHNIKA KOMPUTEROWA W ŻYCIU CZŁOWIEKA
sprowadza się od razu kilka stron!
Bazy danych Strona 1 Struktura fizyczna 29 stycznia 2010 10:29 Model fizyczny bazy danych jest oparty na pojęciu pliku i rekordu. Plikskłada się z rekordów w tym samym formacie. Format rekordujest listą
Technologia informacyjna
Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,
ZAGADNIENIA DO ZALICZENIA
Użytkowanie komputera: ZAGADNIENIA DO ZALICZENIA 2.1.1. Pierwsze kroki 2.1.1.1. Włączanie komputera. 2.1. Środowisko pracy 2.1.1.2. Procedura prawidłowego wyłączania komputera. 2.1.1.3. Procedura prawidłowego
Wymagania Uczeń zna zasady bezpiecznej pracy z komputerem. Uczeń stosuje się do regulaminu szkolnej pracowni komputerowej.
I. Kryteria oceniania zajęć komputerowych w klasach edukacji wczesnoszkolnej. 6 Uczeń samodzielnie wykonuje wszystkie zadania na lekcji, zadania dodatkowe. Jego wiadomości i umiejętności wykraczają poza
Bazy danych Karta pracy 1
Bazy danych Karta pracy 1 Bazy danych Karta pracy 1 1. Utwórz katalog Bazy danych służący do przechowywania wszelkich danych dotyczących kursu. 2. W katalogu Bazy danych stwórz podkatalog BD1 służący jako
FARA INTENCJE ONLINE. Przewodnik dla użytkownika programu FARA. Włodzimierz Kessler SIGNUM-NET
2018 FARA INTENCJE ONLINE Przewodnik dla użytkownika programu FARA Wersja 1.6, 10 lutego 2018 www.fara.pl Włodzimierz Kessler SIGNUM-NET 2018-02-10 Spis treści 1. Zanim zaczniesz... 2 1.1. Dla kogo przeznaczony
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
Wykonawca systemu: Dr inż. Andrzej Łysko
Katedra Taksonomii Roślin i Ochrony Przyrody Wydział Biologii Uniwersytetu Gdańskiego ul. Wita Stwosza 59, 80-308 Gdańsk (58) 523 61 59 katarzyna.wszalek-rozek@biol.ug.edu.pl Wykonawca systemu: Dr inż.
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności
Wiadomości. Instrukcja użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss
BANK OCHRONY ŚRODOWISKA S.A. ul. Żelazna 32 / 00-832 Warszawa tel.: (+48 22) 850 87 35 faks: (+48 22) 850 88 91 e-mail: bos@bosbank.pl Instrukcja użytkownika systemu bankowości internetowej dla firm Wiadomości
Polcode Code Contest PHP-10.09
Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania
Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
: idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
LZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe
Tomasz Wykład 5: kodowanie słownikowe Motywacja Motywacje 1 zazwyczaj dane nie tworza ciagu wartości niezależnych, kolejny symbol jest zależny od poprzedzajacych go; 2 pewne sekwencje (słowa) często się
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia.
Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia. Informacja o strukturze pliku, przekazywanego przez Bank dla Klienta za pośrednictwem systemu
Pojęcie systemu informacyjnego i informatycznego
BAZY DANYCH Pojęcie systemu informacyjnego i informatycznego DANE wszelkie liczby, fakty, pojęcia zarejestrowane w celu uzyskania wiedzy o realnym świecie. INFORMACJA - znaczenie przypisywane danym. SYSTEM
Bioinformatyka Laboratorium, 30h. Michał Bereta mbereta@pk.edu.pl www.michalbereta.pl
Laboratorium, 30h Michał Bereta mbereta@pk.edu.pl www.michalbereta.pl Zasady zaliczenia przedmiotu Kolokwia (3 4 ) Ocena aktywności i przygotowania Obecnośd Literatura, materiały Bioinformatyka i ewolucja
Wnioski i dyspozycje elektroniczne. Instrukcja użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss
BANK OCHRONY ŚRODOWISKA S.A. ul. Żelazna 32 / 00-832 Warszawa tel.: (+48 22) 850 87 35 faks: (+48 22) 850 88 91 e-mail: bos@bosbank.pl Instrukcja użytkownika systemu bankowości internetowej dla firm Wnioski
Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE
Budowa i oprogramowanie komputerowych systemów sterowania Laboratorium 4 Metody wymiany danych w systemach automatyki DDE 1 Wprowadzenie do DDE DDE (ang. Dynamic Data Exchange) - protokół wprowadzony w
Hurtownie danych wykład 5
Hurtownie danych wykład 5 dr Sebastian Zając SGH Warszawa 7 lutego 2017 1 Współbieżność i integracja Niezgodność impedancji 2 bazy danych Współbieżność i integracja Niezgodność impedancji Bazy relacyjne
Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy
Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...
KATEGORIA OBSZAR WIEDZY
Moduł 3 - Przetwarzanie tekstów - od kandydata wymaga się zaprezentowania umiejętności wykorzystywania programu do edycji tekstu. Kandydat powinien wykonać zadania o charakterze podstawowym związane z
INSTRUKCJA OBSŁUGI PROGRAMU PRZEDSZKOLE (CZ.1)
INSTRUKCJA OBSŁUGI PROGRAMU PRZEDSZKOLE (CZ.1) Uruchomienie programu Po uruchomieniu programu wyświetlane jest okno logowania, w którym wprowadza się nazwę użytkownika (opis w dalszej części instrukcji)
Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5
Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5 Format złożonego polecenia konfigurującego system pozycjonowania GPS SPY-DOG SAT ProSafe-Flota -KGPS A a B b C c D d E e F f G g H h I i J j K