Strukturalne własności transformaty Burrowsa-Wheelera dla pewnych klas słów

Wielkość: px
Rozpocząć pokaz od strony:

Download "Strukturalne własności transformaty Burrowsa-Wheelera dla pewnych klas słó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.

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ółowo

Nierówność Krafta-McMillana, Kodowanie Huffmana

Nieró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ółowo

3. Macierze i Układy Równań Liniowych

3. 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ółowo

Zadanie 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ż. 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ółowo

Logika 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 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ółowo

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Znaleźć 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ółowo

Dystrybucje, wiadomości wstępne (I)

Dystrybucje, 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ółowo

JAO - Wprowadzenie do Gramatyk bezkontekstowych

JAO - 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ółowo

Topologia zbioru Cantora a obwody logiczne

Topologia 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ółowo

Ciągi komplementarne. Autor: Krzysztof Zamarski. Opiekun pracy: dr Jacek Dymel

Cią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ółowo

Matematyka dyskretna dla informatyków

Matematyka 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ółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

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

Bardziej szczegółowo

1 Układy równań liniowych

1 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ółowo

Algebra Boole a i jej zastosowania

Algebra 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ółowo

domykanie relacji, relacja równoważności, rozkłady zbiorów

domykanie 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ółowo

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

VII. 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ółowo

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

1. 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ółowo

Kompresja bezstratna. Entropia. Kod Huffmana

Kompresja 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ółowo

Relacje. opracował Maciej Grzesiak. 17 października 2011

Relacje. 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ółowo

Zasada indukcji matematycznej

Zasada 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ółowo

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Teoria 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ółowo

Układy równań i nierówności liniowych

Ukł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ółowo

Języki formalne i automaty Ćwiczenia 1

Ję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ółowo

Logika 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 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ółowo

Kody blokowe Wykład 2, 10 III 2011

Kody 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ółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA 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ółowo

Programowanie dynamiczne

Programowanie 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ółowo

Problemy Decyzyjne dla Systemów Nieskończonych

Problemy 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ółowo

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

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 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ółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA 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ółowo

Wykł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. 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ółowo

Kodowanie predykcyjne

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

Bardziej szczegółowo

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy 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ółowo

Kodowanie 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 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ółowo

Języki formalne i automaty Ćwiczenia 6

Ję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ółowo

Wyszukiwanie binarne

Wyszukiwanie 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ółowo

Układy równań liniowych

Ukł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ółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka 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ółowo

Temat: Algorytm kompresji plików metodą Huffmana

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

Bardziej szczegółowo

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

0 --> 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ółowo

Obliczenia inspirowane Naturą

Obliczenia 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ółowo

n=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

n=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ółowo

Macierze. Rozdział Działania na macierzach

Macierze. 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ółowo

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Temat: 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ółowo

Sortowanie zewnętrzne

Sortowanie 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ółowo

Zajęcia nr. 3 notatki

Zaję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ółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 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ółowo

Twierdzenie Li-Yorke a Twierdzenie Szarkowskiego

Twierdzenie 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ółowo

Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d

Matematyka 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ółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE 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ółowo

Rozkład figury symetrycznej na dwie przystające

Rozkł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ółowo

O MACIERZACH I UKŁADACH RÓWNAŃ

O 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ółowo

5 Wyznaczniki. 5.1 Definicja i podstawowe własności. MIMUW 5. Wyznaczniki 25

5 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ółowo

Wykład z równań różnicowych

Wykł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ółowo

1 Macierz odwrotna metoda operacji elementarnych

1 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ółowo

Metoda eliminacji Gaussa

Metoda 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ółowo

Matematyczne Podstawy Informatyki

Matematyczne 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ółowo

Zbiory, relacje i funkcje

Zbiory, 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ółowo

13 Układy równań liniowych

13 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ółowo

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

Wygra 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ółowo

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

skł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ółowo

1 Automaty niedeterministyczne

1 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ółowo

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

macierze 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ółowo

Metoda Karnaugh. B A BC A

Metoda 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ółowo

Rijndael szyfr blokowy

Rijndael 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ółowo

Finanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z 21 grudnia 2014)

Finanse 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ółowo

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

Grupy. 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ółowo

Przykładowe zadania z teorii liczb

Przykł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ółowo

2. Układy równań liniowych

2. 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ółowo

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. 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ółowo

Definicje i przykłady

Definicje 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ółowo

Uniwersytet 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 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ółowo

Algorytmy w teorii liczb

Algorytmy 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ółowo

FRAKTALE I SAMOPODOBIEŃSTWO

FRAKTALE 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ółowo

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.

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. 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ółowo

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Macierze - 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ółowo

Indukcja matematyczna

Indukcja 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ółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

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

Bardziej szczegółowo

Sumy kwadratów kolejnych liczb naturalnych

Sumy 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ółowo

1 Działania na zbiorach

1 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ółowo

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Projekt 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ółowo

Teoretyczne podstawy informatyki

Teoretyczne 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ółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Kodowanie 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ółowo

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe

FUNKCJA 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ółowo

Symbol, alfabet, łańcuch

Symbol, 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ółowo

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

Rozdział 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ółowo

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. 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ółowo

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

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

Bardziej szczegółowo

Schematy Piramid Logicznych

Schematy 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ółowo

Definicja i własności wartości bezwzględnej.

Definicja 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ółowo

Złożoność obliczeniowa zadania, zestaw 2

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

Bardziej szczegółowo

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Podstawą 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ółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe 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ółowo

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Urzą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ółowo

Funkcje 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 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ółowo

Programowanie w Baltie klasa VII

Programowanie 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ółowo

Krzywa uniwersalna Sierpińskiego

Krzywa 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ółowo

13. Równania różniczkowe - portrety fazowe

13. 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ółowo

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

ALGEBRA 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ółowo

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

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