Algorytmika i kombinatoryka tekstów

Podobne dokumenty
Wykład 1 Wybrane problemy algorytmiki

1 abbbaabaaabaa -wzorzec: aaba

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Temat: Algorytmy wyszukiwania wzorca w tekście

Maksymalne powtórzenia w tekstach i zerowa intensywność entropii

Algorytmy i struktury danych. wykład 8

Wykład 6. Wyszukiwanie wzorca w tekście

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

Algorytmy przeszukiwania wzorca

Akademickie Mistrzostwa Polski w Programowaniu Zespołowym

Bazy dokumentów tekstowych

Paweł Gawrychowski Wyszukiwanie wzorca października / 31

Języki, automaty i obliczenia

JAO - Wprowadzenie do Gramatyk bezkontekstowych

Definicja. Jeśli. wtedy

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

O seminarium Algorytmika

Informatyka wspomaga przedmioty ścisłe w szkole

Symbol, alfabet, łańcuch

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Nierówność Krafta-McMillana, Kodowanie Huffmana

Teoria informacji i kodowania Ćwiczenia

Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B:

Analiza automatów Boyera-Moore a

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Kompresja bezstratna. Entropia. Kod Huffmana

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Efektywność Procedur Obliczeniowych. wykład 5

Wymagania edukacyjne z matematyki na poszczególne śródroczne oceny klasyfikacyjne dla klasy VII w roku 2019/2020.

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

Algorytmika dla bioinformatyki

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Kody blokowe Wykład 1, 3 III 2011

Matematyka dyskretna. Andrzej Łachwa, UJ, A/15

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Załącznik Nr 5 do Zarz. Nr 33/11/ Kod przedmiotu:aisd2

Badanie regularności w słowach

Problemy Decyzyjne dla Systemów Nieskończonych

Kierunek: Informatyka. Przedmiot:

TEORIA GRAFÓW I SIECI

10110 =

WSTĘP DO INFORMATYKI. Złożoność obliczeniowa, efektywność i algorytmy sortowania

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

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

Fraktale wokół nas. Leszek Rudak Uniwersytet Warszawski. informatyka +

Algorytmy tekstowe na przykładzie KMP

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Matematyka dyskretna Literatura Podstawowa: 1. K.A. Ross, C.R.B. Wright: Matematyka Dyskretna, PWN, 1996 (2006) 2. J. Jaworski, Z. Palka, J.

Modelowanie motywów łańcuchami Markowa wyższego rzędu

Liga zadaniowa Seria I, 2014/2015, Piotr Nayar, Marta Strzelecka

Spotkanie olimpijskie nr lutego 2013 Kombinatoryka i rachunek prawdopodobieństwa

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Języki formalne i automaty Ćwiczenia 9

Podstawy Informatyki. Metody dostępu do danych

Uwaga 1. Zbiory skończone są równoliczne wtedy i tylko wtedy, gdy mają tyle samo elementów.

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Teoria Informacji i Metody Kompresji Danych

Harmonogram dla kierunku INFORMATYKA ANALITYCZNA Rok akademicki 2014/15 semestr letni

LZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Teoretyczne podstawy informatyki

Hierarchia Chomsky ego Maszyna Turinga

Omówienie zadań. Potyczki Algorytmiczne 2016

Metody probabilistyczne

Zadanie analizy leksykalnej

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Prawie 25 lat Olimpiady Informatycznej

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

11. Liczby rzeczywiste

Równoliczność zbiorów

Informatyka szkolna z perspektywy uczelni

Nowa podstawa programowa przedmiotu informatyka w szkole ponadpodstawowej

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Kodowanie informacji

Nie tylko wynik Plan wynikowy dla klasy 1 gimnazjum

Artur Jeż: Autoreferat

Plan wynikowy z rozkładem materiału

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Harmonogram INFORMATYKA ANALITYCZNA Rok akademicki 2014/15 semestr zimowy

Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia)

1. Podstawowe pojęcia dotyczące przetwarzania tekstów 2. Podstawowe operacje na łańcuchach znakowych 3. Naiwne wyszukiwanie wzorca w tekście 4.

Matematyczne Podstawy Informatyki

TEORETYCZNE PODSTAWY INFORMATYKI

Wojciech Guzicki. Konferencja SEM(Kolory matematyki) Sielpia, 26 października 2018 r.

Typ szkoły: ZASADNICZA SZKOŁA ZAWODOWA Rok szkolny 2015/2016 Zawód: FRYZJER, CUKIERNIK, PIEKARZ, SPRZEDAWCA, FOTOGRAF i inne zawody.

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Program nauczania informatyki w gimnazjum Informatyka dla Ciebie. Modyfikacja programu klasy w cyklu 2 godzinnym

Jaki język zrozumie automat?

(j, k) jeśli k j w przeciwnym przypadku.

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Wymagania edukacyjne. Hasło z podstawy programowej 1. Liczby naturalne 1 Liczby naturalne, cechy podzielności. Liczba godzin

Algorytmy aproksymacyjne i parametryzowane

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

Matematyka z kluczem. Układ treści w klasach 4 8 szkoły podstawowej. KLASA 4 (126 h) część 1 (59 h) część 2 (67 h)

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

Transkrypt:

lgorytmika i kombinatoryka tekstów 1/21 Algorytmika i kombinatoryka tekstów Jakub Radoszewski Wręczenie Nagrody im. W. Lipskiego, 9 października 2014 r. Instytut Informatyki, Uniwersytet Warszawski

Algorytmika i kombinatoryka tekstów Algorytmika i kombinatoryka tekstów 2/21 Słowo ciąg symboli ze skończonego alfabetu (np. abaababa). Geneza algorytmiczna: Problem wyszukiwania wzorca w tekście (algorytm Knutha-Morrisa-Pratta; 1977 r.), problem wyszukiwania wielu wzorców (drzewo sufiksowe; Wiener, 1973 r.). Geneza kombinatoryczna: Nieskończone słowo bezkwadratowe nad alfabetem 3-literowym (Thue, 1906 r.).

Zagadnienia Algorytmika i kombinatoryka tekstów 3/21 1 Powtórzenia w słowach 2 Szablony 3 Inne modele równości

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa b a a a b a c a b a c a b a b c Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa b a a a b a c a b a c a b a b c Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa b a a a b a c a b a c a b a b c Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa b a a a b a c a b a c a b a b c Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa b a a a b a c a b a c a b a b c Najprostsze powtórzenia: potęgi słów, np. kwadraty

Powtórzenia w słowach Algorytmika i kombinatoryka tekstów 4/21 Okres słowa prefiks słowa, który powtarza się przez całe słowo a b a c a b a c a b a c a b Powtórzenie podsłowo (spójny fragment słowa), którego najkrótszy okres jest nie dłuższy niż połowa długości podsłowa b a a a b a c a b a c a b a b c Najprostsze powtórzenia: potęgi słów, np. kwadraty b a a a b a c a b a c a b a b c

Maksymalne powtórzenia Algorytmika i kombinatoryka tekstów 5/21 a a b a a b a b a a b a b a a b a a b b Maksymalne powtórzenie (ang. run) powtórzenie, którego nie można rozszerzyć w żadną ze stron.

Maksymalne powtórzenia Algorytmika i kombinatoryka tekstów 5/21 1 1 1 a a b a a b a b a a b a b a a b a a b b 5 1 5 Maksymalne powtórzenie (ang. run) powtórzenie, którego nie można rozszerzyć w żadną ze stron. Dla maksymalnego powtórzenia v powyżej: okres per(v) = 5, wykładnik exp(v) = 3 1 5.

Maksymalne powtórzenia Algorytmika i kombinatoryka tekstów 5/21 1 1 1 a a b a a b a b a a b a b a a b a a b b 5 Maksymalne powtórzenie (ang. run) powtórzenie, którego nie można rozszerzyć w żadną ze stron. Dla maksymalnego powtórzenia v powyżej: okres per(v) = 5, wykładnik exp(v) = 3 1 5. Kluczowe własności maksymalnych powtórzeń: struktura wszystkich powtórzeń w słowie; runs(n) = O(n), expruns(n) = O(n); algorytm O(n). 1 5

Maksymalne powtórzenia Algorytmika i kombinatoryka tekstów 5/21 1 1 1 a a b a a b a b a a b a b a a b a a b b 5 Maksymalne powtórzenie (ang. run) powtórzenie, którego nie można rozszerzyć w żadną ze stron. Dla maksymalnego powtórzenia v powyżej: okres per(v) = 5, wykładnik exp(v) = 3 1 5. Kluczowe własności maksymalnych powtórzeń: struktura wszystkich powtórzeń w słowie; runs(n) = O(n), expruns(n) = O(n); algorytm O(n). 1 5

Wyniki Algorytmika i kombinatoryka tekstów 6/21 Dwie słynne hipotezy (Kolpakov, Kucherov, 1999): 1 runs(n) < n 2 expruns(n) < 2n

Wyniki Algorytmika i kombinatoryka tekstów 6/21 Dwie słynne hipotezy (Kolpakov, Kucherov, 1999): 1 runs(n) < n 2 expruns(n) < 2n NIE! 2,035 n < expruns(n) < 4,1 n (R. i in., 2010)

Wyniki Algorytmika i kombinatoryka tekstów 6/21 Dwie słynne hipotezy (Kolpakov, Kucherov, 1999): 1 runs(n) < n??? 2 expruns(n) < 2n NIE! 2,035 n < expruns(n) < 4,1 n (R. i in., 2010)

Wyniki Algorytmika i kombinatoryka tekstów 6/21 Dwie słynne hipotezy (Kolpakov, Kucherov, 1999): 1 runs(n) < n??? 2 expruns(n) < 2n NIE! 2,035 n < expruns(n) < 4,1 n (R. i in., 2010) runs(n) < 5 n (Rytter, 2006) runs(n) < 3,48 n (Puglisi i in., 2008)... runs(n) < 1,029 n (Crochemore i in., 2008)

Maksymalne powtórzenia sześcienne lgorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie.

Maksymalne powtórzenia sześcienne lgorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010)

Maksymalne powtórzenia sześcienne Algorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010) a a b a a b a b a a b a b a a b a a b b

Maksymalne powtórzenia sześcienne Algorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010) a a b a a b a b a a b a b a a b a a b b

Maksymalne powtórzenia sześcienne Algorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010) a a b a a b a b a a b a b a a b a a b b

Maksymalne powtórzenia sześcienne Algorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010) a a b a a b a b a a b a b a a b a a b b

Maksymalne powtórzenia sześcienne Algorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010) a a b a a b a b a a b a b a a b a a b b Każdy cubic run daje co najmniej dwa uchwyty Lyndona + każda pozycja jest uchwytem Lyndona dla co najwyżej jednego cubic run cubic-runs(n) < 0,5 n

Maksymalne powtórzenia sześcienne Algorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010) a a b a a b a b a a b a b a a b a a b b Każdy cubic run daje co najmniej dwa uchwyty Lyndona + każda pozycja jest uchwytem Lyndona dla co najwyżej jednego cubic run cubic-runs(n) < 0,5 n

Maksymalne powtórzenia sześcienne Algorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010) a a b a a b a b a a b a b a a b a a b b Każdy cubic run daje co najmniej dwa uchwyty Lyndona + każda pozycja jest uchwytem Lyndona dla co najwyżej jednego cubic run cubic-runs(n) < 0,5 n

Maksymalne powtórzenia sześcienne Algorytmika i kombinatoryka tekstów 7/21 Maksymalne powtórzenie sześcienne (ang. cubic run) maksymalne powtórzenie, w którym okres powtarza się co najmniej trzykrotnie. 0,41 n < cubic-runs(n) < 0,5 n (R. i in., 2010) a a b a a b a b a a b a b a a b a a b b Każdy cubic run daje co najmniej dwa uchwyty Lyndona + każda pozycja jest uchwytem Lyndona dla co najwyżej jednego cubic run cubic-runs(n) < 0,5 n TAK! runs(n) < n, expruns(n) < 3n (Bannai i in., 07.2014)

Hipoteza Algorytmika i kombinatoryka tekstów 8/21 squares(n) maksymalna liczba różnych kwadratów w słowie długości n

Hipoteza Algorytmika i kombinatoryka tekstów 8/21 squares(n) maksymalna liczba różnych kwadratów w słowie długości n squares(n) < 2n (Fraenkel i Simpson, 1998)

Hipoteza Algorytmika i kombinatoryka tekstów 8/21 squares(n) maksymalna liczba różnych kwadratów w słowie długości n squares(n) < 2n (Fraenkel i Simpson, 1998) squares(n) < n???

Zagadnienia Algorytmika i kombinatoryka tekstów 9/21 1 Powtórzenia w słowach 2 Szablony 3 Inne modele równości

Szablony Algorytmika i kombinatoryka tekstów 10/21 a a b a a a a b a a a a b a a a a b a a Słowo okresowe (potęga)

Szablony Algorytmika i kombinatoryka tekstów 10/21 a a b a a a a b a a a b a a a a b a a Słowo z niedokładnym okresem

Szablony Algorytmika i kombinatoryka tekstów 10/21 a a b a a b a a a b a a a a b a a Inne słowo z niedokładnym okresem

Szablony lgorytmika i kombinatoryka tekstów 10/21 a a b a a b a a a b a a a a b a a Słowo aabaa jest szablonem (ang. cover)

Szablony Algorytmika i kombinatoryka tekstów 10/21 a b a a b a a a b a a a a b Inny przypadek: szablon wystaje poza słowo

Szablony lgorytmika i kombinatoryka tekstów 10/21 a b a a b a a a b a a a a b Słowo aabaa jest quasi-szablonem (ang. seed)

Szablony Algorytmika i kombinatoryka tekstów 10/21 a a b a a b a a a b a a a a b a a Wróćmy do przypadku szablonu...

Szablony Algorytmika i kombinatoryka tekstów 10/21 a a b a a b a a a b a a c a a b a a Co jeśli tylko jedna pozycja nie pasuje?

Szablony Algorytmika i kombinatoryka tekstów 10/21 a a b a a b a a a b a a c a a b a a Słowo aabaa jest α-szablonem dla α = 17 18 (ang. partial cover)

Szablony Algorytmika i kombinatoryka tekstów 10/21 a b a a b a a a b a a c a a b Podobnie...

Szablony Algorytmika i kombinatoryka tekstów 10/21 a b a a b a a a b a a c a a b Słowo aabaa jest α-quasi-szablonem dla α = 14 15 (ang. partial seed)

Wyniki Algorytmika i kombinatoryka tekstów 11/21 potęga szablon O(n log n) O(n) quasi-szablon częściowy szablon częściowy quasi-szablon

Wyniki Algorytmika i kombinatoryka tekstów 11/21 potęga szablon O(n) O(n log n) O(n) quasi-szablon częściowy szablon O(n log n) częściowy quasi-szablon O(n log n)

Zagadnienia Algorytmika i kombinatoryka tekstów 12/21 1 Powtórzenia w słowach 2 Szablony 3 Inne modele równości

Inne modele równości lgorytmika i kombinatoryka tekstów 13/21 aabcbaab ababacab Model abelowy (przemienny) Dwa słowa są równe, jeśli ich multizbiory liter są takie same (tu: {a, a, a, a, b, b, b, c}).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 aabcbaab ababacab Model abelowy (przemienny) Dwa słowa są równe, jeśli ich multizbiory liter są takie same (tu: {a, a, a, a, b, b, b, c}).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 aabcbaab ababacab Model abelowy (przemienny) Dwa słowa są równe, jeśli ich multizbiory liter są takie same (tu: {a, a, a, a, b, b, b, c}).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 5 2 7 5 1 4 9 4 5 6 4 7 6 3 5 8 5 6 Model jednakowych kształtów Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje rosnąca bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : 1 3, 2 4, 4 5, 5 6, 7 7, 9 8).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 5 2 7 5 1 4 9 4 5 6 4 7 6 3 5 8 5 6 Model jednakowych kształtów Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje rosnąca bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : 1 3, 2 4, 4 5, 5 6, 7 7, 9 8).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 5 2 7 5 1 4 9 4 5 6 4 7 6 3 5 8 5 6 Model jednakowych kształtów Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje rosnąca bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : 1 3, 2 4, 4 5, 5 6, 7 7, 9 8).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 5 2 7 5 1 4 9 4 5 6 4 7 6 3 5 8 5 6 Model jednakowych kształtów Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje rosnąca bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : 1 3, 2 4, 4 5, 5 6, 7 7, 9 8).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 5 2 7 5 1 4 9 4 5 6 4 7 6 3 5 8 5 6 Model jednakowych kształtów Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje rosnąca bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : 1 3, 2 4, 4 5, 5 6, 7 7, 9 8).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 aacabcdaaca ccdcbdaccdc Model parametryzowany Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : a c, b b, c d, d a).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 aacabcdaaca ccdcbdaccdc Model parametryzowany Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : a c, b b, c d, d a).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 aacabcdaaca ccdcbdaccdc Model parametryzowany Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : a c, b b, c d, d a).

Inne modele równości Algorytmika i kombinatoryka tekstów 13/21 aacabcdaaca ccdcbdaccdc Model parametryzowany Dwa słowa u i v nad alfabetem, odpowiednio, Σ 1 i Σ 2 są równe, jeśli istnieje bijekcja f : Σ 1 Σ 2 taka, że f (u) = v (tu f : a c, b b, c d, d a).

Wyszukiwanie wzorca Algorytmika i kombinatoryka tekstów 14/21 pattern 8 10 7 9 10 8 2 1 4 5 3 5 6 3 1 1 2 3 4 5 6 7 8 9 10

Wyszukiwanie wzorca Algorytmika i kombinatoryka tekstów 14/21 pattern 8 10 7 9 10 8 2 1 4 5 3 5 6 3 1 1 2 3 4 5 6 7 8 9 10

Wyszukiwanie wzorca Algorytmika i kombinatoryka tekstów 14/21 pattern 8 10 7 9 10 8 2 1 4 5 3 5 6 3 1 1 2 3 4 5 6 7 8 9 10

Wyszukiwanie wzorca Algorytmika i kombinatoryka tekstów 14/21 pattern 8 10 7 9 10 8 2 1 4 5 3 5 6 3 1 1 2 3 4 5 6 7 8 9 10

Wyszukiwanie wzorca Algorytmika i kombinatoryka tekstów 14/21 pattern 8 10 7 9 10 8 2 1 4 5 3 5 6 3 1 1 2 3 4 5 6 7 8 9 10

Wyszukiwanie wzorca Algorytmika i kombinatoryka tekstów 14/21 pattern 8 10 7 9 10 8 2 1 4 5 3 5 6 3 1 1 2 3 4 5 6 7 8 9 10

Wyszukiwanie wzorca Algorytmika i kombinatoryka tekstów 14/21 pattern 8 10 7 9 10 8 2 1 4 5 3 5 6 3 1 1 2 3 4 5 6 7 8 9 10

Wyniki Algorytmika i kombinatoryka tekstów 15/21 n długość tekstu; m długość wzorca Model abelowy: jeden wzorzec: O(n + m) wiele wzorców, alfabet binarny: rozmiar O(n), zapytanie O(1) (Cicalese, 2009) wiele wzorców, stały alfabet: rozmiar i konstrukcja o(n 2 ), zapytanie o(m) (Kociumaka, R., Rytter, 2013) Model jednakowych kształtów: jeden wzorzec: O(n + m) (R. i in., 2013) wiele wzorców: konstrukcja O(n log log n), zapytanie O(m) (R. i in., 2013) Model parametryzowany: jeden wzorzec: O(n + m) (Baker, 1993) wiele wzorców: konstrukcja O(n), zapytanie O(m) (Cole i Hariharan, 2003)

Okresy Algorytmika i kombinatoryka tekstów 16/21 a b a b a c a b a a b c b a a b Pełny okres

Okresy Algorytmika i kombinatoryka tekstów 16/21 a b a b a c a b a a b c b a a b Pełny okres

Okresy Algorytmika i kombinatoryka tekstów 16/21 a b a b a c a b a a b c b a a b Pełny okres

Okresy Algorytmika i kombinatoryka tekstów 16/21 a b a b a c a b a a b c b a a b Pełny okres

Okresy Algorytmika i kombinatoryka tekstów 16/21 a b a b a c a b a a b c b a a b Pełny okres

Okresy Algorytmika i kombinatoryka tekstów 16/21 a b a b a c a b a a b c b a a b a c Zwykły okres

Okresy Algorytmika i kombinatoryka tekstów 16/21 b c a b a b a c a b a a b c b a a b b c Słaby okres

Wyniki Algorytmika i kombinatoryka tekstów 17/21 a b a b a c a b a a b c b a a b Pełne okresy O(n log log n) O(n) a b a b a c a b a a b c b a a b a c Zwykłe okresy O(n 2 ) O(n log log n) b c a b a b a c a b a a b c b a a b b c Słabe okresy O(n 3 ) O(n 2 )

Zespół Algorytmika i kombinatoryka tekstów 18/21 Tomasz Kociumaka Wojciech Rytter Tomasz Waleń Marcin Kubica Maxime Crochemore Costas Iliopoulos

Publikacje Algorytmika i kombinatoryka tekstów 19/21 CPM 2014 Information Processing Letters (2013) CPM 2013 ESA 2013 SPIRE 2013 STACS 2013 Journal of Computer and System Sciences (2012) SODA 2012 IWOCA 2010 LATA 2010

Olimpiada Informatyczna Algorytmika i kombinatoryka tekstów 20/21 Szablon, XII Olimpiada Informatyczna Przyspieszenie algorytmu, XVI Olimpiada Informatyczna Chomiki, XVII Olimpiada Informatyczna Prawie szablon, Potyczki Algorytmiczne 2009 Logo, CEOI 2011 Multidrink, XX Olimpiada Informatyczna Ciągi, Potyczki Algorytmiczne 2014

Dziękuję! Algorytmika i kombinatoryka tekstów 21/21 Dziękuję za uwagę!