Algorytmy tekstowe na przykładzie KMP
|
|
- Judyta Halina Głowacka
- 4 lat temu
- Przeglądów:
Transkrypt
1 Łukasz Kowalik, SD 2003 lgorytmy tekstowe na rzykładzie KMP 1 lgorytmy tekstowe na rzykładzie KMP Postawowe ojęcia Niech będzie dowolnym skończonym nieustym zbiorem symboli. Zbiór nazywamy alfabetem. Dowolny ciąg symboli ze zbioru nazywamy słowem (nad alfabetem ). Przykład. jest słowem nad alfabetem. Przez oznaczamy słowo uste, rzez oznaczamy (nieskończony) zbiór wszystkich słów nad alfabetem. Przez będziemy oznaczać długość słowa, n.,. Konkatenacja słów i jest to słowo owstałe o doisaniu słowa za słowem. Słowo jest refiksem słowa, jeśli dla ewnego słowa. nalogicznie, słowo jest sufiksem słowa, jeśli dla ewnego słowa. Przykłady. "!$# jest refiksem słowa!$#&%(')!+* ; %(')!+* jest jego sufiksem. jest refiksem i sufiksem każdego słowa. Każde słowo jest swoim własnym refiksem i sufiksem. jest refiksem, ale -, jest właściwym refiksem. nalog- Jeśli iczne definiujemy właściwy sufiks. Problem wyszukiwania wzorca to mówimy, że Dane słowa. ( wzorzec ) i! ( tekst ) nad ewnym alfabetem,./ 01!. Problem znaleźć wszystkie wystąienia wzorca. w tekście!. Przykład wzorzec 2 * wystęuje w tekście 232 ** 2 * 2 * na ozycjach 2, 5 i. 54 Przyjmiemy oznaczenia./ i! 56. lg. 1 rzedstawia algorytm naiwny rozwiązujący roblem wyszukiwania wzorca. lgorytm doasowuje wzorzec we wszystkich możliwych miejscach. lgorithm 1 naiwny while ;0 3 B8 4 while.d 5 G8 H4 6=>4@ 6 if then Write( ) 8 98I )! do F do
2 4 O Łukasz Kowalik, SD 2003 lgorytmy tekstowe na rzykładzie KMP 2 Uwaga! Do alfabetu dodajemy dwa nowe, secjalne symbole, owiedzmy $ Przed uruchomieniem algorytmu 1 $ doisujemy na końcu!, na końcu.. Pełnią one rolę strażników w wewnętrznej ętli while. Złożonośc czasowa oczywiście JLKMK Porawianie alg. naiwnego 6N>41 &O 6P4 JLK dostaliśmy niezgodność. Wiemy, że.dqfrsr F asuje do! TRURV Załóżmy, że dla zy warto srawdzać od nowa, czy wzorzec wystęuje na nastęnej ozycji ( ) może możemy rzeskoczyć kilka symboli Zobaczmy co się dzieje, gdy wzorzec wystęuje na jednej z ozycji F)RWRWRT (Rys. 1). O. ). ti] 1]=ti+j k] ti+j 1]=k] t 1..j] j] Rysunek 1 Wzorzec. wystęuje na jednej z ozycji F)RWRWRT. Widzimy, że w takiej sytuacji refiks.dxyrsr F jest równocześnie jego (właściwym) sufiksem! tzn..dqfrur %.D % FRUR F. Jeśli to jest ierwsze miejsce, w którym wystęuje taka sytuacja, możemy beziecznie rzesunąć do %. Wystarczy znać %. Innymi słowy, dla Z chcemy więc znać liczbę albo inaczej \ długość największego właściwego sufiksu.dqfrsr F, który jest równocześnie refiksem. ^]`_a \ 0 %Lb À c).dxfrur % jest sufiksem.dxfrur \e Wtedy możemy beziecznie doasowywać wzorzec w miejscu F. Zauważmy, że onieważ F b f 5 więc FgZh. Dla rzyjmijmy i \. Wtedy nie ma j sensu doasowywać wzorca w miejscu F, bo miejsce doasowania nie zmieni się. W takiej sytuacji rzesuwamy się tylko o jedną ozycję (g8 ), ale niewiele tracimy, bo H skoro to dla orzedniej wartości wykonano tylko jedno orównanie. więc ostatecznie k]`_a k rzesuwamy na ozycję K+Fl FmO. Zauważmy też, że nie musimy już srawdzać ierwszych F liter wzorca!
3 6 Łukasz Kowalik, SD 2003 lgorytmy tekstowe na rzykładzie KMP 3 Przykład. Tablica dla wzorca. no no D a b a c a b a c a a Załóżmy, że tablicę mamy już obliczoną. Wykorzystując owyższe rozważania możemy orawić algorytm naiwny tak, żeby sożytkować informację zawartą w tablicy. Poniższy algorytm wymyślili anowie Knuth i Pratt oraz (niezależnie) Moris w 19 roku. lgorithm 2 lgorytm KMP (Knutha-Morisa-Pratta) B8 6=>4@ 3 while ;0 q 4 {.DQFRSR FS.D 5 B8 F 6 while.d )! G8 H4 8 if then 9 Write( ) "]u_a 10 98I K$Fv do q F F do FmO FRUR \! rmrsrs t F ) } Twierdzenie. Niech. i! będ który na wejściu dostaje słowa. i! oraz tablicę!,./ w4 a dowolnymi słowami,./p0 działa w czasie JLK,! O. 16. lgorytm KMP, Uzasadnienie. Przyjmujemy, że orównanie dowolnych dwóch liter wykonuje się w czasie stałym. Wtedy orównanie dwóch liter możemy traktować jako oerację dominującą. Porównania liter wzorca z literami tekstu możemy odzielić na dwie kategorie orówania ozytywne (równość zachodzi) i negatywne (litery są różne). Ponieważ na końcu każego obrotu zewnętrznej ętli while wartość zmiennej rośnie, a w każdym obrocie tej ętli tylko raz wystęuje orównanie negatywne, odczas wykonania całego algorytmu całkowita liczba orównań negatywnych nie rzekracza 6Nq41. Równie łatwo oliczyć ozytywne orównania. Przyjrzyjmy się jednemu obrotowi zewnętrznej ętli while. Załóżmy, że o wykonaniu wewnętrznej ętli while xz. Niech ly oznacza nową {]`_a wartość (o wykonaniu z8i K+Fl F}O ), natomiast y nową wartość (o wykonaniu f ~8 F na oczątku kolejnego obrotu ętli). Wtedy vy F oraz \y \ czyli y y. Jeśli natomiast o wykonaniu wewnętrznej ętli while, to y, Fy F czyli y Fy ƒz^. Widzimy, że odczas działania algorytmu wartość wyrażenia nie maleje. Tymczasem o każdym ozytywnym orównaniu wartość rośnie. więc żadna litera tekstu nie będzie więcej niż raz ozytywnie orównana. Stąd wszystkich ozytywnych orównań jest nie więcej niż liter tekstu czyli 6. To kończy uzasadnienie.
4 ˆ ˆ Łukasz Kowalik, SD 2003 lgorytmy tekstowe na rzykładzie KMP 4 Jak obliczyć tablicę Przyomnijmy \ długość największego właściwego sufiksu.dqfrsr F, który jest równocześnie refiksem. gdybyśmy chcieli znać długości wszystkich właściwych sufiksów.dxfrur \, które są refiksami. Niech. i. Najdłuższym takim sufiksem jest F. Jego - długość to ˆ. Zastanówmy się nad nastęnym od względem długości takim sufiksem (oznaczmy go rzez Š ). Ponieważ i )Š są sufiksami. i WŠ jest krótszy niż, a więc WŠ jest właściwym sufiksem Y. o więcej, onieważ Š był nastęny od względem długości, jest on najdłuższym właściwym sufiksem Y, który jest równocześnie refiksem.. więc ŠY S H. nalogicznie ostęujemy rzy obliczaniu długości kolejnych sufiksów (atrz Rys 2)..DXYRSR.DXYRSR.DXYRSR.DXYRSR.D RSR \ Œ F F F Hˆ ^ H H Rysunek 2 Długości wszystkich właściwych sufiksów.dxyrsr. można znaleźć w tablicy., które są równocześnie refiksami Wniosek 1. Z tablicy sa równocześnie refiksami. sa to liczby można odczytać długości wszystkich właściwych sufiksów.dqfrur F, które F \U F )RWRWR)R Jak obliczyć tablicę Skorzystamy z rogramowania dynamicznego. k j Rysunek 3.DQFRSR % jest właściwym sufiksem i równocześnie refiksem.dqfrsr F. Jeśli.dXFRUR % jest właściwym sufiksem i równocześnie refiksem.dqfrur F (atrz Rys. 3) to.dqfrur % ) jest właściwym sufiksem i refiksem.dxfrur ),.D %.D F.
5 R 4 Łukasz Kowalik, SD 2003 lgorytmy tekstowe na rzykładzie KMP 5 więc żeby obliczyć F trzeba znaleźć najdłuższy sufiks.dxfrur refiksem.dqfrur ), który da się rzedłużyć, czyli najmniejsze ' takie że.d o ).D \R o, będący róznocześnie Jeśli nie ma takiego ' (tzn. żadnego, nawet ustego refiksu nie da się rzedłużyć), to lgorithm 3 Obliczanie tablicy X) 8 3 for B8 to 4 do 4 {obliczamy F } 5 2N8 ) 6 while K 2{Z O and KX.D 2 2N8 8 if.d 2 ).D F then 9 F else 11 F 8 ),.D FmO do \ 23 {róbujemy któtszy sufiks} H Twierdzenie. Złożoność czasowa algorytmu 3 dla słowa. długości 4 lgorithm 4 Obliczanie tablicy X) 8 3 2N8 4 for B8 to 4 do 5 {obliczamy F } 6 while K 2{Z O and KX.D 2 2N8 8 if.d 2 ).D F then 9 2N8I2 F else 12 F 8 ), wersja II.D FmO do 23 {róbujemy któtszy sufiks} wynosi K O. Uzasadnienie. Sójrzmy na algorytm 4. Powstał on na odstawie algorytmu 4 o dodaniu linii 3, 9 i usunięciu linii 5. Zauważmy, że działa on dokładnie tak samo jak ierwotny algorytm,
6 4 Łukasz Kowalik, SD 2003 lgorytmy tekstowe na rzykładzie KMP 6 tylko wartości zmiennej 2 zmieniają się w innych momentach. Łatwiej nam będzie analizować algorytm 4. Znowu rzyjmujemy, że orównanie dowolnych dwóch liter wykonuje się w czasie stałym. Żeby oszacować złożoność algorytmu wystarczy obliczyć liczbę wykonań instrukcji 2=8 23. Zauważmy, że wartości zmiennej 2 zmieniają się tylko w liniach i 9. W linii zawsze jednostek, maleją, natomiast w linii 9 zawsze rosną. Podczas całego algorytmu 2 rośnie o 4w a więc maleć może co najwyżej 4 razy (maleje co najmniej o 1). To kończy uzasadnienie. 6 H4 Wniosek 2. Złożoność czasowa algorytmu KMP jest rzędu K algorytmu KMP jest rzędu K O. O, złożoność amięciowa
1 abbbaabaaabaa -wzorzec: aaba
Algorytmy i złożoność obliczeniowa Laboratorium 14. Algorytmy tekstowe. 1. Algorytmy tekstowe Algorytmy tekstowe mają decydujące znaczenie przy wyszukiwaniu informacji typu tekstowego, ten typ informacji
Bardziej szczegółowoWskaźniki i struktury. Programowanie C, LA Anna Gogolińska
Wskaźniki i struktury Programowanie C, LA Anna Gogolińska Wskaźniki i struktury Jednym z ól struktury może być wskaźnik na zmienną tyu tej struktury. Deklaracja jest z użyciem formy: ty *. Poza tym olem,
Bardziej szczegółowoTemat: Algorytmy wyszukiwania wzorca w tekście
Temat: Algorytmy wyszukiwania wzorca w tekście 1. Sformułowanie problemu Dany jest tekst T oraz wzorzec P, będące ciągami znaków o długości równej odpowiednio n i m (n m 1), nad pewnym ustalonym i skończonym
Bardziej szczegółowoProgramowanie dynamiczne
Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Wyszukiwanie wzorców w tekście 1 Wyszukiwanie wzorców w tekście Problem wyszukiwania wzorca w tekście Na tym wykładzie zajmiemy się
Bardziej szczegółowoAlgorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Bardziej szczegółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Bardziej szczegółowoWykład 6. Wyszukiwanie wzorca w tekście
Wykład 6 Wyszukiwanie wzorca w tekście 1 Wyszukiwanie wzorca (przegląd) Porównywanie łańcuchów Algorytm podstawowy siłowy (naive algorithm) Jak go zrealizować? Algorytm Rabina-Karpa Inteligentne wykorzystanie
Bardziej szczegółowoWstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Bardziej szczegółowoRysunek 1 Przykładowy graf stanów procesu z dyskretnymi położeniami.
Procesy Markowa Proces stochastyczny { X } t t nazywamy rocesem markowowskim, jeśli dla każdego momentu t 0 rawdoodobieństwo dowolnego ołożenia systemu w rzyszłości (t>t 0 ) zależy tylko od jego ołożenia
Bardziej szczegółowoPodstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Bardziej szczegółowoAnaliza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Bardziej szczegółowoJarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13
35. O zdaniu 1 T (n) udowodniono, że prawdziwe jest T (1), oraz że dla dowolnego n 6 zachodzi implikacja T (n) T (n+2). Czy można stąd wnioskować, że a) prawdziwe jest T (10), b) prawdziwe jest T (11),
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 8
Plan wykładu: Kodowanie. : wyszukiwanie wzorca w tekście, odległość edycyjna. Kodowanie Kodowanie Kodowanie jest to proces przekształcania informacji wybranego typu w informację innego typu. Kod: jest
Bardziej szczegółowo0 + 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ółowoZłożoność informacyjna Kołmogorowa. Paweł Parys
Złożoność informacyjna Kołmogorowa Paweł Parys Serock 2012 niektóre liczby łatwiej zapamiętać niż inne... (to zależy nie tylko od wielkości liczby) 100...0 100 100... 100 100 100 25839496603316858921 31415926535897932384
Bardziej szczegółowoPodróże po Imperium Liczb
Podróże o Imerium Liczb Część 08. Liczby Mersenne a, Fermata i Inne Liczby Rozdział 5 5. Okresy rozwinięć liczb wymiernych Andrzej Nowicki 20 maja 2012, htt://www.mat.uni.torun.l/~anow Sis treści 5 Okresy
Bardziej szczegółowoWykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
Bardziej szczegółowoObóz Naukowy Olimpiady Matematycznej Gimnazjalistów
Obóz Naukowy Olimiady Matematycznej Gimnazjalistów Liga zadaniowa 01/01 Seria VII styczeń 01 rozwiązania zadań 1. Udowodnij, że dla dowolnej dodatniej liczby całkowitej n liczba n! jest odzielna rzez n!
Bardziej szczegółowoAlgorytm selekcji Hoare a. Łukasz Miemus
Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego
Bardziej szczegółowoIndukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Bardziej szczegółowo1. Definicja granicy właściwej i niewłaściwej funkcji.
V. Granica funkcji jednej zmiennej. 1. Definicja granicy właściwej i niewłaściwej funkcji. Definicja 1.1. (sąsiedztwa punktu i sąsiedztwa nieskończoności) Niech x 0 R, r > 0, a, b R. Definiujemy S(x 0,
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2015-10-09 Spis treści 1 Szybkie potęgowanie 1 2 Liczby Fibonacciego 2 3 Dowód, że n 1 porównań jest potrzebne do znajdowania minimum 2 4 Optymalny algorytm do
Bardziej szczegółowoLista 0. Kamil Matuszewski 1 marca 2016
Lista 0 Kamil Matuszewski marca 206 2 3 4 5 6 7 8 0 0 Zadanie 4 Udowodnić poprawność mnożenia po rosyjsku Zastanówmy się co robi nasz algorytm Mamy podane liczby n i m W każdym kroku liczbę n dzielimy
Bardziej szczegółowoMatematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d
C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Bardziej szczegółowoALGORYTMY OPTYMALIZACJI wyklad 3.nb 1. Wykład 3. Sformułujemy teraz warunki konieczne dla istnienia rozwiązań zagadnienia optymalizacyjnego:
ALGORYTMY OPTYMALIZACJI wyklad 3.nb 1 Wykład 3 3. Otymalizacja z ograniczeniami Sformułujemy teraz warunki konieczne dla istnienia rozwiązań zagadnienia otymalizacyjnego: g i HxL 0, i = 1, 2,..., m (3.1)
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Bardziej szczegółowoXI Olimpiada Matematyczna Gimnazjalistów
www.omg.edu.pl I Olimpiada Matematyczna Gimnazjalistów Zawody stopnia pierwszego część korespondencyjna (1 września 2015 r. 12 października 2015 r.) Szkice rozwiązań zadań konkursowych 1. Wykaż, że istnieje
Bardziej szczegółowoZad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których
Bardziej szczegółowoZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model
Bardziej szczegółowoRozkłady i ich dystrybuanty 16 marca F X (t) = P (X < t) 0, gdy t 0, F X (t) = 1, gdy t > c, 0, gdy t x 1, 1, gdy t > x 2,
Wykład 4. Rozkłady i ich dystrybuanty 6 marca 2007 Jak opisać cały rozkład jedną funkcją? Aby znać rozkład zmiennej X, musimy umieć obliczyć P (a < X < b) dla dowolnych a < b. W tym celu wystarczy znać
Bardziej szczegółowoDystrybucje, wiadomości wstępne (I)
Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Metody konstrukcji algorytmów: Siłowa (ang. brute force), Dziel i zwyciężaj (ang. divide-and-conquer), Zachłanna (ang.
Bardziej szczegółowoSzeregi o wyrazach dodatnich. Kryteria zbieżności d'alemberta i Cauchy'ego
Szeregi o wyrazach dodatnich. Kryteria zbieżności d'alemberta i Cauchy'ego Przy założeniu, że wszystkie składniki szeregu jest rosnący. Wynika stąd natychmiast stwierdzenie: są dodatnie, ciąg jego sum
Bardziej szczegółowoLogarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.
Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne. Definicja. Niech a i b będą dodatnimi liczbami rzeczywistymi i niech a. Logarytmem liczby b przy podstawie
Bardziej szczegółowoCałki niewłaściwe. Całki w granicach nieskończonych
Całki niewłaściwe Całki w granicach nieskończonych Wiemy, co to jest w przypadku skończonego przedziału i funkcji ograniczonej. Okazuje się potrzebne uogólnienie tego pojęcia w różnych kierunkach (przedział
Bardziej szczegółowoNierówność Krafta-McMillana, Kodowanie Huffmana
Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy
Bardziej szczegółowoZasada indukcji matematycznej
Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.
Bardziej szczegółowoĆWICZENIE 4 KRZ: A B A B A B A A METODA TABLIC ANALITYCZNYCH
ĆWICZENIE 4 Klasyczny Rachunek Zdań (KRZ): metoda tablic analitycznych, system aksjomatyczny S (aksjomaty, reguła dowodzenia), dowód w systemie S z dodatkowym zbiorem założeń, tezy systemu S, wtórne reguły
Bardziej szczegółowo2 Rodziny zbiorów. 2.1 Algebry i σ - algebry zbiorów. M. Beśka, Wstęp do teorii miary, rozdz. 2 11
M. Beśka, Wstęp do teorii miary, rozdz. 2 11 2 Rodziny zbiorów 2.1 Algebry i σ - algebry zbiorów Niech X będzie niepustym zbiorem. Rodzinę indeksowaną zbiorów {A i } i I 2 X nazywamy rozbiciem zbioru X
Bardziej szczegółowoLista zagadnień omawianych na wykładzie w dn r. :
Lista zagadnień omawianych na wykładzie w dn. 29.0.208r. : Granica funkcji Definicja sąsiedztwa punktu. Sąsiedztwo 0 R o promieniu r > 0: S 0, r = 0 r, 0 + r\{ 0 } 2. Sąsiedztwo lewostronne 0 R o promieniu
Bardziej szczegółowoSkończone rozszerzenia ciał
Skończone rozszerzenia ciał Notkę tę rozpoczniemy od definicji i prostych własności wielomianu minimalnego, następnie wprowadzimy pojecie rozszerzenia pojedynczego o element algebraiczny, udowodnimy twierdzenie
Bardziej szczegółowoFunkcje dwóch zmiennych
Funkcje dwóch zmiennych Andrzej Musielak Str Funkcje dwóch zmiennych Wstęp Funkcja rzeczywista dwóch zmiennych to funkcja, której argumentem jest para liczb rzeczywistych, a wartością liczba rzeczywista.
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu
Bardziej szczegółowoPorządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Bardziej szczegółowo1 Działania na zbiorach
M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej
Bardziej szczegółowoSortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
Bardziej szczegółowoSiedem cudów informatyki czyli o algorytmach zdumiewajacych
Siedem cudów informatyki czyli o algorytmach zdumiewajacych Łukasz Kowalik kowalik@mimuw.edu.pl Instytut Informatyki Uniwersytet Warszawski Łukasz Kowalik, Siedem cudów informatyki p. 1/25 Problem 1: mnożenie
Bardziej szczegółowoKodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoKody blokowe Wykład 2, 10 III 2011
Kody blokowe Wykład 2, 10 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding
Bardziej szczegółowoMatematyka II. Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr letni 2018/2019 wykład 13 (27 maja)
Matematyka II Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr letni 208/209 wykład 3 (27 maja) Całki niewłaściwe przedział nieograniczony Rozpatrujemy funkcje ciągłe określone na zbiorach < a, ),
Bardziej szczegółowoPrawdopodobieństwo i statystyka
Wykład XIV: Metody Monte Carlo 19 stycznia 2016 Przybliżone obliczanie całki oznaczonej Rozważmy całkowalną funkcję f : [0, 1] R. Chcemy znaleźć przybliżoną wartość liczbową całki 1 f (x) dx. 0 Jeden ze
Bardziej szczegółowoWielomiany jednej zmiennej rzeczywistej algorytmy
Rozdział 15 Wielomiany jednej zmiennej rzeczywistej algorytmy 15.1 Algorytm dzielenia Definicja 15.1 Niech dany będzie niezerowy wielomian f K[x] (K jest ciałem) f = a 0 x m + a 1 x m 1 +... + a m, gdzie
Bardziej szczegółowoWykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Bardziej szczegółowoImię, nazwisko, nr indeksu
Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za
Bardziej szczegółowoAnaliza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe 15 stycznia 2019 Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r P Jaka wartość zostanie zwrócona
Bardziej szczegółowoRozwią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)
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) Kamil Matuszewski 20 lutego 2017 22 lutego 2017 Zadania, które
Bardziej szczegółowoKody Huffmana oraz entropia przestrzeni produktowej. Zuzanna Kalicińska. 1 maja 2004
Kody uffmana oraz entroia rzestrzeni rodutowej Zuzanna Kalicińsa maja 4 Otymalny od bezrefisowy Definicja. Kod nad alfabetem { 0, }, w tórym rerezentacja żadnego znau nie jest refisem rerezentacji innego
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)
Bardziej szczegółowo1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Bardziej szczegółowoW. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1
W. Guzicki Próbna matura, grudzień 01 r. poziom rozszerzony 1 Próbna matura rozszerzona (jesień 01 r.) Zadanie 18 kilka innych rozwiązań Wojciech Guzicki Zadanie 18. Okno na poddaszu ma mieć kształt trapezu
Bardziej szczegółowoJeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,
Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa
Bardziej szczegółowoIndukcja matematyczna. Zasada minimum. Zastosowania.
Indukcja matematyczna. Zasada minimum. Zastosowania. Arkadiusz Męcel Uwagi początkowe W trakcie zajęć przyjęte zostaną następujące oznaczenia: 1. Zbiory liczb: R - zbiór liczb rzeczywistych; Q - zbiór
Bardziej szczegółowoXIV Olimpiada Matematyczna Juniorów Zawody stopnia pierwszego część korespondencyjna (1 września 2018 r. 15 października 2018 r.)
XIV Olimpiada Matematyczna Juniorów Zawody stopnia pierwszego część korespondencyjna ( września 0 r. października 0 r.) Szkice rozwiązań zadań konkursowych. Liczbę naturalną n pomnożono przez, otrzymując
Bardziej szczegółowokomputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW
Czego moga się nauczyć komputery? Andrzej Skowron, Hung Son Nguyen son@mimuw.edu.pl; skowron@mimuw.edu.pl Instytut Matematyki, Wydział MIM, UW colt.tex Czego mogą się nauczyć komputery? Andrzej Skowron,
Bardziej szczegółowoLista 6. Kamil Matuszewski 13 kwietnia D n =
Lista 6 Kamil Matuszewski 3 kwietnia 6 3 4 5 6 7 8 9 Zadanie Mamy Pokaż, że det(d n ) = n.... D n =.... Dowód. Okej. Dla n =, n = trywialne. Załóżmy, że dla n jest ok, sprawdzę dla n. Aby to zrobić skorzystam
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów
Bardziej szczegółowoO pewnych związkach teorii modeli z teorią reprezentacji
O pewnych związkach teorii modeli z teorią reprezentacji na podstawie referatu Stanisława Kasjana 5 i 12 grudnia 2000 roku 1. Elementy teorii modeli Będziemy rozważać język L składający się z przeliczalnej
Bardziej szczegółowoJeśli wszystkie wartości, jakie może przyjmować zmienna można wypisać w postaci ciągu {x 1, x 2,...}, to mówimy, że jest to zmienna dyskretna.
Wykład 4 Rozkłady i ich dystrybuanty Dwa typy zmiennych losowych Jeśli wszystkie wartości, jakie może przyjmować zmienna można wypisać w postaci ciągu {x, x 2,...}, to mówimy, że jest to zmienna dyskretna.
Bardziej szczegółowoMatematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku
Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Poprawność programów Jeżeli projektujemy algorytmy lub piszemy programy, to ważne jest pytanie, czy nasz algorytm lub program
Bardziej szczegółowoIX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,
IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. Definicja 1.1. Niech D będzie podzbiorem przestrzeni R n, n 2. Odwzorowanie f : D R nazywamy
Bardziej szczegółowoa[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76
. p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować
Bardziej szczegółowo7. CIĄGI. WYKŁAD 5. Przykłady :
WYKŁAD 5 1 7. CIĄGI. CIĄGIEM NIESKOŃCZONYM nazywamy funkcję określoną na zbiorze liczb naturalnych, dodatnich, a wyrazami ciągu są wartości tej funkcji. CIĄGIEM SKOŃCZONYM nazywamy funkcję określoną na
Bardziej szczegółowoUBEZPIECZENIA NA ŻYCIE
UBEZPIECZENIA NA ŻYCIE M BIENIEK Ubezpieczenie na życie jest to kontrakt pomiędzy ubezpieczycielem a ubezpieczonym gwarantujący, że ubezpieczyciel w zamian za opłacanie składek, wypłaci z góry ustaloną
Bardziej szczegółowoJAO - Wprowadzenie do Gramatyk bezkontekstowych
JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2015 andrzej.lachwa@uj.edu.pl 3/15 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej
Bardziej szczegółowoProgramowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
Bardziej szczegółowoKodowanie i kompresja Streszczenie Studia dzienne Wykład 6
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 1 Kody cykliczne: dekodowanie Definicja 1 (Syndrom) Niech K będzie kodem cyklicznym z wielomianem generuja- cym g(x). Resztę z dzielenia słowa
Bardziej szczegółowoLOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
Bardziej szczegółowo3.4. Przekształcenia gramatyk bezkontekstowych
3.4. Przekształcenia gramatyk bezkontekstowych Definicje Niech będzie dana gramatyka bezkontekstowa G = G BK Symbol X (N T) nazywamy nieużytecznym w G G BK jeśli nie można w tej gramatyce
Bardziej szczegółowoKONGRUENCJE. 1. a a (mod m) a b (mod m) b a (mod m) a b (mod m) b c (mod m) a c (mod m) Zatem relacja kongruencji jest relacją równoważności.
KONGRUENCJE Dla a, b, m Z mówimy, że liczba a przystaje do liczby b modulo m a b (mod m) m (a b) (a b (mod m) można też zapisać jako: a = km + b, k Z). Liczbę m nazywamy modułem kongruencji. Własności:
Bardziej szczegółowo8. Funkcje wielu zmiennych - pochodne cząstkowe
8. Funkcje wielu zmiennych - pochodne cząstkowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie lato 2015/2016 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 8. Funkcje w Krakowie) wielu zmiennych
Bardziej szczegółowoObliczenia naukowe Wykład nr 6
Obliczenia naukowe Wykład nr 6 Paweł Zieliński Katedra Informatyki, Wydział Podstawowych Problemów Techniki, Politechnika Wrocławska Literatura Literatura podstawowa [1] D. Kincaid, W. Cheney, Analiza
Bardziej szczegółowoWarmińsko-Mazurskie Zawody Matematyczne Eliminacje cykl styczniowy Poziom: szkoły ponadgimnazjalne, 10 punktów za każde zadanie
Warmińsko-Mazurskie Zawody Matematyczne Eliminacje cykl styczniowy oziom: szkoły ponadgimnazjalne, 0 punktów za każde zadanie Zadanie Znajdź dwa dzielniki pierwsze liczby - Można skorzystać z artykułu
Bardziej szczegółowoZadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)
Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =
Bardziej szczegółowoTeoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017
Teoria informacji i kodowania Ćwiczenia Sem. zimowy 06/07 Źródła z amięcią Zadanie (kolokwium z lat orzednich) Obserwujemy źródło emitujące dwie wiadomości: $ oraz. Stwierdzono, że częstotliwości wystęowania
Bardziej szczegółowoSpacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Bardziej szczegółowoFunkcje dwóch zmiennych, pochodne cząstkowe
Wykłady z matematyki inżynierskiej Funkcje dwóch zmiennych, pochodne cząstkowe JJ, IMiF UTP 17 f (x, y) DEFINICJA. Funkcja dwóch zmiennych określona w zbiorze D R 2, to przyporządkowanie każdemu punktowi
Bardziej szczegółowoLiczby pierwsze. Kacper Żurek, uczeń w Gimnazjum nr 1 im. Jana Pawła II w Giżycku.
Liczby pierwsze Kacper Żurek, uczeń w Gimnazjum nr 1 im. Jana Pawła II w Giżycku. Liczbą pierwszą nazywany każdą taką liczbę naturalną, która posiada dokładnie dwa dzielniki naturalne, czyli jest podzielna
Bardziej szczegółowoZadanie 2. Obliczyć rangę dowolnego elementu zbioru uporządkowanego N 0 N 0, gdy porządek jest zdefiniowany następująco: (a, b) (c, d) (a c b d)
Matemaryka dyskretna - zadania Zadanie 1. Opisać zbiór wszystkich elementów rangi k zbioru uporządkowanego X dla każdej liczby naturalnej k, gdy X jest rodziną podzbiorów zbioru skończonego Y. Elementem
Bardziej szczegółowoSystem BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10
System BCD z κ Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna Semestr letni 2009/10 Rozważamy system BCD ze stałą typową κ i aksjomatami ω κ κ i κ ω κ. W pierwszej części tej notatki
Bardziej szczegółowoProgramowanie w Baltie klasa VII
Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 7/15 Rachunek różnicowy Dobrym narzędziem do obliczania skończonych sum jest rachunek różnicowy. W rachunku tym odpowiednikiem operatora
Bardziej szczegółowozłożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa
Zadanie 1. Rozważmy jezyk złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa równe. Narysować diagram minimalnego automatu deterministycznego akceptujacego
Bardziej szczegółowoWskazówki dotyczące zmiennych, tablic i procedur 1
Wskazówki dotyczące zmiennych, tablic i procedur 1 Spis treści 1. Tworzenie zmiennych i tablic 1 2. Procedury i zmienne, przekazywanie zmiennych do procedur 5 3. Zakończenie działania procedury 9 1. Tworzenie
Bardziej szczegółowoJAO - lematy o pompowaniu dla jezykow bezkontekstowy
JAO - lematy o pompowaniu dla jezykow bezkontekstowych Postać normalna Chomsky ego Gramatyka G ze zbiorem nieterminali N i zbiorem terminali T jest w postaci normalnej Chomsky ego wtw gdy każda produkcja
Bardziej szczegółowoModelowanie motywów łańcuchami Markowa wyższego rzędu
Modelowanie motywów łańcuchami Markowa wyższego rzędu Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki 23 października 2008 roku Plan prezentacji 1 Źródła 2 Motywy i ich znaczenie Łańcuchy
Bardziej szczegółowo