Online konstrukce deterministického zásobníkového automatu pro indexování strom. Bc. Ond ej Brynda

Rozměr: px
Začít zobrazení ze stránky:

Download "Online konstrukce deterministického zásobníkového automatu pro indexování strom. Bc. Ond ej Brynda"

Transkript

1 ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Diplomová práce Online konstrukce deterministického zásobníkového automatu pro indexování strom Bc. Ond ej Brynda Vedoucí práce: Doc. Ing. Jan Janou²ek, Ph.D. Studijní program: Elektrotechnika a informatika, strukturovaný, Navazující magisterský Obor: Výpo etní technika 1. kv tna 2011

2 iv

3 v Pod kování D kuji Doc. Ing. Janu Janou²kovi, Ph.D. za vedení této práce a v²em lidem, kte í m podporovali b hem mého studia.

4 vi

5 vii Prohlá²ení Prohla²uji, ºe jsem práci vypracoval samostatn a pouºil jsem pouze podklady uvedené v p iloºeném seznamu. Nemám závaºný d vod proti uºití tohoto ²kolního díla ve smyslu Ÿ60 Zákona. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon). V Beroun dne

6 viii

7 Abstract This thesis deals with the pushdown automata which represent the full indexes of trees for subtrees and tree patterns. These machines accept all complete subtrees or all tree patterns. The goal is to design algorithms which constructs these machines without intermediate step of creating their nondeterministic versions. The inspiration for both algorithms is a similar algorithm from stringology, which is used for online construction of sux automaton. This and the two new proposed algorithms are described in the thesis and the run of new algorithms is presented on an example. Finally, the thesis presents a way of implementing these algorithms. Abstrakt Práce se zabývá zásobníkovými automaty, které reprezentují úplný index stromu. Tyto automaty p ijímají v²echny úplné podstromy nebo v²echny stromové vzorky. Cílem práce je navrhnout algoritmy, které by tyto automaty zkonstruovaly bez mezikroku vytvo ení jejich nedeterministické verze. Inspirací pro oba algoritmy je podobný algoritmus ze stringologie, který se pouºívá k online konstrukci suxového automatu. Tento i oba navrºené algoritmy jsou v práci popsány a u nových algoritm je jejich b h prezentován na p íkladu. Nakonec je popsán i moºný zp sob implementace uvedených algoritm. ix

8 x

9 Obsah 1 Úvod 1 2 Základní pojmy a algoritmy Abeceda, strom, stromový vzorek Jazyk, kone ný a zásobníkový automat Suxový a faktorový automat Algoritmus online konstrukce suxového automatu D leºité vlastnosti strom v prexové notaci Zásobníkový automat p ijímající v²echny podstromy daného stromu Konstrukce nedeterministického ZA p ijímajícího v²echny podstromy Online konstrukce DZA p ijímajícího v²echny podstromy Popis algoritmu P íklad online konstrukce Zásobníkový automat p ijímající stromové vzorky obsaºené v daném strom Konstrukce NZA p ijímajícího stromové vzorky Online konstrukce treetop automatu Online konstrukce DZA p ijímajícího stromové vzorky P íklad online konstrukce Implementace 65 6 Testování 67 7 Záv r 71 A Seznam pouºitých zkratek 75 B Instala ní p íru ka 77 C Obsah p iloºeného CD 79 xi

10 xii OBSAH

11 Seznam obrázk 2.1 P íklad stromu t, pref(t) = a2 a2 a0 a0 a2 a0 b1 b Vzorek p, pref(p) = a2 a0 S Nedeterministický kone ný suxový automat pro et zce x = a2 a2 a0 a0 a2 a0 b1 b Deterministická verze automatu z obrázku a) DAWG(aabab), b) gracké znázorn ní sux link P íklad p idávání nových p echod, a) DAWG(aab), b) p íslu²né sux linky Napojení sux linku, a) DAWG(aaba) b) p íslu²né sux linky Situace p ed rozd lením stavu [3], a) nekompletní DAWG(aabab) b) sux linky DAWG(aaaa) a sux linky (te kovan ) Pomocný obrázek k d kazu sloºitosti algoritmu 2.1. a) ná rt situace v obecném kroku b) ná rt situace v dal²ím kroku Nedeterministický zásobníkový automat p íjímající v²echny podstromy stromu t, pref(t) = a2 a2 a0 a0 a2 a0 b1 b Deterministický zásobníkový automat ekvivalentní NZA z obrázku a) Situace p ed rozd lením stavu v, b) situace po rozd lení stavu a) Automat pokud bychom nekontrolovali cpds, b) automat s kontrolou cpds. Sux linky jsou znázorn ny te kovan Kroky 0 aº 3 algoritmu Kroky 4 a 5 algoritmu Výsledné sux linky vytvo ené algoritmem Krok 6 algoritmu Krok 7 algoritmu Krok 8 algoritmu Strom z obrázku 2.1 dopln ný o p edstavu p echod na symbol S Nedeterministický zásobníkový automat p ijímající v²echny stromové vzorky stromu z obr Deterministický zásobníkový automat p ijímající v²echny stromové vzorky stromu z obr Krok 0 aº 2 algoritmu Krok 3 algoritmu Krok 4 algoritmu Krok 5 algoritmu xiii

12 xiv SEZNAM OBRÁZK 4.8 Krok 6 algoritmu Krok 7 algoritmu Krok 8 algoritmu Sux linky v automatu pro strom s prexový zápisem a2 a2 a0 a1 a0 a1 a DZA p ijímající stromové vzorky obsaºené ve stromu s prexovým zápisem a2 a2 a0 a1 a0 a1 a

13 Seznam tabulek 3.1 Pr b h výpo tu algoritmu Pr b h výpo tu algoritmu xv

14 xvi SEZNAM TABULEK

15 Kapitola 1 Úvod Mnoho struktur v na²em okolí je logicky uspo ádáno do stromu. Obecn se jedná o jakýkoliv systém, kde má kaºdý prvek práv jeden nad azený objekt. S takovýmto len ním se setkáváme denn jednak v b ºném ºivot, ale stejn tak i v po íta ových v dách jsou stromy asto vyuºívaná datová struktura. P íklady pouºití najdeme velmi snadno. Je to nap íklad ²iroce pouºívané XML, syntaktický strom v kompilátoru, hierarchie t íd a objekt v programovacím jazyce, r zná pouºití ve vyhledávacích, kompresních a jiných algoritmech a mnoho dal²ího. Vyhledávání výskytu podstrom a stromových vzork v daném stromu je tedy velmi d leºitá úloha. V dou, která se zabývá algoritmy pro vyhledávání ve stromech, je arbologie. Podobným oborem je stringologie, která se zabývá vyhledáváním v et zcích. Hlavní motivací arbologie je vyuºití dob e známých algoritm ze stringologie p i e²ení obdobných problém u strom. [1] Základním p edpokladem vyuºití princip ze stringologie je to, ºe na strom budeme nahlíºet jako na et zec. Toho lze docílit celkem snadno, nap íklad tak, ºe strom zapí²eme v prexové notaci. Potom platí, ºe podstrom zapsaný v prexové notaci je pod et zcem v prexovém zápisu celého stromu. Nicmén je z ejmé, ºe ne kaºdý pod et zec reprezentuje podstrom. [6] Z toho vyplývá, ºe je pot eba pouºít jiný model výpo tu neº jsou kone né automaty, které se pouºívají ve stringologii. V arbologii se místo kone ných automat pouºívají zásobníkové automaty. Stejn jako ve stringologii, tak i v arbologii je více zp sob, jak vyhledávat vzorky. Jedno ze základních d lení by mohlo být, zda p edzpracováváme vzorek nebo vlastní text. V této práci se zabývám jen moºností, kdy p edzpracováváme text (respektive strom), ve kterém vyhledáváme. Tento zp sob má výhodu v tom, ºe doba vyhledávání je pak lineárn závislá jen na délce vzorku a v bec nezávisí na délce textu. Automat, který vznikne p edzpracováním textu se nazývá indexovací. Druhým moºným d lením m ºe být to, jak indexovací automat vytvá íme. Prozatím známá metoda je vytvo it nejprve nedeterministickou verzi a pak automat zdeterminizovat. Zásobníkový automat sice nejde obecn zdeterminizovat vºdy, ale automaty vznikající v arbologii mají takové vlastnosti, které determinizaci umoº ují. Tento postup má tu výhodu, ºe je relativn názorný, ale nevýhoda je v tom, ºe je relativn zdlouhavý a proces determinizace je pom rn náro ný. Lep²í metoda pro praktické pouºité je takzvaná online konstrukce, kde automat vytvá íme postupn tak, jak teme vstupní text. Pro vyhledávání v et zcích je 1

16 2 KAPITOLA 1. ÚVOD algoritmus pro online konstrukci znám, nap íklad v [4] a [2]. P ínosem této práce by m lo být denování obdobného algoritmu i pro konstrukci automat indexujících stromy. Zbytek práce je organizován následovn. V následující kapitole 2 si denujeme základní pojmy z oblasti arbologie a stringologie, spole n s n kolika základními algoritmy. V kapitole 3 se budeme zabývat konstrukcí automat p ijímajících v²echny úplné podstromy daného stromu (Subtree PDA) a v kapitole 4 p edstavíme konstrukci automat p ijímajících v²echny stromové vzorky (Tree pattern PDA). Nakonec v kapitole 5 krátce popí²eme implementaci uvedených algoritm a její testování v kapitole 6.

17 Kapitola 2 Základní pojmy a algoritmy V této kapitole denujeme n kolik základních pojm pot ebných pro dal²í práci. Pojmy jsou denovány stejn jako v [6] [10] [7] [8]. 2.1 Abeceda, strom, stromový vzorek Abeceda je kone ná neprázdná mnoºina symbol. Ohodnocená abeceda je abeceda, kde má kaºdý symbol p i azenu jednozna nou kladnou aritu (ohodnocení). V dané abeced A ozna- ujeme ohodnocení symbolu arity(a). Mnoºina symbol s ohodnocením p je ozna ena A p. Prvky, které mají aritu 0, 1, 2...p ozna ujeme jako nulární (konstanty), unární, binární atd. P edpokládáme, ºe A obsahuje alespo jeden nulární symbol. V dal²ím textu se arita symbol ozna uje pomocí íslice za identikátorem symbolu, nap íklad zápisem a2 se rozumí binární symbol a. P i zápisu algoritm si m ºeme zápis arity(a2) p edstavit jako volání funkce, která vrací aritu daného symbolu, v tomto p ípad vrátí 2. Strom si denujeme pomocí pojm z teorie graf. Uspo ádaný orientovaný graf je dvojice (U, H), kde U je mnoºina uzl a H je lineárn uspo ádaná mnoºina hran, kde kaºdý prvek H má formu ((f, g 1 ), (f, g 2 ),..., (f, g n )), kde f, g 1, g 2...g n jsou uzly grafu a n 0. Tento zápis zna í, ºe z uzlu f vede n orientovaných hran do uzl g 1, g 2...g n v tomto daném po adí. Cesta délky n je sekvence uzl (f 1, f 2...f n ), n 1, z uzlu f do uzlu f n, pokud existuje hrana, která vede z f i 1 do f i pro v²echny 1 i n. Pokud navíc f 0 = f n pak se daná cesta nazývá cyklus. Uspo ádaný DAG (Direct Acyclic Graph) je uspo ádaný orientovaný graf, ve kterém neexistuje cyklus. Ozna ení uspo ádaného grafu G = (U, H) je zobrazení U do mnoºiny zna ek. Nap íklad ozna ení a f v dal²ím textu reprezentuje uzel f ozna ený symbolem a. M jme dán uzel f. Jeho výstupní stupe se rovná po tu r zných pár (f, r) H. Analogicky vstupní stupe uzlu f je po et r zných pár (g, f) H. Nyní jiº m ºeme denovat ozna ený, uspo ádaný, ohodnocený, ko enový strom nad abecedou A jako uspo ádaný DAG t=(u, H) s práv jedním speciálním uzlem, r U, který se nazývá ko en, takový ºe pro n j platí: r má vstupní stupe roven 0 3

18 4 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY v²echny ostatní uzly mají vstupní stupe 1 existuje práv jedna cesta z ko ene r do v²ech ostatních f U a f r kaºdý uzel f U je ozna en symbolem a A a výstupní stupe a f se rovná arity(a). Uzly, které jsou ozna eny nulárními symboly, se nazývají listy (nap íklad a0). Prexová notace pref(t) ozna eného, uspo ádaného, ohodnoceného, ko enového stromu je zápis stromu, který získáme aplikací následujícího algoritmu Krok rekurzivn na v²echny uzly daného stromu, po ínaje ko enem: Krok: Nech se tento krok týká uzlu a f. Jestliºe je a f list, pak vypi² a f a skon i. Jestliºe není a f list a jeho potomci jsou a f1, a f2...a fn, pak vypi² a f a postupn pouºij krok na a f1, a f2...a fn v tomto po adí. Zatím jsme denovali, co je to ozna ený, uspo ádaný, ohodnocený, ko enový strom nad abecedou A. V této práci se zabývám jen takovýmito stromy, takºe se na n budu odkazovat zjednodu²en pouze slovem strom. P íklad ozna eného, uspo ádaného, ohodnoceného, ko enového stromu je na obrázku 2.1. Ohodnocená abeceda je zde A = {a2, a1, a0, b1, b0}. Strom t = ({a2 1, a2 2, a0 3, a0 4, a2 5, a0 6, b1 7, b0 8 }, H), kde H je následující uspo ádaná mnoºina hran: ((a2 1, a2 2 ), (a2 1, a2 5 )) ((a2 2, a0 3 ), (a2 2, a0 4 )) ((a2 5, a0 6 ), (a2 5, b1 7 )) ((b1 7, b0 8 )) Obrázek 2.1: P íklad stromu t, pref(t) = a2 a2 a0 a0 a2 a0 b1 b0 Nyní máme denovaný strom, zbývá je²t denovat, co vlastn ve stromu hledáme. Stromový vzorek denujeme pomocí speciálního nulárního symbolu S, který neleºí v A. Ozna ený, uspo ádaný, ohodnocený, ko enový strom nad abecedou A {S} je stromový vzorek. Analogicky stromový vzorek v prexové notaci je zápis tohoto stromu pomocí jiº zmín ného algoritmu Krok. P edpokládáme, ºe stromový vzorek obsahuje alespo jeden symbol z A, to

19 2.2. JAZYK, KONEƒNÝ A ZÁSOBNÍKOVÝ AUTOMAT 5 znamená, ºe nap íklad samotné S není stromový vzorek (vyhledávací úloha by potom byla triviální). Stromový vzorek s alespo jedním symbolem S se nazývá ²ablona stromu. Stromový vzorek p obsahující k 0 symbol S je nalezen v daném stromu t v uzlu n, jestliºe ve stromu t existují podstromy t 1, t 2,..., t n (ne nutn stejné) takové, ºe strom p' získaný z p substitucí podstromu t i pro i-tý výskyt S v p, i = 1, 2,...,k, je rovný podstromu stromu t s ko enem v n. Uvaºujme strom t z obrázku 2.1 v prexové notaci zapsaný jako pref(t) = a2 a2 a0 a0 a2 a0 b1 b0 a stromový vzorek p nad abecedou A {S}, p = ((a2 9, a0 10, S 11 ), H), kde H je následující se azená mnoºina pár : ((a2 9, a0 10 ), (a2 9, S 11 )) Obrázek 2.2: Vzorek p, pref(p) = a2 a0 S Stromový vzorek p v prexovém zápisu pref(p) = a2 a0 S je zobrazený na obrázku 2.2. Vzorek p je nalezen ve strom t ve dvou výskytech. První výskyt je v uzlu a2 2 a druhý v a2 5. V literatu e je ob as vyhledávací problém denován také jako proces rozhodování, zda se daný vzorek v textu, respektive stromu, vyskytuje. Výsledkem je tedy odpov ano nebo ne. Tento rozdíl v²ak není úpln podstatný, protoºe obvykle algoritmy poskytují informace o výskytu a pozicích výskytu najednou nebo je lze n jakým zp sobem dodate n odvodit. Jak je zvykem v pracích podobného typu, rozd lím si problém nejprve na vzorky, které neobsahují symbol S, tedy hledání p esných podstrom daného stromu a poté budeme uvaºovat i vzorky se symbolem S (²ablony stromu). Nejprve je v²ak je²t pot eba denovat si n kolik pojm z teorie automat a jazyk, které nám poskytnou prost edky pro popis výpo tu pomocí kone ných a zásobníkových automat. 2.2 Jazyk, kone ný a zásobníkový automat Pojmy v této kapitole jsou op t denovány stejn jako v [6] [10] [7] [8]. Jazyk nad abecedou A je mnoºina et zc nad A. Zápis A ozna uje mnoºinu v²ech et zc nad A v etn prázdného et zce. Prázdný et zec je ozna ován ε. Zápis A + symbolizuje mnoºinu A bez prázdného et zce, tj. A + = A \{ε}. Symbolem x m ozna ujeme m z et zení symbolu x. ƒíslo m je celé kladné íslo v t²í nebo rovno nule, x 0 = ε, x 1 = x, x 2 = xx, atd. Nedeterministický kone ný automat (NKA nebo anglicky NFA) je p tice M = (Q,A, δ, q 0, F ), kde Q je kone ná mnoºina stav, A je vstupní abeceda, δ je zobrazení Q A do mnoºiny podmnoºin Q, q 0 Q je po áte ní stav a F Q je mnoºina koncových stav. Dvojici (q, w)

20 6 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY Q A nazveme kongurace kone ného automatu M. Kongurace (q 0, w) se nazývá po áte ní kongurace a (q, ε), kde q F, je koncová kongurace kone ného automatu M. Relaci M (Q A ) (Q A ) nazveme p echodem automatu M. Jestliºe p δ(q, a), pak (q, aw) M (p, w), pro libovolné w A. ekneme, ºe et zec w A je p ijat nedeterministickým kone ným automatem, pokud existuje posloupnost p echod (q 0, w) (q, ε) pro n jaké q F (z po áte ní kongurace do koncové kongurace).[5] Kone ný automat je deterministický (DKA, anglicky DFA) pokud δ(q, a) nemá více neº jeden prvek pro kaºdé q Q a a A. Kaºdý nedeterministický kone ný automat m ºe být p eveden na ekvivalentní (p ijímající stejný jazyk) deterministický kone ný automat. Procesu transformace na deterministický automat se íká determinizace, anglicky také d-subset construction. Algoritmus funguje tak, ºe konstruujeme stavy DKA jako podmnoºiny stav NKA a vybíráme jen ty stavy, které jsou v dané chvíli dostupné (tzn. existuje p echod mezi stavy v NKA). Tyto podmnoºiny nazýváme d-subsety a asto je zapisujeme do hranatých závorek ([ ]) namísto mnoºinového zápisu ({}). Mnoºina cílových stav (zna eno Q(a)) pro n jaké a A jsou v²echny q Q, takové, ºe q δ(p, a) pro v²echny p Q. Pokud pro v²echny dvojice symbol a, b A, a b, platí Q(a) Q(b) =, pak se automat nazývá homogenní. [5] Nedeterministický zásobníkový automat (NZA, anglicky PDA) je sedmice M = (Q,A, G, δ, q 0, Z 0, F ), kde Q je kone ná mnoºina stav, A je vstupní abeceda, δ je zobrazení z Q (A {ε}) G do mnoºiny kone ných podmnoºin Q G, q 0 Q je po áte ní stav, Z 0 G je po áte ní symbol na zásobníku a F Q je mnoºina kone ných (p ijímajících) stav. Trojice (q, w, x) Q A G je kongurace zásobníkového automatu. Podle zvyklostí budeme vrchol zásobníku psát vpravo. Po áte ní kongurace ZA je trojice (q 0, w, Z 0 ), kde w je vstupní et zec. P echod zásobníkového automatu je relace na mnoºin kongurací: (q, aw, αβ) (p, w, γβ), kdyº (p, γ) δ(q, a, α). K-tá mocnina relace se zna í k, tranzitivní uzáv r se zna í +, a je tranzitivní a reexivní uzáv r relace. [5] Zásobníkový automat je deterministický, pokud platí: 1. δ(q, a, γ) 1, pro v²echny q Q, a A {ε}, γ G 2. Je-li δ(q, a, α), δ(q, a, β) a α β, pak α není p íponou β a β není p íponou α 3. Je-li δ(q, a, α), δ(q, ε, β), pak α není p íponou β a β není p íponou α Zjednodu²en e eno, m ºeme se, podobn jako u kone ného automatu, vºdy jednozna n rozhodnout podle vstupního symbolu a obsahu zásobníku, jaký p echod v daném stavu ud lat. U zásobníkových automat neplatí obecn, ºe lze kaºdý nedeterministický ZA p evést na ekvivalentní deterministický. Moºné je to pouze ve speciálních p ípadech, jako jsou nap íklad ZA ízené vstupem. Zásobníkový automat ízený vstupem je takový automat, kde lze kaºdou zásobníkovou operaci jednozna n ur it pouze podle vstupního symbolu. Jazyk p ijímaný zásobníkovým automatem lze denovat dv mi zp soby. První moºnost je, ºe p ijímáme et zce p echodem do koncového stavu, tzn. ºe existuje posloupnost p echod z po áte ního stavu do koncového stavu a p itom nezáleºí na kone ném obsahu zásobníku. A druhá moºnost je, ºe p ijímáme et zce prázdným zásobníkem, potom existuje posloupnost p echod z po áte ního stavu do stavu, kde je obsah zásobníku roven ε. Ve druhém p ípad

21 2.3. SUFIXOVÝ A FAKTOROVÝ AUTOMAT 7 je mnoºina kone ných stav zásobníkového automatu prázdná. Oba druhy automat lze vzájemn p evést, coº je denováno nap íklad v [5]. V tomto textu jsou pouºívány, stejn jako v [6] [10], pouze zásobníkové automaty p ijímající prázdným zásobníkem. 2.3 Suxový a faktorový automat Suxové i faktorové automaty jsou vy erpávajícím zp sobem popsány nap íklad v [9], zde se omezím pouze na n kolik základních princip. Máme-li dán et zec s A, pak suxový automat zkonstruovaný pro et zec s p ijímá v²echny p ípony tohoto et zce. Analogicky faktorový automat p ijímá v²echny pod et zce daného et zce. P ijetí (vyhledání) pod et zce (nebo p ípony) probíhá v ase lineárním k délce pod et zce a v bec nezávisí na délce et zce s. ƒasová sloºitost je hlavní výhodou tohoto postupu, protoºe logicky délka pod et zce je men²í neº délka et zce. Nevýhodou je velikost vzniklého automatu. To lze áste n vyváºit pouºitím oracle automat, ale to není p edm tem této práce. Je²t bych poznamenal, ºe faktorový automat se li²í od suxového jen tím, ºe v²echny jeho stavy jsou koncové. V této práci se pouºívají jen suxové automaty. Tyto automaty se také ob as v anglické literatu e ozna ují jako DAWG (Direct Acyclic Word Graph). Suxový automat m ºeme zkonstruovat nap íklad pomocí algoritmu 3.10 z [9]. Vstupem je et zec x = a 1 a 2...a n nad abecedou A a výstupem je deterministický kone ný automat M = ({0, 1, 2,.., n},a, δ, 0, {0, n}) p ijímající v²echny suxy et zce x. Mnoºinu δ zkonstruujeme následovn : 1. δ(i 1, a i ) = i, pro v²echny i = 1, 2,..., n 2. δ(0, a) = i, pokud δ(i 1, a) = i, pro v²echny i = 2, 3,..., n A nakonec p evedeme zkonstruovaný nedeterministický automat na ekvivalentní deterministický. Jak je vid t, postup konstrukce tohoto automatu je relativn p ímo arý a názorný. Pravidla z bodu 1 nám umoºní p ijmout celý et zec a poté v bodu 2 p idáme p echody, které nám umoºní "p esko it"prexy et zce, takºe m ºeme p ijmout v²echny p ípony. Výsledný automat m ºe být nedeterministický, coº nastane, pokud se v et zci opakuje n jaký symbol, takºe pro praktické pouºití musíme automat je²t zdeterminizovat nebo pouºít n kterou techniku simulace NKA, nap. fail funkce, dynamické programování, bitový paralelismus ap. [9]. Uvaºujme nap íklad, ºe máme et zec x = a2 a2 a0 a0 a2 a0 b1 b0 nad abecedou A = {a2, a1, a0, b1, b0 } ( et zec je prexový zápis stromu t z obrázku 2.1, ale to te není d leºité). Nedeterministický kone ný automat p ijímající v²echny p ípony tohoto et zce, vzniklý pouºitím kroku 1 a 2 z p edchozího algoritmu, je na obrázku 2.3. Deterministická verze stejného automatu je na obrázku 2.4. V dal²ím textu se nám je²t hodí denovat termín páte automatu. Páte suxového (faktorového) automatu je nejdel²í souvislá posloupnost stav a p echod vedoucích z po áte ního stavu automatu M. Jinými slovy je to posloupnost stav a p echod, které projdeme, pokud máme na vstupu kompletní et zec, pro který je automat zkonstruován. Na obrázku 2.4 jsou to nap íklad stavy [0], [1,2,5], [2], [3], [4], [5], [6], [7], [8] a p echody mezi nimi.

22 8 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY Obrázek 2.3: Nedeterministický kone ný suxový automat pro et zce x = a2 a2 a0 a0 a2 a0 b1 b0

23 2.3. SUFIXOVÝ A FAKTOROVÝ AUTOMAT 9 Obrázek 2.4: Deterministická verze automatu z obrázku 2.3

24 10 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY 2.4 Algoritmus online konstrukce suxového automatu V minulé kapitole jsme si popsali, jak zkonstruovat suxový automat pro daný et zec. Nevýhodou popsaného postupu je to, ºe musíme automat determinizovat, coº je asov a pam ov náro né. Lep²í by bylo zkonstruovat b hem na ítání et zce rovnou deterministický automat. Tomuto postupu se íká online konstrukce. P i online konstrukci v kaºdém kroku, tak jak na ítáme vstupní et zec, upravujeme aktuální automat tak, aby odpovídal deterministickému automatu p ijímajícímu p ípony dosud na tené ásti et zce. Máme-li et zec x = a 1 a 2...a n, tak v i-tém kroku vytvo íme suxový automat pro et zec a 1 a 2...a i, i n. Jak uº bylo zmín no, i tyto algoritmy jsou známé ([4], [2], [3]), jen ne tak ²iroce jako p vodní algoritmus. Algoritmus uvedený v lánku [4] je sice upravený na pouºití pro degenerované et zce (na jedné pozici ve vstupním et zci m ºe být více symbol ), ale dal by se jednodu²e (vynecháním jednoho cyklu) upravit pro normální et zce. Tento algoritmus má v²ak tu nevýhodu, ºe si p ímo uchovává d-subsety v²ech stav, tedy v nejhor²ím p ípad (nap íklad p i et zci aaaa...) se musí v kaºdém kroku aktualizovat v²echny stavy a tak má algoritmus výslednou sloºitost O(n 2 ). Výhodou d-subset je známá vlastnost, ºe identikují konce výskytu daného pod et zce. Vzhledem k asymptotické sloºitosti algoritmu jsem nakonec zvolil algoritmus uvedený ve [2]. Podobný algoritmus je uveden i ve [3]. Algoritmus 2.1 je pseudokód algoritmu z [2] p epsaný do na²í pouºívané notace. V algoritmu 2.1 jsou stavy identikovány namísto mnoºiny symbol pomocí jen jednoho symbolu. Je tomu tak, protoºe, jak uº bylo zmín no, velikost dsubset (v [2] nazývány end-pos) je nelineární k délce et zce. To je také jeden z d vod, pro je determinizace automatu pam ov náro ná. Samoz ejm namísto dsubset je pot eba jiná dodate ná struktura, která by nám poskytla ekvivalentní informace. Pro online konstrukci je nap íklad d leºité v d t, z jakých stav musíme vést nové p echody, tj. jaké stavy odpovídají sux m aktuáln zpracované ásti et zce. Strukturou, která nám toto umoºní, je tzv. tabulka sux link. Význam sux link je nejlep²í demonstrovat na p íklad. Nejprve si ho v²ak denujme formáln. Hodnotu uzlu v - val(v) je nejdel²í et zec, který vytvo íme pomocí p echod z po áte ního stavu do uzlu v. Pak suf[v] se rovná uzlu w takovému, ºe val(w) je nejdel²í sux val(v), který se nerovná val(v) (vlastní sux). Obvykle se suf[q 0 ] rovná q 0 nebo jiné speciální hodnot (nil, null ap.). Hranu (v, suf[v]) nazýváme sux link a tabulka suf je tabulka sux link. Protoºe hodnota suf[v] je ost e men²í neº hodnota v, pak suf tvo í stromovou strukturu uzl. Díky tomu, ºe pro kaºdý uzel v denujeme práv jeden suf[v], tak pam ové nároky pro uloºení tabulky sux link jsou lineární k po tu uzl (na rozdíl od d-subset ). Podívejme se na obrázek 2.5, kde v ásti a) vidíme DAWG, neboli suxový automat, pro et zec aabab a v ásti b) gracké znázorn ní sux link. Pro názornost jsem ozna il stavy sou asn pomocí d-subset, aby bylo vid t, ºe nám ob konstrukce dávají stejné informace. Vezmn me si nap íklad stav [3], jehoº hodnota je et zec aab. Nejdel²í sux, krom aab, je et zec ab, coº je hodnota stavu [3,5] (p ipomínám, ºe hodnota je nejdel²í z et zc reprezentovaných daným stavem), existuje tedy sux link ze stavu [3] do [3,5]. Zárove vidíme, ºe pokud hodnota stavu [3,5] p edstavuje sux hodnoty stavu [3], tak to znamená, ºe výskyt obou et zc kon í na stejné pozici, tedy d-subset stavu [3,5] obsahuje jako svojí podmnoºinu d-subset stavu [3] (coº je vid t na první pohled). Toto pozorování nám dává vlastn návod,

25 2.4. ALGORITMUS ONLINE KONSTRUKCE SUFIXOVÉHO AUTOMATU 11 jak v p ípad pot eby sestavit d-subset daného stavu. Nap íklad kdybychom se pohybovali z daného stavu po sux lincích opa ným sm rem aº do stavu, který leºí na páte i a tyto stavy ozna ili jejich po adím na páte i (tak jako je to v p íkladu), tak d-subset onoho stavu je sjednocením d-subset stav na páte i (jak je vid t na p íkladu stav [3,5] a [1,2,4]). Pro úplnost se je²t podívejme na zbylé stavy. Stejná situace jako u stavu [3] je i u stavu [5], kde se op t jedná o sux ab. U hodnoty stavu [4] je nejdel²í sux jen et zec a, který odpovídá stavu [1,2,4]. Stav [2] má hodnotu aa, tedy nejdel²í sux je op t a a sux link vede do uzlu [1,2,4]. Uzel [3,5] má hodnotu ab, sux b sice v automatu existuje, ale sux link by sm oval do stejného uzlu, coº nelze, takºe z [3,5] vede sux link do [0]. U stavu [0] si m ºeme p edstavit, ºe reprezentuje sux ε, který je p íponou libovolného et zce. Obrázek 2.5: a) DAWG(aabab), b) gracké znázorn ní sux link Zbývá otázka, jak vlastn sux linky zkonstruovat a jak zmín né vlastnosti vyuºít p i online konstrukci suxového (nebo faktorového) automatu. Je tedy vhodná chvíle podívat se na algoritmus 2.1 a popsat si, jak funguje. Prvním krokem je inicializace algoritmu, kterou popisují ádky 1-3. Inicializace se skládá ze t í krok. Na prvním ádku denujeme prom nnou last, která p edstavuje poslední vytvo ený uzel na páte i automatu. V 0-tém kroku je to logicky stav 0, který vytvo íme na ádku 2 a p idáme do mnoºiny stav Q. Nakonec zbývá je²t inicializovat sux link stavu 0. Protoºe se jedná o po áte ní stav, tak suf[0] = nil, kde nil je na²e speciální hodnota, kterou nepouºijeme k ozna ení ºádného stavu.

26 12 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY Algoritmus 2.1 Online konstrukce suxového automatu (DAWG) Vstup: et zec x nad abecedou A, x = a 1 a 2...a n, n 1 Výstup: Deterministický suxový automat M = (Q,A, δ, 0, ) 1: last = 0 {inicializace automatu} 2: Q.add(last) 3: suf[last] = nil 4: for i = 1 to n do 5: newlast = novystav() {nový stav} 6: Q.add(newlast) 7: create solid δ(last, a i ) = newlast 8: w = suf[last] 9: while w nil and δ(w, a i ) do 10: create non-solid δ(w, a i ) = newlast {p idat p echody} 11: w = suf[w] 12: end while 13: v = δ(w, a i ) 14: if w = nil then 15: suf[newlast] = 0 16: else if δ(w, a i ) = v is solid then 17: suf[newlast] = v {dal²í výskyt et zce} 18: else 19: newnode = novystav() {rozd lení stavu} 20: Q.add(newnode) 21: update δ(w, a i ) = newnode solid 22: suf[newlast] = newnode 23: suf[newnode] = suf[v] 24: suf[v] = newnode 25: w = suf[w] 26: while w nil and δ(w, a i ) = v is non-solid do 27: update δ(w, a i ) = newnode {p esm rovat p echody} 28: w = suf[w] 29: end while 30: for each a in A do 31: create non-solid δ(newnode, a) = δ(v, a) {kopie odchozích} 32: end for 33: end if 34: last = newlast 35: end for Na ádku 4 za íná cyklus, kterým budeme postupn zpracovávat symboly ze vstupního et zce a podle nich p íslu²ným zp sobem aktualizovat automat. Pro kaºdý vstupní symbol nejprve vytvo íme na páte i nový stav, který si uloºíme do prom nné newlast. K vytvo ení nových stav budeme pouºívat funkci novystav(), která jednodu²e vrátí nové unikátní pojmenování stavu. Funkci novystav() lze realizovat triviáln, nap íklad pomocí jednoduchého íta e, který vºdy automaticky zvý²í svojí hodnotu, takºe její pseudokód ani neuvádím.

27 2.4. ALGORITMUS ONLINE KONSTRUKCE SUFIXOVÉHO AUTOMATU 13 Následn nový stav uloºíme do mnoºiny stav Q ( ádek 6). Nový stav musíme je²t spojit s páte í tím, ºe vytvo íme p echod z last do newlast. P echod si navíc ozna íme jako "solid", coº znamená, ºe uº se v budoucnu nem ºe zm nit. Druhá moºnost, která se v pr b hu algoritmu vyskytne je "non-solid", tedy analogicky opa ný význam, tj. ºe v dal²ích krocích algoritmu se m ºe p echod zm nit. Tím máme páte automatu aktualizovanou a m ºeme pokra ovat dal²ím krokem ( ádek 8). Dal²í fází algoritmu je (na ádcích 8-12) vytvo ení nových p echod z n kterých stávajících stav do nového stavu - newlast. Pro lep²í pochopení se podívejme na obrázek 2.6, který zobrazuje situaci po t etím kroku vytvá ení DAWG(aabab), tedy DAWG(aab) a p íslu²né sux linky. V tomto p ípad uº nezna íme stavy pomocí d-subset, ale pouze pomocí po adí jak vznikly. ƒárkovan jsou ozna eny p echody, které v tomto kroku p idáme. Prom nná last má hodnotu [2] a newlast [3]. Obrázek 2.6: P íklad p idávání nových p echod, a) DAWG(aab), b) p íslu²né sux linky V cyklu na ádku 9 postupujeme po sux lincích, dokud nedojdeme do po áte ního stavu anebo dokud neobjevíme p echod na aktuální vstupní symbol. Uzly si p i azujeme do prom nné w. V tomto p ípad bude mít w nejprve hodnotu [1], pak [0] a nakonec nil. Kdyº si vzpomeneme na popis toho, jak pomocí sux link získat d-subsety stav, tak vlastn v²echny procházené stavy by obsahovaly v d-subsetu hodnotu z prom nné last (kdybychom stavy zna ili d-subsety a ne po adím, v jakém vznikají). Samoz ejm výjimkou je stav [0], coº je výjime ný p ípad, protoºe jeho d-subset sice neobsahuje last, ale musíme ho vºdy také uvaºovat, protoºe z n j musí vést p echody na v²echny symboly, které se v et zci vyskytují, coº je nejlépe vid t z p íkladu nedeterministické verze suxového automatu, viz obrázek 2.3. Na²t stí tomu odpovídá i to, ºe se ve stavu [0] "scházejí"v²echny sux linky, jelikoº, jak uº bylo zmín no, m ºeme si p edstavit, ºe [0] reprezentuje et zec ε, který je p íponou v²ech et zc. Kdyº tedy d-subsety v²ech stav obsahují last (v tomto p ípad 2), znamená to, ºe tam kon í výskyt v²ech et zc, které jsou hodnotami daných uzl. Dále víme, ºe za last je dal²í znak, nyní konkrétn b, kterým mají dané pod et zce pokra ovat. Takºe abychom

28 14 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY mohli p ijmout i pod et zce (suxy) prodlouºené o tento nový znak, musíme ve v²ech uzlech p idat p echod na tento vstupní symbol. V²echny nové p echody vedou do uzlu newlast. Sice bychom mohli vytvo it pro kaºdý p echod nový kone ný (a v tu chvíli zárove koncový) stav, ale bylo to zbyte né, protoºe tyto stavy by byly shodné jako newlast. Zárove to odpovídá tomu, ºe práv tento uzel p edstavuje nejdel²í sux (p ipome me, ºe páte je nejdel²í cesta v suxovém automatu) a ostatní cesty jsou jeho suxem. D leºité je poznamenat, ºe tyto p echody se mohou po ase zm nit, proto je ozna íme jako non-solid. Mnoºin uzl, které procházíme zmín ným cyklem, se íká pracovní cesta. Jak je vid t, cyklus m ºe skon it dv mi moºnými zp soby. M ºe nastat w = nil, to znamená, ºe jsme pro²li v²echny uzly na pracovní cest a z kaºdého jsme vytvo ili p echod. Mimo jiné to implikuje, ºe jsme museli vytvo it i p echod z po áte ního stavu [0], coº zna í, ºe se daný symbol je²t v automatu v bec nevyskytuje. Díky této informaci m ºeme nastavit suf[newlast] = [0]. Viz akce provedené na ádku 14 a 15 algoritmu 2.1. Toto je i situace, která nastane v p íkladu na obrázku 2.6. V opa ném p ípad, tj. kdyº w není nil, tak jiº existuje n jaký p echod na aktuální vstupní symbol z n jakého uzlu na pracovní cest. Jinými slovy, jiº je zaindexovaný n jaký krat²í pod et zec doposud zpracované ásti vstupního et zce. V tomto p ípad víme, ºe existuje uzel v = δ(w, a), kde a je aktuální symbol na vstupu a w je uzel na pracovní cest, do kterého jsme do²li. Nyní nastává klí ový bod algoritmu a to rozhodnout se, zda rozd lit stav v nebo ne. Lépe je v²e vid t op t z p íkladu. Nap íklad na obrázku 2.7 je znázorn n dal²í krok konstrukce automatu pro et zce aaba. V tomto p ípad se last = [3], takºe první hodnota w bude suf[last] = w = [0] ( ádka 8). Protoºe p echod z [0] na symbol a jiº existuje, neprob hne cyklus ani jednou a w z stane nastaveno na [0]. Uzel v se rovná δ([0], a) = [1]. Vidíme, ºe uzel v p edstavuje faktor a, který zárove odpovídá nejdel²ímu suxu aaba. To p esn odpovídá denici sux linku, takºe p idáme sux link suf[newlast] = v. Popsaná akce je na ádku 17. Kdyº se vrátíme k p edstav o tom, ºe pomocí sux link lze získat d-subsety, tak vlastn touto operací roz²í íme d-subset stavu v o dal²í výskyt et zce, který je hodnotou tohoto stavu (v p íkladu je to o výskyt a na pozici 4). M ºe se v²ak také stát, ºe uzel v p edstavuje více faktor (vede do n j více cest), ale ne v²echny tyto faktory jsou zárove suxy, takºe bychom vytvo ili sux link ²patn. V takovém p ípad je pot eba rozd lit uzel v. Podívejme se nap íklad na obrázek 2.8, který zobrazuje situaci t sn p ed rozd lením stavu v = [3] (tedy jsme p ed spu²t ním ádku 19). Do stavu [3] vedou hned t i cesty: b, ab, aab, ale cesta aab není suxem aaba. V tomto p ípad provedeme rozd lení stavu v = [3]. Operace rozd lení stavu se skládá z n kolika krok. Nejprve si uv domme, eho chceme vlastn docílit. V²echny cesty v automatu chceme zachovat, jenom pot ebujeme rozli²it cesty pro n které suxy. Uºite ná je op t p edstava roz²i ování d-subsetu. Kdybychom pouze nastavili sux link, tedy potaºmo p idali do d-subsetu stavu [3] dal²í výskyt (pozici 5), tak bych íkali, ºe se na oné pozici vyskytují v²echny faktory, které odpovídají cest do tohoto uzlu. Ale jak je vid t na p íkladu, tak pro pod et zec aab by toto neplatilo (nevyskytuje se na pozici 5). Namísto toho tedy vytvo íme nový stav, který bude odpovídat "krat²ím"sux m a stav [3] bude odpovídat jen et zci aab. Prvním krokem operace rozd lení stavu je vytvo ení nového uzlu - ádek 19 a samoz ejm jeho p idání do mnoºiny Q - ádek 20. Nový stav si ozna íme prom nnou newnode. Potom je pot eba p esm rovat existující p echody do nového

29 2.4. ALGORITMUS ONLINE KONSTRUKCE SUFIXOVÉHO AUTOMATU 15 Obrázek 2.7: Napojení sux linku, a) DAWG(aaba) b) p íslu²né sux linky stavu. To probíhá v cyklu na ádcích Známým zp sobem procházíme uzly po pracovní cest, dokud nedojdeme na konec (w = nil) a zárove dokud existují p echody ozna ené non-solid vedoucí z práv zpracovávaného uzlu na aktuální vstupní symbol. Tato podmínka odpovídá tomu, ºe chceme p esm rovat jen p echody reprezentující aktuální sux. V p íklad na obrázku 2.8 takto p esm rujeme p echod z [0] na b. P echod z [1] na b jsme p esm rovali uº na ádku 21. Zbývá nám je²t vytvo it p echody vedoucí z nového stavu. Protoºe chceme zachovat v²echny cesty, které jsme m li p ed rozd lením stavu, p echody z nového stavu jsou prostou kopií p echod z p vodního stavu. Jediným rozdílem je, ºe jsou ozna eny jako non-solid. Tuto operaci znázor ují ádky v algoritmu 2.1. V na²em p íkladu se jedná jen o p echod z [3] do [4] na a. Výsledný automat uº byl prezentován na obrázku 2.5 (v p ípad, ºe bychom pojmenovávali stavy podle po adí, tak by byl stav [1,2,4] ze zmín ného obrázku pojmenován pouze [1] a stav [3,5] bychom pojmenovali [6]). Abychom celou operaci úpln dokon ili, zbývá je²t aktualizovat p íslu²né sux linky. V algoritmu 2.1 se jedná o ádky 22-24, které jsme p i popisu algoritmu prozatím vynechali. Jak uº bylo zmín no, nový stav odpovídá sux m aktuáln zpracované ásti pod et zce, tedy i nejdel²ímu z nich (v na²em p ípad ab). Nastavíme tedy suf[newlast] = newnode ( ádka 22). Sux link nového stavu newnode povede do stejného stavu jako p vodní sux link p vodního stavu v (v tomto p ípad [0]) viz ádek 23. A nakonec nový sux link stavu v povede do newnode, protoºe jsme vytvo ili stav, který p edstavuje suxy faktoru, který je hodnotou stavu v. Tím pádem je nejdel²í sux zjevn hodnotou nového stavu - newnode ( ádek 24). Nap íklad v p ípad uzlu [3] reprezentujícího faktor aab, uzel newnode odpovídá sux m b a ab, tedy nejdel²í sux, který se nerovná aab je ab a sux link vede stavu, který

30 16 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY má tuto hodnotu tj. newnode ([3,5] nebo [6] podle toho jaké pouºíváme zna ení). Obrázek 2.8: Situace p ed rozd lením stavu [3], a) nekompletní DAWG(aabab) b) sux linky Tím je operace rozd lení stavu hotová a dostáváme se na poslední ádek (34), kde uº sta í pouze nastavit last = newlast pro dal²í pr chod cyklem s dal²ím symbolem ze vstupu. Nakonec bychom m li je²t vysv tlit, co znamená zna ení p echod solid a non-solid. V p edchozím textu jsme si ho denovali bez podrobností, jako ty, které se mohou zm nit a ty které ne. A navíc jsme se podle tohoto ozna ení p echodu rozhodovali, zda stav rozd lit nebo ne. Trochu matoucí je to, ºe název solid, popisuje hlavn moºné operace s p echodem, ale uº mén jeho vlastnosti. To se sice hodí v algoritmu, ale je to trochu mén názorné. Denujme si tedy toto zna ení p esn. Nejprve zave me funkce length(q), pro n jaký stav q, která vrací délku nejdel²ího faktoru, který je hodnotou uzlu q. Tedy obdobn jako jsme denovali hodnotu uzlu, jenom vracíme délku (po et symbol ). Potom p echod δ(p, a) = q je ozna en jako solid práv tehdy, kdyº length(q) = length(p) + 1. V opa ném p ípad je p echod ozna en jako non-solid. Jinými slovy p echody ozna ené jako non-solid tvo í v automatu "zkratky", zatímco p echody ozna ené solid jsou nejdel²í moºná cesta. Z toho plyne i pouºívaná vlastnost v algoritmu 2.1. Zatímco nejdel²í cestu uº zm nit (prodlouºit) nem ºeme, tak zkratky se mohou po ase zm nit (prodlouºit), jako se tomu stalo v p íklad z obrázku 2.8. Stav δ([1], b) = [3] je ozna ený non-solid, protoºe length([3]) = 3 a length([1]) = 1 tj V²imn me si, ºe t mto princip m odpovídá i postupné zna ení p echod p i jejich vytvá ení. Kdyº vytvá íme p echody na páte i tak jsou vºdy solid, zatímco kdyº postupujeme po sux lincích dál, vytvá íme vlastn vºdy zkratky. Stejn tak, kdyº kopírujeme odchozí p echody z nového rozd leného stavu, jsou to vlastn zkratky do dal²ích stav na páte i, respektive tvo í krat²í faktory neº ty, pokud se pohybujeme nap íklad po páte i. Tím jsme vlastn celkem podrobn popsali celý algoritmus online konstrukce DAWG.

31 2.4. ALGORITMUS ONLINE KONSTRUKCE SUFIXOVÉHO AUTOMATU 17 M ºeme tedy stru n zmínit jeho výhody a nevýhody. Nevýhodou je to, ºe nemáme v kaºdém kroku denovanou mnoºinu koncových stav. Ve své podstat je to d sledek toho, ºe místo d-subset pouºíváme sux linky. Uvaºujme nap íklad p íklad aaaa na obrázku 2.9. V kaºdém kroku jen p idáme sux link na p edcházející stav, tedy provedeme operaci s konstantní sloºitostí. Kdybychom m li ozna it v²echny koncové stavy, museli bychom projít celou pracovní cestu. V tomto p ípad bychom tedy pro²li v²echny stavy. Stejné by to bylo, kdybychom místo sux link pouºívali d-subsety. Museli bychom projít v²echny stavy a aktualizovat d-subset, protoºe v²echny pod et zce se vyskytují i na poslední pozici. Nevýhody by byly v tom p ípad hned dv. Jednak v kaºdém kroku i bychom museli ud lat i operací, takºe celkov by byla asová asymptotická sloºitost algoritmu O(n 2 ) a navíc pro uloºení d-subset bychom pot ebovali také nelineárním mnoºství pam ti. V p ípad, ºe pouºíváme sux linky, by platila jen první nevýhoda, protoºe pam ová náro nost jejich uloºení je lineární (pro kaºdý stav jeden sux link). Vzhledem k tomu, ºe se ani nevracíme po pracovní cest, tak neplatí ani druhá nevýhoda. Obrázek 2.9: DAWG(aaaa) a sux linky (te kovan ) To, ºe nemáme ozna ené koncové stavy je svým zp sobem d sledek toho, ºe nemáme ani nijak implicitn dané pozice výskyt et zc, jako je tomu v p ípad, ºe bychom udrºovali d-subsety. D vody jsou stejné jako v p edchozím p ípad. Na²t stí uº jsme na za átku kapitoly popsali, jak pomocí sux link získat pozice výskyt odpovídajících sux. Stejným zp sobem m ºeme dodate n zjistit i koncové stavy tak, ºe projdeme aktuální pracovní cestu. Pokud to ud láme jen jednou po skon ení hlavního for-cyklu, tak tím asymptotickou sloºitost algorimu nezvý²íme. V nejhor²ím p ípad je to n krok navíc, tedy n + n krok je stále asymptoticky O(n). Lineární asymptotická sloºitost O(n) je hlavní výhodou algoritmu 2.1. Pro je práv lineární, uº trochu napovídají p edchozí ádky, ale tuto vlastnost m ºeme odvodit i analýzou pseudokódu algoritmu. Inicializace je na první pohled konstantní. Poté následuje cyklus od 1 do n (délka et zce), který zpracovává vstupní et zec. Tomu se samoz ejm vyhnout nem ºeme, takºe hlavní otázkou je sloºitost operací uvnit tohoto cyklu. Uvnit cyklu jsou samé konstantní operace, aº na t i cykly - p idávání p echod, p esm rování p echod a kopie odchozích p echod. Poslední cyklus závisí pouze na po tu symbol v abeced, coº je konstanta, takºe tento cyklus nás trápit nemusí. Hor²í je situace s prvními dv ma cykly, které oba závisí na délce pracovní cesty. Na první pohled se m ºe zdát, ºe kdyº délka pracovní cesty m ºe být rovna délce p e tené ásti et zce (tedy v i-tém kroku má délku i), tak to znamená, ºe sloºitost algoritmu je O(n 2 ). Bylo v²ak dokázáno (více i mén názorn ), ºe tomu tak není a výsledná sloºitost je lineární, nap íklad v [2] a [3]. Inspirujme se nap íklad d kazem z [3] a popi²me si d kaz pro první cyklus. P edpokládejme, ºe máme et zec x a pro n j zkonstruovaný suxový automat M pro n jaký prex x. Zpracovanou ást et zce si ozna me w a p edpokládejme, ºe na vstupu je nyní n jaký symbol a. Dále si ozna me u, nejdel²í slovo, které je hodnotou uzlu w, který testujeme v podmínce

32 18 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY cyklu ( ádek 9). Uzel w získáme pomocí sux linku suf[last] ( ádek 8). V²imn me si, ºe u je sux w a ºe kone ná hodnota ua (poté co zastavíme cyklus) je suxem et zce wa, pokud je uzel w denován (není nil). et zec u je sux w, protoºe se na n j dostaneme sux linkem a skute nost, ºe ua je suxem et zce wa odpovídá ukon ovací podmínce - tj. zastavíme, kdyº p echod na a existuje. Dále si ozna me hodnotu k = w u. Schéma situace je na obrázku 2.10 a). Mimo jiné k zna í pozici výskytu u ve w. Obrázek 2.10: Pomocný obrázek k d kazu sloºitosti algoritmu 2.1. a) ná rt situace v obecném kroku b) ná rt situace v dal²ím kroku Nyní provedeme pozorování, ºe tím jak procházíme cyklem, tj. pohybujeme se po sux lincích blíºe po áte nímu stavu, tak se délka u sniºuje a tím pádem se naopak k zvy²uje ( w je v jednom kroku konstantní). Navíc potom co dokon íme pr chod cyklem, nastavíme sux link newlast (coº bude last v dal²ím kroku) na uzel, který odpovídá hodnot ua (uzel v v algoritmu). Sux link z newlast vede tedy nyní n kam do ásti, která byla ozna ena u (nebo je to p ímo ua). V p í²tím kroku za neme procházet cyklem práv od tohoto uzlu. Jelikoº délka u se bu sniºovala nebo se jeho délka nem nila, tak po áte ní hodnota k v dal²ím kroku (k i+1 ) je vºdy v t²í nebo rovna kone né hodnot v sou asném kroku. Poznámka: neznamená to, ºe kdyº u bude ε, tak uº nikdy nebude v t²í, protoºe k n mu m ºeme p idat aktuální symbol na vstupu (který jakoby "ukrojíme"z k) - vzhledem k tomu, ºe se ale sou asn prodlouºí w o jeden symbol, tak k z stane stejné (odpovídá to situaci, kdy p ijde sux, který

33 2.5. D LEšITÉ VLASTNOSTI STROM V PREFIXOVÉ NOTACI 19 jsme je²t neznali a pak z n j postupn vytvá íme del²í suxy). Situace je op t nazna ena na obrázku 2.10 b), který zna í situaci v následujícím kroku po p idání symbolu a v ásti obrázku a) (indexem i + i jsou ozna eny nové hodnoty prom nných). D sledkem popsaného principu je to, ºe ást et zce k díky sux linku p esko íme a u je to, co musíme teoreticky projít b hem cyklu. Pracovní cesta je tedy omezena prom nnou, která se neustále zv t²uje, tím pádem odpovídá celkový po et provedených iterací za v²echny pr b hy cyklu x. Podobn se dá postupovat i pro od vodn ní po tu krok druhého cyklu (p esm rování p echod ). Jiný pohled na d kaz m ºe být ten, ºe si p edstavíme, ºe chceme dosáhnout nejhor²ího p ípadu, tedy pracovní cesty délky rovné n. Ze za átku bychom tedy dostávali po ád stejný symbol, takºe sux linky by vedly z newlast do last. V tom p ípad ale neprovedeme t lo cyklu ani jednou. Musí p ijít dal²í symbol, jiný neº p edchozí, abychom pro²li celou pracovní cestu. Potom v²ak nastavíme sux link newlast na po áte ní stav a délka pracovní cesty uº nikdy nebude p es v²echny uzly. Je²t jednodu²eji si m ºeme lineárnost od vodnit tak, ºe po et p echod je lineárn závislý na délce et zce. Tedy abychom vytvo ili lineární po et p echod, musíme zavolat cyklus, který je vytvá í, lineárn -po et-krát. Co se tý e pr b hu algoritmu, v této kapitole jsme si popsali p edev²ím hlavní situace b hem jeho b hu. Kompletní p íklad bude uveden v následující kapitole D leºité vlastnosti strom v prexové notaci Nakonec této kapitoly se je²t podívejme na n které d leºité vlastnosti strom v prexové notaci, které uplatníme p i konstrukci zásobníkových automat. Z ejm nejd leºit j²í vlastnost prexového zápisu podstromu je to, ºe tento zápis je pod et zcem prexového zápisu stromu. Naopak v²ak neplatí, ºe kaºdý pod et zec prexového zápisu stromu je podstrom v prexovém zápisu. Tato vlastnost je zd vodn na nap íklad v [6], [10] tak, ºe pro daný et zec existuje n 2 pod et zc, ale jen n r zných podstrom (kaºdý uzel je ko enem podstromu). Abychom ov ili, zda je daný et zec skute n prexovým zápisem stromu, denujeme tzv. arity checksum. M jme et zec w = a 1 a 2..a m, m 1, nad ohodnocenou abecedou, pak arity checksum ac(w) = arity(a 1 ) + arity(a 2 ) arity(a m ) m + 1. Práv tehdy, kdyº ac(w) = 0 a ac(w 1 ) 1 pro v²echny w 1, kde w = w 1 x, x ε, tak w je prexový zápis podstromu. Neformáln e eno, arity checksum p edstavuje po et uzl, které je pot eba je²t p e íst, aby byl strom kompletní. Druhá podmínka íká, ºe nesmí existovat prex et zce w, aby tento prex byl sám o sob stromem (tzn. nap íklad et zec w by byl zápis dvou strom v prexové notaci za sebou). Pojem arity checksum se nám bude hodit v dal²ích algoritmech. V automatech je arity checksum implementován pomocí zásobníkových operací, kde po et symbol na zásobníku reprezentuje aktuální arity checksum. Toto nám vlastn p ímo dává návod, jak sestavit zásobníkový automat p ijímající podstrom. Ve chvíli, kdy je arity checksum roven nule, jsme p e etli kompletní podstrom. To vysv tluje, pro pouºíváme zásobníkové automaty p ijímající prázdným zásobníkem. Dal²ím d sledkem je mimo jiné to, ºe výsledný automat bude mít mén p echod neº klasický suxový automat, protoºe n které p echody není moºno

34 20 KAPITOLA 2. ZÁKLADNÍ POJMY A ALGORITMY provést, kdybychom m li prázdný zásobník. Také tento fakt se musí zohlednit v následujících algoritmech.

35 Kapitola 3 Zásobníkový automat p ijímající v²echny podstromy daného stromu Zásobníkový automat p ijímající v²echny podstromy daného stromu se v anglické literatu e ([6], [10]) ozna uje jako subtree pushdown automata. Tento automat p ijímá v²echny úplné podstromy daného stromu zapsané v prexové notaci. V této kapitole si uvedeme jednak algoritmus pro konstrukci zásobníkového automatu p ijímajícího v²echny podstromy pomocí mezikroku vytvo ení nedeterministické verze automatu a pak také online algoritmus upravený, tak aby vytvo il odpovídající zásobníkový automat rovnou deterministický. Zásobníkové automaty p ijímající podstromy daného stromu jsou p edstaveny v [6]. Tyto ZA p edstavují úplný index stromu a deterministická varianta automatu vyhledává výskyt podstromu v ase lineárním k délce prexového zápisu podstromu a p itom v bec nezávisí na délce prexového zápisu p vodního stromu. Zásobníkové automaty p ijímající v²echny podstromy daného stromu p ijímají, jak uº bylo zmín no, prázdným zásobníkem, coº zna í, ºe jsme p e etli úplný podstrom.[10] D leºité vlastnosti prexového zápisu strom a podstrom jsem uº nazna il v p edchozí kapitole, nezbývá tedy neº uvést vlastní algoritmus. 3.1 Konstrukce nedeterministického ZA p ijímajícího v²echny podstromy Algoritmus je denovaný stejn jako v [10] a [6]. Vstupem algoritmu je strom t v prexové notaci pref(t) = a 1 a 2...a n, n 1 a výstupem je nedeterministický zásobníkový automat p ijímající v²echny podstromy daného stromu M = ({0, 1, 2,..., n},a, {S}, δ, 0, S, ) 1. pro v²echny stavy i, kde 1 i n, vytvo nový p echod δ(i 1, a i, S) = (i, S arity(a i) ) 2. pro v²echny stavy i, kde 2 i n, vytvo nový p echod δ(0, a i, S) = (i, S arity(a i) ) Automat vzniklý pomocí t chto krok pro strom z obrázku 2.1 je na obrázku 3.1. Pro znázorn ní zásobníkových operací je pouºita notace z [6], kde nap íklad zápis a2 S SS znamená p echod na symbol a2 a zásobníkovou operaci S SS. 21

36 22KAPITOLA 3. ZÁSOBNÍKOVÝ AUTOMAT P IJÍMAJÍCÍ V ECHNY PODSTROMY DANÉHO STROMU Obrázek 3.1: Nedeterministický zásobníkový automat p íjímající v²echny podstromy stromu t, pref(t) = a2 a2 a0 a0 a2 a0 b1 b0

37 3.1. KONSTRUKCE NEDETERMINISTICKÉHO ZA P IJÍMAJÍCÍHO V ECHNY PODSTROMY23 Jak je vid t výsledný automat má p esn stejné stavy a p echody jako odpovídající su- xový a faktorový automat (viz obrázek 2.3). P echody mají navíc denované zásobníkové operace, které jdou denované pomocí arity vstupního symbolu. Obsah zásobníku tedy koresponduje s arity checksum. Pro praktické pouºití je pot eba vzniklý nedeterministický automat zdeterminizovat. Kaºdý nedeterministický zásobníkový automat ízený vstupem lze p evést na ekvivalentní determinický zásobníkový automat pomocí algoritmu, který je roz²í ením standardního algoritmu determinizace.[6] V algoritmu se pouºívá mnoºina cpds(q) (Contents of the PushDown Store), která pro kaºdý stav q obsahuje moºné obsahy zásobníku, kdyº se automat nachází práv ve stavu q. [10] Pomocí mnoºiny cpds(q) provádíme kontrolu, zda lze provést daný p echod, respektive zásobníkovou operaci s ním spojenou. Algoritmus determinizace vstupem ízeného zásobníkového automatu je op t denovaný stejn jako v [10] a [6]. Na vstupu je acyklický nedeterministický ZA M = ({0, 1, 2,..., n},a, {S}, δ, 0, S, ), kde je navíc po adí stav takové, ºe kdyº δ(p, a, α) = (q, β) pak p < q. Výstupem algoritmu je samoz ejm ekvivalentní deterministický ZA M = (Q,A, {S}, δ, 0, S, ). Postup je následující: 1. Na po átku je q 0 = [0], Q = {q 0 } a cpds(q 0 ) = {S} a [0] je neozna ený stav. 2. (a) Vyber neozna ený stav q' z Q' takový, ºe q' obsahuje nejmen²í moºné stavy q z Q, kde 0 q n. (b) Pokud je v cpds(q') n jaké S r, kde r 1 (tj. nap íklad S, SS, ale ne ε), tak pro kaºdý vstupní symbol a A prove : i. P idej p echod δ (p, a, α) = (q, β), kde q = {q : δ(p, a, α) = (q, β) pro v²echny p q }. (Jinými slovy, vytvo íme nový stav podle p echod, které jsou denovány ze stav, které jsou v d-subsetu q'. Takto denovaná mnoºina se práv nazývá d-subset stavu). ii. Pokud Q' je²t neobsahuje q, pak p idáme q do Q' a vytvo íme cpds(q ) =. iii. Do cpds(q) p idej v²echny ω takové, ºe δ(q, aγ) (q, ε, ω), kde γ cpds(q ) (Tedy p idáme moºné obsahy zásobníku, které mohou nastat po p echodu mezi stavy, kdyº víme, jaký je vstupní symbol a jaké jsou moºné stavy na zásobníku ve stavu, ze kterého vycházíme.) (c) Ozna q' jako ozna ený. 3. Opakuj krok 2 dokud v²echny stavy v Q' nejsou ozna ené. Kdyº si odmyslíme formát pravidel, je postup determinizace v podstat stejný jako u kone ných automat, aº na kontrolu v kroku (b) a úpravy mnoºiny cpds, hlavn v kroku iii. Podívejme se op t na p íklad stromu t, pref(t) = a2 a2 a0 a0 a2 a0 b1 b0, z obrázku 2.1. Nedeterministická verze je na obrázku 3.1 a ekvivalentní deterministická je na obrázku 3.2. P i konstrukci vzniknou následující mnoºiny cpds: cpds([0]) = {S} cpds([3, 4, 6]) = {ε} cpds([6]) = {S} cpds([1, 2, 5]) = {SS} cpds([3, 6]) = {S} cpds([7]) = {S} cpds([2]) = {SSS} cpds([4]) = {ε, S} cpds([8]) = {ε} cpds([3]) = {S, SS} cpds([5]) = {SS}

Integrování jako opak derivování

Integrování jako opak derivování Integrování jako opak derivování V tomto dokumentu budete seznámeni s derivováním b ºných funkcí a budete mít moºnost vyzkou²et mnoho zp sob derivace. Jedním z nich je proces derivování v opa ném po adí.

Více

Skalární sou in. Úvod. Denice skalárního sou inu

Skalární sou in. Úvod. Denice skalárního sou inu Skalární sou in Jedním ze zp sob, jak m ºeme dva vektory kombinovat, je skalární sou in. Výsledkem skalárního sou inu dvou vektor, jak jiº název napovídá, je skalár. V tomto letáku se nau íte, jak vypo

Více

Limity funkcí v nevlastních bodech. Obsah

Limity funkcí v nevlastních bodech. Obsah Limity funkcí v nevlastních bodech V tomto letáku si vysv tlíme, co znamená, kdyº funkce mí í do nekone na, mínus nekone na nebo se blíºí ke konkrétnímu reálnému íslu, zatímco x jde do nekone na nebo mínus

Více

Binární operace. Úvod. Pomocný text

Binární operace. Úvod. Pomocný text Pomocný text Binární operace Úvod Milí e²itelé, binární operace je pom rn abstraktní téma, a tak bude ob as pot eba odprostit se od konkrétních p íklad a podívat se na v c s ur itým nadhledem. Nicmén e²ení

Více

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody V praxi se asto setkávame s p ípady, kdy je pot eba e²it více rovnic, takzvaný systém rovnic, obvykle s více jak jednou neznámou.

Více

Vektory. Vektorové veli iny

Vektory. Vektorové veli iny Vektor je veli ina, která má jak velikost tak i sm r. Ob tyto vlastnosti musí být uvedeny, aby byl vektor stanoven úpln. V této ásti je návod, jak vektory zapsat, jak je s ítat a od ítat a jak je pouºívat

Více

Reálná ísla a posloupnosti Jan Malý

Reálná ísla a posloupnosti Jan Malý Reálná ísla a posloupnosti Jan Malý Obsah 1. Reálná ísla 1 2. Posloupnosti 2 3. Hlub²í v ty o itách 4 1. Reálná ísla 1.1. Úmluva (T leso). Pod pojmem t leso budeme v tomto textu rozum t pouze komutativní

Více

Státnice - Rekurzivní a rekurzivn spo etné mnoºiny

Státnice - Rekurzivní a rekurzivn spo etné mnoºiny Kapitola 1 Státnice - Rekurzivní a rekurzivn spo etné mnoºiny 1.1 Rekurzivn spo etné mnoºiny Denice (Rekurzivní a rekurzivn spo etná mnoºina) Charakteristická funkce mnoºiny M ozna uje charakteristickou

Více

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web:

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web: Pravd podobnost a statistika - cvi ení Simona Domesová simona.domesova@vsb.cz místnost: RA310 (budova CPIT) web: http://homel.vsb.cz/~dom0015 Cíle p edm tu vyhodnocování dat pomocí statistických metod

Více

Pr b h funkce I. Obsah. Maxima a minima funkce

Pr b h funkce I. Obsah. Maxima a minima funkce Pr b h funkce I Maxima a minima funkce V této jednotce ukáºeme jak derivování m ºe být uºite né pro hledání minimálních a maximálních hodnot funkce. Po p e tení tohoto letáku nebo shlédnutí instruktáºního

Více

T i hlavní v ty pravd podobnosti

T i hlavní v ty pravd podobnosti T i hlavní v ty pravd podobnosti 15. kv tna 2015 První p íklad P edstavme si, ºe máme atomy typu A, které se samovolným radioaktivním rozpadem rozpadají na atomy typu B. Pr m rná doba rozpadu je 3 hodiny.

Více

pokud A Rat(M), pak také A Rat(M).

pokud A Rat(M), pak také A Rat(M). Kone né automaty Pojem automat je historicky spojen s n jakou konstruktivní, algoritmickou procedurou rozhodující n jaký problém, i abstraktn ji e eno, rozhodující o tom, zda n jaký prvek pat í do dané

Více

Rovnice a nerovnice. Posloupnosti.

Rovnice a nerovnice. Posloupnosti. .. Veronika Sobotíková katedra matematiky, FEL ƒvut v Praze, http://math.feld.cvut.cz/ 30. srpna 2018.. 1/75 (v reálném oboru) Rovnicí resp. nerovnicí v reálném oboru rozumíme zápis L(x) P(x), kde zna

Více

Ergodické Markovské et zce

Ergodické Markovské et zce 1. b ezen 2013 Denice 1.1 Markovský et zec nazveme ergodickým, jestliºe z libovolného stavu m ºeme p ejít do jakéhokoliv libovolného stavu (ne nutn v jednom kroku). Denice 1.2 Markovský et zec nazveme

Více

1. (18 bod ) Náhodná veli ina X je po et rub p i 400 nezávislých hodech mincí. a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost

1. (18 bod ) Náhodná veli ina X je po et rub p i 400 nezávislých hodech mincí. a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost (8 bod ) Náhodná veli ina X je po et rub p i nezávislých hodech mincí a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost P ( X EX < ) (9 bod ) b) Formulujte centrální limitní v tu a pomocí ní vypo

Více

Vektor náhodných veli in - práce s více prom nnými

Vektor náhodných veli in - práce s více prom nnými Vektor náhodných veli in - práce s více prom nnými 12. kv tna 2015 N kdy k popisu n jaké situace pot ebujeme více neº jednu náhodnou veli inu. Nap. v k, hmotnost, vý²ku. Mezi t mito veli inami mohou být

Více

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13 Seminá e Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS ZS 2010/11, sem.

Více

P íklad 1 (Náhodná veli ina)

P íklad 1 (Náhodná veli ina) P íklad 1 (Náhodná veli ina) Uvaºujeme experiment: házení mincí. Výsledkem pokusu je rub nebo líc, ºe padne hrana neuvaºujeme. Pokud hovo íme o náhodné veli in, musíme p epsat výsledky pokusu do mnoºiny

Více

2. Ur íme sudost/lichost funkce a pr se íky s osami. 6. Na záv r na rtneme graf vy²et ované funkce. 8x. x 2 +4

2. Ur íme sudost/lichost funkce a pr se íky s osami. 6. Na záv r na rtneme graf vy²et ované funkce. 8x. x 2 +4 Pr b h funkce V této jednotce si ukáºeme jak postupovat p i vy²et ování pr b hu funkce. P edpokládáme znalost po ítání derivací a limit, které jsou dob e popsány v p edchozích letácích tohoto bloku. P

Více

Derivování sloºené funkce

Derivování sloºené funkce Derivování sloºené funkce V tomto letáku si p edstavíme speciální pravidlo pro derivování sloºené funkce (te funkci obsahující dal²í funkci). Po p e tení tohoto tetu byste m li být schopni: vysv tlit pojem

Více

Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - základní úrove obtíºnosti MAGZD10C0T01 e²ené p íklady

Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - základní úrove obtíºnosti MAGZD10C0T01 e²ené p íklady Státní maturita 00 Maturitní generálka 00 Matematika: didaktický test - základní úrove obtíºnosti MAGZD0C0T0 e²ené p íklady Autor e²ení: Jitka Vachtová 6. b ezna 0 http://www.vachtova.cz/ Obsah Úloha Úloha.

Více

Teorie her. Klasikace. Pomocný text

Teorie her. Klasikace. Pomocný text Pomocný text Teorie her Milí e²itelé, první ty i úlohy kaºdé série spojuje jisté téma a vám bude poskytnut text, který vás tímto tématem mírn provede a pom ºe vám p i e²ení t chto úloh. Teorie her, jiº

Více

Text m ºe být postupn upravován a dopl ován. Datum poslední úpravy najdete u odkazu na staºení souboru. Veronika Sobotíková

Text m ºe být postupn upravován a dopl ován. Datum poslední úpravy najdete u odkazu na staºení souboru. Veronika Sobotíková Tento text není samostatným studijním materiálem. Jde jen o prezentaci promítanou na p edná²kách, kde k ní p idávám slovní komentá. N které d leºité ásti látky pí²u pouze na tabuli a nejsou zde obsaºeny.

Více

Algoritmizace a programování

Algoritmizace a programování Pátek 14. října Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů.

Více

nazvu obecnou PDR pro neznámou funkci

nazvu obecnou PDR pro neznámou funkci Denice. Bu n N a Ω R d otev ená, d 2. Vztah tvaru F (x, u(x), Du(x),..., D (n 1) u(x), D (n) u(x)) = 0 x Ω (1) nazvu obecnou PDR pro neznámou funkci u : Ω R d R Zde je daná funkce. F : Ω R R d R dn 1 R

Více

ízení Tvorba kritéria 2. prosince 2014

ízení Tvorba kritéria 2. prosince 2014 ízení. prosince 014 Spousta lidí má pocit, ºe by m la n co ídit. A n kdy to bývá pravda. Kdyº uº nás my²lenky na ízení napadají, m li bychom si poloºit následující t i otázky: ídit? Obrovskou zku²eností

Více

Vzorové e²ení 4. série

Vzorové e²ení 4. série Vzorové e²ení 4. série Úloha 4.1 Kouma koupil Œoumovi k Vánoc m Rubikovu kostku. Strana kostky m í 10 cm. Kdyº mu ji v²ak cht l zabalit do váno ního papíru, zjistil, ºe má k dispozici pouze tvercový papír

Více

Relace. Základní pojmy.

Relace. Základní pojmy. Relace. Základní pojmy. I kdyº pojem funkce je v matematice jeden ze základních a nejd leºit j²ích, p esto se n které vztahy mezi objekty pomocí funkce popsat nedají. Jde o situace, kdybychom cht li p

Více

Prezentace. Ing. Petr V elák 6. b ezna 2009

Prezentace. Ing. Petr V elák 6. b ezna 2009 Prezentace Ing. Petr V elák 6. b ezna 2009 1 OBSAH OBSAH Obsah 1 Úvodní slovo 3 2 P íprava prezentace 4 2.1 Jak prezentace ned lat........................ 4 2.1.1 Kontrast písma a pozadí...................

Více

DeepBurner (testování UI)

DeepBurner (testování UI) ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Semestrální práce DeepBurner (testování UI) Blaºej, Friebel, Olexová, Volf P edm t: Testování uºivatelských rozhraní Obor: Softwarové inºenýrství

Více

Kelvin v kapkový generátor

Kelvin v kapkový generátor Kelvin v kapkový generátor Kry²tof Kadlec 1, Luká² Kune² 2, Luká² N me ek 3 1 Gymnázium Franti²ka Palackého, Vala²ské Mezi í í, krystoof.2@seznam.cz 2 Gymnázium, Zlatá stezka 137, Prachatice, kunamars@seznam.cz

Více

brmiversity: Um lá inteligence a teoretická informatika

brmiversity: Um lá inteligence a teoretická informatika brmiversity: Um lá inteligence a teoretická informatika P edná²ka. 6 Petr Baudi² pasky@ucw.cz brmlab 2011 Outline 1 Pravd podobnost 2 Um lá inteligence 3 Sloºitost 4 Datové struktury Pravd podobnost Pravd

Více

Řešení: Dejme tomu, že pan Alois to vezme popořadě od jara do zimy. Pro výběr fotky z jara má Alois dvanáct možností. Tady není co počítat.

Řešení: Dejme tomu, že pan Alois to vezme popořadě od jara do zimy. Pro výběr fotky z jara má Alois dvanáct možností. Tady není co počítat. KOMBINATORIKA ŘEŠENÉ PŘÍKLADY Příklad 1 Pan Alois dostal od vedení NP Šumava za úkol vytvořit propagační poster se čtyřmi fotografiemi Šumavského národního parku, každou z jiného ročního období (viz obrázek).

Více

BOZP - akcepta ní testy

BOZP - akcepta ní testy BOZP - akcepta ní testy Kristýna Streitová Zadavatel: Ing. Ji í Chludil 13. prosince 2011 Obsah 1 Úvod 2 1.1 Popis test....................................... 2 2 Testy 3 2.1 ID - 1 P ihlá²ení do systému.............................

Více

Preference v u ívání prost edk elektronické komunikace áky a studenty

Preference v u ívání prost edk elektronické komunikace áky a studenty Preference v u ívání prost edk elektronické komunikace áky a studenty (dotazníkový pr zkum) Zuzana Pustinová Dne ní doba nabízí mnohé mo nosti, jak komunikovat, ani by se ú astníci hovoru nacházeli na

Více

4 Stromy a les. Petr Hlin їn 0 5, FI MU Brno 1 FI: MA010: Stromy a les

4 Stromy a les. Petr Hlin їn 0 5, FI MU Brno 1 FI: MA010: Stromy a les 4 Stromy a les Jedn m ze z kladn ch, a patrn ї nejjednodu 0 8 0 8 m, typem graf 0 1 jsou takzvan і stromy. Jedn se o souvisl і grafy bez kru 0 6nic. P 0 0es svou (zd nlivou) jednoduchost maj stromy bohatou

Více

Obsah. Pouºité zna ení 1

Obsah. Pouºité zna ení 1 Obsah Pouºité zna ení 1 1 Úvod 3 1.1 Opera ní výzkum a jeho disciplíny.......................... 3 1.2 Úlohy matematického programování......................... 3 1.3 Standardní maximaliza ní úloha lineárního

Více

Programování 1. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Programování 1. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Programování 1. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Vstupní znalosti Podmínky, cykly Funkce, Pole, třídění Retězce

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů. Naučí nás rozdělit

Více

6. Matice. Algebraické vlastnosti

6. Matice. Algebraické vlastnosti Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan 6 Matice Algebraické vlastnosti 1 Algebraické operace s maticemi Definice Bud te A,

Více

e²ení 1. série Úvodní gulá²

e²ení 1. série Úvodní gulá² e²ení. série Úvodní gulá² Úloha.. Gulá²gvhevmnjdfs!!, ozvalo se uº o n co hlasit ji hladové monstrum dychtící po Lib n in specialit. Henry! Ví² moc dob e, ºe ti nedám, dokud neuhodne², na co myslím! Malinko

Více

Základní pojmy teorie mnoºin.

Základní pojmy teorie mnoºin. Základní pojmy teorie mnoºin. Mnoºina je základní stavební kámen moderní matematiky, i kdyº se v matematice tento pojem uºívá velmi dlouho. Uº anti tí e tí geomet i denovali kruºnici jako mnoºinu bod mající

Více

Matematický model kamery v afinním prostoru

Matematický model kamery v afinním prostoru CENTER FOR MACHINE PERCEPTION CZECH TECHNICAL UNIVERSITY Matematický model kamery v afinním prostoru (Verze 1.0.1) Jan Šochman, Tomáš Pajdla sochmj1@cmp.felk.cvut.cz, pajdla@cmp.felk.cvut.cz CTU CMP 2002

Více

Základní praktikum laserové techniky

Základní praktikum laserové techniky Základní praktikum laserové techniky Fakulta jaderná a fyzikáln inºenýrská Úloha 4: Zna kování TEA CO 2 laserem a m ení jeho charakteristik Datum m ení: 1.4.2015 Skupina: G Zpracoval: David Roesel Kruh:

Více

3. Polynomy Verze 338.

3. Polynomy Verze 338. 3. Polynomy Verze 338. V této kapitole se věnujeme vlastnostem polynomů. Definujeme základní pojmy, které se k nim váží, definujeme algebraické operace s polynomy. Diskutujeme dělitelnost polynomů, existenci

Více

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ Pozemkem se podle 2 písm. a) katastrálního zákona rozumí část zemského povrchu, a to část taková, která je od sousedních částí zemského povrchu (sousedních pozemků)

Více

Výzva k podání nabídek (zadávací dokumentace)

Výzva k podání nabídek (zadávací dokumentace) Výzva k podání nabídek (zadávací dokumentace) 1.Číslo zakázky 2.Název programu: 3.Registrační číslo projektu 4.Název projektu: 5.Název zakázky: Operační program Vzdělání pro konkurenceschopnost CZ.1.07/1.1.07/02.0129

Více

Specifikace systému ESHOP

Specifikace systému ESHOP Nabídka: Specifikace systému ESHOP březen 2009 Obsah 1 Strana zákazníka 1 1.1 Nabídka produkt, strom kategorií..................... 1 1.2 Objednávka a ko²ík.............................. 1 1.3 Registrace

Více

P íklady k prvnímu testu - Pravd podobnost

P íklady k prvnímu testu - Pravd podobnost P íklady k prvnímu testu - Pravd podobnost 28. února 204 Instrukce: Projd te si v²echny p íklady. Kaºdý p íklad se snaºte pochopit. Pak vymyslete a vy- e²te p íklad podobný. Tím se ujistíte, ºe p íkladu

Více

Aplikace pravd podobnostních model v kurzovém sázení

Aplikace pravd podobnostních model v kurzovém sázení Aplikace pravd podobnostních model v kurzovém sázení 28.4.2016 Obsah 1 Kurzové sázení Tenis Kurz jako odhad pravd podobnosti Hodnocení kvality odhadu pravd podobnosti 2 Predikce pr b hu utkání Základní

Více

1. Spo t te limity (m ºete pouºívat l'hospitalovo pravidlo) x cotg x 1. c) lim. g) lim e x 1. cos(x) =

1. Spo t te limity (m ºete pouºívat l'hospitalovo pravidlo) x cotg x 1. c) lim. g) lim e x 1. cos(x) = I. L'HOSPITALOVO PRAVIDLO A TAYLOR V POLYNOM. Spo t te limity (m ºete pouºívat l'hospitalovo pravidlo) a) lim tg sin ( + ) / e e) lim a a i) lim a a, a > P ipome me si: 3 tg 4 2 tg b) lim 3 sin 4 2 sin

Více

e²ení 1. série Úvodní gulá² autor: Kolektiv org

e²ení 1. série Úvodní gulá² autor: Kolektiv org e²ení 1. série Úvodní gulá² autor: Kolektiv org Úloha 1.1. Bubla, Lib nka, Henry a Mat j hráli hru. Protoºe byli ty i, napsali si na tabuli ty i ty ky a jejich úkolem pak bylo vepsat mezi n t i znaménka

Více

Statistika pro geografy. Rozd lení etností DEPARTMENT OF GEOGRAPHY

Statistika pro geografy. Rozd lení etností DEPARTMENT OF GEOGRAPHY Statistika pro geografy Rozd lení etností DEPARTMENT OF GEOGRAPHY Faculty of Science Palacký University Olomouc t. 17. listopadu 1192/12, 771 46 Olomouc Pojmy etnost = po et prvk se stejnou hodnotou statistického

Více

10 je 0,1; nebo taky, že 256

10 je 0,1; nebo taky, že 256 LIMITY POSLOUPNOSTÍ N Á V O D Á V O D : - - Co to je Posloupnost je parta očíslovaných čísel. Trabl je v tom, že aby to byla posloupnost, musí těch čísel být nekonečně mnoho. Očíslovaná čísla, to zavání

Více

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120 Základní informace o struktu e dat: Komise (nadkomise) obsahují leny schválené VR (po jejich identifikaci v SIS, p íp. dopln ní budou obsahovat všechny schválené leny, po novém za azení se vyplní datum

Více

Operace nad celými tabulkami

Operace nad celými tabulkami 10 Operace nad celými tabulkami V předchozích kapitolách jsme se převážně zabývali sloupci tabulek. V této kapitole se naučíme provádět některé operace, které ovlivňují tabulky jako celek. Probereme vlastnosti

Více

VYBRANÉ APLIKACE RIEMANNOVA INTEGRÁLU I. OBSAH A DÉLKA. (f(x) g(x)) dx.

VYBRANÉ APLIKACE RIEMANNOVA INTEGRÁLU I. OBSAH A DÉLKA. (f(x) g(x)) dx. VYBRANÉ APLIKACE RIEMANNOVA INTEGRÁLU I. OBSAH A DÉLKA. Výpo et obsahu rovinných ploch a) Plocha ohrani ená k ivkami zadanými v kartézských sou adnicích. Obsah S rovinné plochy ohrani ené dv ma spojitými

Více

Fyzikální praktikum 3

Fyzikální praktikum 3 Ústav fyzikální elekotroniky P írodov decká fakulta, Masarykova univerzita, Brno Fyzikální praktikum 3 Úloha 7. Opera ní zesilova Úvod Opera ní zesilova je elektronický obvod hojn vyuºívaný tém ve v²ech

Více

Uºivatelská p íru ka Octopus

Uºivatelská p íru ka Octopus Uºivatelská p íru ka Octopus Jan Bojko 11. prosince 2014 Abstrakt Uºivatelská p íru ka k aplikaci Octopus. Obsah 1 Úvod 2 2 P ihlá²ení 2 3 Naviga ní menu 2 4 Práce s tabulkou 3 5 Editace 6 5.1 Nový záznam.............................

Více

Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace

Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace Franti²ek N mec (xnemec61) xnemec61@stud.t.vutbr.cz 1 Úvod Úkolem tohoto projektu bylo vytvo it aplikaci, která bude demonstrovat

Více

Návrh realizace transformátoru Thane C. Heinse III.

Návrh realizace transformátoru Thane C. Heinse III. 1 Návrh realizace transformátoru Thane C. Heinse III. Ing. Ladislav Kopecký, ervenec 2016 Ve t etí ásti lánku se vrátíme k variant TH transformátoru s jádrem EE a provedeme návrh s konkrétním typem jádra.

Více

Jevy, nezávislost, Bayesova v ta

Jevy, nezávislost, Bayesova v ta Jevy, nezávislost, Bayesova v ta 17. b ezna 2015 Instrukce: Projd te si v²echny p íklady. Kaºdý p íklad se snaºte pochopit. Pak vymyslete a vy- e²te p íklad podobný. Tím se ujistíte, ºe p íkladu rozumíte.

Více

TVORBA MULTIMEDIÁLNÍCH PREZENTACÍ. Mgr. Jan Straka

TVORBA MULTIMEDIÁLNÍCH PREZENTACÍ. Mgr. Jan Straka TVORBA MULTIMEDIÁLNÍCH PREZENTACÍ Mgr. Jan Straka Nejčastěji používaný program pro tvorbu multimediálních prezentací je PowerPoint. V naší škole v současné době užíváme verzi 2010, budeme se tedy věnovat

Více

Konceptuální modelování

Konceptuální modelování Konceptuální modelování Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS

Více

Sazba zdrojových kód. Jakub Kadl ík 20. 03. 2014

Sazba zdrojových kód. Jakub Kadl ík 20. 03. 2014 Sazba zdrojových kód Jakub Kadl ík 20. 03. 2014 1 Obsah 1 Základní prost edí verbatim 3 2 Balí ek listings 3 3 Sazba kódu z externího souboru 5 4 Téma Solarized 5 4.1 Solarized light.............................

Více

Co je to tensor... Vektorový prostor

Co je to tensor... Vektorový prostor Vektorový prostor Co je to tensor... Tato ást je tu jen pro p ipomenutí, pokud nevíte co je to vektorový prostor, tak tení tohoto textu ukon ete na konci této v ty, neb zbytek textu by pro Vás nebyl ni

Více

Návrh realizace transformátoru Thane C. Heinse

Návrh realizace transformátoru Thane C. Heinse - 1 - Návrh realizace transformátoru Thane C. Heinse (c) Ing. Ladislav Kopecký, duben 2016 V lánku Bi-toroidní transformátor Thane C. Heinse byl uveden princip vynálezu Thane Heinse, jehož základní myšlenkou

Více

Město Mariánské Lázně

Město Mariánské Lázně Město Mariánské Lázně Městský úřad, odbor investic a dotací adresa: Městský úřad Mariánské Lázně, Ruská 155, 353 01 Mariánské Lázně telefon 354 922 111, fax 354 623 186, e-mail muml@marianskelazne.cz,

Více

Modelování v elektrotechnice

Modelování v elektrotechnice Katedra teoretické elektrotechniky Elektrotechnická fakulta ZÁPADOƒESKÁ UNIVERZITA V PLZNI Modelování v elektrotechnice Pánek David, K s Pavel, Korous Luká², Karban Pavel 28. listopadu 2012 Obsah 1 Úvod

Více

Kuželosečky a kvadriky ve škole i kolem

Kuželosečky a kvadriky ve škole i kolem Kuželosečky a kvadriky ve škole i kolem nás Bc. Aneta Mirová Kurz vznikl v rámci projektu Rozvoj systému vzdělávacích příležitostí pro nadané žáky a studenty v přírodních vědách a matematice s využitím

Více

Text m ºe být postupn upravován a dopl ován. Datum poslední úpravy najdete u odkazu na staºení souboru. Veronika Sobotíková

Text m ºe být postupn upravován a dopl ován. Datum poslední úpravy najdete u odkazu na staºení souboru. Veronika Sobotíková Tento text není smosttným studijním mteriálem. Jde jen o prezentci promítnou n p edná²kách, kde k ní p idávám slovní komentá. N které d leºité ásti látky pí²u pouze n tbuli nejsou zde obsºeny. Text m ºe

Více

se nazývá charakter grupy G. Dále budeme uvaºovat pouze kone né grupy G. Charaktery tvo í také grupu, s násobením denovaným

se nazývá charakter grupy G. Dále budeme uvaºovat pouze kone né grupy G. Charaktery tvo í také grupu, s násobením denovaným Charaktery a Diskrétní Fourierova transforace Nejd leºit j²í kvantový algorite je Diskrétní Fourierova transforace (DFT) D vody jsou dva: DFT je pro kvantové po íta e exponenciáln rychlej²í neº pro po

Více

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta 1) Uveďte alespoň dvě řádově různě rostoucí funkce f(n) takové, že n 2 = O(f(n)) a f(n) = O(n 3 ). 2) Platí-li f(n)=o(g 1 (n)) a f(n)=o(g 2 (n)), znamená to, že g 1 (n) a g 2 (n) rostou řádově stejně rychle

Více

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50 Informační systémy 2 Data v počítači EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50 18.3.2014

Více

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018. 3. Reálná čísla

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018. 3. Reálná čísla Moderní technologie ve studiu aplikované fyziky CZ..07/..00/07.008 3. Reálná čísla RACIONÁLNÍ A IRACIONÁLNÍ ČÍSLA Význačnými množinami jsou číselné množiny. K nejvýznamnějším patří množina reálných čísel,

Více

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem. 1 Matice Definice 1 Matice A typu (m, n) je zobrazení z kartézského součinu {1, 2,,m} {1, 2,,n} do množiny R Matici A obvykle zapisujeme takto: a 1n a 21 a 22 a 2n A =, a m1 a m2 a mn kde a ij R jsou její

Více

I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb

I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb 1 VŠEOBECNĚ ČSN EN 1991-1-1 poskytuje pokyny pro stanovení objemové tíhy stavebních a skladovaných materiálů nebo výrobků, pro vlastní

Více

Základní stavební prvky algoritmu

Základní stavební prvky algoritmu Základní stavební prvky algoritmu Podmínka. Cyklus for, while, do-while. Funkce, metody. Přetěžování. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká

Více

Hra Života v jednom řádku APL

Hra Života v jednom řádku APL Hra Života v jednom řádku APL Tento program je k dispozici v "Dr.Dobbs", únor 2007 Vysvětlení Pokud nejste obeznámeni s zprostředkovat to Game of Life nebo APL programovací jazyk, doporučuji konzultovat

Více

městské části Praha 3 pro rok 2016 připravila

městské části Praha 3 pro rok 2016 připravila městské části Praha 3 pro rok 2016 připravila městské části Praha 3 pro rok 2016 - Návrh projektu k 3. 2. 2016 Obsah Obsah... 2 1. KONTEXT... 3 2. CÍLE A VÝSTUPY PROJEKTU... 4 3. POSTUP PŘÍPRAVY PARTICIPAČNÍHO

Více

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ Obsah 1. Úvod 2. Kontaktní logické řízení 3. Logické řízení bezkontaktní Leden 2006 Ing.

Více

Normalizace rela ního schématu

Normalizace rela ního schématu Normalizace rela ního schématu Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy

Více

1 Spo jité náhodné veli iny

1 Spo jité náhodné veli iny Spo jité náhodné veli in. Základní pojm a e²ené p íklad Hustota pravd podobnosti U spojité náhodné veli in se pravd podobnost, ºe náhodná veli ina X padne do ur itého intervalu (a, b), po ítá jako P (X

Více

Školní kolo soutěže Mladý programátor 2016, kategorie A, B

Školní kolo soutěže Mladý programátor 2016, kategorie A, B Doporučené hodnocení školního kola: Hodnotit mohou buď učitelé školy, tým rodičů nebo si žáci, kteří se zúčastní soutěže, mohou ohodnotit úlohy navzájem sami (v tomto případě doporučujeme, aby si žáci

Více

Novinky verzí SKLADNÍK 4.24 a 4.25

Novinky verzí SKLADNÍK 4.24 a 4.25 Novinky verzí SKLADNÍK 4.24 a 4.25 Zakázky standardní přehled 1. Možnosti výběru 2. Zobrazení, funkce Zakázky přehled prací 1. Možnosti výběru 2. Mistři podle skupin 3. Tisk sumářů a skupin Zakázky ostatní

Více

Obsah. Zpracoval Ctirad Novotný pro matmodel.cz.

Obsah. Zpracoval Ctirad Novotný pro matmodel.cz. Obsah 1 Viskoelasticita 2 1.1 Modely viskoelastického materiálu...................... 2 1.1.1 Maxwell v model............................ 4 1.1.2 Kelvin v model............................. 5 1.1.3 Maxwell

Více

Informace a návod k pouºití ablony pro BP student FZS v Plzni. Ing. Petr V elák 20. únor 2012

Informace a návod k pouºití ablony pro BP student FZS v Plzni. Ing. Petr V elák 20. únor 2012 Informace a návod k pouºití ablony pro BP student FZS v Plzni Ing. Petr V elák 20. únor 2012 1 OBSAH OBSAH Obsah 1 P edmluva 4 2 Formátování a úprava bakalá ské práce 5 2.1 Vzhled stran........................................

Více

ST2 - Cvi ení 1 STATISTICKÁ INDUKCE

ST2 - Cvi ení 1 STATISTICKÁ INDUKCE ST2 - Cvi ení 1 STATISTICKÁ INDUKCE P íklad 1.1 Po et závad jistého typu elektrospot ebi e b hem záru ní doby má Poissonovo rozd lení s parametrem λ = 0,2. Jaká je pravd podobnost, ºe po prodeji 75 spot

Více

c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = 65 0 30. Vypočtěte stranu b a zbývající úhly.

c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = 65 0 30. Vypočtěte stranu b a zbývající úhly. 9. Úvod do středoškolského studia - rozšiřující učivo 9.. Další znalosti o trojúhelníku 9... Sinova věta a = sin b = sin c sin Příklad : V trojúhelníku BC platí : c = 0 cm, α = 45 0, β = 05 0. Vypočtěte

Více

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A st eda 19. listopadu 2015, 11:2013:20 ➊ (3 body) Pro diferenciální operátor ˆL je mnoºina W q denována p edpisem W q = { y(x) Dom( ˆL) : ˆL(y(x))

Více

2.2.10 Slovní úlohy vedoucí na lineární rovnice I

2.2.10 Slovní úlohy vedoucí na lineární rovnice I Slovní úlohy vedoucí na lineární rovnice I Předpoklady: 0, 06 Pedagogická poznámka: Řešení slovních úloh představuje pro značnou část studentů nejobtížnější část matematiky Důvod je jednoduchý Po celou

Více

Základní praktikum laserové techniky

Základní praktikum laserové techniky Základní praktikum laserové techniky Fakulta jaderná a fyzikáln inºenýrská Úloha 6: Nelineární transmise saturovatelných absorbér Datum m ení: 18.3.2015 Skupina: G Zpracoval: David Roesel Kruh: FE Spolupracovala:

Více

Matematická analýza KMA/MA2I 3. p edná²ka Primitivní funkce

Matematická analýza KMA/MA2I 3. p edná²ka Primitivní funkce Matematická analýza KMA/MAI 3. p edná²ka Primitivní funkce Denice a základní vlastnosti P íklad Uvaºujme následující úlohu: Najd te funkci F : R R takovou, ºe F () R. Kdo zná vzorce pro výpo et derivací

Více

1.7. Mechanické kmitání

1.7. Mechanické kmitání 1.7. Mechanické kmitání. 1. Umět vysvětlit princip netlumeného kmitavého pohybu.. Umět srovnat periodický kmitavý pohyb s periodickým pohybem po kružnici. 3. Znát charakteristické veličiny periodického

Více

Návod k použití aplikace MARKETINGOVÉ PRŮZKUMY.CZ

Návod k použití aplikace MARKETINGOVÉ PRŮZKUMY.CZ www.marketingovepruzkumy.cz Návod k použití aplikace MARKETINGOVÉ PRŮZKUMY.CZ 28.4.2011 Miloš Voborník Obsah 1. Uživatelská příručka... 1 1.1. Běžný uživatel... 1 1.1.1. Celkové rozvržení, úvodní strana...

Více

Cvi ení 7. Docházka a testík - 15 min. Distfun 10 min. Úloha 1

Cvi ení 7. Docházka a testík - 15 min. Distfun 10 min. Úloha 1 Cvi ení 7 Úkol: generování dat dle rozd lení, vykreslení rozd lení psti, odhad rozd lení dle dat, bodový odhad parametr, centrální limitní v ta, balí ek Distfun, normalizace Docházka a testík - 15 min.

Více

SRF08 ultrazvukový dálkoměr

SRF08 ultrazvukový dálkoměr SRF08 ultrazvukový dálkoměr Technické údaje Ultrazvukový dálkoměr SRF08 komunikuje pomocí sběrnice I2C, která je dostupná na řadě oblíbených kontrolérů jako OOPic, Stamp BS2p, Atom či Picaxe. Z hlediska

Více

Testy pro více veli in

Testy pro více veli in Kapitola 8 Testy pro více veli in 8.1 Testy parametr s více výb ry s p edpokladem normality dat 8.1.1 Testy s dv ma výb ry. P edpoklady: Pro spojité rozd lení normalita nebo velký výb r. Pro diskrétní

Více

1 Úvod. 2 Pom cky. 3 Postup a výsledky. 3.1 M ení p enosové funkce ve frekven ní oblasti

1 Úvod. 2 Pom cky. 3 Postup a výsledky. 3.1 M ení p enosové funkce ve frekven ní oblasti Název a íslo úlohy #7 - Disperze v optických vláknech Datum m ení 14. 5. 2015 M ení provedli Tereza Schönfeldová, David Roesel Vypracoval David Roesel Datum 19. 5. 2015 Hodnocení 1 Úvod V této úloze jsme

Více

Pravidla. používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje

Pravidla. používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje Příloha usnesení vlády ze dne 18. ledna 2016 č. 25 Pravidla používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje Preambule V souladu

Více