AUTOMATY VE VYHLEDÁVÁNI cvičeni



Podobné dokumenty
Teorie jazyků a automatů I

Definice. Necht M = (Q, T, δ, q 0, F ) je konečný automat. Dvojici (q, w) Q T nazveme konfigurací konečného automatu M.

Automaty a gramatiky(bi-aag)

Úvod do Teoretické Informatiky ( UTI)

Automaty a gramatiky. Roman Barták, KTIML. Důkaz věty o isomorfismu reduktů. Věta o isomorfismu reduktů. Pro připomenutí

6. Zobrazení δ: (a) δ(q 0, x) obsahuje x i, x i Z. (b) δ(x i, y) obsahuje y j, x i y j P 7. Množina F je množinou koncových stavů.

Je regulární? Pokud ne, na regulární ji upravte. V původní a nové gramatice odvod te řetěz 1111.

písemná a ústní část porozumění látce + schopnost formalizace

13. Soustava lineárních rovnic a matice

3. ROVNICE A NEROVNICE Lineární rovnice Kvadratické rovnice Rovnice s absolutní hodnotou Iracionální rovnice 90

Převody Regulárních Výrazů. Minimalizace Konečných. Regulární jazyky 2 p.1/35

UC485 UC kv ESD IEC Protected / S

2.3. DETERMINANTY MATIC

Přirozená exponenciální funkce, přirozený logaritmus

Automaty a gramatiky

Půjdu do kina Bude pršet Zajímavý film. Jedině poslední řádek tabulky vyhovuje splnění podmínky úvodního tvrzení.

H - Řízení technologického procesu logickými obvody

4. Model M1 syntetická geometrie

Minimalizace automatů. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 28. března / 31

13 Analytická geometrie v prostoru

56. ročník Matematické olympiády. b 1,2 = 27 ± c 2 25

( 5 ) 6 ( ) 6 ( ) Přijímací řízení ak. r. 2010/11 Kompletní znění testových otázek - matematický přehled

3 Algebraické výrazy. 3.1 Mnohočleny Mnohočleny jsou zvláštním případem výrazů. Mnohočlen (polynom) proměnné je výraz tvaru

Automaty a gramatiky. Úvod do formáln. lních gramatik. Roman Barták, KTIML. Příklady gramatik

Deterministický konečný automat

STEREOMETRIE ZÁKLADNÍ POJMY, METRICKÉ VLASTNOSTI, ODCHYLKY, VZDÁLENOSTI. STEREOMETRIE geometrie v prostoru

Složitost a NP-úplnost

Automaty a gramatiky

Goniometrické funkce obecného úhlu

7.5.8 Středová rovnice elipsy

Evropská unie Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Prostorové nároky Zatížení Velikost zatížení Směr zatížení Nesouosost Přesnost Otáčky Tichý chod...

Konzultace z předmětu MATEMATIKA pro první ročník dálkového studia

UC485. PŘEVODNÍK LINKY RS232 na RS485 nebo RS422 S GALVANICKÝM ODDĚLENÍM. Rozlož ení důležitých prvků modulu UC485.

10. Suffixové stromy

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 7. března / 46

Petriho sítě PES 2007/2008. Doc. Ing. Tomáš Vojnar, Ph.D.

2.7.7 Obsah rovnoběžníku

Jak již bylo uvedeno v předcházející kapitole, můžeme při výpočtu určitých integrálů ze složitějších funkcí postupovat v zásadě dvěma způsoby:

Pájený výměník tepla, XB

Varianty snímačů. průmyslová elektronika. K limitnímu snímání hladiny elektricky vodivých i nevodivých kapalin

Elektromagnetick indukce

u, v, w nazýváme číslo u.( v w). Chyba! Chybné propojení.,

Logické obvody. Logický obvod. Rozdělení logických obvodů - Kombinační logické obvody. - Sekvenční logické obvody

Kvantový paralelismus a kvantové počítače

Automaty a gramatiky. Organizační záležitosti. Přednáška: na webu ( Proč chodit na přednášku?

13. Třídící algoritmy a násobení matic

Seriál XXVII.III Aplikační

PRAVIDELNÉ MNOHOSTĚNY

Zobrazení v rovině je předpis, který každému bodu X roviny připisuje právě jeden bod X roviny. Bod X se nazývá vzor, bod X se nazývá obraz.

ANALYTICKÁ GEOMETRIE V PROSTORU

11. cvičení z Matematické analýzy 2

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

2.5.4 Věta. Každý jazyk reprezentovaný regulárním výrazem je regulárním jazykem.

Seznámíte se s další aplikací určitého integrálu výpočtem objemu rotačního tělesa.

2002 Katedra obecné elektrotechniky FEI VŠB-TU Ostrava Ing.Stanislav Kocman

Univerzita Karlova v Praze Pedagogická fakulta

Integrály definované za těchto předpokladů nazýváme vlastní integrály.

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Úvod do numerické matematiky. Přednáška pro posluchače informatiky. Zimní resp. Letní semestr 2/2

5. Konstrukce trojúhelníků Konstrukce trojúhelníků podle vět sss, sus, usu, Ssu (ssu):

1. ÚPRAVY ALGEBRAICKÝCH VÝRAZŮ V REÁLNÉM OBORU 1.1. ZLOMKY A ABSOLUTNÍ HODNOTA

( ) ( ) Výrazy Výraz je druh matematického zápisu, který obsahuje konstanty, proměnné, symboly matematických operací, závorky.

Nejistoty v mìøení II: nejistoty pøímých mìøení

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

1 Logické řízení (prof. Ing. Jiří Tůma, CSc.)

ZÁKLADY MATEMATIKY SÉRIE: URƒITÝ INTEGRÁL, APLIKACE

LOGOMANUÁL. informace a doporučení k užití logotypu Singing Rock. Verze 1.5 Česky. Lukáš Matěja lukas.mateja@singingrock.

Riemannův určitý integrál.

JICH APLIKACE FAKULTA INFORMAČNÍCH TECHNOLOGIÍ BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS

Mgr. Karel Pazourek. online prostředí, Operační program Praha Adaptabilita, registrační číslo CZ.2.17/3.1.00/31165.

( ) ( ) Sinová věta II. β je úhel z intervalu ( 0;π ). Jak je vidět z jednotkové kružnice, úhly, pro které platí. Předpoklady:

MULTIDIMENSIONÁLNÍ JAZYKY A JEJICH AUTOMATY MULTI-DIMENSIONAL LANGUAGES AND THEIR AUTOMATA

R n výběr reprezentantů. Řekneme, že funkce f je Riemannovsky integrovatelná na

Autoindex nad DNA sekvencemi

matematika vás má it naupravidl

7 Analytická geometrie

Křivkový integrál prvního druhu verze 1.0

GRAFY A GRAFOVÉ ALGORITMY

Úloha2.Naleznětevšechnydvojicereálnýchčísel(a,b)takové,žečísla10, a, b, abtvořívtomtopořadí aritmetickou posloupnost.

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Matice. a B =...,...,...,...,..., prvků z tělesa T (tímto. Definice: Soubor A = ( a. ...,..., ra

je jedna z orientací určena jeho parametrizací. Je to ta, pro kterou je počátečním bodem bod ϕ(a). Im k.b.(c ) ( C ) (C ) Obr Obr. 3.5.

Návody k domácí části I. kola kategorie A

Konstrukce na základě výpočtu I

3. APLIKACE URČITÉHO INTEGRÁLU

4.2.7 Zavedení funkcí sinus a cosinus pro orientovaný úhel I

odvodit vzorec pro integraci per partes integrovat sou in dvou funkcí pouºitím metody per partes Obsah 2. Odvození vzorce pro integraci per partes

3. Polynomy Verze 338.

1 i= VLIV ZMĚN FYZIKÁLNÍCH PARAMETRŮ FLUIDNÍCH VRSTEV NA CHARAKTERISTIKY TLAKOVÝCH FLUKTUACÍ. OTAKAR TRNKA a MILOSLAV HARTMAN. i M

ZÁKLADY. y 1 + y 2 dx a. kde y je hledanou funkcí proměnné x.

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ

KVADRATICKÁ FUNKCE (vlastnosti, grafy)

4 Mřížka tvořená body, mřížková funkce a její Fourierova transformace, reciproká mřížka

Matematika II: Testy

9.5. Kolmost přímek a rovin

3. Matice a determinanty

ELEKTŘINA A MAGNETIZMUS Řešené úlohy a postupy: Kapacita a uložená energie

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

!" #!" $%!"#$%&' () &789:,10; *+ #"B CD ' E FGHI2J KLM.?NO E PQ?./RST.UVW 0GXY E,ZPQ ST.U[ \]^_2`a.UVWb c 2#( & ) & T Z.U : 7 PQ? :2 PQ?

Transkript:

Czech Technicl University in Prgue Fculty of Informtion Technology Deprtment of Theoreticl Computer Science AUTOMATY VE VYHLEDÁVÁNI cvičeni Bořivoj Melichr Evropský sociální fond. Prh & EU: Investujeme do vší udoucnosti

Osh Konečné utomty 3. Zákldnípojmy... 3.2 Převod nedeterministického konečného utomtu n deterministickýkonečnýutomt..... 5.3 Vyloučení ε přechodů... 3.4 Konstrukce konečného utomtu pro zdný regulární výrz. 6 2 Konstrukce vyhledávcích utomtů pro sousměrné vyhledávání 22 2. Přesnépřiližnévyhledáváníjednohovzorku.... 22 2.2 Vyhledávánímnožinyvzorků... 28 3 Fktorové, prefixové sufixové utomty 36 3. Zákldnípojmy... 36 3.2 Fktorovéutomty.... 36 3.3 Sufixovéutomty..... 43 4 Hrnice, periody repetice 45 4. Zákldnípojmy... 45 4.2 Hrniceperiody...... 45 4.3 Přesnérepetice... 48 4.4 Přiližnérepetice... 56 5 Simulce nedeterministických konečných utomtů fil funkce 59 5. KMPvyhledávcíutomty... 59 5.2 ACvyhledávcíutomty..... 6 5.3 Přiližnévyhledávcíutomtyfilfunkce...... 62 6 Simulce nedeterministických konečných utomtů dynmické progrmování itový prlelismus 67 6. Dynmicképrogrmování..... 67 6.2 Bitovýprlelismus..... 7 7 Protisměrné vyhledávání v textu vyhledávání předpon vzorku 8 7. Sufixovýutomtproreverzovnývzorek... 8 7.2 Přesné protisměrné vyhledávání předpon vzorku v textu... 8 7.3 Sufixový utomt pro přiližné protisměrné vyhledávání v textu 83 7.4 Přiližné protisměrné vyhledávání předpon vzorku v textu.. 84 8 Protisměrné vyhledávání v textu vyhledávání opkujících se přípon vzorku 87 8. Přesnéprotisměrnévyhledáváníjednohovzorku.... 87

8.2 Protisměrné vyhledávání konečné množiny vzorků...... 94 9 Indexové metody 96 9. Fktorovéutomty.... 97 9.2 Suffixovýutomt..... 99 9.3 Suffixovýstrom... 99 9.4 Kompktnísuffixovýstrom.... 99 9.5 Polepřípon SuffixArry... 9.6 Slovníindexy....3 9.6. Uspořádnépoleslov....3 9.6.2 Indexovýstrom...3 9.6.3 Booleovskéinformčnísystémy.....3 9.6.4 RozšířenídotzůvooleovskémDIS......6 9.6.5 Vektorovéinformčnísystémy...7 9.7 Signtury...... 9.7. Přiřzenísignturykjednomutermu......2 9.8 IndexceWe...3 Sttistické metody komprese dt 9. Zákldnípojmy...9.2 Shnnon Fnůvkód....2.3 Huffmnůvkód...2.4 Aritmetickékódování....32 Slovníkové komprese dt 34. LZ77.....34.2 LZ78.....36.3 LZW.....39 2 Kontextové metody komprese dt 42 2. Zákldnípojmy...42 2.2 DynmickéMrkovovokódování.....44 2.3 MetodPPM....45 3 Kontrol textu 52 Litertur 53 2

Konečné utomty. Zákldní pojmy Aecedu udeme oznčovt A ude to vždy konečná množin symolů. Definice. DeterministickýkonečnýutomtMjepětice M=(Q, A, δ, q, F),kde Q je konečná množin vnitřních stvů, A je konečná vstupní eced, δjezorzenízq Ado Q, q Qjepočátečnístv, F Q je množin koncových stvů. Tuto definici můžeme modifikovt získáme tk dlší třídy konečných utomtů, které udou v dlších kpitolách užitečné. Jedná se o tyto třídy modifikce zákldní definice:. Nedeterministický konečný utomt. Modifikce se týká zorzení δ: δjezorzenízq Adomnožinypodmnožin Q. 2. Konečný utomt s ε přechody. Modifikce se týká opět zorzení δ: δjezorzenízq (A {ε})domnožiny Q. 3. Konečný utomt s více počátečními stvy. Modifikce se týká definice počátečního stvu. V tomto přípdě je definován neprázdná množin počátečních stvů I Q. Uvedené modifikce, i když rozšiřují definici deterministického konečného utomtu, nerozšiřují množinu jzyků přijímných těmito utomty. Automty s uvedenými rozšířeními je možné převést n ekvivlentní deterministické konečné utomty. Potřené lgoritmy jsou uvedeny v[jpr]. Všechn uvedená rozšíření je možné sloučit do jedné definice tkto: Definice.2 Konečný utomt(nedeterministický, s ε přechody, s více počátečními stvy) jepětice M=(Q, A, δ, I, F),kde Q je konečná množin vnitřních stvů, A je konečná vstupní eced, δjezorzenízq (A {ε})domnožinypodmnožin Q, I Q je množin počátečních stvů, F Q je množin koncových stvů. Dále připomeneme definice zákldních vlstností konečných utomtů. 3

Definice.3 Úplný konečný utomt. Deterministickýkonečnýutomt M=(Q, A, δ, q, F)nzvemeúplný,když zorzení δ(q, )jedefinovánoprovšechnystvy q Qvšechnyvstupní symoly A. Definice.4 Dosžitelné stvy utomtu. Necht jedánkonečnýutomt M =(Q, A, δ, q, F).Stv q Qnzveme dosžitelný,pokudexistujeřetězec w A tkový,žeexistujeposloupnost přechodů,kterávedezpočátečníhostvu q dostvu q: (q, w) (q, ε). Stv, který není dosžitelný, nzveme nedosžitelný stv. Definice.5 Užitečné zytečné stvy. Necht jedánkonečnýutomt M =(Q, A, δ, q, F).Stv q Qnzveme užitečný,pokudexistujeřetězec w A tkový,žeexistujeposloupnostpřechodů, která vede ze stvu q do nějkého koncového stvu: (q, w) (p, ε), p F. Stv, který není užitečný, nzveme zytečný stv. Algoritmy n. doplnění konečného utomtu n úplný, 2. odstrnění nedosžitelných stvů, 3. odstrnění zytečných stvů jsou uvedeny v[jpr]. Definice.6 Množin Fct(x), x A +,jemnožinvšechpodřetězcůřetězce x: Fct(x)={y: x=uyv, u, v A, x, y A + }. Definice.7 Množin Su(x), x A +,jemnožinvšechpodposloupnostířetězce x: Su(x)={ 2... m : x=y y 2... m y m, x A +, y i A, i=,,2,...,m, j A, j=,2,...,m, m >} Definice.8 Množin Suf(x), x A +,jemnožinvšechpříponřetězce x: Suf(x)={y: x=uy, u A, x, y A + }. 4

Definice.9 Množin Pref(x), x A +,jemnožinvšechpředponřetězce x: Pref(x)={y: x=yu, u A, x, y A + }..2 Převod nedeterministického konečného utomtu n deterministický konečný utomt Příkld. Sestrojme konečný utomt, který přijímá řetězce nd ecedou {, } tkové, které končí řetězcem. Tento utomt má přechodový digrm n or...získnýutomtjezkonstruovántk,žejevněmnzčátku smyčk pro liovolný řetězec do koncového stvu vede cest pro řetězec. V tomto přípdě je utomt nedeterministický. Tulk přechodů tohoto utomtu má tvr:, 2 2 3 3 2 3 Orázek.: Přechodový digrm nedeterministického konečného utomtu z příkldu. Příkld. Sestrojme deterministický konečný utomt, který je ekvivlentní nedeterministickému konečnému utomtu z příkldu.. Tulk přechodů deterministického konečného utomtu má tvr: 2 2 3 3 2 5

Jehopřechodovýdigrmjenor..2.Ztohotopříkldujevidět,žedeterministický konečný utomt má stejný počet stvů jko ekvivlentní nedeterministický. 2 3 Orázek.2: Přechodový digrm deterministického konečného utomtu z příkldu. Příkld.2 Příkld nedeterministického konečného utomtu, jehož deterministický ekvivlent má exponenciální počet stvů. Mějme nedeterministický konečný utomt M = ({,2,3}, {, }, δ,, {3}),kde δ jedefinovánotulkoupřechodů: δ 2 2 3,2 3,3 Jeho přechodový digrm je n or..3. Tento utomt je nedeterministický má3stvy.ekvivelentnídeterministickýkonečnýutomt M má2 3 =8 stvů. M =(Q, {, }, δ, {}, F ),kde δ jedefinovánotulkoupřechodů: δ {} {2} {2} {3} {,2} {3} {} {,3} {,2} {2,3} {,2} {,3} {,2} {,3} {2,3} {,3} {,2,3} {,2,3} {,2,3} {,2,3} kde F oshujestvy {,3}, {2,3}, {,2,3}{3}.Jehopřechodovýdigrm jenor..4 Z tohoto příkldu je vidět, že determinizce konečného utomtu může mít exponenciální složitost jk čsovou tk pmět ovou, 6

Je známo, že počet stvů deterministického konečného utomtu, který jeekvivlentnízdnémunedeterministickémukonečnémuutomtuje2 n, kde njepočetstvůzdnéhoutomtu.tojedánotím,žepřioecnékonstrukci se nejprve pro množinu stvů Q zdného utomtu vytvoří potenční množin P(Q), jejíž prvky, podmnožiny množiny Q, jsou stvy konstruovného deterministického konečného utomtu. Mohutnost této množiny je právě2 n.vprktickýchplikcíchsepkčstozjistí,žemnohostvůtkto vzniklých je nedosžitelných množin stvů deterministického konečného utomtu má menší mohutnost. Proto yl sestrojen lgoritmus, který vytváří jen dosžitelné stvy. 2 3 Orázek.3: Nedeterministický konečný utomt z příkldu.2 Příkld.3 Mějmenedeterministickýkonečnýutomt M=({,2,3,4}, {, }, δ,, {4}), kde δ je definováno tulkou přechodů: δ,2 2 3 3 4 4 Tento utomt je nedeterministický má 4 stvy. Ekvivlentní deterministickýkonečnýutomtmá4dosžitelnéstvy. M =(Q, {, }, δ, {}, F ), kde δ jedefinovánotulkoupřechodů: δ {} {,2} {} {,2} {,2} {,3} {,3} {,2} {,4} {,4} {,2} {} 7

{} {2} {3} {,2} {,3} {,2,3} Orázek.4: Deterministický konečný utomt z příkldu.2 Z uvedených příkldů je vidět, že determinizce konečného utomtu může mít n jedné strně lineární složitost n druhé strně exponenciální složitost. Mezi těmito krjními vrintmi je veliký rozdíl. Proto je účelné definovt třídy utomtů, pro které složitost determinizce je v intervlu <n,2 n >,kde njepočetstvůnedeterministickéhokonečnéhoutomtu. Tyto třídy utomtů se nzývjí:. homogenní utomty(hka), 2. zoecněné homogenní utomty(zhka), 3. semihomogenní utomty(ska). Uvedené množiny konečných utomtů jsou nekonečné tvoří hierrchii podle or..5. HKA ZHKA SKA KA Orázek.5: Hierrchie konečných utomtů vzhledem ke složitosti determinizce 8

Příkld.4 Je dán homogenní nedeterministický konečný utomt M=({p, q, r, s, t, u}, {, }, δ, p, {r, u}), kde zorzení δ je zdáno tulkou přechodů: p q s q r u r q, r s, t s q u t r s u t Přechodový digrm je n or..6. V tomto přípdě pltí: q r p u s t Orázek.6: Nedeterministický konečný utomt z příkldu.4 Q()={q, r}, Q()={s, t, u}. Tyto množiny mjí prázdný průnik, proto deterministický konečný utomt M=(Q, T, δ, q, F )udemítpočetstvůmenšíneorovennež 2 Q() +2 Q() T +=2 2 +2 3 2+=4+8 2+=. Ekvivlentní deterministický konečný utomt je M =({p, q, qr, s, t, st, stu, u, su, t, tu}, {, }, δ, p, {r, qr, u, su, tu, stu}), kde δ je definováno následující tulkou přechodů: 9

p q s q r u s q u qr qr stu st qr su u t stu qr stu su q tu t r s tu r st r qr st Z výsledku je vidět, že výsledný deterministický konečný utomt má právě stvů. Pojem homogenních utomtů je možno zoecnit. Jedno z možných zoecnění vede n situci, kdy do určité množiny stvů vedou přechody jen pro určité symoly. Jestliže množiny Q(), T, nejsou po dvou disjunktní, můžeme se pokusit njít množiny symolů, pro které vedou přechody jen do určité podmnožiny stvů. Jinými slovy se jedná o přípd nlezení jiného rozkldu množiny stvů, který není tk jemný jko pro homogenní utomty, le kždá množin v tomto rozkldu odpovídá určité množině vstupních symolů, tyto množiny jsou po dvou disjunktní. Příkld.5 Je dán zoecněný homogenní nedeterministický konečný utomt M=({p, q, r, s}, {,, c, d}, δ, p, {q, s}), kde zorzení δ je zdáno tulkou přechodů: c d p p, q r, s q p s r q r s Přechodový digrm tohoto utomtu je n or..7. V tomto přípdě pltí: Q({, })={p, q}, Q({c, d})={r, s}. Tyto množiny mjí prázdné průniky proto deterministický konečný utomtudemítpočetstvůmenšíneoroven 2 Q({,}) +2 Q({c,d}) 2+=2 2 +2 2 2+=4+4 2+=7.

q p d r c d d s Orázek.7: Nedeterministický konečný utomt z příkldu.5 Skutečnýutomtudemítjen6stvů,protožepočátečnístv p δ(q, ). Ekvivlentní deterministický konečný utomt je M =({p, q, pq, r, s, rs}, {,, c, d}, δ, p, {q, pq, s, rs}), kde zorzení δ je definováno následující tulkou přechodů: c d p pq rs q p s pq p pq rs r q r s rs q r Přechodový digrm tohoto utomtu je n or..8. pq q p d rs d s d r c c Orázek.8: Deterministický konečný utomt z příkldu.5

Příkld.6 Necht je dán nedeterministický konečný utomt M=({p, q, r, s}, {,, c, d}, δ, p, {s}), kde zorzení δ je dáno tulkou přechodů: c d p q p, q q r r r r p r, s s s r Jehopřechodovýdigrmjenor..9.Vtomtopřípdějepočátečnípokrytí: Q()={p, q, r}, Q()={p, q, r}, Q(c)={r, s}, Q(d)={s}. Toto pokrytí není optimální po vynechání Q()(je podmnožinou Q()) Q(d)(je podmnožinou Q(c)) dostneme optimální pokrytí: C(Q)=({p, q, r}, {r, s}). Počet stvů deterministického konečného utomtu ude: Q 2 Q() +2 Q(c) 2 2 Q() Q(c) ++ =2 3 +2 2 2 2 ++=8+4 2 2++= Skutečný deterministický utomt ude mít nejvýše 9 stvů, protože stv p Q(). Deterministický konečný utomt je M =({p, q, pq, pr, qr, pqr, r, s, rs}, {,, c, d}, δ, p, {s, rs}), kde zorzení δ je dáno tulkou přechodů: c d p q pq q r r r pq qr pqr r pr pq pq rs s qr pr r rs s pqr pqr pqr rs s r p rs s s r rs p rs s 2

c c d p q r c c s Orázek.9: Nedeterministický konečný utomt z příkldu.6.3 Vyloučení ε přechodů Příkld.7 Je dán konečný utomt M=({,2,3,4,5,6,7}, {, }, δ,, {4,7}),kdezorzení δjezdánotulkou přechodů: ε 2 5 2 5 3 6 3 4 6 7 4 5 6 6 7 7 Přechodový digrm tohoto utomtu je n or... Orázek.: Přechodový digrm konečného utomtu s ε přechody z příkldu.7 Provedeme odstrnění ε přechodů. ε CLOSURE()={,5}, ε CLOSURE(2)={2,6}, ε CLOSURE(3)={3,7}, ε CLOSURE(4)={4}, ε CLOSURE(5)={5}, 3

ε CLOSURE(6)={6}, ε CLOSURE(7)={7}, Výsledný konečný utomt ez ε přechodů M =({,2,3,4,5,6,7}, {, }, δ,, {3,4,7})mázorzení δ definováno tulkou přechodů: 2 6 2 5,7 3 3 4 6 4 5 6 6 7 7 Jeho přechodový digrm je n or... 2 3 4 5 6 7 Orázek.: Přechodový digrm konečného utomtu z příkldu.7 po odstrnění ε přechodů Příkld.8 Sestrojme konečný utomt, který přijímá řetězec x = všechny jeho neprázdnépřípony. M Suf =({A, B, C, D, E}, {, }, δ, A, {E}),kdezorzení δ je zdáno přechodovým digrmem n or..2. A B C D E Orázek.2: Přechodový digrm konečného utomtu z příkldu.8 ε přechody odstrníme: 4

ε CLOSURE(A)={A, B, C, D}, ε CLOSURE(X)={X},pro X {B, C, D, E}. Nedeterministický konečný utomt po odstrnění ε přechodů má přechodový digrm n or..3. Jeho deterministický ekvivlent je n or..4. A B C D E Orázek.3: Přechodový digrm nedeterministického konečného utomtu z příkldu.8 po odstrnění ε přechodů A B,E C D E C,D Orázek.4: Deterministický konečný utomt z příkldu.8 Příkld.9 Sestrojme konečný utomt, který přijímá množinu posloupností Su(). M Su =({A, B, C, D, E}, {, }, δ, A, {B, C, D, E}),kdezorzení δje zdáno přechodovým digrmem n or..5. A B C D E Orázek.5: Přechodový digrm konečného utomtu z příkldu.9 Tento utomt oshuje ε přechody v prvním kroku je odstrníme: ε CLOSURE(A)={A, B, C, D, E}, ε CLOSURE(B)={B, C, D, E}, ε CLOSURE(C)={C, D, E}, ε CLOSURE(D)={D, E}, ε CLOSURE(E)={E}. Výsledný nedeterministický konečný utomt má přechodový digrm n or..6. Jeho deterministický ekvivlent je n or..7. 5

A B C D E Orázek.6: Přechodový digrm nedeterministického konečného utomtu z příkldu.9 A B C,D D E Orázek.7: Přechodový digrm deterministického konečného utomtu z příkldu.9 Počáteční stv není koncový, protože prázdná posloupnost je triviální přípd. Viz definice.7..4 Konstrukce konečného utomtu pro zdný regulární výrz Konečný utomt můžeme pro zdný regulární výrz zkonstruovt několik způsoy. Příkld.2 V tomto příkldu uvedeme metodu zloženou n pojmu sousedů. Sestrojme konečnýutomtproregulárnívýrz V =(+) (+). Metod sousedů: V =( + 2 ) 3 4 ( 5 + 6 ), Z= {, 2, 3 }, P= {, 2, 3, 2, 2 2, 2 3, 3 4, 4 5, 4 6, 5 5, 5 6, 6 5, 6 6 }, F= { 4, 5, 6 }. Počátečnístvutomtuude q,množinkoncovýchstvů Fprozorzení δ pltí: δ(q, x)oshuje x i provšechn x i Ztková,že x i vznikloočíslováním x, δ(x i, y)oshuje y j provšechnydvojice x i y j Ptkové,že y j vznikloočíslováním y. 6

Pro dný regulární výrz tedy sestrojíme konečný utomt M =({q,, 2, 3, 4, 5, 6 }, {, }, δ, q, { 4, 5, 6 }),kdezorzení δje definováno následující tulkou: δ q {, 3 } { 2 } {, 3 } { 2 } 2 {, 3 } { 2 } 3 { 4 } 4 { 5 } { 6 } 5 { 5 } { 6 } 6 { 5 } { 6 } Příkld.2 Dlší metod konstrukce konečného utomtu pro zdný regulární výrz je zložen n pojmu derivce regulárního výrzu. Regulární výrz V = (+) (+) všechnyjehoderivcederivujemepodlevšechsymolů ecedy. Q={V }, Q = {V } dv d =(+) (+) + (+) = V dv d =(+) (+) = V Q={V, V }, Q = {V } dv d =(+) (+) + (+) = V dv d =(+) (+) +(+) = V 2 Q={V, V, V 2 }, Q 2 = {V 2 } dv 2 d =(+) (+) + (+) +(+) = V 3 dv 2 d =(+) (+) +(+) = V 2 Q={V, V, V 2, V 3 }, Q 3 = {V 3 } dv 3 d =(+) (+) + (+) +(+) = V 3 dv 3 d =(+) (+) +(+) = V 2 Q={V, V, V 2, V 3 }, Q 4 = Množinu stvů konečného utomtu tvoří všechny výrzy vzniklé derivcí, množin koncových stvů je tvořen výrzy, jejichž hodnot oshuje ε,propřechodovoufunkci δpltí: δ( du dx, )= du d(x). Pro dný regulární výrz sestrojíme konečný utomt M 2 =({V, V, V 2, V 3 }, {, }, δ, {V 2, V 3 }),kdezorzení δjedefinovánotulkou přechodů: 7

δ V V V V V V 2 V 2 V 3 V 2 V 3 V 3 V 2 Ztétotulkypřechodůjezřejmé,žestvy V 2 V 3 jsouekvivlentníproto můžeme provést minimlizci. Přechodový digrm výsledného konečného utomtu je n or..8. Porovnejte tento utomt s utomtem z příkldu.2! V V V 2 V 3 Orázek.8: Deterministický konečný utomt pro regulární výrz V = (+) (+) zpříkldu.2 Příkld.22 Sestrojme regulární výrz, který popisuje řetězec x = všechny jeho neprázdné předpony: +++=(ε+(ε+(ε+))). Sestrojme konečný utomt metodou sousedů. V = (ε+ 2 (ε+ 3 (ε+ 4 ))) Z={ } P={ 2, 2 3, 3 4 } F={, 2, 3, 4 } Výsledný konečný utomt M =({q,, 2, 3, 4 }, {, }, δ, q, {, 2, 3, 4 }),kdezorzení δ je definováno přechodovým digrmem n or.9. q 2 3 4 Orázek.9: Konečný utomt z příkldu.22 8

Výsledný konečný utomt je deterministický minimální. Pokud ychom použili jko vstup první tvr regulárního výrzu, dostneme nedeterministický konečný utomt. Zkuste jej sestrojit! Příkld.23 Sestrojme regulární výrz, který popisuje řetězec x = všechny jeho neprázdné přípony: +++=(((+ε)+ε)+ε). Sestrojme konečný utomt metodou sousedů: V =((( + ε) 2 + ε) 3 + ε) 4 Z={, 2, 3, 4 } P={ 2, 2 3, 3 4 } F={ 4 } Výsledný konečný utomt M=({q,, 2, 3, 4 }, {, }, δ, q, { 4 }),kdezorzení δjezdánopřechodovým digrmem n or..2. Výsledný utomt je nedeterministický. q 2 3 4 Orázek.2: Konečný utomt z příkldu.23 Sestrojte ekvivlentní deterministický konečný utomt. Příkld.24 Sestrojme regulární výrz, který popisuje množinu F c(). První způso vychází z toho, že popisujeme předpony všech přípon: RV = (ε+(ε+(ε+))) + (ε+(ε+)) + (ε+) + Druhý způso je zložen n tom, že popisujeme přípony všech předpon: RV 2 = (((+ε)+ε)+ε) +((+ε)+ε) +(+ε) + 9

Dokžte ekvivlenci těchto dvou regulárních výrzů. Sestrojímekonečnýutomtproregulárnívýrz RV.Použijemetentopostup:. Vytvoříme konečné utomty pro jednotlivé lterntivy(viz příkld.22). 2. S výslednými utomty provedeme sjednocení. Po prvním kroku dostneme čtyři utomty s přechodovými digrmy n or..2. Ve druhém kroku provedeme operci sjednocení těchto utomtů q 2 3 4 q 2 5 6 7 q 3 8 9 q 4 Orázek.2: Konečný utomt z příkldu.24 q 2 3 4 q q 2 5 6 7 q 3 8 9 q 4 Orázek.22: Konečný utomt z příkldu.24 po provedení operce sjednocení tk,ževytvořímenovýpočátečnístv q zněhopovedou ε přechody 2

do počátečních stvů všech čtyř utomtů. Výsledný konečný utomt má přechodový digrm n or..22. Po provedené minimlizci počtu stvů má konečný utomt, který přijímá všechny fktory dného řetězce přechodový digrm n or..23. q 2 3 4 Orázek.23: Konečný utomt z příkldu.23 po minimlizci počtu stvů Příkld.25 Sestrojme regulární výrz, který popisuje množinu Su(). RV =(+ε)(+ε)(+ε)(+ε) Sestrojímeutomty M M 2 přijímjícíjzyky L = h(+ε)l 2 = h( + ε). Jejich přechodové digrmy jsou n or..24. 2 3 4 ) M ) M 2 Orázek.24:Automty M M 2 zpříkldu.25 Dálesestrojímeutomtprozřetězeníjzyků L. L 2. L 2. L.Výsledný utomt M=({,2,3,4,5}, {, }, δ,, {5}),kdezorzení δjeznázorněno n or..25. 2 3 4 5 Orázek.25: Konečný utomt z příkldu.25 2

2 Konstrukce vyhledávcích utomtů pro sousměrné vyhledávání 2. Přesné přiližné vyhledávání jednoho vzorku Příkld 2. Sestrojme konečný utomt pro přesné vyhledávání vzorku. Aeced je {, }. Přechodový digrm nedeterministického konečného utomtu je nor.2.., 2 3 4 Orázek 2.: Nedeterministický konečný utomt pro vyhledávání vzorku Tulk přechodů tohoto utomtu má tvr:, 2 2 3 3 4 4 Tulk přechodů ekvivlentního deterministického konečného utomtu má tvr: 2 2 3 3 24 24 3 Jeho přechodový digrm je n or. 2.2. Tento příkld ukzuje, že počet stvů deterministického konečného utomtu je stejný jko počet stvů ekvivlentního nedeterministického konečného utomtu. Toto pltí pro všechny utomty pro přesné vyhledávání jednoho vzorku. Totéž pltí pro utomty pro přesné vyhledávání konečného počtu vzorků. 22

2 3 24 Orázek 2.2: Deterministický konečný utomt pro vyhledávání vzorku Příkld 2.2 Sestrojme konečný utomt pro přiližné vyhledávání vzorku s Hmmingovouvzdáleností k=.aeced A={, }. Příkld 2.3 Sestrojme konečný utomt pro přiližné vyhledávání vzorku c s Hmmingovouvzdáleností k=2.aecedje A={,, c, d}.přechodovýdigrm nedeterministického utomtu je n or. 2.3.,,c,d c 2 3,c,d,c,d,,d 4 5 c 6,c,d,,d 7 c 8 Orázek 2.3: Nedeterministický konečný utomt pro vyhledávání vzorku c s Hmmingovou vzdáleností k = 2 Tulk přechodů tohoto utomtu má tvr: 23

c d,,4,4,4 5 2 5 5 2 6 6 3 6 3 4 7 5 7 7 5 8 8 6 8 6 7 8 8 Tulk přechodů deterministického konečného utomtu má tvr: c d 4 4 4 5 24 45 45 5 58 248 456 458 58 58 248 456 458 24 67 456 347 467 67 5 24 458 45 248 67 456 347 467 347 7 45 478 47 7 5 24 458 45 45 78 458 467 478 78 5 24 458 45 456 78 458 467 478 458 78 458 467 478 467 7 45 478 47 47 7 45 478 47 478 7 45 478 47 4 7 45 47 47 Příkld 2.4 Sestrojme vyhledávcí utomt pro vyhledávání vzorku s Levenshteinovouvzdáleností k=.aeced A={, }.Přechodovýdigrmnedeterministického utomtu je n or. 2.4. Po vyloučení ε přechodů dostneme konečný utomt n or. 2.5. Tulk přechodů tohoto utomtu má tvr: 24

, 2 3,, 4 5 6 Orázek 2.4: Nedeterministický konečný utomt pro vyhledávání vzorku Levenshteinovou vzdáleností, 2 3,, 4 5 6 Orázek 2.5: Nedeterministický konečný utomt z příkldu 2.4 po vynechání ε přechodů,,4,5 4,5,6 4,2 2 5,3 5,6 3 4 5 5 6 6 Tulk přechodů deterministického konečného utomtu má tvr: 45 456 245 245 356 456 356 456 2456 45 56 45 456 56 45 56 456 2456 456 456 2456 25

Přechodový digrm tohoto utomtu je n or. 2.6. 245 356 456 56 45 456 Orázek 2.6: Přechodový digrm deterministického konečného utomtu z příkldu 2.4 Příkld 2.5 Sestrojme vyhledávcí utomt pro vyhledávání vzorku s rozšířenou Levenshteinovou vzdáleností k =. Aeced je A = {, }. Přechodový digrm nedeterministického utomtu je n or. 2.7. Po odstrnění ε, 2 3,, 7 8 4 5 6 Orázek 2.7: Nedeterministický konečný utomt z příkldu 2.5 přechodů ude mít tento utomt přechodový digrm podle or. 2.8. 26

, 2 3,, 7 8 4 5 6 Orázek 2.8: Nedeterministický konečný utomt po odstrnění ε přechodů Tulk přechodů tohoto utomtu má tvr:,,4,5,7 4,5,6,8 2,4 2 3,5 5,6 3 4 5 5 6 6 7 5 8 6 Tulk přechodů deterministického konečného utomtu má tvr: 457 4568 2457 2457 356 4567 356 4568 2457 4567 56 457 457 56 457 4568 4568 24567 56 4568 2457 24567 356 4567 Přechodový digrm tohoto utomtu je n or. 2.9. 27

2457 356 457 4568 4567 56 24567 Orázek 2.9: Deterministický konečný utomt z příkldu 2.5 2.2 Vyhledávání množiny vzorků Příkld 2.6 Sestrojme vyhledávcí utomt, který vyhledává všechny neprázdné podřetězcevzorku.přechodovýdigrmnedeterministickéhoutomtu M je n or. 2.. Po vyloučení ε přechodů ude mít přechodový digrm, Orázek2.:Nedeterministickýkonečnýutomt M zpříkldu2.6 utomtu M 2 tvrpodleor.2.. 28

, 2 3 4 5 6 7 8 9 X Orázek2.:Nedeterministickýkonečnýutomt M 2 zpříkldu2.6po vyloučení ε přechodů Tulkpřechodůutomtu M 2 mátvr:,,8,5, X 2 2 3 3 4 4 5 6 6 7 7 8 9 9 X Tulk přechodů ekvivlentního deterministického konečného utomtu M 3 mátvr: 29

8 5X 8 8 259X 259X 368 5X 368 8 24579X 24579X 368 5X 5X 68 5X 68 8 2579X 2579X 368 5X Přechodovýdigrmdeterministickéhokonečnéhoutomtu M 3 jeuveden n or. 2.2. Všechny stvy kromě počátečního jsou koncové stvy. Tento 8 259X 368 24579X 68 2579X 5X Orázek2.2:Deterministickýkonečnýutomt M 3 zpříkldu2.6 utomt vyhledává tuto množinu řetězců: L(M 3 )={,,,,,, }. Automt je homogenní utomt, protože množinu stvů Q můžeme rozložit n množiny: Q() = {8, 368, 68}, Q() = {259X, 24579X, 2579X, 5X}. Příkld 2.7 Sestrojme konečný utomt pro vyhledávání množiny vzorků P= {kjk, jk, kj, j, j}. Přechodový digrm nedeterministického konečného utomtu M je n or.2.3. Tulkpřechodůutomtu M mátvr: 3

,j,k,x k j k 2 3 4 5 j 6 7 k 8 k 9 A j B C j D E j F G Orázek 2.3: Přechodový digrm nedeterministického konečného utomtu M zpříkldu2.7 j k x, C,6, F,,9 2 2 3 3 4 4 5 5 6 7 7 8 8 9 A A B B C D D E E F G G Tulkpřechodůdeterministickéhoutomtu M 2 mátvr: 3

j k x C 6F 9 9 2AC 6F 9 2AC C 36BDF 9 36BDF 47CEG 6F 9 47CEG C 6DF 589 589 2AC 6F 9 6F 7CG 6F 9 6DF 7CEG 6F 9 7CG C 6DF 89 7ECG C 6DF 89 C C 6DF 9 89 2AC 6F 9 Přechodovýdigrmkonečnéhoutomtu M 2 jenor.2.4. k x k 9 2AC 36BDF 47CEG 589 k i k j j j j k k k 6F 7CG 89 j j j j j k C k j k 6DF k j k 7CEG Orázek2.4:Konečnýutomt M 2 zpříkldu2.7 Příkld 2.8 Sestrojme vyhledávcí utomt pro tuto kominovnou úlohu: Jedánmnožinvzorků P = {, }vyhledávánímáýtprovedeno přiližně s Hmmingovou vzdáleností k =. Tento utomt můžeme sestrojit tímto způsoem: Sestrojíme vyhledávcí utomt pro kždý vzorek pk provedeme sjednocenítěchtoutomtů.vyhledávcíutomt M posjednoceníudemít 32

2 6 A D 5 3 7 4 8 B E C F, Orázek2.5:Vyhledávcíutomt M zpříkldu2.8 přechodový digrm n or. 2.5. Po vyloučení ε přechodů ude mít utomt M 2 přechodovýdigrmpodleor.2.6. Tulkpřechodůutomtu 2 6 A D 3 7 4 8 B E C F, Orázek2.6:Vyhledávcíutomt M 2 zpříkldu2.8 M 2 mátvr: 33

,2,6, A, D 2 B 3 3 4 C 4 A B B C C 6 7 E 7 F 8 8 D E E F F Tulkpřechodůdeterministickéhoutomtu M 3 udemíttvr: 26 AD 26 267B 3ADE 267B 267BCF 38ADE 3ADE 246E ABCDF 267BCF 267BCF 38ADE 246E 267B 3ADEF 38ADE 246E ABCDF AD 26E ABD ABD 26CE ABD 26E 267B 3ADEF 3ADEF 246E ABCDF ABCDF 26CE ABD 26CE 267B 3ADEF Přechodovýdigrmutomtu M 3 jenor.2.7. 34

26 267B 3ADE 267BCF 38ADE 246E ABCDF 267B AD 26E 3ADEF 26CE ABD Orázek2.7:Deterministickývyhledávcíutomt M 3 zpříkldu2.8 35

3 Fktorové, prefixové sufixové utomty 3. Zákldní pojmy Je litext T = xyz,pk x, y, z jsoufktorytextu T.Řetězec xjeprefixřetězec zjesufixtextu T.Je li xfktor(prefix,sufix)textu T,pk kždýřetězec ytkový,že D(x, y) k,je k přiližnýfktor(prefix,sufix) textu T. Vzdálenost D může ýt definován jko Hmmingov, Levenshteinov, zoecněná Levenshteinov, Iliopoulosov zoecněná Iliopoulosov. Fktorový(prefixový, sufixový) utomt je konečný utomt, který přijímá všechny fktory dného textu. Přiližný fktorový(prefixový, sufixový) utomt je konečný utomt, který přijímá přiližné fktory(prefixy, sufixy) dného textu. 3.2 Fktorové utomty Příkld 3. Sestrojme fktorový utomt pro text T = cd. Konstrukci utomtu F c(t) provedeme ve čtyřech krocích použijeme metodu zloženou n ε přechodech..vytvořímeutomt M,kterýpřijímávšechnypředponytextu T.Jeho přechodový digrm je n or. 3.. c d 2 3 4 5 6 7 Orázek3.:Konečnýutomt M,kterýpřijímávšechnypředponytextu T= cd 2.Doutomtu M přidáme ε přechodyzpočátečníhostvudovšech stvůkroměposledního.výsledkemjeutomt M 2,jehožpřechodový digrmjenor.3.2. c d 2 3 4 5 6 7 Orázek3.2:Konečnýutomt M 2 s ε přechody,kterýpřijímávšechny fktory textu T = cd 36

3.Zutomtu M 2 odstrníme ε přechodydostnemeutomt M 3,jehož přechodový digrm je n or. 3.3. Všimněme si, že tento utomt je nedeterministický. c d c d 2 3 4 5 6 7 Orázek 3.3: Nedeterministický konečný utomt, který přijímá všechny fktorytextu T= cd 4.Nedeterministickýutomt M 3 převedemendeterministickýutomt M 4.Tulkypřechodůutomtů M 3 M 4 mjítvr: c d 2,3,5,6 4 7 2 2 3 3 4 4 5 5 6 6 7 7 Přechodovýdigrmutomtu M 4 jenor.3.4. c d 2356 4 7 2 2 3 2356 36 4 7 3 4 36 4 7 4 5 5 6 6 7 7 d 2 2356 c 3 c 4 5 6 d 7 c d c d 36 Orázek 3.4: Deterministický fktorový utomt, pro text T = cd 37

Příkld 3.2 Sestrojme fktorový utomt pro stejný text T = cd jko v příkldu 3.. V tomto přípdě použijeme postup zložený n konečném utomtu s více počátečními stvy. Vyjdemezutomtu M,jehožpřechodovýdigrmjenor.3..Tento utomt uprvíme tk, že počáteční stvy udou všechny stvy kromě posledního.přechodovýdigrmutomtu M 5 jenor.3.5. c d 2 3 4 5 6 7 Orázek3.5:Konečnýutomt M 5 sesedmipočátečnímistvy,kterýpřijímá všechny fktory textu T = cd Automt M 5 převedemendeterministickýkonečnýutomt M 6 sjednímpočátečnímstvem.tulkpřechodůutomtu M 6 mátvr: c d 23456 2356 4 7 2 2 3 2356 36 4 7 3 4 36 4 7 4 5 5 6 6 7 7 Přisrovnánítulkypřechodůutomtu M 6 tulkypřechodůutomtu M 4 jezřejmé,žežnoznčenípočátečníhostvujsoustejné.přechodový digrmutomtu M 6 jenor.3.4. Příkld 3.3 Sestrojme fktorový utomt pro stejný text T = cd jko v příkldu 3.. V tomto přípdě použijeme postup zložený n pojmu množiny fktorů pomocí regulárního výrzu. Regulární výrz, který popisuje množinu F c(t) má tvr: 38

RV = (ε+(ε+(ε+c(ε+(ε+(ε+d)))))) + (ε+(ε+c(ε+(ε+(ε+d))))) + (ε+c(ε+(ε+(ε+d)))) + c(ε+(ε+(ε+d))) + (ε+(ε+d)) + (ε+d) + d Nejdříve vytvoříme utomty pro jednotlivé lterntivy. Tyto utomty mjí přechodové digrmy n or. 3.6. Dále provedeme sjednocení všech 2 3 c 4 5 6 d 7 2 3 c 4 5 6 d 7 2 2 3 2 c 4 2 5 2 6 2 d 7 2 3 3 c 4 3 5 3 6 3 d 7 3 4 4 5 4 6 4 d 7 4 5 5 6 5 d 7 5 6 6 d 7 6 Orázek 3.6: Konečné utomty pro jednotlivé lterntivy regulárního výrzu z příkldu 3.3 těchto utomtů. K tomu je tře všechny utomty doplnit n úplné utomty. Toto doplnění provedeme tk, že vytvoříme nulový stv. Do všech utomtů přidáme přechody ze všech stvů do nulového stvu pro všechny symoly, pro které přechody dosud neexistují. Nulový stv je uveden n or. 3.7. Výsledný utomt M po provedeném sjednocení všech utomtů je uveden n or. 3.8. Pro přehlednost neuvádíme v oznčení stvů nulový stv. Pokud v oznčení stvu chyí stv některého z utomtů, je tímto stvem nulový stv. Konečný utomt M můžeme minimlizovt. Ekvivlentní množiny stvůjsou {4,4,4 2,4 3 }, {5,5,5 2,5 3 }, {6,6,6 2,6 3 }, {7,7,7 2,7 3,7 4,7 5,7 6 }. 39

c c d d Orázek 3.7: Nulový stv z příkldu 3.3 c 4 3 5 3 6 3 d 7 3 X 2 3 c 4 5 6 d d 7 6 7 2 3 2 5 4 6 5 3 6 4 c 4 5 6 d 7 d 7 4 c 4 2 5 2 6 2 d 7 2 d 7 5 Orázek 3.8: Konečný utomt M po sjednocení utomtů z or. 3.6, počátečnístv X= 2 2 3 3 4 4 5 5 6 6 Po provedení této minimlizce dostneme utomt n or. 3.4. Příkld 3.4 Sestrojme přiližný fktorový utomt pro text T = c pro Hmmingovu vzdálenost k=.vtomtopřípděpoužijemepostup,kterýjepoužitvpříkldu 3.. Vprvnímkrokusestrojímeutomt M,kterýpřijímávšechnypřesné přiližnépředponytextu T.Jehopřechodovýdigrmjenor.3.9. Ve druhém kroku přidáme ε přechody z počátečního stvu do stvů,2,3. Výsledkemjekonečnýutomt M 2,jehožpřechodovýdigrmjenor.3.. Tento utomt přijímá všechny přesné přiližné fktory textu T = c. Vetřetímkrokuodstrnímezutomtu M 2 ε přechodydostnemenedeterministickýutomt M 3,jehožpřechodovýdigrmjenor.3..Ve čtvrtémposlednímkrokupřevedemenedeterministickýutomt M 3 n ekvivlentnídeterministickýutomt M 4.Tulkypřechodůutomtů M 3 M 4 mjítvr: 4

c 2 3 4,c,c,c, 2 3 c 4 Orázek3.9:Konečnýutomt M,kterýpřijímávšechnypřesnépřiližné předponytextu T= c,hmmingovvzdálenost k= c 2 3 4,c,c,c, 2 3 c 4 Orázek3.:Konečnýutomt M 2 s ε přechody,kterýpřijímávšechny přesnépřiližnéfktorytextu T= c,hmmingovvzdálenost k=,c c c 2 3 4,c,c, 2 3 4,c,c, c Orázek3.:Nedeterministickýkonečnýutomt M 3,kterýpřijímápřesné přiližnéfktorytextu T= c,hmmingovvzdálenost k= 4

c 2 3 4 23 4 4 2 3 2 2 2 2 3 3 3 3 4 4 4 4 2 2 3 3 4 4 c 2 3 4 23 4 4 2 3 2 3 4 2 23 2 4 23 4 3 4 32 4 43 4 2 3 2 3 4 23 3 3 3 4 32 4 4 3 4 4 43 4 4 2 3 2 4 3 3 4 4 2 3 3 4 3 4 4 4 3 4 4 Přechodový digrm deterministického konečného utomtu M 4 je n or. 3.2. c 43 c 23 4 32 4 c 3 4 c c 2 3 4 23 3 c c 4 2 3 2 4 2 3 c 2 3 c c c 4, 4 Orázek3.2:Deterministickýpřiližnýfktorovýutomt M 4,protext T= c,hmmingovvzdálenost k= 42

3.3 Sufixové utomty Příkld 3.5 Sestrojme sufixový utomt pro text T =. Konstrukci utomtu provedeme n čtyřech krocích..vytvořímeutomt M,kterýpřijímátext T.Jehopřechodovýdigrmjenor.3.3. 2 3 4 5 Orázek3.3:Konečnýutomt M,kterýpřijímátext T= 2.Doutomtu M přidáme ε přechodyzpočátečníhostvudovšech stvůkroměposledního.výsledkemjeutomt M 2,jehožpřechodový digrm je n or. 3.4. Tento utomt přijímá všechny přípony textu T=. 2 3 4 5 Orázek3.4:Konečnýutomt M 2,kterýpřijímávšechnypříponytextu T= 3.Zutomtu M 2 odstrníme ε přechody.výsledkemjenedeterministickýutomt M 3,jehožpřechodovýdigrmjenor.3.5. 2 3 4 5 Orázek3.5:Konečnýutomt M 3 ez ε přechodů,kterýpřijímávšechny příponytextu T= 4. Posledním krokem je vytvoření deterministického konečného sufixovéhoutomtu M 4,kterýjeekvivlentníutomtu M 3.Přechodovétulkyutomtů M 3 M 4 mjítvruvedenýnor.3.6.přechodový digrmutomtu M 4 jenor.3.7. 43

35 24 2 2 3 3 4 4 5 5 ) 35 24 35 24 24 35 35 4 4 5 ) Orázek3.6:Přechodovétulkyutomtů) M 3 ) M 4 zpříkldu3.5 35 24 35 4 5 Orázek3.7:Sufixovýutomt M 4,kterýpřijímávšechnypříponytextu T=, Suf()={,,,, } 44

4 Hrnice, periody repetice 4. Zákldní pojmy Hrnice řetězce x A + je kždá neprázdná předpon řetězce x, která je součsně jeho příponou. Množin všech hrnic řetězce x je ord(x) = Pref(x) Suf(x).Mezihrnicemiřetězce xmázvláštnímístonejdelšíhrnice Border(x). Liovolnýřetězec x A + můžemezpstvetvru: x=u r v,kde v Pref(u). Délkuřetězce u, p= u,udemenzývtperiodouřetězce x, rjeexponent řetězce xujegenerátor x.meziperiodmiřetězce xmázvláštnímístonejkrtší period Per(x). Kždý řetězec x můžeme zpst v normálním tvru: x=u r v, kde p= u jenejkrtšíperiod(per(x)), rjetudížnejvětšíexponentv Pref(u). Řetězec x,jehožnejkrtšíperiodmádélkuceléhořetězce p= x,se nzývá primitivní řetězec. Pole hrnic β[..n] je vektor nejdelších hrnic všechneprázdnýchpředpon x[..i]řetězce xpro i=,2,...,n. 4.2 Hrnice periody Příkld 4. Njděme všechny hrnice řetězce x =. K tomu, ychom nšli všechny hrnice řetězce x, sestrojíme sufixový utomt pro řetězec x. Nedeterministický sufixový utomt je n or. 4.. 2 3 4 5 6 7 8 Orázek 4.: Nedeterministický sufixový utomt pro řetězec x = z příkldu 4. Tulky přechodů nedeterministického deterministického sufixového utomtu mjí tvr: 45

,3,4,6,7 2,5,8 2 2 3 3 4 4 5 5 6 6 7 7 8 8 3467 258 3467 47 258 258 36 36 47 47 58 58 6 6 7 7 8 8 Přechodový digrm deterministického konečného sufixového utomtu je nor.4.2. Orázek 4.2: Deterministický sufixový utomt pro řetězec x = z příkldu 4. Anlýzou tohoto utomtu zejmén jeho koncových stvů zjistíme, že ord(x) = {, }. Nejdelší hrnice je Border(u) =. Všimněme si, že tto hrnice se v řetězci x překrývá. Příkld 4.2 Njděmevšechnyhrniceřetězce x= n. ord(x)={, 2,..., n }. Všimněmesi,žepro i (n+)/2sehrnice i, i+,..., n překrývjí Border(x) =. Příkld 4.3 Njděme periody řetězce x =. Řetězec x můžeme zpst tkto: x=() 2.Ztohoplyne,žeperiodyjsou p =3, p 2 =6,exponentyjsou r =2, r 2 =generátoryjsou u = u 2 =. Příkld 4.4 Njděmeperiodyřetězce x= n.řetězec xmůžemezpsttěmitozpůsoy: x= n x=( 2 ) n/2,když njesudé, x=( 2 ) n /2,když njeliché,. x= n Periodyřetězce xtedyjsou: p=,2,...,n.nejkrtšíperiod p=. 46

Příkld 4.5 Njděme periody řetězce x =. Zjistíme, že period tohoto řetězce p=9= u,cožznmená,žeřetězec xjeprimitivní. Příkld 4.6 Jezdánřetězec f 6 = (Fionncihořetězec f 6 ).Vytvořme polepředpon β[...3]protentořetězec. Nejdřívesestrojímeprořetězec f 6 nedeterministickýfktorovýutomt. Pk sestrojíme tu část deterministického fktorového utomtu, ve které se vyskytují stvy složené z více než jednoho stvu nedeterministického utomtu.výsledekjenor.4.3. 34689BC 257AD 368B 49C 5AD 6B 7 Orázek4.3:Částdeterministickéhofktorovéhoutomtuprořetězec f 6 z příkldu 4.6, symoly A,B,C,D předstvují čísl,,2,3 Anlýzou množin stvů, které tvoří stvy deterministického utomtu, směrem zprv dolev nlezneme hodnotu jednotlivých prvků pole přípon β. Celý postup je uveden v následující tulce(písmen A,B,C,D v oznčení stvůznmenjípozice,,2,3vřetězci f 6 ): Anlyzovný stv Hodnoty prvků pole hrnic 6B β[]=6 5AD β[]=5, β[3]=5 49C β[9]=4, β[2]=4 368B β[6]=3, β[8]=3 β[] je už definováno 257AD β[5]=2, β[7]=2 β[]β[3]jeuždefinováno 34689BC β[3]=, β[4]= osttní hodnoty jsou již definovány Výsledné pole přípon β je uvedeno v následující tulce: Pořdí 2 3 4 5 6 7 8 9 2 3 Symol β 2 3 2 3 4 5 6 4 5 Npozicích2jsounuly,protožeřetězce mjíhrnicedélky. 47

4.3 Přesné repetice Příkld 4.7 Njděme repetice v řetězci x = cc. Nedeterministický fktorový utomt pro x má přechodový digrm uvedený n or. 4.4. c c c c 2 3 4 5 6 7 Orázek 4.4: Nedeterministický fktorový utomt pro x = cc Přechodové tulky nedeterministického deterministického fktorového utomtu mjí tvr: c,4,5 2,6 3,7 2 2 3 3 4 4 5 5 6 6 7 7 c 45 26 37 45 5 26 26 37 37 4 4 5 5 6 6 7 7 Přechodový digrm deterministického fktorového utomtu je uveden n or. 4.5. Redukovná tulk repetic má tvr: c c 45 26 37 4 5 6 7 c Orázek 4.5: Deterministický fktorový utomt pro x = cc D-suset Fktor První výstyt Repetice 45 (4, G),(5, G) 26 2 (6, G) 37 c 3 (7, G) 48

Ztétotulkyjevidět,ževšechnyrepeticejsousmezeroužezákldní opkující se fktor je r = c. Všechny osttní opkující se fktory jsou fktory r. Příkld 4.8 Njděme repetice v řetězci x = cc. Nedeterministický fktorový utomt pro x má přechodový digrm uvedenýnor.4.6. c c c c 2 3 4 5 6 Orázek 4.6: Nedeterministický fktorový utomt pro x = cc Přechodové tulky nedeterministického deterministického fktorového utomtu mjí tvr: c,4 2,5 3,6 2 2 3 3 4 4 5 5 6 6 c 4 25 36 4 25 25 36 36 4 4 5 5 6 6 Přechodový digrm deterministického fktorového utomtu je n or. 4.7. Redukovná tulk repetic má tvr: c c 4 25 36 4 5 6 c Orázek 4.7: Přechodový digrm deterministického fktorového utomtu pro x=cc D-suset Fktor První výskyt Repetice 4 (4, G) 25 2 (5, G) 36 c 3 (6, S) 49

Z této tulky je vidět, že všechny repetice jsou s mezerou, kromě repetice zákldníhofktoru r=c.fktor cseopkujejkočtverecx=(c) 2. Příkld 4.9 Njděme repetice v řetězci x =. Nedeterministický fktorový utomt pro x má přechodový digrm n or. 4.8. 2 3 4 5 Orázek 4.8: Nedeterministický fktorový utomt pro řetězec x = Přechodové tulky nedeterministického deterministického fktorového utomtu mjí tvr:,3,5 2,4 2 2 3 3 4 4 5 5 35 24 35 24 24 35 35 4 4 5 Přechodový digrm deterministického fktorového utomtu je n or. 4.9. 35 24 35 4 5 Orázek 4.9: Přechodový digrm deterministického fktorového utomtu pro x= Redukovná tulk repetic má tvr: D-suset Fktor První výskyt Repetice 35 (3, G),(5, G) 24 2 (4, S) 35 3 (5, O) Ztétotulkyjevidět,ževřetězci x=jsouvšechnydruhyrepetic: se opkuje s mezerou, 5

() 2 ječtverec, se opkuje s překrytím. Zákldníopkujícísefktorje r=. V dlších příkldech ukážeme typy řetězců, ve kterých je velký počet repetic. Příkld 4. Njděmerepeticevřetězci x== 6.Nedeterministickýfktorový utomt pro x má přechodový digrm n or. 4.. 2 3 4 5 6 Orázek4.:Nedeterministickýfktorovýutomtprořetězec x= 6 Přechodové tulky deterministického nedeterministického fktorového utomtu mjí tvr:,2,3,4,5,6 2 2 3 3 4 4 5 5 6 6 23456 23456 23456 23456 3456 3456 456 456 56 56 6 6 Přechodový digrm deterministického fktorového utomtu je n or. 4.. 23456 23456 3456 456 56 6 Orázek4.:Přechodovýdigrmfktorovéhoutomtupro x= 6 Redukovná tulk repetic má tvr: D-suset Fktor První výskyt Repetice 23456 (2, S),(3, G),(4, G),(5, G),(6, G) 23456 2 (3, O),(4, S),(5, G),(6, G) 3456 3 (4, O),(5, O),(6, S) 456 4 (5, O),(6, O) 56 5 (6, O) 5

Ztulkyjevidět,ževřetězci x= 6 jsouvšechnydruhyrepetic.dokonce sezdevyskytuje krychle () 3.Zákldníopkujícísefktorje r= 5. Příkld 4. Njděmerepeticevřetězci x==() 3.Nedeterministickýfktorový utomt pro x má přechodový digrm n or. 4.2. 2 3 4 5 6 Orázek4.2:Nedeterministickýfktorovýutomtprořetězec x=() 3 Přechodové tulky deterministického nedeterministického fktorového utomtu mjí tvr:,3,5 2,4,6 2 3 4 5 6 35 246 35 246 246 35 35 46 46 5 5 6 6 Přechodový digrm deterministického fktorového utomtu je n or. 4.3. Orázek4.3:Přechodovýdigrmfktorovéhoutomtupro x=() 3 Redukovná tulk repetic má tvr: D-suset Fktor První výskyt Repetice 35 (3, G),(5, G) 246 2 (4, S),(6, G) 35 3 (5, O) 46 4 (6, O) 52

Ztulkyjevidět,ževřetězci x=() 3 jsouvšechnydruhyrepetic.sám řetězec x je krychle. Zákldní opkující se fktor je r =. Příkld 4.2 Njděme repetice v řetězci x =. Tento řetězec je Fioncciho řetězec f 5.Nedeterministickýfktorovýutomtpro xmápřechodovýdigrm n or. 4.4. 2 3 4 5 6 7 8 Orázek4.4:Nedeterministickýfktorovýutomtprořetězec x=f 5 Přechodové tulky deterministického nedeterministického fktorového utomtu mjí tvr:,3,4,6,8 2,5,7 2 2 3 3 4 4 5 5 6 6 7 7 8 8 3468 257 3468 4 257 257 368 368 4 7 4 5 5 6 6 7 7 8 8 Přechodový digrm deterministického fktorového utomtu je n or. 4.5. 3468 257 368 4 5 6 7 8 Orázek4.5:Přechodovýdigrmfktorovéhoutomtupro x=f 5 Redukovná tulk repetic má tvr: 53

D-suset Fktor První výskyt Repetice 3468 (3, G),(4, G),(6, G),(8, G) 257 2 (5, G),(7, G) 368 3 (6, S),(8, G) Ztulkyjevidět,žesevřetězci f 5 vyskytujírepeticesmezeroučtverec. Zákldníopkujícísefktorje r=. Příkld 4.3 Njděme repetice v množině řetězců X= {, }={f 5,() 3 } (viz příkldy 4. 4.2). Dále njděte nejdelší společný fktor oou řetězců. Nedeterministický fktorový utomt pro X má přechodový digrm n or. 4.6. Přechodová tulk nedeterministického fktorového utomtu 2 2 3 3 4 4 5 5 6 6 7 8 Orázek 4.6: Přechodový digrm nedeterministického fktorového utomtuprořetězcezmnožiny X= {f 5,() 3 } má tvr: 54

,3,4,6,8,,3,5 2,5,7,2,4,6 2 2 3 3 4 4 5 5 6 6 7 7 8 8 2 2 3 3 4 4 5 5 6 6 Část přechodové tulky deterministického fktorového utomtu(oshuje jen řádky pro netriviální podmnožiny) má tvr: 3468 3 5 2572 4 6 3468 3 5 4 2572 4 6 2572 4 6 3683 5 3683 5 4 74 6 74 6 85 85 6 Odpovídjící část přechodového digrmu je n or. 4.7. 3468 3 5 4 6 2572 4 6 3683 5 74 6 85 Orázek 4.7: Část přechodového digrmu deterministického fktorového utomtupromnožinu X= {f 5,() 3 } Zutomtunor.4.7jezřejmé,ženejdelšíspolečnýfktoroouřetězcůje LCF(f 5,() 3 )=.Ttoskutečnostjeindikovánmnožinou 85.Všechnyfktoryřetězce LCF(f 5,() 3 )jsoutkéspolečnéfktoryoou řetězců. 55

D suset Fktor První výskyty Repetice 3468 3 5, (3, G),(4, S),(6, G),(8, G),(3, G),(5, G) 2572 4 6 2,2 (5, G),(7, G),(4, G),(6, G) 2572 4 6 2,2 (5, G),(7, S),(4, S),(6, S) 3683 5 3,3 (6, G),(8, S),(5, S) 3683 5 3,3 (6, S),(8, O),(5, O) 74 6 7,4 (6, O ) 74 6 7,4 (6, O ) 85 8,5 85 8,5 4.4 Přiližné repetice Příkld 4.4 Njděme přesné přiližné repetice v řetězci x = cd, s Hmmingovou vzdáleností k =. Přechodový digrm nedeterministického přiližného fktorového utomtu je n or. 4.8. Přechodová tulk tohoto utomtu,c,d c d c d 2 3 4 5 6,c,d,,d,c,d,c,d,,c 2 c 3 4 5 d 6,c,d,,d,c,d,c,d,,c Orázek 4.8: Přechodový digrm nedeterministického přiližného fktorovéhoutomtupro X= cd,hmmingovvzdálenost k= má tvr: 56

c d,4,2,3,5,6 2,5,,3,4,6 3,,2,4,5,6 6,,2,3,4,5 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 2 2 3 3 4 4 5 5 6 6 Při determinizci tohoto utomtu je zjímvá pro nlezení všech přesných přiližných repetic jen t část utomtu, která oshuje stvy tvořené množinmi: - oshujícími více stvů z hldiny (přesné repetice), -oshujícímijkstvyzhldiny,tkstvyzhldiny(přiližné repetice). Zjímvá část tulky přechodů deterministického utomtu má tvr: c d,4,2,3,5,6 2,5,,3,4,6 3,,2,4,5,6 6,,2,3,4,5,4,2,3,5,6 2,4,5 2,5 2,3,5 2,5,6 2,5,,3,4,6 3,4,6 2,3,5,6 3,6 6,3 3,,2,4,5,6 4 2,4,5 3,4 4,6 6,,2,3,4,5 4 2,5 3 6 2,5 3,6 3,6 3,6 6,3 3,6 4 4 4 4 6,3 4 N or. 4.9 je uveden část přechodového digrmu tohoto deterministického utomtu. Redukovná tulk repetic má tvr: D-suset Fktor První výskyt Repetice 2,5 2 (5, G, ) 3,6 c 3 (6, S, ) 6,3 d 6 (3, S,) 57

2,5,,3,4,6,4,2,3,5,6 2,5 c c 3,6 d 6,3 d Orázek 4.9: Zjímvá část deterministického přiližného fktorového utomtuprořetězec X= cd,hmmingovvzdálenost k= 58

5 Simulce nedeterministických konečných utomtů filfunkce V této kpitole uvedeme několik příkldů KM P AC vyhledávcích utomtů, které předstvují simulátory nedeterministických konečných utomtů pro přesné vyhledávání jednoho vzorku neo konečné množiny vzorků. Dále uvedeme použití této metody pro přiližné vyhledávání vzorku. 5. KM P vyhledávcí utomty Příkld 5. Sestrojme KM P vyhledávcí utomt pro vzorek P =. Přechodový digrm tohoto utomtu s fil funkcí f je n or. 5.. Přechodový digrm téhož utomtu s optimlizovnou fil funkcí h je n or. 5.2. Porovnejte tento utomt s utomtem z příkldu 2.. A-{} fil f Orázek5.: KMPvyhledávcíutomt, P=,filfunkce f A-{} fil h Orázek5.2: KMPvyhledávcíutomt, P=,filfunkce h Příkld 5.2 Sestrojme KMP vyhledávcíutomtprovzorek P = ppppp(pět p).digrm KMPvyhledávcíhoutomtujenor.5.3.Ntomtoorázkuje rozlišenfilfunkce ffilfunkce h. 59

A-{p} p p p p p p pp ppp pppp ppppp fil f fil h Orázek5.3: KMPvyhledávcíutomt, P= ppppp Příkld 5.3 Sestrojme KM P vyhledávcí utomt pro vzorek P = lll. Digrm tohoto utomtu je n or. 5.4. A - {} l l l 2 3 4 5 6 7 8 9 fil f fil h Orázek 5.4: KM P vyhledávcí utomt, P = lll 5.2 AC vyhledávcí utomty Příkld 5.4 Sestrojme AC vyhledávcí utomt pro vyhledávání množiny vzorků P = {, }.Digrmtohotoutomtujenor.5.5. Filfunkce hje uvedenjenvpřípdě,žeselišíodfilfunkce f. Příkld 5.5 Sestrojme AC vyhledávcí utomt pro vyhledávání množiny vzorků P = {k, ok, rok, rok, orok}. Digrm tohoto utomtu je n or. 5.6. Fil funkce hjeuvedenjenvpřípdě,žeselišíodfilfunkce f. 6

A - {,} fil f fil h Orázek 5.5: AC vyhledávcí utomt pro množinu vzorků P = {, } o ro k rok r r A-{,o,k,r} r r o ro k rok o r o k o o or oro orok k k k ok fil f fil h Orázek 5.6: AC vyhledávcí utomt pro množinu vzorků P= {k, ok, rok, rok, orok} 6

Pro text T = o rok oroky projde tento utomt touto posloupností stvů: o ε o o ε r o k ε r ro rok ok k ε o r o ε o o or oro k orok rok rok ok k ε y ε Nlezené prvky množiny vzorků P jsou podtrženy. Příkld 5.6 Sestrojme AC vyhledávcí utomt pro vyhledávání množiny vzorků P = {hers, he, his, she}.digrmtohotoutomtujenor.5.7. Filfunkce h r e he r her s hers A-{h,s} h h i hi s his s s h sh e she Orázek 5.7: AC vyhledávcí utomt pro množinu vzorků P= {hers, he, his, she} jevtomtopřípděstejnájkofilfunkce f.protext T= resherscheprojde tento utomt touto posloupností stvů: ε r ε e ε s s h sh e she he r s her hers s ε c ε h h e he Nlezené prvky množiny vzorků jsou podtrženy. 5.3 Přiližné vyhledávcí utomty fil funkce Příkld 5.7 Je dán řetězec nd ecedou {, }. Sestrojme nedeterministický vyhledávcí utomt pro jeho přiližné vyhledávání s Hmmingovou vzdáleností. Jeho tulk přechodů má tvr: 62

, 2 2 2 3 3 3 4 4 4 2 2 3 3 4 4 Přechodový digrm je n orázku 5.8. Dále sestrojíme tulku fil funkce:, 2 3 4 2 3 4 Orázek 5.8: Nedeterministický utomt z příkldu 5.7 ε 4 2 2 3 2 2 4 2 2 2 2 Všimněme si, že fil funkci je tře definovt jen pro stvy 4,,2,3,4. To je dáno tím, že v osttních stvech jsou možné přechody pro všechny symoly ecedy. V záhlví této tulky jsou uvedeny řetězce, pro které se utomt dopříslušnéhostvumůžedosttzpočátečníhostvu.symolem je oddělen přípon, která odpovídá stvu, do kterého fil funkce vede. N or. 5. je uveden původní vyhledávcí utomt ez počáteční smyčky s doplněnou fil funkcí. Dále je u stvů,2,3,4 doplněn seznm řetězců, pro které se utomt může dostt do příslušného stvu. Aychommohlipochopitdlšísouvislosti,sestrojíme přiližný fktorový utomt pro řetězec Hmingovu vzdálenost. Přechodový digrm tohoto utomtu s ε přechody je n or. 5.9. Přiližný fktorový utomt po eliminci ε přechodů je n or. 5.. Tulk přechodů tohoto utomtu 63

2 3 4 2 3 4 Orázek5.9: Přiližný fktorovýutomtsε přechodyzpříkldu5.7 má tvr: 32 3 4 24 2 3 4 2 2 2 3 3 3 4 4 4 2 2 3 3 4 4 Deterministický přiližný fktorový utomt má přechodový digrm n or. 5.2. Jeho tulk přechodů má tvr: 32 3 4 24 2 3 4 32 3 4 2 3 4 244 24 2 3 4 33 2 3 4 244 3 3 2 3 4 3 4 33 4 44 4 3 4 4 64

2 3 4 2 3 4 Orázek5.: Přiližný fktorovýutomtzpříkldu5.7poodstrnění ε přechodů 2 3 4 2 3 4 Orázek 5.: Hmmingův utomt s doplněnou fil funkcí z příkldu 5.7 65

32 3 4 244 3 4 24 2 3 4 2 3 4 3 4 33 44 2 44 2 3 4 3 2 3 4 2 4 2 3 4 4 4 4 3 4 3 4 3 2 4 3 4 4 2 2 2 2 2 2 2 2 2 Orázek 5.2: Deterministický přiližný fktorový utomt pro řetězec s Hmingovou vzdáleností rovnou z příkldu 5.7 66

6 Simulce nedeterministických konečných utomtů dynmické progrmování itový prlelismus 6. Dynmické progrmování Při simulci nedeterministického konečného utomtu pomocí dynmického progrmovánívytvářímemtici Dorozměrech(m+) (n+),kde m jedélkvzorkunjedélkvstupníhořetězce.vkždémkrokusimulce počítáme jeden sloupec mtice, v němž kždá jeho hodnot odpovídá hldině nejvyššího ktivního stvu v odpovídjící hlouce utomtu. Příkld 6. Mějme vzorek P = text T =. Nedeterministický utomt pro přesné vyhledávání vzorku P je zkonstruován v příkldu 2.. Tento utomt udeme simulovt pro text T pomocí dynmického progrmování. Prvky d ji mtice Dorozměrech( P +) ( T +)udemepočíttpodle vzorce. d j, =, < j m, d,i =, < i n, d j,i =if t i = p j then d j,i else < i n, < j m. () N zčátku simulce je ktivní pouze počáteční stv. Po kždém kroku simulce, t.j. po výpočtu jednoho sloupce mtice, jsou ktivní stvy ty, jimž odpovídjí prvky s nulovými hodnotmi ve vypočteném sloupci. Npříkld pro sloupec s hodnotmi,,,, pltí, že ktivní stvy jsou,,3, což znmená, že právě yly nlezeny předpony vzorku. Jestliže je ktivním stvem stv 4, pk to signlizuje nlezení vzorku. Výsledná mtice D je uveden vtulce6..vzorekylnlezennpozicích5(d 4,5 =)(d 4, =). D Tulk 6.: Simulce N KA pro přesné vyhledávání vzorku P = v textu 67

Příkld 6.2 Mějme vzorek P = dc text T = dccdc. Zkonstruujme nedeterministický konečný utomt pro přiližné vyhledávání vzorku P pro Hmmingovu vzdálenost s mximálně k = 3 záměnmi. Jeho přechodový digrm je n orázku 6.. Dále udeme simulovt tento utomt nd textem T pomocí dynmického progrmování. Orázek 6.: Konečný utomt z příkldu 6.2 Prosimulciudemepoužívtmtici Dorozměrech( P +) ( T +). Kždýprvek d j,i mticesepočítápodlevzorce2. d j, k+, < j m d,i, i n d j,i if t i = p j then d j,i else d j,i +, < i n, < j m (2) N zčátku simulce je ktivní pouze počáteční stv, proto všechny vektory pro hlouky j, < j m nstvíme hldinu nejvyššího ktivního stvu n k+.člen d j,i vevzorci2reprezentujepřechodmtch,kdyvstupní symol t i odpovídásoučsnémusymoluvzorku p j.vtomtopřípděse v následující hlouce utomtu stne nejvyšším ktivním stvem stv n hldině d j,i.vpřípdě,že t i p j,sepoužijepřechodreplcereprezentovnýčlenem d j,i +.Zdesezvýšípočetchytudížsenejvyšším ktivnímstvemvnásledujícíhloucestnestvnhldině d j,i +. Výslednámtice Djepkukázánvtulce6.2. Vtulcesevyskytujíihodnotyvětšínež k=3.tkovéhodnotylze nhrdit jednou hodnotou k +. Můžeme tím dosáhnout menších pmě- 68

D - d c c d c - 4 d 4 5 2 2 2 2 2 2 2 2 2 4 5 6 3 2 2 3 3 2 3 2 3 3 4 5 6 7 2 3 3 3 4 3 2 3 3 3 4 c 4 5 6 6 8 3 3 4 4 5 4 3 4 4 4 4 4 6 7 6 9 4 3 4 5 5 5 4 5 5 Tulk 6.2: Simulce NKA pro přiližné vyhledávání s k = 3 záměnmi, vzorek P = dc text T = dccdc ťových nároků n reprezentci čísel mtice D, neoť pk potřeujeme jen log 2 (k+) itůnjedenprvekmtice. Změňtevzorec2tk,ynejvyššíhodnotyl k+! Příkld 6.3 Mějme vzorek P = dc text T = dccdc. Zkonstruujme nedeterministický konečný utomt pro přiližné vyhledávání vzorku P pro Levenshteinovu vzdálenost s mximálně k = 3 chymi. Jeho přechodový digrm je n orázku 6.2. Dále udeme simulovt tento utomt nd textem T pomocí dynmického progrmování. Orázek 6.2: Konečný utomt z příkldu 6.3 Prosimulciudemepoužívtmtici Dorozměrech( P +) ( T +), 69

kterou udeme konstruovt pomocí vzorce 3. d j, j, j m, d,i, i n, d j,i min(if t i = p j then d j,i else d j,i +, if j < mthen d j,i +, d j,i +), < i n, < j m. (3) N zčátku simulce je ktivní pouze počáteční stv všechny stvy, do kterých se lze dostt pomocí ε-přechodů(tzn. stvy z ε-uzávěru vytvořeného ndpočátečnímstvem).protovšechnyvektoryprohlouky j, j m, nstvíme hldinu nejvyššího ktivního stvu n j. Člen d j,i vevzorci3reprezentujepřechodmtch,člen d j,i + reprezentujepřechodreplce.člen d j,i +reprezentujepřechodinsert, kdy ktivní stv přechází v rámci jedné hlouky do hldiny s vyšším počtem chy.člen d j,i +pkreprezentujepřechoddelete,kdyktivnístvpřechází při přechodu z jedné hlouky do následující z jedné hldiny do hldiny svyššímpočtemchy,tovšeezčtenívstupníhosymolu(tzn.index i jko ukztel v textu se nemění). Výsledná mtice je pk ukázán v tulce 6.3. D - d c c d c - d 2 2 2 2 3 2 2 2 2 2 2 2 2 4 3 2 2 2 2 2 3 3 2 2 2 2 c 5 4 3 2 3 3 2 3 4 3 3 3 2 6 5 4 3 2 4 3 2 3 4 3 4 3 2 Tulk 6.3: Simulce NKA pro přiližné vyhledávání s k = 3 chymi, vzorek P = dc text T = dccdc Příkld 6.4 Mějme vzorek P = dc text T = dccdc. Zkonstruujme nedeterministický konečný utomt pro přiližné vyhledávání vzorku P pro zoecněnou Levenshteinovu vzdálenost s mximálně k = 3 chymi. Jeho přechodový digrm je n orázku 6.3. Dále udeme simulovt tento utomt nd textem T pomocí dynmického progrmování. Prosimulciudemepoužívtmtici Dorozměrech( P +) ( T +), kterou udeme konstruovt pomocí vzorce 4. 7