Jak matematyka pomaga w wyszukiwanie wzorca

Podobne dokumenty
WYK LAD 2: PODSTAWOWE STRUKTURY ALGEBRAICZNE, PIERWIASTKI WIELOMIANÓW, ROZK LAD FUNKCJI WYMIERNEJ NA U LAMKI PROSTE

Cia la i wielomiany Javier de Lucas

Wyk lad 3 Wielomiany i u lamki proste

Wyk lad 12. (ii) najstarszy wspó lczynnik wielomianu f jest elementem odwracalnym w P. Dowód. Niech st(f) = n i niech a bedzie

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

Grupy i cia la, liczby zespolone

Niezmienniki i pó lniezmienniki w zadaniach

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Grzegorz Mazur. Zak lad Metod Obliczeniowych Chemii UJ. 14 marca 2007

SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ. Ewa Madalińska. na podstawie prac:

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

Rozdzia l 11. Przestrzenie Euklidesowe Definicja, iloczyn skalarny i norma. iloczynem skalarnym.

Dziedziny Euklidesowe

(α + β) a = α a + β a α (a + b) = α a + α b (α β) a = α (β a). Definicja 4.1 Zbiór X z dzia laniami o wyżej wymienionych w lasnościach

FUNKCJE LICZBOWE. x 1

Wyk lad 11 1 Wektory i wartości w lasne

Pisemny egzamin dyplomowy. na Uniwersytecie Wroc lawskim. na kierunku matematyka. zadania testowe. 22czerwca2009r. 60 HS-8-8

Matematyka A, klasówka, 24 maja zania zadań z kolokwium z matematyki A w nadziei, że pope lni lem wielu b le. rozwia

Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu

Liczby pierwsze na straży tajemnic

Statystyka w analizie i planowaniu eksperymentu

Indeks odwzorowania zmiennej zespolonej wzgl. krzywej zamknietej

Statystyka w analizie i planowaniu eksperymentu

Wyk lad 1 Podstawowe struktury algebraiczne

Wyk lad 5 Grupa ilorazowa, iloczyn prosty, homomorfizm

PODSTAWOWE W LASNOŚCI W ZBIORZE LICZB RZECZYWISTYCH

Aproksymacja kraw. Od wielu lokalnych cech (edge elements) do spójnej, jednowymiarowej. epnej aproksymacji

Wzory Viete a i ich zastosowanie do uk ladów równań wielomianów symetrycznych dwóch i trzech zmiennych

Ćwiczenie nr 520: Metody interpolacyjne planowania ruchu manipulatorów

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

Statystyka w analizie i planowaniu eksperymentu

ep do matematyki aktuarialnej Micha l Jasiczak Wyk lad 3 Tablice trwania życia 2

Liczba 2, to jest jedyna najmniejsza liczba parzysta i pierwsza. Oś liczbowa. Liczba 1, to nie jest liczba pierwsza

Przykładowe zadania z teorii liczb

Wyk lad 7 Baza i wymiar przestrzeni liniowej

Wersja testu A 18 czerwca 2012 r. x 2 +x dx

Wykłady z matematyki Liczby zespolone

DZYSZKOLNE ZAWODY MATEMATYCZNE. Eliminacje rejonowe. Czas trwania zawodów: 150 minut

Algebra i jej zastosowania konspekt wyk ladu, cz

g liczb rzeczywistych (a n ) spe lnia warunek

Test numer xxx EGZAMIN PISEMNY Z MATEMATYKI DLA KANDYDATÓW NA KIERUNEK MATEMATYKA 5 LIPCA 2001 ROKU. Czas trwania egzaminu: 180 min.

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Statystyka w analizie i planowaniu eksperymentu lista nr 7

Wyk lad 2 Podgrupa grupy

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Ekonomia matematyczna i dynamiczna optymalizacja

WNIOSKOWANIE W MODELU REGRESJI LINIOWEJ

Wyk lad 14 Formy kwadratowe I

13. Cia la. Rozszerzenia cia l.

MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś. Wprowadzenie

Joanna Kluczenko 1. Spotkania z matematyka

Wyk lad 9 Przekszta lcenia liniowe i ich zastosowania

MADE IN CHINA czyli SYSTEM RESZTOWY

po lożenie cz astki i od czasu (t). Dla cz astki, która może poruszać siȩ tylko w jednym wymiarze (tu x)

Jeden przyk lad... czyli dlaczego warto wybrać MIESI.

Pochodne cz ¾astkowe i ich zastosowanie.

Uproszczony dowod twierdzenia Fredricksona-Maiorany

w teorii funkcji. Dwa s lynne problemy. Micha l Jasiczak

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

5. Obliczanie pochodnych funkcji jednej zmiennej

Mnożniki funkcyjne Lagrange a i funkcje kary w sterowaniu optymalnym

1 Przestrzenie unitarne i przestrzenie Hilberta.

25 lutego 2013, godzina 23: 57 strona 1. P. Urzyczyn: Materia ly do wyk ladu z semantyki. Logika Hoare a

c ze wzoru dwumianowego Newtona obliczyć sumy: a) 3 2 obliczyć wartości wyrazów będa cych liczbami ca lkowitymi,

Logika matematyczna i teoria mnogości (I) J. de Lucas

Przestrzenie wektorowe, liniowa niezależność Javier de Lucas

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Algorytmika. Algorytmy. prof. dr hab. inż. Joanna Józefowska. Poznań, rok akademicki 2008/2009. Plan wyk ladu Poj

Wersja testu A 15 lutego 2011 r. jest, że a) x R y R y 2 > Czy prawda. b) y R x R y 2 > 1 c) x R y R y 2 > 1 d) x R y R y 2 > 1.

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Procesy Stochastyczne - Zestaw 1

Tajemnice liczb pierwszych i tych drugich

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

w = w i ξ i. (1) i=1 w 1 w 2 :

5040 =

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

0.1 Sposȯb rozk ladu liczb na czynniki pierwsze

Roboty. wirutalnym, a wi ec nie symulator software owy). Rodzaje robotów:

Literatura: Oznaczenia:

Wyk lad 6 Podprzestrzenie przestrzeni liniowych

Architektura systemów komputerowych

Wyk lad 14 Cia la i ich w lasności

Dzia lanie grupy na zbiorze. Twierdzenie Sylowa

Zastosowanie Robotów. Ćwiczenie 6. Mariusz Janusz-Bielecki. laboratorium

1 Rekodowanie w podgrupach i obliczanie wartości w podgrupach

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI

Matematyka dyskretna Arytmetyka

Dyskretne modele populacji

Wyk lad 8 macierzy i twierdzenie Kroneckera-Capellego

Statystyka w analizie i planowaniu eksperymentu

Wyk ad II. Stacjonarne szeregi czasowe.

ANALIZA II 15 marca 2014 Semestr letni. Ćwiczenie 1. Czy dan a funkcjȩ da siȩ dookreślić w punkcie (0, 0) tak, żeby otrzymana funkcja by la ci ag la?

Przyk ladowe Kolokwium II. Mikroekonomia II. 2. Na lożenie podatku na produkty produkowane przez monopol w wysokości 10 z l doprowadzi do

Dydaktyka matematyki, IV etap edukacyjny (ćwiczenia) Ćwiczenia nr 7 Semestr zimowy 2018/2019

Mnożniki funkcyjne Lagrange a i funkcje kary w sterowaniu optymalnym

MATEMATYKA DZIELENIE LICZB Z RESZTA CECHY PODZIELNOṠCI

Transkrypt:

Jak matematyka pomaga w wyszukiwanie wzorca Artur Jeż 28 września 2011 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 1 / 18

Wiek nauki Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 2 / 18

Wiek nauki projekty nuklearne rozwój fizyki Internet digitalizacja danych poznanie genomu rozwój lotnictwa kryptografia Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 2 / 18

Wiek nauki projekty nuklearne rozwój fizyki Internet digitalizacja danych poznanie genomu rozwój lotnictwa kryptografia kryzys finansowy 2007? Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 2 / 18

Wiek nauki projekty nuklearne rozwój fizyki Internet digitalizacja danych poznanie genomu rozwój lotnictwa kryptografia kryzys finansowy 2007? We wszystkich matematyka i informatyka by ly obecne. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 2 / 18

Wiek nauki projekty nuklearne rozwój fizyki Internet digitalizacja danych poznanie genomu rozwój lotnictwa kryptografia kryzys finansowy 2007? We wszystkich matematyka i informatyka by ly obecne. jako podstawa lub ważne narz edzie w wi ekszości egalitarne Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 2 / 18

A Wy? Cz eść z Was pozostanie w nauce może b edziecie uczestniczyć w równie wielkim przedsi ewzi eciu! Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 3 / 18

A Wy? Cz eść z Was pozostanie w nauce może b edziecie uczestniczyć w równie wielkim przedsi ewzi eciu! Wiekszość chce po studiach mieć interesujac a i dobrze p latna prace Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 3 / 18

A Wy? Cz eść z Was pozostanie w nauce może b edziecie uczestniczyć w równie wielkim przedsi ewzi eciu! Wiekszość chce po studiach mieć interesujac a i dobrze p latna prace Badźmy szczerzy, pewnie niewiele osób bedzie uczestniczyć w czymś wielkim Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 3 / 18

A Wy? Cz eść z Was pozostanie w nauce może b edziecie uczestniczyć w równie wielkim przedsi ewzi eciu! Wiekszość chce po studiach mieć interesujac a i dobrze p latna prace Badźmy szczerzy, pewnie niewiele osób bedzie uczestniczyć w czymś wielkim Zmiany i zastosowania sa wszechobecne. Każdy może sie z nimi zetknać. Nawet w rzeczach pozornie prostych jest naprawde dużo nauki. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 3 / 18

Przyk lad: wyszukiwanie wzorca Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 4 / 18

Przyk lad: wyszukiwanie wzorca Czy zastanawialiście si e kiedyś co tak naprawd e dzieje si e po naciśni eciu Ctrl+F w Waszym ulubionym edytorze tekstu? Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 4 / 18

Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 5 / 18

Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 6 / 18

Wyszukiwanie wzorca Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 7 / 18

Wyszukiwanie wzorca Zanim rozwiażemy, wypada loby dok ladnie zdefiniować. Wyszukiwanie wzorca Dane: tekst t[1.. n] i wzorzec p[1.. m]. Wynik: Czy wzorzec wyst epuje w tekście? Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 7 / 18

Wyszukiwanie wzorca Zanim rozwiażemy, wypada loby dok ladnie zdefiniować. Wyszukiwanie wzorca Dane: tekst t[1.. n] i wzorzec p[1.. m]. Wynik: Czy wzorzec wyst epuje w tekście? Pozycja pierwszego wystapienia Pozycje wystapień. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 7 / 18

Pierwszy pomys l przyk ladamy wzorzec w każdym możliwym miejscu; sprawdzamy litera po literze, czy si e zgadza. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 8 / 18

Pierwszy pomys l (niekoniecznie najlepszy) przyk ladamy wzorzec w każdym możliwym miejscu; sprawdzamy litera po literze, czy si e zgadza. Może si e zdarzyć, że dla każdego przy lożenia sprawdzamy wi ekszość liter. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 8 / 18

Pierwszy pomys l (niekoniecznie najlepszy) przyk ladamy wzorzec w każdym możliwym miejscu; sprawdzamy litera po literze, czy si e zgadza. Może si e zdarzyć, że dla każdego przy lożenia sprawdzamy wi ekszość liter. przy lożeń: n m + 1 sprawdzań: m/c Czas dzia lania takiego algorytmu: Θ(nm). Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 8 / 18

Pierwszy pomys l (niekoniecznie najlepszy) przyk ladamy wzorzec w każdym możliwym miejscu; sprawdzamy litera po literze, czy si e zgadza. Może si e zdarzyć, że dla każdego przy lożenia sprawdzamy wi ekszość liter. przy lożeń: n m + 1 sprawdzań: m/c Czas dzia lania takiego algorytmu: Θ(nm). Jeśli n = 10 8 i m = 10 4, chwil e nam to zajmie*... * 1 chwila = 60 mgnień oka = 17 minut Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 8 / 18

Drugi pomys l Przyk ladamy wzorzec w każdym możliwym miejscu. Sprytnie odrzucamy pozycje, które na pierwszy rzut oka nie rokuja nadziei na sukces. Sprawdzamy litera po literze. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 9 / 18

Drugi pomys l (troch e lepszy) Przyk ladamy wzorzec w każdym możliwym miejscu. Sprytnie odrzucamy pozycje, które na pierwszy rzut oka nie rokuja nadziei na sukces. Sprawdzamy litera po literze. Co to znaczy sprytnie? aaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaabaaaaa Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 9 / 18

Drugi pomys l (troch e lepszy) Przyk ladamy wzorzec w każdym możliwym miejscu. Sprytnie odrzucamy pozycje, które na pierwszy rzut oka nie rokuja nadziei na sukces. Sprawdzamy litera po literze. Co to znaczy sprytnie? Myślmy o wzorcu jako o liczbie. aaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaabaaaaa Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 9 / 18

Drugi pomys l (troch e lepszy) Przyk ladamy wzorzec w każdym możliwym miejscu. Sprytnie odrzucamy pozycje, które na pierwszy rzut oka nie rokuja nadziei na sukces. Sprawdzamy litera po literze. Co to znaczy sprytnie? Myślmy o wzorcu jako o liczbie. 00000000000000000000000000000 00000100000 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 9 / 18

Drugi pomys l (troch e lepszy) Przyk ladamy wzorzec w każdym możliwym miejscu. Sprytnie odrzucamy pozycje, które na pierwszy rzut oka nie rokuja nadziei na sukces. Sprawdzamy litera po literze. Co to znaczy sprytnie? Myślmy o wzorcu jako o liczbie. 00000000000000000000000000000 00000100000 Chcemy sprawdzić czy zielona liczba jest taka sama jak czerwona. Obydwie moga być bardzo d lugie! Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 9 / 18

Drugi pomys l (troch e lepszy) Przyk ladamy wzorzec w każdym możliwym miejscu. Sprytnie odrzucamy pozycje, które na pierwszy rzut oka nie rokuja nadziei na sukces. Sprawdzamy litera po literze. Co to znaczy sprytnie? Myślmy o wzorcu jako o liczbie. 00000000000000000000000000000 00000100000 Chcemy sprawdzić czy zielona liczba jest taka sama jak czerwona. Obydwie moga być bardzo d lugie! Sprawdzimy, czy daja takie same reszty modulo p Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 9 / 18

Drugi pomys l (troch e lepszy) Przyk ladamy wzorzec w każdym możliwym miejscu. Sprytnie odrzucamy pozycje, które na pierwszy rzut oka nie rokuja nadziei na sukces. Sprawdzamy litera po literze. Co to znaczy sprytnie? Myślmy o wzorcu jako o liczbie. 00000000000000000000000000000 00000100000 Chcemy sprawdzić czy zielona liczba jest taka sama jak czerwona. Obydwie moga być bardzo d lugie! Sprawdzimy, czy daja takie same reszty modulo p = 7. 00000100000 = 5 (mod 7) 00000000000 = 0 (mod 7) Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 9 / 18

Jeśli liczby sa różne modulo 7 to oczywiście nie moga być takie same! Jeśli zaś sa równe... sprawdzamy je cyfra po cyfrze. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 10 / 18

Jeśli liczby sa różne modulo 7 to oczywiście nie moga być takie same! Jeśli zaś sa równe... sprawdzamy je cyfra po cyfrze. Dlaczego to ma sens? Zamiast p = 7 wybierzmy p = 10 9 + 7. Szansa pomy lki jest ma la. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 10 / 18

Jeśli liczby sa różne modulo 7 to oczywiście nie moga być takie same! Jeśli zaś sa równe... sprawdzamy je cyfra po cyfrze. Dlaczego to ma sens? Zamiast p = 7 wybierzmy p = 10 9 + 7. Szansa pomy lki jest ma la. Bardziej formalnie Wybieramy losowe p. A z pewnych dodatkowych powodów warto, żeby by la to liczba pierwsza. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 10 / 18

Jeśli liczby sa różne modulo 7 to oczywiście nie moga być takie same! Jeśli zaś sa równe... sprawdzamy je cyfra po cyfrze. Dlaczego to ma sens? Zamiast p = 7 wybierzmy p = 10 9 + 7. Szansa pomy lki jest ma la. Bardziej formalnie Wybieramy losowe p. A z pewnych dodatkowych powodów warto, żeby by la to liczba pierwsza. Dlaczego pierwsze? p = 10 n nie jest dobrym pomys lem; jak d lużej pomyśleć, to z lożone liczby nie sa dobre. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 10 / 18

Dla każdego przy lożenia liczymy reszt e z dzielenia przez p, co nie jest prostsze. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszt e z dzielenia przez p, co nie jest prostsze. A może jednak jest? Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 11000000001 = 4 (mod 7) 10000000010 = 0 (mod 7) Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 11000000001 = 4 (mod 7) 10000000010 = 0 (mod 7) 11000000001 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszt e z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 11000000001 = 4 (mod 7) 10000000010 = 0 (mod 7) 10000000000 = 4 (mod 7) 11000000001 10000000000 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 11000000001 = 4 (mod 7) 10000000010 = 0 (mod 7) 10000000000 = 4 (mod 7) (11000000001 10000000000) 10 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 11000000001 = 4 (mod 7) 10000000010 = 0 (mod 7) 10000000000 = 4 (mod 7) (11000000001 10000000000) 10 + 0 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 11000000001 = 4 (mod 7) 10000000010 = 0 (mod 7) 10000000000 = 4 (mod 7) 10000000010 = (11000000001 10000000000) 10 + 0 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 11000000001 = 4 (mod 7) 10000000010 = 0 (mod 7) 10000000000 = 4 (mod 7) 10000000010 = (11000000001 10000000000) 10 + 0 (mod 7) Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

Dla każdego przy lożenia liczymy reszte z dzielenia przez p, co nie jest prostsze. A może jednak jest? 10001000011000000001000000110 11000000001 = 4 (mod 7) 10000000010 = 0 (mod 7) 10000000000 = 4 (mod 7) 10000000010 = (11000000001 10000000000) 10 + 0 (mod 7) Nowa reszta Można latwo wyliczyć na podstawie: starej reszty, 10 m (mod 7). Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 11 / 18

To dzia la! To podejście dzia la: jest ma la szansa, że sprawdzimy litera po literze z le wystapienie. Oczekiwany czas dzia lania (pierwsze wystapienie): Θ(m + n). Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 12 / 18

To dzia la! To podejście dzia la: jest ma la szansa, że sprawdzimy litera po literze z le wystapienie. Oczekiwany czas dzia lania (pierwsze wystapienie): Θ(m + n). Problemy Sformu lowania wybieramy losowe i szansa jest ma la sa niepokojace. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 12 / 18

To dzia la! To podejście dzia la: jest ma la szansa, że sprawdzimy litera po literze z le wystapienie. Oczekiwany czas dzia lania (pierwsze wystapienie): Θ(m + n). Problemy Sformu lowania wybieramy losowe i szansa jest ma la sa niepokojace. S labo dzia la dla tekstu a n i wzorca a m. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 12 / 18

To dzia la! To podejście dzia la: jest ma la szansa, że sprawdzimy litera po literze z le wystapienie. Oczekiwany czas dzia lania (pierwsze wystapienie): Θ(m + n). Problemy Sformu lowania wybieramy losowe i szansa jest ma la sa niepokojace. S labo dzia la dla tekstu a n i wzorca a m. Chcemy czegoś, co zawsze dzia la szybko! Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 12 / 18

To dzia la! To podejście dzia la: jest ma la szansa, że sprawdzimy litera po literze z le wystapienie. Oczekiwany czas dzia lania (pierwsze wystapienie): Θ(m + n). Problemy Sformu lowania wybieramy losowe i szansa jest ma la sa niepokojace. S labo dzia la dla tekstu a n i wzorca a m. Chcemy czegoś, co zawsze dzia la szybko! Twierdzenie Istnieje prosty algorytm, który znajduje pierwsze wystapienie wzorca wykonujac tylko Θ(n + m) operacji. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 12 / 18

To dzia la! To podejście dzia la: jest ma la szansa, że sprawdzimy litera po literze z le wystapienie. Oczekiwany czas dzia lania (pierwsze wystapienie): Θ(m + n). Problemy Sformu lowania wybieramy losowe i szansa jest ma la sa niepokojace. S labo dzia la dla tekstu a n i wzorca a m. Chcemy czegoś, co zawsze dzia la szybko! Twierdzenie Istnieje prosty algorytm, który znajduje pierwsze wystapienie wzorca wykonujac tylko Θ(n + m) operacji. Dowód.... można zobaczyć na zaj eciach z Algorytmów i Struktur Danych lub Algorytmów Tekstowych (w o wiele ciekawszej wersji). Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 12 / 18

Świat nie jest taki prosty Idealny świat Rozwiazanie świetne do idealnego sferycznego świata. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 13 / 18

Świat nie jest taki prosty Idealny świat Rozwiazanie świetne do idealnego sferycznego świata. Ile razy napisaliście nei? Ile razy nie wiedzieliście, czego dok ladnie szukacie? Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 13 / 18

Świat nie jest taki prosty Idealny świat Rozwiazanie świetne do idealnego sferycznego świata. B l edy Ile razy napisaliście nei? Ile razy nie wiedzieliście, czego dok ladnie szukacie? Czasami chcielibyśmy znaleźć nie tylko dok ladne wystapienie wzorca, ale także takie, w którym dopuszczamy troche przek lamań. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 13 / 18

Świat nie jest taki prosty Idealny świat Rozwiazanie świetne do idealnego sferycznego świata. B l edy Ile razy napisaliście nei? Ile razy nie wiedzieliście, czego dok ladnie szukacie? Czasami chcielibyśmy znaleźć nie tylko dok ladne wystapienie wzorca, ale także takie, w którym dopuszczamy troche przek lamań. Wyszukiwanie wzorca z b l edami Dane: tekst t[1.. n] i wzorzec p[1.. m]. Wynik: dla każdego przy lożenia wzorca liczba niezgodnych znaków. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 13 / 18

aaaaaabaabaaaaabaaaaabaaabbab aabaabaaaab 5 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 14 / 18

aaaaaabaabaaaaabaaaaabaaabbab aabaabaaaab 2 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 14 / 18

aaaaaabaabaaaaabaaaaabaaabbab aabaabaaaab 3 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 14 / 18

Myślmy pozytywnie Zgodności Zamiast liczyć niezgodności, dla każdej litery osobno liczmy zgodności. aaaaabaaaaa aabaabaaaab 8 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 15 / 18

Myślmy pozytywnie Zgodności Zamiast liczyć niezgodności, dla każdej litery osobno liczmy zgodności. Lekkie wprowadzenie Tekst i wzorzec tej samej d lugości. aaaaabaaaaa aabaabaaaab 8 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 15 / 18

Myślmy pozytywnie Zgodności Zamiast liczyć niezgodności, dla każdej litery osobno liczmy zgodności. Lekkie wprowadzenie Tekst i wzorzec tej samej d lugości. aaaaabaaaaa aabaabaaaab 8 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 15 / 18

Myślmy pozytywnie Zgodności Zamiast liczyć niezgodności, dla każdej litery osobno liczmy zgodności. Lekkie wprowadzenie Tekst i wzorzec tej samej d lugości. Wektory 0-1. 11111011111 11011011110 8 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 15 / 18

Myślmy pozytywnie Zgodności Zamiast liczyć niezgodności, dla każdej litery osobno liczmy zgodności. Lekkie wprowadzenie Tekst i wzorzec tej samej d lugości. Wektory 0-1. 11111011111 11011011110 8 Ponumerujmy cyfry wektorów dla wzorca i tekstu: p 1 [1.. m], t[1.. m]. Liczymy sum e p 1 t 1 + p 2 t 2 +... + p m t m Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 15 / 18

Myślmy pozytywnie Zgodności Zamiast liczyć niezgodności, dla każdej litery osobno liczmy zgodności. Lekkie wprowadzenie Tekst i wzorzec tej samej d lugości. Wektory 0-1. 11111011111 11011011110 8 Ponumerujmy cyfry wektorów dla wzorca i tekstu: p 1 [1.. m], t[1.. m]. Liczymy sum e p 1 t 1 + p 2 t 2 +... + p m t m ponumerujmy wzorzec odwrotnie: p[m.. 1] teraz liczymy: t 1 p m + t 2 p m 1 +... + t m p 1 Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 15 / 18

Myślmy pozytywnie Zgodności Zamiast liczyć niezgodności, dla każdej litery osobno liczmy zgodności. Lekkie wprowadzenie Tekst i wzorzec tej samej d lugości. Wektory 0-1. 11111011111 11011011110 8 Ponumerujmy cyfry wektorów dla wzorca i tekstu: p 1 [1.. m], t[1.. m]. Liczymy sum e p 1 t 1 + p 2 t 2 +... + p m t m ponumerujmy wzorzec odwrotnie: p[m.. 1] teraz liczymy: t 1 p m + t 2 p m 1 +... + t m p 1 wspó lczynnik wielomianu (przy x m+1 ) Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 15 / 18

Traktujemy obydwa wektory jako wielomiany: P a (x), T a (x). T ma wspó lczynnik 1 przy x k k-ta litera t to a. P ma wspó lczynnik 1 przy x k m k-ta litera p to a. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 16 / 18

Traktujemy obydwa wektory jako wielomiany: P a (x), T a (x). T ma wspó lczynnik 1 przy x k k-ta litera t to a. P ma wspó lczynnik 1 przy x k m k-ta litera p to a. Mnożymy Mnożymy wielomiany P a (x) i T a (x). Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 16 / 18

Traktujemy obydwa wektory jako wielomiany: P a (x), T a (x). T ma wspó lczynnik 1 przy x k k-ta litera t to a. P ma wspó lczynnik 1 przy x k m k-ta litera p to a. Mnożymy Mnożymy wielomiany P a (x) i T a (x). Przypomnienie: tekst i wzorzec tej samej d lugości t 1 p m + t 2 p m 1 + + t m p 1, wspó lczynnik przy x m+1. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 16 / 18

Traktujemy obydwa wektory jako wielomiany: P a (x), T a (x). T ma wspó lczynnik 1 przy x k k-ta litera t to a. P ma wspó lczynnik 1 przy x k m k-ta litera p to a. Mnożymy Mnożymy wielomiany P a (x) i T a (x). Przypomnienie: tekst i wzorzec tej samej d lugości t 1 p m + t 2 p m 1 + + t m p 1, wspó lczynnik przy x m+1. Ogólnie Wspó lczynnik przy x m+1+k to dok ladnie liczba zgodności przy przy lożeniu wzorca tak, że zaczyna si e na k-tej literze tekstu. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 16 / 18

Traktujemy obydwa wektory jako wielomiany: P a (x), T a (x). T ma wspó lczynnik 1 przy x k k-ta litera t to a. P ma wspó lczynnik 1 przy x k m k-ta litera p to a. Mnożymy Mnożymy wielomiany P a (x) i T a (x). Przypomnienie: tekst i wzorzec tej samej d lugości t 1 p m + t 2 p m 1 + + t m p 1, wspó lczynnik przy x m+1. Ogólnie Wspó lczynnik przy x m+1+k to dok ladnie liczba zgodności przy przy lożeniu wzorca tak, że zaczyna si e na k-tej literze tekstu. Zsumować po różnych literach. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 16 / 18

No dobrze, ale jak mnożyć wielomiany? Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 17 / 18

No dobrze, ale jak mnożyć wielomiany? Transformata Fouriera Wielomiany można mnożyć korzystajac z transformaty Fouriera. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 17 / 18

No dobrze, ale jak mnożyć wielomiany? Transformata Fouriera Wielomiany można mnożyć korzystajac z transformaty Fouriera. Ta sama, która przedstawia funkcj e jako sum e sinusów i cosinusów. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 17 / 18

No dobrze, ale jak mnożyć wielomiany? Transformata Fouriera Wielomiany można mnożyć korzystajac z transformaty Fouriera. Ta sama, która przedstawia funkcj e jako sum e sinusów i cosinusów. Ale jak ja zrobić szybko? Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 17 / 18

No dobrze, ale jak mnożyć wielomiany? Transformata Fouriera Wielomiany można mnożyć korzystajac z transformaty Fouriera. Ta sama, która przedstawia funkcj e jako sum e sinusów i cosinusów. Ale jak ja zrobić szybko? 1 na ratunek! Transformat e Fouriera można policzyć szybko, jeśli liczymy wartości P a (x) i T a (x) w zespolonych pierwiastkach z 1. Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 17 / 18

Pytania? Artur Jeż Matematyka i wyszukiwanie wzorca 28 IX 2011 18 / 18