Formální jzyky M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 1/ 48
Motivce 1: Vyhledávání v textu Potřebujeme řešit následující problém: Máme řdu různých textů(npř. soubory n disku nebo webové stránkypod.). Potřebujeme zjistit, které z těchto textů obshují nějké dné slovo či frázi, přípdně nějkou kombinci slov pod. Poždujeme, by řešení bylo: Rychlé můžeme prohledávt mnoho MB dt Dosttečně obecné chceme mít možnost formulovt dosttečně obecné dotzy(npř. mít možnost používt booleovské spojky) M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 2/ 48
Motivce 2: Lexikální syntktická nlýz Při popisu libovolného progrmovcího jzyk(jv, C, C++, Pscl,...) musí být řečeno: 1 Co jsou jeho lexikální elementy(tokeny) identifikátory klíčová slov literály(číselné řetězcové konstnty) operátory oddělovče komentáře... jk přesně vypdjí. 2 Které sekvence těchto lexikálních elementů tvoří(syntkticky) dobře utvořené progrmy. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 3/ 48
Motivce 2: Lexikální syntktická nlýz Chceme řešit následující problémy: Jk přesně(jednoznčně) popst jednotlivé typy lexikálních elementů? Jk implementovt v překldči rozpoznávání těchto jednotlivých typů? Jk přesně popst všechny možné způsoby jkými je možné zlexikálníchelementů poskládt syntktickysprávněnpsný progrm? Jk implementovt v překldči rozpoznání dobře utvořených výrzů, příkzů, procedur, metod pod.? M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 4/ 48
Motivce 2: Lexikální syntktická nlýz Lexikální nlýz činnost překldče, kdy rozpoznává v textu jednotlivé lexikální elementy. Syntktická nlýz činnost překldče, kdy rozpoznává v dné sekvenci lexikálních elementů npř. ritmetické výrzy, příkzy, podprogrmy nebo i celé progrmy. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 5/ 48
Zákldní pojmy Co mjí všechny dosud zmíněné problémy společného? Prcujeme se sekvencemi znků(říkáme též symbolů). Znky ptří do nějké konečné becedy(typicky npř. ASCII nebo Unicode). Musíme rozpoznávt ty sekvence znků, které nějkou vlstnost mjí tycojinemjí. Poznámk: V teorii formálních jzyků se sekvencím znků říká slov. Při progrmování máme n mysli npříkld řetězce(stringy) nebo třeb soubory n disku pod. Množině slov z nějké becedy se říká jzyk. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 6/ 48
Abeced slovo Definice Abeced je libovolná(neprázdná) konečná množin symbolů(znků). Poznámk: Abeced se čsto oznčuje řeckým písmenem Σ(velké sigm). Definice Slovo v dné becedě je libovolná posloupnost symbolů z této becedy. Příkld 1: Σ={A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z} Slov v becedě Σ: AHOJ ABRACADABRA ERROR M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 7/ 48
Abeced slovo Příkld 2: Σ={A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z, } Slovo v becedě Σ: HELLO WORLD Příkld 3: Σ={0,1,2,3,4,5,6,7,8,9} SlovvbeceděΣ: 0,314159,666,65536 Příkld 4: Slov v becedě Σ = {0, 1}: 011010001, 111, 1010101010101010 Příkld 5: SlovvbeceděΣ={,b}:bbb,bbbbb,b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 9/ 48
Abeced slovo Příkld 6: Abeced Σ je množin všech ASCII znků. Příkld slov: clss HelloWorld { public sttic void min(string[] rgs) { System.out.println("Hello, world!"); } } clss HelloWorld { public sttic void min(str M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 11/ 48
Délk slov Délkslovjepočetznkůveslově. Npříkld délk slov bb je 5. Délkuslovwoznčujeme w. Pokudtedynpř.w=bb,pk w =5. Prázdné slovo je slovo délky 0, tj. neobshující žádné znky. Prázdné slovo se oznčuje řeckým písmenem ε(epsilon). (Pozn.: Někteří utoři používjí pro oznčení prázdného slov místo ε řecké písmeno λ(lmbd).) ε =0 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 12/ 48
Zřetězení slov Se slovy je možné provádět operci zřetězení: Npříkld zřetězením slov OST RAVA vznikne slovo OSTRAVA. Operce zřetězení se oznčuje symbolem (podobně jko násobení). Tento symbol je možné vypouštět. OST RAVA=OSTRAVA Zřetězeníjesocitivní,tj.prolibovolnátřislovu,vwpltí (u v) w=u (v w) což znmená, že při zápisu více zřetězení můžeme vypouštět závorky psátnpříkldw 1 w 2 w 3 w 4 w 5 místo(w 1 (w 2 w 3 )) (w 4 w 5 ) M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 13/ 48
Zřetězení slov Zřetězení není komuttivní, tj. obecně pro dvojici slov u v nepltí rovnost u v=v u Příkld: OST RAVA RAVA OST Zjevněprolibovolnáslovvwpltí: v w = v + w Pro libovolné slovo w tké pltí: ε w=w ε=w M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 14/ 48
Jzyk MnožinuvšechslovtvořenýchsymbolyzbecedyΣoznčujemeΣ. Definice (Formální) jzyk v becedě Σ je nějká libovolná podmnožin množinyσ. Příkld1:Množin {00,01001,1101}jejzykvbecedě {0,1} Příkld 2: Množin všech syntkticky správných progrmů v jzyce Jv je jzyk v becedě tvořené množinou všech Unicode znků. Příkld 3: Množin všech textů obshujících sekvenci znků ABRACADABRA je jzyk v becedě tvořené množinou všech ASCII znků. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 15/ 48
Jzyk Příkld 4: Uvžujme becedu Σ tvořenou množinou všech Unicode znků. Množin všech komentářů v jzyce Jv tvoří jzyk: jednořádkové komentáře zčínjící dvojicí znků// končící znkem konce řádku(nebo koncem souboru). víceřádkové komentáře zčínjící dvojicí znků/* končící dvojicí znků*/, přičemž uvnitř se nesmí ncházet žádná dlší dvojice znků */. Pokud bychom množinu všech jednořádkových komentářů oznčili jko jzykl 1 množinuvšechvíceřádkovýchkomentářůjkojzykl 2,můžeme množinu všech komentářů oznčit jko jzyk L, definovný jko L=L 1 L 2 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 16/ 48
Množinové operce n jzycích Vzhledem k tomu, že jzyky jsou množiny, můžeme s nimi provádět množinové operce: Sjednocení L 1 L 2 jejzyktvořenýslovy,kteráptříbuďdojzykl 1 nebodojzykl 2 (nebodoobou). Průnik L 1 L 2 jejzyktvořenýslovy,kteráptřísoučsnědojzyk L 1 idojzykl 2. Doplněk LjejzyktvořenýtěmislovyzeΣ,kteráneptřídoL. Rozdíl L 1 L 2 jejzyktvořenýslovy,kteráptřídol 1,leneptří dol 2. Poznámk: Při opercích nd jzyky předpokládáme, že jzyky, se kterými operci provádíme, používjí tutéž becedu Σ. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 17/ 48
Množinové operce n jzycích Příkld: Uvžujme množinu všech textů tvořených ASCII znky. Jestliže: pk L 1 jemnožinvšechtextů,vekterýchsevyskytujesekvence znkůfoo, L 2 jemnožinvšechtextů,vekterýchsevyskytujesekvence znků BAR, L 1 L 2 jsouvšechnytexty,vekterýchsevyskytujefoonebobar, L 1 L 2 jsouvšechnytexty,vekterýchsevyskytujefooibar, L 1 jsouvšechnytexty,vekterýchsenevyskytujefoo, L 1 L 2 jsouvšechnytexty,vekterýchsevyskytujefoo,le nevyskytuje BAR. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 18/ 48
Zřetězení jzyků Definice ZřetězeníjzykůL 1 L 2 jejzyk L={uv u L 1,v L 2 } tj.jzykvšechslov,kterázčínjíslovemzl 1 pokrčujíslovemzl 2. ZřetězeníjzykůL 1 L 2 oznčujemel 1 L 2. Příkld: L 1 = {bb,b} L 2 = {,b,bbb} JzykL 1 L 2 obshujeslov: bb bbb bbbbb b bb bbbb M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 19/ 48
Zřetězení jzyků Příkld: Pro nějký progrmovcí jzyk chceme definovt, jk mohou vypdt konstnty reprezentující čísl v plovoucí řádové čárce(floting-point), npř.: 1e1 2.0.3 0.0 3.14 1E-9 4.5e137 AbecedΣ={0,1,2,3,4,5,6,7,8,9,.,e,E,+,-} M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 20/ 48
Zřetězení jzyků Příkld: Pro nějký progrmovcí jzyk chceme definovt, jk mohou vypdt konstnty reprezentující čísl v plovoucí řádové čárce(floting-point), npř.: 1e1 2.0.3 0.0 3.14 1E-9 4.5e137 AbecedΣ={0,1,2,3,4,5,6,7,8,9,.,e,E,+,-} PokudzvolímeL num jkomnožinuvšech(neprázdných)slovtvořených pouzečíslicemi,l dot = {.},můžemekonstntyjkonpříkld 3467.982, 3.141592 nebo 0.0 popst tkto: L num L dot L num M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 20/ 48
Zřetězení jzyků Definice jzyk L všech možných konstnt v plovoucí řádové čárce by pk mohl vypdt npříkld tkto: L = L num L dot (L num {ε}) (L exp {ε}) L dot L num (L exp {ε}) L num L exp kde L num neprázdnésekvencečíslic L dot = {.} L exp = L E L sign L num L E = {E,e} L sign = {ε,+,-} M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 21/ 48
Iterce jzyk Používáme následující zápis: L 2 = L L L 3 = L L L L 4 = L L L L L 5 = L L L L L... Příkld:PokudL={,b},pkL 3 obshujeslov: b b bb b bb bb bbb Definujeme L 1 = L L 0 = {ε} M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 22/ 48
Iterce jzyk Induktivní definice pro libovolné k 0: Definice Iterce jzyk L je jzyk L 0 = {ε}, L k+1 =L k L prok 0. L =L 0 L 1 L 2 L 3 tj. jzyk tvořený slovy vzniklými zřetězením libovolného počtu slov zjzykl. Příkld:L={,b} L = {ε,,b,,b,b,bb,,b,b,bb,...} M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 23/ 48
Iterce jzyk Příkld:L dig = {0,1,2,3,4,5,6,7,8,9}. L num =L dig L dig Poznámk: Používá se tké následující znčení: L + =L 1 L 2 L 3 L 4 Řešení předchozího příkldu bychom tedy tké mohli zpst stručněji: L num =L + dig M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 24/ 48
Zrcdlový obrz Zrcdlovýobrzslovwjeslovowzpsné pozpátku. Zrcdlovýobrzslovwznčímew R. Příkld: w=ahoj w R =JOHA Zrcdlový obrz jzyk L je jzyk tvořený zrcdlovými obrzy všech slov zjzykl. ZrcdlovýobrzjzykLznčímeL R. L R = {w R w L} Příkld: L = {b, bb, b} L R = {b,bb,b} M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 25/ 48
Práce s formálními jzyky Když chceme nějký jzyk popst, máme několik možností: Můžeme vyjmenovt všechn jeho slov(což je le použitelné jen pro konečné jzyky). Příkld: L = {b, bbb, } Můžeme specifikovt nějkou vlstnost, kterou mjí právě t slov, která do tohoto jzyk ptří: Příkld: Jzyk nd becedou {0, 1}, obshující všechn slov, ve kterých je počet výskytů symbolu 1 sudý. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 26/ 48
Práce s formálními jzyky V teorii formálních jzyků se používjí především následující dv přístupy: Popst(idelizovný) stoj, zřízení, lgoritmus, který rozpozná slov ptřící do dného jzyk vede k použití tzv. utomtů. Popst postup, jk mechnicky generovt všechn možná slov ptřící do dného jzyk vede k tzv. grmtikám regulárním výrzům. (budeme se jim věnovt později) M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 27/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk Příkld: Uvžujme slov nd becedou {0, 1}. Chtěli bychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symbolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 ANO M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 29/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 0 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 0 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 2 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 3 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 4 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 4 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 5 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 5 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 5 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk První nápd: Počítt počet výskytů symbolů 1. 0 1 0 1 1 1 0 1 0 0 1 6 ANO 6jesudéčíslo M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 31/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symbolů 1 je sudý nebo lichý(místo čísl si stčí pmtovt jen jeho poslední bit). 0 1 0 1 1 1 0 1 0 0 1 S ANO M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 33/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: S L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 0 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 35/ 48
Vyhledávání v textu Problém Vstup:t dlouhýtext,s hlednýřetězec Výstup:Ano pokudseřetězecsncházívtextut, Ne pokudsetmnenchází Npříkld chceme zjistit, zd se v textu bbbb nchází řetězec b. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 36/ 48
Vyhledávání v textu Jednoduchý lgoritmus, který nás si npdne v první chvíli: Nivní-Vyhledávání(t, s) 1 n length(t) 2 m length(s) 3 fori 0ton m 4 donlezen true 5 forj 0tom 1 6 doifs[j] t[i+j] 7 then nlezen flse; brek 8 if nlezen 9 then return true 10 returnflse M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 37/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu b b b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 39/ 48
Vyhledávání v textu Pozorování: Nijk nevyužíváme informci o části slov s, která souhlsí, vdlšímkrokuzčínámezseodzčátkuslovs. Nápd:Slovotčístznkpoznkupmtovtsijkáčástslovsje shodná s koncem dosud nčteného textu. Uprvovt tento údj vždy jen n zákldě dlšího jednoho nčteného znku: Lepší-Vyhledávání(t, s) 1 n length(t) 2 m length(s) 3 q 0 4 fori 0ton 1 5 doq δ(q,t[i]) 6 ifq=m 7 then return true 8 returnflse M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 40/ 48
Prefixy, sufixy podslov V této souvislosti se nám hodí tři následující pojmy: Definice Slovoxjeprefixemslovy,jestližeexistujeslovovtkové,žey=xv. Slovoxjesufixemslovy,jestližeexistujeslovoutkové,žey=ux. Slovoxjepodslovemslovy,jestližeexistujíslovuvtková,že y=uxv. Příkld: Prefixyslovbbjsou ε,,b,b,b,bb. Sufixyslovbbjsou ε,b,b,b,bb,bb. Podslovslovbbjsou ε,,b,b,b,b,b,b,bb,b, bb, bb. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 41/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. Chování tohoto systému si opět můžeme znázornit jko grf: 0 1 2 3 4 ε b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. Chování tohoto systému si opět můžeme znázornit jko grf: 0 1 2 3 4 ε b b b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. Chování tohoto systému si opět můžeme znázornit jko grf: 0 ε 1 b 2 3 b b 4 b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. Chování tohoto systému si opět můžeme znázornit jko grf: b 0 ε 1 b 2 3 b b 4 b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. Chování tohoto systému si opět můžeme znázornit jko grf: b 0 ε 1 b 2 3 b b 4 b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. Chování tohoto systému si opět můžeme znázornit jko grf: b 0 ε b 1 b 2 b 3 b 4 b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. Chování tohoto systému si opět můžeme znázornit jko grf: b 0 ε b b 1 b 2 b 3 b 4 b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu Hodnot q, kterou si během výpočtu pmtujeme je tedy délk prefixu slov s, který součsně sufixem dosud přečtené části slov t. Poznámk: Pokud je tkových prefixů víc, pmtujeme si délku nejdelšího znich. Proměnnázjevněmůženbývtjenhodnot {0,1,...,m}.Hodnotym nbývájenvpřípdě,žebylonlezenoslovos. Chování tohoto systému si opět můžeme znázornit jko grf: b 0 ε b b 1 b 2 b 3 b,b 4 b M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 43/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 0 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 1 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 2 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 3 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 2 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 3 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 4 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 4 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 4 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b b b b b 4 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 45/ 48
Vyhledávání v textu b b b 0 ε 1 b 2 b 3 b,b 4 b Místo grfu můžeme stejnou informci reprezentovt tbulkou: b 0 1 0 1 1 2 2 3 0 3 4 2 4 4 4 M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 47/ 48
Vyhledávání v textu Jkzvolitprodnoudvojiciqt i novouhodnotuq,tj.hodnotu δ(q,t i )? M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 48/ 48
Vyhledávání v textu Jkzvolitprodnoudvojiciqt i novouhodnotuq,tj.hodnotu δ(q,t i )? Zvolíme δ(q,t i )=q tkové,žeslovos 0 s 1 s q 1jenejdelšímprefixem slovstkovým,žejesoučsněsuffixemslovs 0 s 1 s q 1 t i. Poznámk:Předpokládáme,žes=s 0 s 1 s m 1. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 48/ 48
Vyhledávání v textu Jkzvolitprodnoudvojiciqt i novouhodnotuq,tj.hodnotu δ(q,t i )? Zvolíme δ(q,t i )=q tkové,žeslovos 0 s 1 s q 1jenejdelšímprefixem slovstkovým,žejesoučsněsuffixemslovs 0 s 1 s q 1 t i. Poznámk:Předpokládáme,žes=s 0 s 1 s m 1. Poznámk: Výše uvedené úvhy vedou k lgoritmu nzývnému podle jeho utorů Knuth-Morris-Prtt. V tomto lgoritmu se vyhneme tomu, že bychom výše uvedenou tbulku skutečně sestrojili. Místo ní se sestrojí určitá její stručnější reprezentce, která le umožňuje hodnoty z tbulky rychle vypočítt. Zde se le nebudeme tímto lgoritmem blíže zbývt. M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 48/ 48