Strukturalne własności transformaty Burrowsa-Wheelera dla pewnych klas słów
|
|
- Justyna Zając
- 6 lat temu
- Przeglądów:
Transkrypt
1 Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Bartłomiej Romański Nr albumu: Strukturalne własności transformaty Burrowsa-Wheelera dla pewnych klas słów Praca magisterska na kierunku INFORMATYKA Praca wykonana pod kierunkiem prof. dr. hab. Wojciecha Ryttera Instytut Informatyki UW Wrzesień 2009
2 Oświadczenie kierującego pracą Potwierdzam, że niniejsza praca została przygotowana pod moim kierunkiem i kwalifikuje się do przedstawienia jej w postępowaniu o nadanie tytułu zawodowego. Data Podpis kierującego pracą Oświadczenie autora (autorów) pracy Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca dyplomowa została napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposób niezgodny z obowiązującymi przepisami. Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem procedur związanych z uzyskaniem tytułu zawodowego w wyższej uczelni. Oświadczam ponadto, że niniejsza wersja pracy jest identyczna z załączoną wersją elektroniczną. Data Podpis autora (autorów) pracy
3 Streszczenie W pracy sformułowana została hipoteza na temat stopnia kompresji słów generowanych przez morfizmy uzyskiwanego przy pomocy transformaty Burrowsa-Wheelera. W celu poparcia hipotezy dokładnie opisana została zwarta postać BWT następujących klas słów: Słowa Fibonacciego Słowa Thuego-Morse a Słowa bezkwadratowe Thuego-Morse a Słowa Cantora Słowa Paper Folding O ile w przypadku słów Fibonacciego oraz słów Thuego-Morse a zaprezentowane zostały jedynie alternatywne dowody znanych rezultatów, o tyle w przypadku słów bezkwadratowych Thuego-Morse a, słów Cantora oraz słów Paper Folding są to nowe wyniki. Co więcej, dla większości wykorzystywanych morfizmów przedstawione zostały szczegółowe twierdzenia opisujące, jak zmienia się postać BWT dowolnego słowa po wykonaniu na nim badanych przekształceń. Dodatkowo postawiona w pracy hipoteza została automatycznie przetestowana na szerokiej gamie przykładów. Słowa kluczowe Transformata Burrowsa-Wheelera, morfizmy słów, słowa Fibonacciego, słowa Thuego-Morse a, słowa bezkwadratowe Thuego-Morse a, słowa Cantora, słowa Paper Folding 11.3 Informatyka Dziedzina pracy (kody wg programu Socrates-Erasmus) Klasyfikacja tematyczna G.2.1 Mathematics of Computing : Discrete Mathematics : Combinatorics E.4 Data : Coding And Information Theory Tytuł pracy w języku angielskim Structual properties of Burrows-Wheeler transform for some word classes
4
5 Spis treści Wstęp Wprowadzenie Terminologia Podstawowe pojęcia związane ze słowami Porządek leksykograficzny słów Morfizmy słów Wybrane klasy słów Słowa Fibonacciego Słowa Thuego-Morse a Słowa bezkwadratowe Thuego-Morse a Słowa Cantora Słowa Paper Folding Transformata Burrowsa-Wheelera Definicja Odwracalność Znaczenie praktyczne Efektywne algorytmy kodowania i dekodowania Hipoteza o BWT-regularności dla morfizmów Słowa Fibonacciego Słowa Sturma Słowa Thuego-Morse a Słowa bezkwadratowe Thuego-Morse a Słowa Cantora Słowa Paper Folding Podsumowanie Badane morfizmy Morfizmy binarne Pozostałe morfizmy Bibliografia
6
7 Wstęp Transformata Burrowsa-Wheelera (BWT) jest algorytmem powszechnie wykorzystywanym w kompresji bezstratnej. O jej popularności oraz wysokim znaczeniu praktycznym świadczy m. in. fakt, że stanowi ona podstawę działania popularnego narzędzia bzip2. Transformata oraz jej potencjalne zastosowania zostały po raz pierwszy opisane w pracy Michaela Burrowsa i Davida Wheelera stosunkowo niedawno, w 1993 roku. Bazuje ona na nieopublikowanej transformacie odkrytej przez samego Wheelera ponad 10 lat wcześniej, w 1984 roku. Przekształcenie dokonuje jedynie permutacji liter słowa wejściowego w słowie wyjściowym pojawiają się dokładnie te same symbole jednak w zmodyfikowanej kolejności. Co ciekawe, przekształcenie ma tę interesującą własność, że w stosunkowo wielu sytuacjach słowo wyjściowe poddaje się kompresji w dużo większym stopniu niż słowo wejściowe. Dzieje się tak, gdyż w wyniku transformaty litery mają tendencję do układania się w długie bloki złożone z identycznych symboli. Istotny jest przy tym oczywiście fakt, że przy minimalnej dodatkowej informacji, transformatę możemy odwrócić, dzięki czemu możliwa jest dekompresja przetwarzanego tekstu. Transformata Burrowsa-Wheelera poza zastosowaniami praktycznymi związanymi z kompresją danych ma także liczne ciekawe własności czysto teoretyczne. Okazuje się, że bardzo wiele, znanych klas słów, często o skomplikowanej budowie ma stosunkowo prostą postać BWT. Klasycznym, wręcz skrajnym, przykładem są słowa Fibonacciego (lub ogólniej, słowa Sturma), dla których wynikiem transformaty BWT jest zawsze słowo postaci 1 0. Efektywne obliczenie wyniku transformaty Burrowsa-Wheelera nie jest trywialne, może być jednak sprowadzone do obliczenia tablicy sufiksowej, zatem dla ustalonego alfabetu może zostać wykonane w czasie liniowym. Dekodowanie jest znacznie prostsze i również może zostać wykonane w czasie liniowym. Znacznie mniej wiadomo na temat tego, jak dynamicznie aktualizować wynik transformaty, jeśli oryginalny tekst ulegnie modyfikacji (np. dopisana lub usunięta zostanie pojedyncza litera). Niniejsza praca koncentruje się na zbadaniu i opisaniu postaci BWT wybranych klas słów generowanych przez morfizmy. W pierwszych rozdziałach przytoczone są znane wyniki dla słów Fibonacciego, słów Sturma oraz słów Thuego-Morse a. W tej części pracy na uwagę zasługuje wykorzystanie definicji opartych na odpowiednich morfizmach, zamiast na rekurencjach, co prowadzi do nowych, innych niż w przytaczanych pracach, dowodów. Dodatkowym wynikiem, jest dokładne opisanie, jak zmienia się postać BWT dowolnego słowa po wykonaniu na nim odpowiednich morfizmów. W dalszej części pracy szczegółowo omówiona została postać BWT dla słów bezkwadratowych Thuego-Morse a, słów Cantora oraz słów Paper Folding. Są to nowe wyniki, nie opisywane wcześniej w literaturze. Wyniki otrzymane dla poszczególnych klas słów opisanych w pracy pozwoliły sformułować przedstawioną w rozdziale 1.4 hipotezę na temat ogólnej postaci BWT słów generowanych przez morfizmy. Hipoteza została sprawdzona komputerowo na możliwie szerokiej gamie przykładów. 5
8
9 Rozdział 1 Wprowadzenie 1.1. Terminologia Większość terminów oraz oznaczeń używanych w pracy jest powszechnie stosowana, więc powinny być one całkowicie zrozumiałe. Jednak dla pełnej jasności poniżej przedstawione zostały wybrane definicje. Szczegółowo wybrane zagadnienia związane ze słowami zostały opisane m. in. w pracach [3, 13, 14, 22] Podstawowe pojęcia związane ze słowami Definicja Słowem nazywamy skończony lub nieskończony ciąg elementów ze skończonego zbioru zbiór ten nazywamy alfabetem. Ponieważ dalsza część pracy koncentruje się na słowach skończonych, więc jeśli nie zostało wyraźnie zaznaczone, że jest inaczej, słowo należy zawsze traktować jako ciąg skończony. Słowa oznaczamy małymi literami alfabetu łacińskiego, alfabet najczęściej symbolem Σ, a jego elementy symbolami 0, 1, Zbiór wszystkich słów nad alfabetem Σ oznaczamy symbolem Σ. Podstawową operacją na słowach jest ich konkatenacja (zdefiniowana analogicznie jak konkatenacja ciągów). Konkatenację słów u i v zapisujemy po prostu jako uv. Długość słowa u zapisujemy jako u, a liczbę liter i w słowie u jako # i (u). W pracy istotne są także pojęcia prefiksu i sufiksu oraz rotacji cyklicznej słowa: Definicja Słowo u nazywamy prefiksem słowa v jeśli istnieje takie słowo v, że v = uv. Definicja Słowo u nazywamy sufiksem słowa v jeśli istnieje takie słowo v, że v = v u. Definicja i-tą rotacją cykliczną słowa u będziemy nazywali słowo π i (u), gdzie funkcja π : Σ Σ oznacza następujące przekształcenie (u 1, u 2... u n oznaczają kolejne litery słowa u): π(u 1 u 2... u n ) = u 2 u 3... u n u 1 Zauważmy, że przekształcenie π jest odwracalne zatem zapis π i oraz określenie i-ta rotacja ma sens nie tylko dla i 0, ale także dla i < 0. Dodatkowo w pracy użyto następujących oznaczeń: Definicja Dla dowolnego słowa u Σ słowo składające się z tych samych liter, ale zapisanych w odwrotnej kolejności oznaczamy przez u R. Definicja Dla dowolnego słowa u {0, 1} słowo składające się z zanegowanych kolejnych liter słowa u, oznaczamy przez ū. 7
10 Porządek leksykograficzny słów Jeśli dany jest porządek symboli alfabetu (w pracy używamy zawsze naturalnego porządku 0 < 1 < 2... ), możemy określić tzw. porządek leksykograficzny słów: Definicja Mówimy, że słowo u jest mniejsze leksykograficznie od słowa v wtedy i tylko wtedy, gdy spełniony jest jeden z poniższych warunków: u jest prefiksem właściwym słowa v, istnieje słowo p oraz symbole x, y takie, że słowa px, py są prefiksami odpowiednio słów u i v oraz x < y Łatwo zauważyć, że tak zdefiniowana relacja określa porządek liniowy na zbiorze Σ Morfizmy słów Definicja Morfizmem nazywamy takie przekształcenie φ : Σ Σ, że dla dowolnych słów u, v Σ spełniony jest warunek: φ(uv) = φ(u) φ(v) Wśród morfizmów możemy wyróżnić następujące klasy: Definicja Mówimy, że morfizm zachowuje porządek, jeśli dla dowolnych słów u, v Σ warunki u < v oraz φ(u) < φ(v) są równoważne. Definicja Morfizm φ : Σ 1 Σ 2 nazywamy jednorodnym, jeśli dla każdej pary symboli x, y Σ 1 spełniony jest warunek φ(x) = φ(y). W pracy wielokrotnie wykorzystywany jest następujący, bardzo prosty fakt: Fakt Morfizm jednorodny φ zachowuje porządek wtedy i tylko wtedy, gdy: φ(0) < φ(1) < φ(2)... Warto zauważyć, że niekoniecznie jest to prawda dla morfizmów niejednorodnych Wybrane klasy słów W niniejszym podrozdziale przedstawione oraz krótko omówione zostały wybrane klasy słów wykorzystywane w dalszej części pracy. Kolejne sekcje opisują słowa Fibonacciego, słowa Thuego-Morse a, słowa bezkwadratowe Thuego-Morse a, słowa Cantora oraz słowa Paper Folding Słowa Fibonacciego Chyba najczęściej spotkaną w literaturze klasą słów są słowa Fibonacciego. Słowa Fibonacciego możemy definiować na bardzo wiele równoważnych sposobów, ale prawdopodobnie najpopularniejsza jest przedstawiona poniżej definicja rekurencyjna. Definicja i-tym słowem Fibonacciego nazywamy słowo: 1 dla i = 0, f i = 0 dla i = 1, f i 1 f i 2 dla i 2 8
11 Dla potrzeb niniejszej pracy warto jednak przyjrzeć się także alternatywnej definicji słów Fibonacciego, wykorzystującej morfizm φ f : Definicja i-tym słowem Fibonacciego nazywamy słowo: gdzie φ f oznacza następujący morfizm:. φ f : f i = φ f (1), { Bezpośrednio z powyższych definicji wynika następujący, prosty fakt: Fakt Niech F i oznacza i-tą liczbę Fibonacciego [10]. Wtedy: Słowa Thuego-Morse a # 0 (f i ) = F i 1, # 1 (f i ) = F i 2, f i = F i Niemalże równie popularną jak słowa Fibonacciego klasą słów są słowa Thuego-Morse a. Mają one liczne ciekawe właściwości i bardzo często pojawiają się różnych, nierzadko niespodziewanych kontekstach. Wiele ich zastosowań zostało opisanych w pracy [2], gdzie zostały one wręcz określone jako wszędobylskie (ang. ubiquitous). Prawdopodobnie najczęściej przytaczanym faktem na temat słów Thuego-Morse a jest to, że są one przykładem słów overlap-free czy też 2+-free, co oznacza po prostu, że nie zawierają podsłów postaci αβαβα (dla pewnych niepustych słów α i β). W literaturze często spotykana jest następująca definicją słów Thugo-Morse a: Definicja i-tym słowem Thuego-Morse a nazywamy słowo: { 0 dla i = 0, t i = t i 1 t i 1 dla i > 0 Jednak podobnie jak w przypadku poprzedniej klasy słów w dalszej części pracy wygodniej będzie oprzeć się na definicji opartej o morfizmy: Definicja i-tym słowem Thuego-Morse a nazywamy słowo: gdzie φ t oznacza następujący morfizm: φ t : t i = φ i t(0), { Tak zdefiniowane, kolejne słowa Thuego-Morse a są równe: t 0 = 0 t 1 = 01 t 2 = 0110 t 3 = t 4 = t 5 =
12 Słowa bezkwadratowe Thuego-Morse a Bezpośrednio powiązana z opisanymi w poprzednim rozdziale słowami Thuego-Morse a jest klasa słów bezkwadratowych Thuego-Morse a. Do potrzeb pracy przyjmiemy następującą definicję (analogiczna została wykorzystana m.in. w pracy [11]): Definicja i-tym słowem bezkwadratowym Thuego-Morse a nazywamy słowo: s i = φ i s(2), gdzie φ s oznacza następujący morfizm: 0 1 φ s : Tak zdefiniowane, kolejne słowa bezkwadratowe Thuego-Morse a są równe: s 0 = 2 s 1 = 210 s 2 = s 3 = s 4 = s 5 = Na pierwszy rzut oka związek słów bezkwadratowych Thuego-Morse a z opisanymi w poprzednim rozdziale słowami Thuego-Morse a wydawać się może niewielki. Warto jednak zauważyć następującą prawidłowość. Niech t oznacza takie nieskończone słowo, że wszystkie słowa z ciągu t i są jego prefiksami. Analogicznie zdefiniujmy s. Okazuje się, że zliczając liczbę jedynek pomiędzy kolejnymi zerami w słowie t i zapisując wyniki w postaci kolejnych symboli otrzymujemy właśnie słowo s. W ten sposób tradycyjnie definiowane jest nieskończone słowo bezkwadratowe Thuego-Morse a. Słowa bezkwadratowe Thuego-Morse a są chyba najczęściej przytaczanym w literaturze przykładem tzw. słów bezkwadratowych [11]. Oznacza to, że nie zawierają żadnego podsłowa postaci αα (dla pewnego niepustego słowa α Σ ) Słowa Cantora Kolejną klasą słów omówioną w pracy są tzw. słowa Cantora, będące pewnego rodzaju odpowiednikiem, znanego z analizy, zbioru Cantora. Mówiąc nieco nieformalnie, i-te słowo Cantora powstaje w następujący sposób: rozpoczynamy od słowa długości 3 i złożonego z samych jedynek, a następnie wycinamy w nim dziury dzielimy całe słowo na 3 równe części i środkową część zamieniamy na zera. Następnie bierzemy każdą z pozostałych części i postępujemy analogicznie dopóki nie otrzymamy pojedynczych jedynek. Przykładowo, trzecie słowo Cantora powstaje w następujący sposób:
13 Bardziej formalnie słowa Cantora możemy zdefiniować następująco: Definicja i-tym słowem Cantora będziemy nazywali słowo: c i = φ i c(1), gdzie φ c oznacza następujący morfizm: { φ c : Słowa Paper Folding Ostatnią klasą słów, które zostały wykorzystane w pracy są tzw. słowa Paper Folding (omówione dokładniej m. in. w pozycji [3]). Nazwa tej klasy słów wzięła się od pewnego, oryginalnego sposobu ich konstrukcji. Weźmy długi pasek papieru, który wybraną liczbę razy składamy na pół dokładnie tak jak na rysunku poniżej 1, zawsze w tę samą stronę (w prawo). Po rozłożeniu papieru, na pasku otrzymamy pewien ciąg zgięć, które mogą być skierowanych w lewo bądź w prawo. Jeśli zgięcia w lewo oznaczymy symbolem 0, a zgięcia w prawo symbolem 1, otrzymamy pewne słowo nad alfabetem binarnym. Oczywiście, im więcej zgięć wykonamy tym większa będzie długość otrzymanego słowa (dokładnie 2 i 1, gdzie i to liczba zgięć). Okazuje się jednak, że wszystkie słowa, które możemy w ten sposób otrzymać, są prefiksami pewnego nieskończonego słowa p tzw. regular paper folding sequence bądź dragon curve sequence (nazwa wywodzie się od kształtu krzywej, którą otrzymujemy po rozłożeniu, poskładanego uprzednio, paska). Dla potrzeb niniejszej pracy skoncentrujemy się jednak na nieco innej, opartej na morfizmach, definicji: Definicja i-tym słowem Paper Folding nazywamy słowo: p i = φ p φ i p(3), gdzie φ p oraz φ p oznaczają następujące morfizmy: φ p : Rysunek został zaczerpnięty z artykułu [25] φ 1 01 p :
14 Tak zdefiniowane słowa Paper Folding również są prefiksami nieskończonego słowa p, mają jednak nieco inne długości ( p i = 2 i ). Początkowe słowa Paper Folding wyglądają następująco: p 0 = 11 p 1 = 1101 p 2 = p 3 = p 4 = Transformata Burrowsa-Wheelera Definicja Podstawowym zagadnieniem, wokół którego koncentruje się niniejsza praca, jest transformata Burrowsa-Wheelera przekształcenie powszechnie wykorzystywane w kompresji bezstratnej. Definicja Transformatą Burrowsa-Wheelera [1, 6] nazywamy przekształcenie słowa s w słowo BW T (s) będące konkatenacją ostatnich liter wszystkich rotacji cyklicznych słowa s posortowanych leksykograficznie. Powyższą definicję prawdopodobnie najłatwiej zrozumieć, analizując działanie transformaty na przykładowym słowie. Niech s = Wtedy kolejne rotacje cykliczne umieszczone w macierzy wyglądają następująco: Co po posortowaniu leksykograficznym wierszy daje następujący układ: Łącząc kolejne litery z ostatniej kolumny, otrzymujemy słowo BW T (s) = Definicja Macierz, w której w kolejnych wierszach znajdują się kolejne posortowane leksykograficznie rotacje cykliczne słowa s, nazywamy macierzą BWT tego słowa. 12
15 Odwracalność Łatwo zauważyć, że tak zdefiniowane przekształcenie nie jest odwracalne. Jeśli słowa s 1 i s 2 są cyklicznie równoważne, to zbiory ich rotacji są identyczne, więc BW T (s 1 ) i BW T (s 2 ) również są identyczne. Jednak, co ciekawe, analogiczny fakt zachodzi również w drugą stronę. Twierdzenie Jeśli BW T (s 1 ) = BW T (s 2 ) to słowa s 1 i s 2 są cyklicznie równoważne. Dowód. Wystarczy pokazać, że na podstawie BW T (s), czyli ostatniej kolumny macierzy BWT słowa s można w sposób jednoznaczny odtworzyć całą macierz. Zauważmy, że znając ostatnią kolumnę znamy też pierwszą znajdują się tam dokładnie te same litery, tyle, że posortowane: Ponieważ w kolejnych wierszach umieszczone są kolejne rotacje, możemy zawsze ostatnią kolumnę przenieść na początek i dalej ta własność zostanie zachowana. Jeśli teraz posortujemy kolejne wiersze, otrzymamy ponownie macierz BWT słowa s. Znamy już dwie pierwsze kolumny: Postępując ponownie w ten sam sposób możemy odtwarzać kolejne kolumny aż do otrzymania pełnej macierzy: Znaczenie praktyczne Transformata Burrowsa-Wheelera jest algorytmem powszechnie wykorzystywanym w kompresji bezstratnej. W połączeniu z transformatą Move To Front [5] oraz kodowaniem Huffmana [4] jest podstawą popularnego narzędzia bzip2. Pomimo, że stosunkowo ciężko jest teoretycznie wykazać skuteczność kompresorów opartych na BWT (pewne wyniki zostały przedstawione m. in. w pracach [9, 18, 19]) to jednak dość łatwo jest intuicyjnie zrozumieć zasadę działania tych algorytmów. 13
16 Zauważmy, że w typowych tekstach pewne fragmenty występują znacznie częściej niż inne. Przykładowo w języku angielskim stosunkowo popularny jest wyraz not. Jeśli weźmiemy wszystkie rotacje cykliczne badanego tekstu to duża część tych rozpoczynających się od ot będzie kończyła się właśnie literą n. Dzięki temu w ostatniej kolumnie macierzy BWT mamy dużą szansę otrzymać stosunkowo długie bloki złożone z identycznych liter. Poniżej przedstawiony został fragment macierzy BWT dla tekstu zaczerpniętego z Hamleta Szekspira 2. ot look upon his like again.... ot look upon me; Lest with th... ot love on the wing, -- As I p... ot love your father; But that... ot made them well, they imita... ot madness That I have utter... ot me? Ros. To think, my lor... ot me; no, nor woman neither,... ot me? Ham. No, by the rood,... ot mend his pace with beating... ot mine own. Besides, to be d... ot mine. Ham. No, nor mine no... ot mock me, fellow-student. I... ot monstrous that this player... ot more like. Ham. But where... ot more native to the heart,... ot more ugly to the thing tha... ot more, my lord. Ham. Is not... ot move thus. Oph. You must s... ot much approve me. -- Well, si... n n h n n n n n g n n n n n n n n j n n Poza praktycznymi zastosowaniami w kompresji BWT może być także przydatne w teoretycznych rozważaniach. Postać wielu słów znacznie się upraszcza po wykonaniu transformaty BWT, co czasem ułatwia odkrycie pewnych własności. Przykład pracy [20] pokazuje też, że czasem ten sam problem (w tym wypadku znalezienie algorytmu obliczania n-tej litery) okazuje się prostszy dla postaci BWT niż dla oryginalnego słowa Efektywne algorytmy kodowania i dekodowania Należy zauważyć, że kodowanie słowa u możemy sprowadzić do obliczania tablicy sufiksowej słowa uu. Zatem dla stałego rozmiaru alfabetu może ono zostać wykonane w czasie liniowym [12, 15]. Proces odkodowywania jest znacznie prostszy i również może zostać wykonany w czasie liniowym [6]. Zdecydowanie trudniejszy natomiast okazuje się problem dynamicznej aktualizacji wyniku BWT podczas modyfikacji oryginalnego tekstu (pewne wyniki przedstawiono m. in. w pracy [23]). Warto także zwrócić uwagę na fakt, że nie zawsze niezbędna jest pełna dekompresja przetwarzanego tekstu. Wybrane algorytmy działające na skompresowanych (nie tylko przy pomocy BWT) danych zostały przedstawione w pozycjach [1, 21] Hipoteza o BWT-regularności dla morfizmów Transformata Burrowsa-Wheelera pomimo licznych publikacji na swój temat nadal nie została do końca zbadana. Przykładowo, stosunkowo niewiele wiadomo na temat uzyskiwanego dla różnych klas słów stopnia kompresji. Podstawowym, bardzo ogólnym pytaniem, jakie można 2 Przykład pochodzi z pracy [1]. 14
17 postawić, jest pytanie o to, które klasy słów możemy przy użyciu BWT zapisywać używając niewielkiej (np. logarytmicznej względem długości słowa) liczby symboli. W pracy przeanalizowane zostały wybrane, klasyczne słowa generowane przez morfizmy. Co ciekawe, we wszystkich badanych przypadkach okazało się, że postać BWT jest w pewien sposób regularna. Przede wszystkim, warto zauważyć, że wykorzystując BWT każde omawiane słowo możemy reprezentować używając zapisu o logarytmicznej długości. Na podstawie tych kilku wybranych klas możemy zatem wysunąć nieco ogólniejszą hipotezę mówiącą, że dowolne słowo otrzymane poprzez iterację morfizmu zostanie silnie skompresowane przy pomocy transformaty Burrowsa-Wheelera. Ściślej możemy ją sformułować następująco: Hipoteza Dla dowolnego morfizmu φ : Σ Σ oraz dowolnego symbolu początkowego s Σ liczba bloków w słowie φ n (s) jest rzędu 3 O(n). Dokładniej powyższa hipoteza została omówiona w ostatnim rozdziale, gdzie zaprezentowane zostały wyniki jej automatycznego testowania. 3 Notacja asymptotyczna została dokładnie omówiona m. in. w pracach [8] i [10]. 15
18
19 Rozdział 2 Słowa Fibonacciego Pierwszą klasą słów, których postać BWT przeanalizowana została w pracy są słowa Fibonacciego. Pomimo, że jest to znany rezultat, przedstawiony m. in. w pozycji [7] to jednak warto spojrzeć na to zagadnienie także z punktu widzenia definicji wykorzystującej morfizmy. Pozwala to otrzymać mniej złożony, bardziej intuicyjny dowód, który dodatkowo w prosty sposób rozszerza się na słowa Sturma. Kluczem do dowodu zwartej postaci BWT słów Fibonacciego będzie, ciekawe samo w sobie, twierdzenie opisujące, jak zmienia się postać BWT dowolnego słowa po wykonaniu na nim morfizmu φ f. Dla przypomnienia, definicja, na której oprzemy dalszą część pracy wygląda następująco: Definicja i-tym słowem Fibonacciego nazywamy słowo: gdzie φ f oznacza następujący morfizm: f i = φ f (1),. { 0 01 φ f : 1 0 Postać BWT kilku wybranych słów Fibonacciego okazuje się być zaskakująco prosta: BW T (t 5 ) = BW T (t 6 ) = BW T (t 7 ) = W powyższych przykładach wszystkie symbole 1 występują przed symbolami 0. Bazując na tej obserwacji, można wysunąć hipotezę na temat ogólnej postaci BWT słów Fibonacciego: Twierdzenie Dla dowolnej liczby naturalnej i: BW T (f i ) = 1 F 2 0 F i 1 Fakt ten został już przedstawiony w pracy [7]. Dowód opierał się na klasycznej definicji słów Fibonacciego (przez konkatenację) oraz wykorzystywał pewne teorioliczbowe własności liczb Fibonacciego. Warto jednak spojrzeć na ten problem także z punktu widzenia alternatywnej definicji (przez morfizm). Takie podejście pozwala w prosty sposób sformułować oraz udowodnić nieco ogólniejsze twierdzenie opisujące, jak zmienia się postać BWT dowolnego słowa nad alfabetem binarnym, jeśli wykonamy na nim morfizm φ f. 17
20 Lemat Dla słów równej długości warunki u < v oraz φ(v) < φ(u) są równoważne. Dowód. Wystarczy udowodnić, że jeśli u < v to φ(v) < φ(u). Jeśli warunek u < v jest spełniony oraz u = v to istnieją takie słowa s, u, v, że: u = s 0 u, v = s 1 v. Możliwe są trzy przypadki. Jeśli u = v = 0 to: Jeśli v = 0v dla pewnego słowa v to: Jeśli v = 1v dla pewnego słowa v to: φ f (v) = φ f (s) 0 < φ f (s) 01 = φ f (u). φ f (v) = φ f (s) 0 01 φ f (v ) < φ f (s) 01 φ f (u ) = φ f (u). φ f (v) = φ f (s) 0 0 φ f (v ) < φ f (s) 01 φ f (u ) = φ f (u). We wszystkich trzech przypadkach teza jest prawdziwa. Twierdzenie Dla dowolnego słowa s {0, 1}, jeśli BW T (s) = v to: BW T (φ f (s)) = v R 0 #1(v) Dowód. Przyjrzyjmy się dokładnie temu, co dzieje się z macierzą BWT słowa s podczas wykonywania morfizmu. Przykładowo dla s = wygląda ona następująco: Jeżeli dokonamy podstawienia poszczególnych liter zgodnie z morfizmem φ f bezpośrednio w tej macierzy, otrzymamy następujący układ: Zauważmy, że wiersze powstałej macierzy nie muszą być posortowane oraz nie są to wszystkie rotacje słowa φ f (s). Nie jest to zatem macierz BWT dla tego słowa. Okazuje się jednak, że stosunkowo łatwo możemy ją do niej przekształcić. Dla uproszczenia w dalszej części pracy będziemy korzystać z następującej terminologii: 18
21 Definicja Starą rotacją słowa φ f (s) będziemy nazywać każdą rotację, która powstaje przez wykonanie morfizmu φ f na pewnej rotacji słowa s. Pozostałe rotacje będziemy nazywać nowymi rotacjami. Łatwo zauważyć, że otrzymana przez nas macierz zawiera wszystkie stare rotacje, nie zawiera natomiast żadnej nowej rotacji. Co więcej, z lematu wynika, że jeśli w macierzy BWT słowa s rotacje były w kolejności leksykograficznej, to w nowej macierzy odpowiadające im rotacje są w dokładnie odwrotnej kolejności. Możemy je zatem uporządkować: Z postaci morfizmu φ f wynika, że jeśli ostatnią literą dowolnej rotacji r słowa f i było 0 to ostatnią literą φ f (r) jest 1. Analogicznie, jeśli ostatnią literą r było 0 to ostatnią φ f (r) jest 1. Z tego wynika, że ostatnia kolumna macierzy BWT słowa φ f (s) z pomiętymi nowymi rotacjami jest równa v R. Pozostaje zbadać, co dzieje się z nowymi rotacjami. Zauważmy, że w przypadku morfizmu φ f nowe rotacje to są dokładnie te, które zaczynają się w połowie fragmentu 01 otrzymanego w trakcie przekształcenia z litery 0. Wszystkie takie rotacje zaczynają się od 1, a kończą na 0. Ponieważ wszystkie stare rotacje zaczynają się od 0, więc nowe rotacje znajdą się w macierzy BWT za starymi: Zatem postać BWT słowa φ f (s) to v R 0 #1(v). Stare rotacje Nowe rotacje Warto również zauważyć, że opierając się na tym twierdzeniu, do udowodnienia postaci BWT słów Fibonacciego wystarcza teraz zastosowanie prostej indukcji matematycznej. Otrzymujemy zatem inny, nieco bardziej bezpośredni niż w pracy [7] dowód twierdzenia Słowa Sturma Ciekawym uogólnieniem słów Fibonacciego są słowa standardowe Sturma. Ich klasyczna definicja oraz liczne własności zostały omówione m. in. w pracy [13]. Podobnie jak w przypadku słów Fibonacciego warto jednak spojrzeć na, nieco mniej popularną, definicję wykorzystującą morfizmy. 19
22 Definicja Słowo nazywamy słowem standardowym Sturma (lub po prostu słowem standardowym) wtedy i tylko wtedy, gdy istnieje ciąg liczb naturalnych a 1, a 2... a n taki, że: gdzie φ i oznacza następujący morfizm: s = φ a1 φ a1... φ an (1), a 1 0, a 2 > 0, a 3 > 0,... a n > 0, φ i : { 0 0 i Łatwo zauważyć, że jeśli a 1 = a 2 = = a n = 1 to powyższa definicja generuje n-te słowo Fibonacciego. Postać BWT słów standardowych Sturma została już dokładnie opisana w pracy [17]. Ponieważ jest to znany rezultat, a dowód byłby jedynie prostym rozszerzeniem przypadku dla słów Fibonacciego, więc poniżej przytaczam jedynie treść twierdzenia, będącego głównym wynikiem tej pracy: Twierdzenie Słowo BW T (u) jest postaci 1 0 wtedy i tylko wtedy, gdy u jest potęgą pewnego słowa standardowego Sturma. 20
23 Rozdział 3 Słowa Thuego-Morse a Zwarta postać BWT słów Thuego-Morse a została już opisana w pracy [16]. Poniżej przedstawiony zostanie autorski dowód wykorzystujący morfizmy. Idea będzie podobna do tej wykorzystanej w poprzednim rozdziale dla słów Fibonacciego. Najpierw opisane zostanie, jak zmienia się postać BWT dowolnego słowa po wykonaniu morfizmu φ t, a następnie na tej podstawie wywnioskowana zostanie ogólna postać BWT słów Thuego-Morse a. Dla przypomnienia, słowa Thuego-Morse a będziemy definiować następująco: Definicja i-tym słowem Thuego-Morse a nazywamy słowo: gdzie φ t oznacza następujący morfizm: φ t : t i = φ i t(0), { Poniższe twierdzenie opisuje, jak zmienia się postać BWT słowa s, po wykonaniu na nim morfizmu φ t. Twierdzenie Dla dowolnego słowa s {0, 1} jeśli BW T (s) = v to: BW T (φ t (s)) = 1 #0(v) v 0 #1(v) Dowód. Podobnie jak poprzednio przyjrzyjmy się dokładnie temu, co dzieje się z macierzą BWT słowa u podczas morfizmu. Przykładowo macierz BWT słowa u = wygląda następująco: Dokonując podstawienia pojedynczych liter bezpośrednio w tej macierzy, otrzymujemy:
24 Ponieważ morfizm φ t zachowuje porządek leksykograficzny, więc tak otrzymana macierz zawiera wszystkie stare rotacje od razu we właściwej kolejności. Jeśli ostatnią literą rotacji r słowa u jest 0 to ostatnią literą słowa φ t (r) jest 1. Analogicznie w przeciwnym przypadku. Zatem ostatnia kolumna tak otrzymanej macierzy jest równa v. Nowe rotacje możemy podzielić na 2 kategorie. Pierwszą grupę stanowią rotacje zaczynające się dokładnie w połowie fragmentów 01 powstałych podczas morfizmu z liter 0. Zaczynają się one na 1 i kończą na 0. Okazuje się, że te rotacje trafią na koniec macierzy BWT, za starymi rotacjami. Faktycznie wszystkie stare rotacje są nie większe od słowa (10) i, natomiast wszystkie nowe rotacje tej postaci są nie mniejsze od słowa 1(01) i 1 0. Tych rotacji jest tyle, co liter 0 w słowie v. Drugą grupę stanowią rotacje zaczynające się w połowie fragmentów 10 powstałych podczas morfizmu z liter 1. Jest ich tyle, co liter 1 w słowie v, kończą się literą 1 i trafią na początek macierzy BWT. Uzasadnienie jest analogiczne jak w poprzednim przypadku. Zatem macierz BWT słowa φ t (u) ma następującą postać: Nowe rotacje Stare rotacje } Nowe rotacje Na początku znajduje się # 0 (v) nowych rotacji kończących się na 1, następnie jest słowo BW T (v) z zanegowanymi symbolami, a następnie # 1 (v) nowych rotacji kończących się literą 0. Z tego wynika, że BW T (φ t (u)) = 1 #0(v) v 0 #1(v). Wykorzystując powyższe twierdzenie możemy w prosty sposób określić zwartą postać BWT słów Thuego-Morse a. Dla kilku wybranych przykładów wygląda ona następująco: BW T (t 5 ) = BW T (t 6 ) = BW T (t 7 ) = Powyższe przykłady możemy uogólnić do następującego twierdzenia: Twierdzenie Dla dowolnego i 1: BW T (t i ) = gdzie α i oznacza następujący człon: α i = { αi 01 α R i dla i parzystych, α i 10 α R i dla i nieparzystych, { 1 2 i 2 0 2i dla i parzystych, 1 2i 2 0 2i dla i nieparzystych. Dowód. Dowód jest prostą konsekwencją twierdzenia
25 Rozdział 4 Słowa bezkwadratowe Thuego-Morse a Postać BWT bezkwadratowych słów Thuego-Morse a nie doczekała się jeszcze opisu w literaturze. Poniżej sformułuję i udowodnię dwa twierdzenia z tymi związane: pierwsze, ogólniejsze, opisujące zależność pomiędzy BW T (φ s (u)) a BW T (u) oraz drugie, bardziej szczegółowe, pokazujące wprost postać BWT słów bezkwadratowych Thuego-Morse a. Dla przypomnienia poniżej przedstawiona została definicja, na której oparto dalszą część pracy: Definicja i-tym słowem bezkwadratowym Thuego-Morse a nazywamy słowo: s i = φ i s(2), gdzie φ s oznacza następujący morfizm: 0 1 φ s : Poniższe twierdzenie opisuje, jak na postać BWT dowolnego słowa wpływa wykonanie na nim morfizmu φ c. Idea dowodu jest podobna jak w przypadku słów Fibonacciego oraz Thuego-Morse a, dowód jest jednak nieco bardziej skomplikowany. Twierdzenie Dla dowolnego słowa u {0, 1, 2} jeśli BW T (u) = v to: BW T (φ s (u)) = φ 1 (v) 2 #2(v) φ 2 (v), gdzie φ 1 oraz φ 2 oznaczają następujące morfizmy: 0 ɛ 0 1 φ 1 : 1 2 φ 2 : Dowód. Przyjrzyjmy się dokładnie macierzy BWT słowa u. Przykładowo dla słowa u = wygląda ona następująco:
26 Dokonując podstawienia zgodnie z morfizmem φ s bezpośrednio w tej macierzy otrzymujemy następujący układ zawierający wszystkie stare rotacje: Ponieważ morfizm φ s zachowuje porządek, więc stare rotacje znajdują się od razu we właściwej kolejności. Co więcej, jeśli ostatnią literą rotacji r było x, to ostatnią literą φ s (r) jest φ 2 (x). Zatem ostatnia kolumna tak powstałej macierzy jest równa φ 2 (v). Pozostaje zbadać, co dzieje się z nowymi rotacjami. Wszystkie nowe rotacje zaczynające się 10 rozpoczynają się po pierwszym znaku fragmentu 210 powstałego przez morfizm litery 2, zatem kończą się na 2. Jest ich tyle co symboli 2 w słowie BW T (u) = v. Ponieważ stare rotacje mogą zaczynać się jedynie od 11, 12, 20 lub 21, więc wszystkie takie rotacje występują przed starymi rotacjami } Nowe rotacje Stare rotacje Ostatnia kolumna tak otrzymanej macierzy jest równa: 2 #2(v) φ 2 (v). Do uzyskania pełnej macierzy BWT słowa φ s (u) pozostaje jedynie uwzględnić nowe rotacje zaczynające się od symbolu 0. Zauważmy, że mogą one powstać na dwa różne sposoby. Mogą się zaczynać po pierwszym znaku fragmentu 20 powstałego z morfizmu litery 1 (taka rotacja kończy się wtedy na 2) lub po drugim znaku fragmentu 210 powstałego z morfizmu litery 2 (taka rotacja kończy się wtedy na 1). Aby ustalić porządek tych dwóch typów rotacji między sobą przyjrzyjmy się tym wierszom macierzy BWT słowa u, które kończą się na 1 lub Aby otrzymać interesujące nas rotacje należy dokonać na nich morfizmu φ s oraz przesunąć ostatnią kolumnę (złożoną z samych zer) na początek Zauważmy, że w ten sposób otrzymamy wszystkie nowe rotacje zaczynające się od 0 posortowane od razu w kolejności leksykograficznej. Co więcej, jeśli ostatnią literą pewnej rotacji słowa u było 1, to ostatnią literą odpowiadającej mu rotacji zaczynającej się od 0 jest 2. Podobnie, jeśli ostatnią literą pewnej rotacji słowa u było 2, to ostatnią literą odpowiadającej mu rotacji zaczynającej się od 0 jest 1. Zatem ostania kolumna pierwszego fragmentu 24
27 macierzy BWT słowa φ s (u) jest równa φ 1 (v). Cała macierz BWT słowa φ(u) wygląda zatem następująco: Nowe rotacje } Nowe rotacje Stare rotacje Ostatnia kolumna tak powstałej macierzy jest równa BW T (u) = φ 1 (v) 2 #2(v) φ 2 (v). Wykorzystując powyższe twierdzenie, zajmiemy się teraz opisem postaci BWT słów bezkwadratowych Thuego-Morse a. Jak pokazują pierwsze przykłady, jest ona w pewien sposób regularna: BW T (s 0 ) = 2 1 BW T (s 1 ) = BW T (s 2 ) = BW T (s 3 ) = BW T (s 4 ) = BW T (s 5 ) = Faktycznie, powyższe obserwacje możemy uogólnić do następującego twierdzenia: Twierdzenie Dla dowolnego i 2: BW T (s i ) = gdzie α i oraz β i oznaczają następujące człony: β i = α i = { 212 αi β i 001 dla i parzystych, 121 α i β i 110 dla i nieparzystych, { (i 3) dla i parzystych, (i 3) dla i nieparzystych, { (i 3) 1 3 2(i 4) 0 3 2(i 5) dla i parzystych, 0 3 2(i 3) 1 3 2(i 4) 0 3 2(i 5) dla i nieparzystych, Dowód. Dla i = 2 równość jest spełniona. Załóżmy, że równość jest spełniona dla pewnego i N. Rozpatrzmy jako pierwszy przypadek parzystego i. Wtedy: BW T (s i ) = 212 α i β i 001, gdzie α i = (i 3), β i = 0 3 2(i 3) 1 3 2(i 4) 0 3 2(i 5)
28 Oznaczmy BW T (s i ) przez v. Wtedy na mocy twierdzenia spełniona jest równość: BW T (s i+1 ) = φ 1 (v) 2 #2(v) φ 2 (v) Przyjrzyjmy się jak wyglądają kolejne człony prawej strony. Pierwszy człon: Drugi człon: φ 1 (v) = φ 1 (212 α i β i 001) = φ 1 (212) φ 1 (α i ) φ 1 (β i ) φ 1 (001) = 121 φ 1 (α i ) φ 1 (β i ) 2 = 121 φ 1 (α i ) 2 #1(β i) 2 = 121 φ 1 (α i ) 2 #1(β i) # 2(v) = 2 #2(212) + #2(α i) + # 2(β i ) + # 2(001) = #2(α i) Trzeci człon: φ 2 (v) = φ 2 (212 α i β i 001) = φ 2 (212) φ 2 (α i ) φ 2 (β i ) φ 2 (001) = 000 φ 2 (α i ) φ 2 (β i ) 110 = αi φ 2 (β i ) 110 = 0 α i + 3 φ 2 (β i ) 110 Łącząc kolejne człony otrzymujemy słowo: BW T (s i+1 ) = 121 φ 1 (α i ) 2 #1(β i) #2(α i) 0 α i + 3 φ 2 (β i ) 110 = 121 φ 1 (α i ) 2 #1(β i) + # 2 (α i ) α i + 3 φ 2 (β i ) 110 Zauważmy, że: Zatem: # 1 (β i ) = 3 2 i i # 2 (α i ) = i 3 α i = i 3 # 1 (β i ) + # 2 (α i ) + 3 = α i + 3 = 3 2 i 2 Podstawiając: BW T (s i+1 ) = 121 φ 1 (α i ) 2 3 2i i 2 φ 2 (β i ) 110 Ponieważ: φ 1 (α i ) 2 3 2i 2 = α i i 2 φ 2 (β i ) = β i+1 więc: BW T (s i+1 ) = 121 α i+1 β i Dowód dla i nieparzystego jest analogiczny. 26
29 Rozdział 5 Słowa Cantora Kolejną klasą słów, które zostały zbadane w ramach pracy są tzw. słowa Cantora. W przypadku tej klasy technika dowodu zwartej postaci BWT będzie istotnie inna. Zamiast badać, jak zmienia się postać BWT w kolejnych iteracjach, przeanalizujemy strukturę całego słowa oraz układ jego rotacji. Słowa Cantora są ciekawym przypadkiem, gdyż, jak łatwo można zauważyć w trakcie dowodu, stare i nowe rotacji mieszają się w nich w bardzo wielu miejscach (w przypadku pozostałych klas słów liczba ta był najczęściej stała). Dla przypomnienia słowa Cantora możemy zdefiniować np. w następujący sposób: Definicja i-tym słowem Cantora będziemy nazywali słowo: gdzie φ c oznacza następujący morfizm: φ c : c i = φ i c(1), { Postać BWT słów Cantora jest stosunkowo skomplikowana, zwłaszcza w porównaniu do ich dość prostej budowy. Niemniej jednak przy odrobinie wysiłku także w przypadku tej klasy słów możemy opisać ją zwartym wzorem. Twierdzenie Dla dowolnego i 0: gdzie α i,j oznacza następujący człon: α i,j = BW T (c i ) = α i,1 α i,2... α i,i 0 2i i 1 10 i { 1 2 j j (2j 1) (3 i j 3 i j 1 1) dla j < i, 1 2j j dla j = i, Dowód. Zauważmy, że macierz BWT słowa c i możemy podzielić na dwie części: rotacje rozpoczynające się od symbolu 0 oraz rotacje rozpoczynające się od symbolu 1. Wystarczy pokazać, że ostatnią kolumną pierwszej części jest α i,1 α i,2... α i,i, a ostatnią kolumną drugiej części jest 0 2i i 1 10 i. Zajmijmy się w pierwszej kolejności rotacjami rozpoczynającymi się od symbolu 0. Każda rotacja rozpoczynająca się od symbolu 0 rozpoczyna się od prefiksu postaci 0 n 1 dla pewnego n N w takiej sytuacji będziemy mówić, że rotacja rozpoczyna się od bloku n zer. Zauważmy, że w macierzy BWT rotacje rozpoczynające się od dłuższego bloku zer występują 27
30 przed tymi, które zaczynają się od krótszego bloku zer. Podzielmy zatem wszystkie rotacje rozpoczynające się od symbolu 0 na i części (o numerach od 1 do i). Niech j-ta część zawiera rotacje rozpoczynające się od bloku zer o długościach z przedziału (3 i j 1, 3 i j. Wystarczy pokazać, że ostatnią kolumną tak zdefiniowanej j-tej części jest α i,j. Poniżej przedstawiona jest macierz BWT dla przykładowego słowa c 3. Pojedyncze linie oddzielają poszczególne części (zgodnie z powyższą definicją), natomiast podwójna oddziela fragment zawierający rotacje rozpoczynające się od symbolu α 3,1 = (21 1) ( ) α 3,2 = (22 1) ( ) α 3,3 = Na początku j-tej części znajdują się rotacje zaczynające się od bloku 3 i j zer. Zauważmy, że dokładnie 2 j 1 z tych rotacji rozpoczyna się na początku bloku dokładnie tej długości takie rotacje kończą się symbolem 1, a dokładnie 2 j 1 1 rozpoczyna się wewnątrz bloku większej długości takie rotacje kończą się symbolem 0. Pozostaje ustalić, w jaki sposób te dwa rodzaje rotacji przeplatają się w macierzy BWT. Zauważmy, że jeżeli rotacja rozpoczyna się od bloku zer o długości podzielnej przez 3 to jest to stara rotacja. Zatem dla każdej z nich możemy znaleźć rotację poprzedniego słowa Cantora, z której ona powstała. Ponieważ morfizm φ c zachowuje porządek, więc operacja ta nie zmienia kolejności badanych rotacji. Postępując w ten sposób i j razy dojdziemy do rotacji rozpoczynających się jednym z następujących prefiksów: 0100, 0101, 011. Przykładowo dla początkowych rotacji z drugiej części macierzy BWT słowa c 3 otrzymujemy: Zauważmy, że z postaci morfizmu φ c wynika, że rotacje rozpoczynające się od 0100 lub 011 muszą kończyć się symbolem 1, natomiast rotacje rozpoczynające się od 0101 muszą kończyć się symbolem 0. Zauważmy też, że dokładnie jedna rotacja może zaczynać się od prefiksu 011, 28
31 gdyż fragment 11 może powstać jedynie na skutek złączenia pierwszej i ostatniej litery słowa Cantora. Wynika z tego, że ostatnia kolumna badanego fragmentu macierzy BWT ma postać tylko jedna rotacja kończąca się na 1 może trafić za rotacje kończące się na 0. Zatem ostatnia kolumna j-tej części macierzy BWT rozpoczyna się od słowa 1 2j j Zaraz za rotacjami rozpoczynającymi się od bloku 3 i j zer w j-tej części znajdują się rotacje rozpoczynające się do bloków zer o długościach z przedziału (3 i j 1, 3 i j ). Ponieważ wszystkie bloki zer w słowie Cantora mają długość będącą potęgą trójki, więc wszystkie takie rotacje kończą się symbolem 0. Takich rotacji jest dokładnie (2 i 1) (3 i j 3 i j 1 1) dla j < i lub 0 dla j = i. Zatem ostatnia kolumna j-tej części macierzy BWT jest faktycznie równa α i,j. Pozostaje zbadać, jak wygląda fragment macierzy BWT zawierający rotacje rozpoczynające się od symbolu 1. Zauważmy, że takich rotacji jest dokładnie 2 i, a spośród nich dokładnie jedna (ta równa oryginalnemu słowu c i ) kończy się symbolem 1. Pokażemy, że w macierzy BWT słowa c i znajduje się ona na pozycji i + 1 od końca. Dla i = 0 oraz i = 1 teza jest prawdziwa. Załóżmy, że jest tak dla pewnego i N. Zauważmy, że podczas dokonywania morfizmu φ c stare rotacje nie zmieniają kolejności, natomiast prawie wszystkie nowe rotacje, które rozpoczynają się do 1 rozpoczynają od prefiksu 1000, a dokładnie jedna od prefiksu 1101 jest tak, gdyż dokładnie jedna rotacja słowa c i może rozpoczynać się od prefiksu 11. Ponieważ słowo c i+1 zawsze rozpoczyna się od 101, więc tylko ta jedna rotacja trafi za słowo c i+1. Zatem znajdzie się on na pozycji i + 2 od końca. Na mocy zasady indukcji teza jest prawdziwa dla dowolnego n N, czyli ostatnia kolumna tego fragmentu macierzy BWT jest równa 0 2i i 1 10 i, co kończy dowód całego twierdzenia. 29
32
33 Rozdział 6 Słowa Paper Folding Ostatnią klasą słów przeanalizowaną w pracy są tzw. słowa Paper Folding. Krótka charakterystyka tych słów została już przedstawiona w rozdziale Dla przypomnienia, w pracy wykorzystamy następującą definicję: Definicja i-tym słowem Paper Folding nazywamy słowo: p i = φ p φ i p(3), gdzie φ p oraz φ p oznaczają następujące morfizmy: φ p : φ 1 01 p : Łatwo zauważyć, że postać definicji słów Paper Folding jest nieco inna niż pozostałych omawianych klas. Powstają one również poprzez iterację pewnego morfizmu (w tym przypadku φ p ), jednak po zakończeniu tego procesu jednorazowo aplikowany jest inny morfizm, φ p. Jak się okazuje w trakcie dowodu istotnie komplikuje on postać BWT. Pełny dowód przebiega w trzech częściach. Najpierw opisane zostało, w jaki sposób morfizm φ p wpływa na postać BWT dowolnego słowa. Następnie na tej podstawie określona oraz udowodniona została zwarta postać BWT słów p i = φi p(3), a dopiero na sam koniec zwarta postać BWT właściwych słów Paper Folding. Twierdzenie Dla dowolnego słowa u {0, 1, 2, 3} jeśli BW T (u) = v to: BW T (φ p (u)) = φ 1 (v) φ 2 (v) φ 3 (v), gdzie φ 1, φ 2, φ 3 oznaczają następujące morfizmy: ɛ 1 ɛ 1 2 φ 1 : φ 2 : ɛ 3 ɛ φ 3 :
34 Dowód. Przeanalizujmy zachowanie macierzy BWT słowa u podczas wykonywania morfizmu φ p. Dla przykładowego słowa u = wygląda ona następująco: Jeśli dokonamy morfizmu φ p na kolejnych wierszach tej macierzy otrzymamy następujący układ, zawierający wszystkie stare rotacje: Ponieważ morfizm φ p zachowuje porządek, więc są one umieszczone we właściwej kolejności. Co więcej, jeśli ostatnia kolumna wyjściowej macierzy była równa v, to ostatnia kolumna macierzy po przekształceniu jest równa φ 3 (v). Zauważmy, że nowe rotacje mogą zaczynać się jedynie od symboli 0 lub 1 podczas, gdy stare rotacje jedynie od symboli 2 lub 3. Zatem wszystkie stare rotacje znajdą się w macierzy BWT za nowymi. Aby otrzymać wszystkie nowe rotacje rozpoczynające się od symbolu 0 wystarczy z ostatniej macierzy wybrać wiersze kończące się na 30 lub 20 i ostatnią kolumnę przenieść na początek Zauważmy, że ostatnia kolumna tak otrzymanej macierzy jest równa φ 1 (v). Podobnie możemy postąpić, aby otrzymać wszystkie nowe rotacje rozpoczynające się od symbolu Ostatnia kolumna tak otrzymanej macierzy jest równa φ 2 (v). Łącząc otrzymane trzy części, otrzymujemy macierz BWT słowa φ p (u): 32
0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
Bardziej szczegółowoNierówność Krafta-McMillana, Kodowanie Huffmana
Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy
Bardziej szczegółowo3. Macierze i Układy Równań Liniowych
3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x
Bardziej szczegółowoZadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)
Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =
Bardziej szczegółowoLogika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język
Bardziej szczegółowoZnaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:
Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie
Bardziej szczegółowoDystrybucje, wiadomości wstępne (I)
Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów
Bardziej szczegółowoJAO - Wprowadzenie do Gramatyk bezkontekstowych
JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa
Bardziej szczegółowoTopologia zbioru Cantora a obwody logiczne
Adam Radziwończyk-Syta Michał Skrzypczak Uniwersytet Warszawski 1 lipca 2009 http://students.mimuw.edu.pl/~mskrzypczak/dokumenty/ obwody.pdf Zbiór Cantora Topologia Definicja Przez zbiór Cantora K oznaczamy
Bardziej szczegółowoCiągi komplementarne. Autor: Krzysztof Zamarski. Opiekun pracy: dr Jacek Dymel
Ciągi komplementarne Autor: Krzysztof Zamarski Opiekun pracy: dr Jacek Dymel Spis treści 1 Wprowadzenie 2 2 Pojęcia podstawowe 3 2.1 Oznaczenia........................... 3 2.2 "Ciąg odwrotny"........................
Bardziej szczegółowoMatematyka dyskretna dla informatyków
Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności
Bardziej szczegółowoKodowanie 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
Bardziej szczegółowo1 Układy równań liniowych
II Metoda Gaussa-Jordana Na wykładzie zajmujemy się układami równań liniowych, pojawi się też po raz pierwszy macierz Formalną (i porządną) teorią macierzy zajmiemy się na kolejnych wykładach Na razie
Bardziej szczegółowoAlgebra Boole a i jej zastosowania
lgebra oole a i jej zastosowania Wprowadzenie Niech dany będzie zbiór dwuelementowy, którego elementy oznaczymy symbolami 0 oraz 1, tj. {0, 1}. W zbiorze tym określamy działania sumy :, iloczynu : _ oraz
Bardziej szczegółowodomykanie relacji, relacja równoważności, rozkłady zbiorów
1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i
Bardziej szczegółowoVII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.
VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w
Bardziej szczegółowo1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie
Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest
Bardziej szczegółowoKompresja bezstratna. Entropia. Kod Huffmana
Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)
Bardziej szczegółowoRelacje. opracował Maciej Grzesiak. 17 października 2011
Relacje opracował Maciej Grzesiak 17 października 2011 1 Podstawowe definicje Niech dany będzie zbiór X. X n oznacza n-tą potęgę kartezjańską zbioru X, tzn zbiór X X X = {(x 1, x 2,..., x n ) : x k X dla
Bardziej szczegółowoZasada indukcji matematycznej
Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.
Bardziej szczegółowoTeoria liczb. Magdalena Lemańska. Magdalena Lemańska,
Teoria liczb Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Wstęp Teoria liczb jest dziedziną matematyki,
Bardziej szczegółowoUkłady równań i nierówności liniowych
Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 1
Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...
Bardziej szczegółowoLogika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 2 - Logika modalna Część 2 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 27 Plan wykładu
Bardziej szczegółowoKody blokowe Wykład 2, 10 III 2011
Kody blokowe Wykład 2, 10 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding
Bardziej szczegółowoLOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
Bardziej szczegółowoProgramowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Bardziej szczegółowoProblemy Decyzyjne dla Systemów Nieskończonych
Problemy Decyzyjne dla Systemów Nieskończonych Ćwiczenia 1 17 lutego 2012 Na tych ćwiczeniach zajmiemy się pojęciem well quasi-ordering (WQO) bardzo przydatnym do analizy nieskończonych ciągów. Definicja
Bardziej szczegółowozłożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa
Zadanie 1. Rozważmy jezyk złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa równe. Narysować diagram minimalnego automatu deterministycznego akceptujacego
Bardziej szczegółowoFUNKCJA LINIOWA - WYKRES
FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości
Bardziej szczegółowoWykład 10. Stwierdzenie 1. X spełnia warunek Borela wtedy i tylko wtedy, gdy każda scentrowana rodzina zbiorów domkniętych ma niepusty przekrój.
Wykład 10 Twierdzenie 1 (Borel-Lebesgue) Niech X będzie przestrzenią zwartą Z każdego pokrycia X zbiorami otwartymi można wybrać podpokrycie skończone Dowód Lemat 1 Dla każdego pokrycia U przestrzeni ośrodkowej
Bardziej szczegółowoKodowanie 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
Bardziej szczegółowoSystemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych
Bardziej szczegółowoKodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 6
Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended
Bardziej szczegółowoWyszukiwanie binarne
Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie
Bardziej szczegółowoUkłady równań liniowych
Układy równań liniowych Niech K będzie ciałem. Niech n, m N. Równanie liniowe nad ciałem K z niewiadomymi (lub zmiennymi) x 1, x 2,..., x n K definiujemy jako formę zdaniową zmiennej (x 1,..., x n ) K
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /10
Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji
Bardziej szczegółowoTemat: 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
Bardziej szczegółowo0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.
(Aktualizacja z dnia 3 kwietnia 2013) MATEMATYKA DYSKRETNA - informatyka semestr 2 (lato 2012/2013) Zadania do omówienia na zajęciach w dniach 21 i 28 kwietnia 2013 ZESTAW NR 3/7 (przykłady zadań z rozwiązaniami)
Bardziej szczegółowoObliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga
Bardziej szczegółowon=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa
Równanie Bessela Będziemy rozważać następujące równanie Bessela x y xy x ν )y 0 ) gdzie ν 0 jest pewnym parametrem Rozwiązania równania ) nazywamy funkcjami Bessela rzędu ν Sprawdzamy, że x 0 jest regularnym
Bardziej szczegółowoMacierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
Bardziej szczegółowoTemat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych
Opracował: dr inż. Zbigniew Buchalski KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów
Bardziej szczegółowoSortowanie zewnętrzne
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często
Bardziej szczegółowoZajęcia nr. 3 notatki
Zajęcia nr. 3 notatki 22 kwietnia 2005 1 Funkcje liczbowe wprowadzenie Istnieje nieskończenie wiele funkcji w matematyce. W dodaktu nie wszystkie są liczbowe. Rozpatruje się funkcje które pobierają argumenty
Bardziej szczegółowoLuty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Bardziej szczegółowoTwierdzenie Li-Yorke a Twierdzenie Szarkowskiego
Politechnika Gdańska Wydział Fizyki Technicznej i Matematyki Stosowanej Twierdzenie Li-Yorke a Twierdzenie Szarkowskiego Autor: Kamil Jaworski 11 marca 2012 Spis treści 1 Wstęp 2 1.1 Podstawowe pojęcia........................
Bardziej szczegółowoMatematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d
C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Bardziej szczegółowoRozkład figury symetrycznej na dwie przystające
Rozkład figury symetrycznej na dwie przystające Tomasz Tkocz 10 X 2010 Streszczenie Tekst zawiera notatki do referatu z seminarium monograficznego Wybrane zagadnienia geometrii. Całość jest oparta na artykule
Bardziej szczegółowoO MACIERZACH I UKŁADACH RÓWNAŃ
O MACIERZACH I UKŁADACH RÓWNAŃ Problem Jak rozwiązać podany układ równań? 2x + 5y 8z = 8 4x + 3y z = 2x + 3y 5z = 7 x + 8y 7z = Definicja Równanie postaci a x + a 2 x 2 + + a n x n = b gdzie a, a 2, a
Bardziej szczegółowo5 Wyznaczniki. 5.1 Definicja i podstawowe własności. MIMUW 5. Wyznaczniki 25
MIMUW 5 Wyznaczniki 25 5 Wyznaczniki Wyznacznik macierzy kwadratowych jest funkcją det : K m n K, (m = 1, 2, ) przypisującą każdej macierzy kwadratowej skalar, liniowo ze względu na każdy wiersz osobno
Bardziej szczegółowoWykład z równań różnicowych
Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.
Bardziej szczegółowo1 Macierz odwrotna metoda operacji elementarnych
W tej części skupimy się na macierzach kwadratowych. Zakładać będziemy, że A M(n, n) dla pewnego n N. Definicja 1. Niech A M(n, n). Wtedy macierzą odwrotną macierzy A (ozn. A 1 ) nazywamy taką macierz
Bardziej szczegółowoMetoda eliminacji Gaussa
Metoda eliminacji Gaussa Rysunek 3. Rysunek 4. Rozpoczynamy od pierwszego wiersza macierzy opisującej nasz układ równań (patrz Rys.3). Zakładając, że element a 11 jest niezerowy (jeśli jest, to niezbędny
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka
Bardziej szczegółowoZbiory, relacje i funkcje
Zbiory, relacje i funkcje Zbiory będziemy zazwyczaj oznaczać dużymi literami A, B, C, X, Y, Z, natomiast elementy zbiorów zazwyczaj małymi. Podstawą zależność między elementem zbioru a zbiorem, czyli relację
Bardziej szczegółowo13 Układy równań liniowych
13 Układy równań liniowych Definicja 13.1 Niech m, n N. Układem równań liniowych nad ciałem F m równaniach i n niewiadomych x 1, x 2,..., x n nazywamy koniunkcję równań postaci a 11 x 1 + a 12 x 2 +...
Bardziej szczegółowoWygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje
Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje Witold Tomaszewski Instytut Matematyki Politechniki Śląskiej e-mail: Witold.Tomaszewski@polsl.pl Je n ai fait celle-ci plus longue
Bardziej szczegółowoskłada się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:
TEMATYKA: Krzywe typu Splajn (Krzywe B sklejane) Ćwiczenia nr 8 Krzywe Bezier a mają istotne ograniczenie. Aby uzyskać kształt zawierający wiele punktów przegięcia niezbędna jest krzywa wysokiego stopnia.
Bardziej szczegółowo1 Automaty niedeterministyczne
Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów
Bardziej szczegółowomacierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same
1 Macierz definicja i zapis Macierzą wymiaru m na n nazywamy tabelę a 11 a 1n A = a m1 a mn złożoną z liczb (rzeczywistych lub zespolonych) o m wierszach i n kolumnach (zamiennie będziemy też czasem mówili,
Bardziej szczegółowoMetoda Karnaugh. B A BC A
Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który
Bardziej szczegółowoRijndael szyfr blokowy
Rijndael szyfr blokowy Andrzej Chmielowiec 24 lipca 2002 1 Podstawy matematyczne Kilka operacji w standardzie Rijndael jest zdefiniowanych na poziomie bajta, przy czym bajty reprezentują elementy ciała
Bardziej szczegółowoFinanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z 21 grudnia 2014)
dr inż. Ryszard Rębowski DEFINICJA CIĄGU LICZBOWEGO Finanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z grudnia 04) Definicja ciągu liczbowego Spośród
Bardziej szczegółowoGrupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.
Grupy. Permutacje 1 1 Definicja grupy Niech G będzie zbiorem. Działaniem na zbiorze G nazywamy odwzorowanie (oznaczane, jak mnożenie, przez ) przyporządkowujące każdej parze uporządkowanej (a, b) G G element
Bardziej szczegółowoPrzykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Bardziej szczegółowo2. Układy równań liniowych
2. Układy równań liniowych Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2017/2018 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 2. Układy równań liniowych zima 2017/2018 1 /
Bardziej szczegółowomgr 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
Bardziej szczegółowoDefinicje i przykłady
Rozdział 1 Definicje i przykłady 1.1 Definicja równania różniczkowego 1.1 DEFINICJA. Równaniem różniczkowym zwyczajnym rzędu n nazywamy równanie F (t, x, ẋ, ẍ,..., x (n) ) = 0. (1.1) W równaniu tym t jest
Bardziej szczegółowoUniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy
Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy Matematyka, królowa nauk Edycja X - etap 2 Bydgoszcz, 16 kwietnia 2011 Fordoński
Bardziej szczegółowoAlgorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Bardziej szczegółowoFRAKTALE I SAMOPODOBIEŃSTWO
FRAKTALE I SAMOPODOBIEŃSTWO Mariusz Gromada marzec 2003 mariusz.gromada@wp.pl http://multifraktal.net 1 Wstęp Fraktalem nazywamy każdy zbiór, dla którego wymiar Hausdorffa-Besicovitcha (tzw. wymiar fraktalny)
Bardziej szczegółowoZadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.
Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje
Bardziej szczegółowoMacierze - obliczanie wyznacznika macierzy z użyciem permutacji
Macierze - obliczanie wyznacznika macierzy z użyciem permutacji I LO im. F. Ceynowy w Świeciu Radosław Rudnicki joix@mat.uni.torun.pl 17.03.2009 r. Typeset by FoilTEX Streszczenie Celem wykładu jest wprowadzenie
Bardziej szczegółowoIndukcja matematyczna
Indukcja matematyczna 1 Zasada indukcji Rozpatrzmy najpierw następujący przykład. Przykład 1 Oblicz sumę 1 + + 5 +... + (n 1). Dyskusja. Widzimy że dla n = 1 ostatnim składnikiem powyższej sumy jest n
Bardziej szczegółowoDla 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
Bardziej szczegółowoSumy kwadratów kolejnych liczb naturalnych
Sumy kwadratów kolejnych liczb naturalnych Andrzej Nowicki 24 maja 2015, wersja kk-17 Niech m < n będą danymi liczbami naturalnymi. Interesować nas będzie równanie ( ) y 2 + (y + 1) 2 + + (y + m 1) 2 =
Bardziej szczegółowo1 Działania na zbiorach
M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej
Bardziej szczegółowoProjekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Publikacja jest dystrybuowana bezpłatnie Program Operacyjny Kapitał Ludzki Priorytet 9 Działanie 9.1 Poddziałanie
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych
Bardziej szczegółowoKodowanie i kompresja Streszczenie Studia dzienne Wykład 6
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 1 Kody cykliczne: dekodowanie Definicja 1 (Syndrom) Niech K będzie kodem cyklicznym z wielomianem generuja- cym g(x). Resztę z dzielenia słowa
Bardziej szczegółowoFUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe
FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (postać kierunkowa) Funkcja liniowa to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości liczbowe Szczególnie ważny w postaci
Bardziej szczegółowoSymbol, alfabet, łańcuch
Łańcuchy i zbiory łańcuchów Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Symbol, alfabet, łańcuch Symbol Symbol jest to pojęcie niedefiniowane (synonimy: znak, litera)
Bardziej szczegółowoRozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26
Rozdział 4 Macierze szyfrujące Opiszemy system kryptograficzny oparty o rachunek macierzowy. W dalszym ciągu przypuszczamy, że dany jest 26 literowy alfabet, w którym utożsamiamy litery i liczby tak, jak
Bardziej szczegółowoIndukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Bardziej szczegółowoKompresja 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
Bardziej szczegółowoSchematy Piramid Logicznych
Schematy Piramid Logicznych geometryczna interpretacja niektórych formuł Paweł Jasionowski Politechnika Śląska w Gliwicach Wydział Matematyczno-Fizyczny Streszczenie Referat zajmuje się następującym zagadnieniem:
Bardziej szczegółowoDefinicja i własności wartości bezwzględnej.
Równania i nierówności z wartością bezwzględną. Rozwiązywanie układów dwóch (trzech) równań z dwiema (trzema) niewiadomymi. Układy równań liniowych z parametrem, analiza rozwiązań. Definicja i własności
Bardziej szczegółowoZł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
Bardziej szczegółowoPodstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.
ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach
Bardziej szczegółowoPodstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Bardziej szczegółowoUrządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):
1. SYSTEMY LICZBOWE UŻYWANE W TECHNICE KOMPUTEROWEJ System liczenia - sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Do zapisu
Bardziej szczegółowoFunkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska
Funkcje liniowe i wieloliniowe w praktyce szkolnej Opracowanie : mgr inż. Renata Rzepińska . Wprowadzenie pojęcia funkcji liniowej w nauczaniu matematyki w gimnazjum. W programie nauczania matematyki w
Bardziej szczegółowoProgramowanie w Baltie klasa VII
Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.
Bardziej szczegółowoKrzywa uniwersalna Sierpińskiego
Krzywa uniwersalna Sierpińskiego Małgorzata Blaszke Karol Grzyb Streszczenie W niniejszej pracy omówimy krzywą uniwersalną Sierpińskiego, zwaną również dywanem Sierpińskiego. Pokażemy klasyczną metodę
Bardziej szczegółowo13. Równania różniczkowe - portrety fazowe
13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /
Bardziej szczegółowoALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ
ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ WSHE, O/K-CE 10. Homomorfizmy Definicja 1. Niech V, W będą dwiema przestrzeniami liniowymi nad ustalonym ciałem, odwzorowanie ϕ : V W nazywamy homomorfizmem
Bardziej szczegółowo2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub
WYKŁAD 2 1 2. FUNKCJE. 2.1.PODSTAWOWE DEFINICJE. Niech będą dane zbiory i. Jeżeli każdemu elementowi x ze zbioru,, przyporządkujemy jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy
Bardziej szczegółowo