2 Formální jazyky a gramatiky

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

Download "2 Formální jazyky a gramatiky"

Transkript

1 2 Formální jazyky a gramatiky 2.1 Úvod Teorie formálních gramatik a jazyků je důležitou součástí informatiky. Její využití je hlavně v oblasti tvorby překladačů, kompilátorů. Vznik teorie se datuje přibližně do roku 1956, kdy matematik polského původu Noam Chomsky na základě studia a výzkumu zákonitostí v přirozených jazycích vytvořil matematický model gramatiky. V dalším období se ukázala úzká souvislost mezi teorií formálních jazyků a teorií automatů. Chomsky vytvořil klasifikaci formálních jazyků a gramatik, přičemž je rozdělil, jak si ukážeme v této kapitole, do čtyř skupin. Co je to vlastně jazyk? Naučný Websterův slovník jej definuje jako soubor slov a metod skládání slov, které chápe a používá dostatečně velká společnost lidí. S touto definici samozřejmě pro naše účely nevystačíme. Pro potřeby matematické teorie jazyků je třeba definovat formální jazyk abstraktně jako matematický systém. 2.2 Základní pojmy V této části uvedeme základní pojmy z teorie formálních jazyků a gramatik. Podobně jako je tomu u přirozených jazyků, budeme i ve formálních jazycích používat pojmy jako jsou písmeno, slovo, věta. Abeceda A je konečná množina symbolů, ze kterých se v daném jazyku vytváření vyšší významové celky. Příklad 1. {a, b, c, d,... z, A, B, C,... Z} písmena (velké i malé) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} číslice {+ - * /., : = { } [ ] ( ) < >} speciální znaky {and, array, begin, case,..., var, while, with} vyhrazené slova Pascalu Řetězec w je libovolná konečná posloupnost symbolů dané abecedy A. Délka řetězce w je definovaná jako počet symbolů v řetězci w. V jazyku je možné teoreticky odvodit různé řetězce různé délky až po nekonečné řetězce. Z praktických důvodů mají však význam řetězce konečné délky. Zvláštní postavení má tzv. prázdný řetězec. Prázdny řetězec ε je řetězec s nulovou délkou. Obrácený řetězec wr je řetězec obsahující symboly původního řetězce v opačném pořadí. Pokud máme řetězec w = a 1 a 2 a 3... a n, tak k němu obrácený řetězec je w R = a n a n-1... a 3 a 2 a 1 Příklad 2. Nechť je řetězec x 1 = automobil jeho délka je x 1 = 9 obrácený řetězec x R 1 = libomotua Zřetězení je operace. definovaná na množině řetězců dané abecedy takto: Pokud u = a 1 a 2... a k, v = b 1 b 2... b l jsou řetězce nad danou abecedou, tak u.v = a 1 a 2... a k b 1 b 2... b l je nový řetězec uv. Zápisy u.v a uv jsou ekvivalentní. Příklad 3. Nechť x 1 = abc a x 2 = de. Potom x 1.x 2 = abcde a x 2.x 1 = deabc. Pro pojmy v následujících definicích použijeme řetězce x, y a z nad určitou abecedou. Řetězce w 1 =xy, w 2 =yz a w 3 =xyz jsou řetězce, které vznikly jejich zřetězením. Řetězec x je prefix nebo předpona řetězce w 1 i řetězce w 3. Řetězec y je postfix nebo přípona řetězce w 2. Řetězec x, y i z jsou podřetězce řetězců w 1, w 2 i w 3. Množinu všech řetězců nad abecedou A (t.j. řetězců, ve kterých se nacházejí jen znaky, které jsou prvky abecedy A) budeme označovat A * :41 Benedikovič 1 / 6

2 Množinu všech řetězců bez prázdného řetězce nad abecedou budeme označovat A +. Příklad 4. Nech x = abc. prefixy - ε, a, ab, abc postfixy - ε, c, bc, abc podreťazce - ε, a, b, c, ab, bc, abc Nech A={a, b, c}, potom: A * - {ε, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab,...} A + - {a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab,...} Na tomto místě máme všechny potřebné informace k tomu, abychom uvedli první, zatím ještě příliš všeobecnou definici formálního jazyka. Nechť A je abeceda. Potom formální jazyk nad abecedou A definujeme jako libovolnou podmnožinu množiny A *. Tato definice však umožňuje popsat samotný jazyk takovým způsobem, že vyjmenujeme všechny možné řetězce, které mají být prvky daného jazyka. Představme si však případ, kdy bychom měli tímto způsobem definovat nějaký programovací jazyk (Pascal nebo C a pod.). Vidíme, že pro tyto účely je tato základní definice prakticky nepoužitelná. Musíme hledat nějaký mechanismus, který daný jazyk úplným způsobem popíšeme. Z uvedených definicí vidíme, že abeceda i jazyk jsou množiny. Můžeme na ní tedy použít množinové operace. Nechť tedy platí, že A 1 a A 2 jsou abecedy a L 1 A * 1 a L 2 A * 2 jsou jazyky, potom A 1 A 2 = { x x A 1 x A 2 } L 1 L 2 = { y y L 1 y L 2 } A 1 A 2 = { x x A 1 x A 2 } L 1 L 2 = { y y L 1 y L 2 } A 1 - A 2 = { x x A 1 x A 2 } L 1 - L 2 = { y y L 1 y L 2 } Nad jazykem se setkáváme i s následujícími operacemi: Nechť L 1 a L 2 jsou jazyky. Potom jejich zřetězením voláme jazyk L s vlastnostmi: L = { xy x L 1 y L 2 } Příklad 5. L 1 = { a, b,... z, A,... Z }, L 2 = { a,... z, A,...Z, 0, 1,... 9 }*. L = L 1 L 2 je jazyk řetězců složený z písmen a číslic, které začínají písmenem. Pokud L je jazyk, tak jeho n-tou mocninu definujeme takto: L 0 = { ε } L n = L.L n-1 pre n 1 Uzávěr jazyka L je množina L * = L i pro i 0 Pozitivní uzávěr jazyka L je množina L + = L i pro i Gramatika Již jsme zmínili, že první definice formálního jazyka uvedená v předcházející části není vhodná pro praktické použití v souvislosti s popisem nějakého programovacího jazyka. Vyžaduje vyjmenování všech možných řetězců. Potřebujeme vytvořit nějaký mechanismus vyčerpávajícím způsobem popisující daný jazyk. Tímto mechanismem je tzv. gramatika. Představuje systém syntaktických pravidel, pomocí kterého je možné vygenerovat libovolný řetězec jazyka, případně je možné zjistit, či daný řetězec do jazyka patří nebo ne. V definici gramatiky se vyskytují následující pojmy: Terminál nebo terminální symbol je prvotní symbol daného jazyka. Jde o symbol z množiny symbolů jazyka, který už v procesu analýzy nenahrazujeme. Jde o cílový termín, který je součástí nějakého řetězce jazyka. Neterminál nebo neterminální symbol je symbol definovaný pomocí pravidel jazyka :41 Benedikovič 2 / 6

3 Začátečný symbol (také startovací) je jeden z neterminálních symbolů, ze kterého začíná generování vět jazyka, případně analýza věty. Přepisovací pravidlo nebo vytvářecí pravidlo, produkce je předpis, který určuje způsob náhrady neterminálu jiným podřetězcem. Následuje všeobecná definice gramatiky, na základě které se vykonává analýza věty, t.j. zjišťuje se, zda analyzovaná věta ( může to být například program v programovacím jazyce) vyhovuje syntaktickým pravidlům jazyka. Gramatika určuje jen syntaxi jazyka přípustnou strukturu vět. Významem věty je zabývá sémantika. Syntakticky správná věta ještě nemusí být správná z významového, sémantického hlediska. Gramatika je definovaná jako čtveřice G = ( N, T, P, S ), kde N konečná množina neterminálních symbolů, T konečná množina terminálních symbolů, N T =, S začáteční symbol, S N, (musí byť pouze jeden!). P konečná množina přepisovacích pravidel z (N T) * N (N T) * x (N T) * Stručně si vysvětlíme význam a použití symbolů v definice. Pro odlišení neterminálů (množiny N) od terminálů (množina T) často používáme v praxi zápis neterminálu uzavřeného v lomených závorkách, například <identifikátor>. Slovo identifikátor se může vyskytnout i přímo jako součást řetězce, tedy jako terminál. Pokud je uvedené v ostrých závorkách, potom vyjadřuje neterminál zastupující celou množinu pojmů splňujících určité vlastnosti. O které konkrétní pojmy jde, určují pravidla z množiny P. Lomené závorky použijeme pro jasné odlišení terminálů a neterminálů. Tam můžeme použít stejné slovo ve dvou významech a přitom zaručíme požadovanou disjunktnost množin N a T. Přepisovací pravidla jsou základem pro generování vět jazyka. V definici gramatiky jsou vyjádřené jako kartézský součin. Jeden konkrétní případ kartézského součinu množiny P představuje přepisovací pravidlo, ve kterém na levé musí být alespoň jeden neterminál, kvůli kterému se náhrada vykonává. Před ním a za ním můžou (ale nemusí) být řetězce složené z terminálů a neterminálů. Na pravé straně pravidla je nějaký řetězec terminálů a neterminálů (obecně může být i prázdný). Pro levé a pravé strany přepisovacího pravidla, produkce budeme někdy používat zkratky: LHS z anglického left hand side a RHS right hand side. Nad množinou řetězců terminálů a neterminálů definujeme relaci derivace nebo relaci odvození. Mějme gramatiku G = ( N, T, S, P ). Relace odvození - derivace ( značíme ji G ) definovaná nad množinou (N T) * je definovaná takto: Pokud αβγ (N T) * a αδγ (N T) *, potom dané řetězce jsou relací αβγ G αδγ tehdy, kdy v množině P existuje přepisovací pravidlo β δ Můžeme též používat následující pojmy. V případě, že pro řetězce α a β platí, že jsou v relaci derivace α G β, hovoříme také, že z α můžeme přímo derivovat β, nebo β můžeme derivovat z α. Inverzní relaci k derivaci nazýváme redukce. Tuto relaci používáme například při analýze, ve které vycházíme z analyzovaného řetězce a postupnými redukcemi se snažíme dosáhnout začáteční symbol (v tomto případě ho můžeme nazývat cílový symbol) a tím vyhlásit původní řetězec za přijatý. Nechť G = ( N, T, S, P ) je gramatika a mějme řetězce α i (N T) * pro i = 0, 1, 2,... k. Říkáme, že α k se dá derivovat z α 0, pokud platí α i G α i+1 pro i = 0, 1, 2,... k-1. Posloupnost řetězců α 0, α 1,... α k nazýváme odvození - derivace α k z α 0 Jde vlastně o posloupnost řetězců složených z terminálů a neterminálů dané gramatiky. Následující definice nám říká o skutečnosti, že ne každý řetězec (!!!) skládající se jen ze symbolů (terminálů a neterminálů) gramatiky také do této gramatiky patří! Množinu řetězců α (N T) * gramatiky G = ( N, T, S, P ), které jsou derivovatelné ze začátečního symbolu S nazýváme množina větních forem. Formální zápis: V = { α S * α, α (N T) * } :41 Benedikovič 3 / 6

4 Teď máme pohromadě vlastně všechny potřebné pojmy pro to, abychom uvedli definici jazyka, která popisuje množinu vlastních řetězců pomocí stejného systému pravidel gramatiky. Nechť G = ( N, T, S, P ) je gramatika. Jazyk L(G) specifikovaný gramatikou G je množina řetězců složených pouze z terminálních symbolů, pro které existuje derivace ze začátečního symbolu gramatiky. Formální zápis: L(G) = { w S * w, w T * } Všimněte si zásadního rozdílu od definice větné formy (vidět ho i ve formálním zápise). Řetězec jazyka je také větnou formou, ale opačně to neplatí. 2.4 Zápis syntaxe pravidel V dalším textu budeme používat následující dohodu pro zápis pojmů: Pojem Všeobecný popis Konkrétnejší popis a) neterminální symboly velká latinská písmena A, B, C, název terminálu uzavřený v lomených závorkách ve tvaru <jméno neterminálu> b) terminální symboly malá latinská písmena a, b, c,... přímo koncové symboly popisovaného jazyka c) slova složená z terminálních malá řecká písmena α, β, γ,... skutečný řetězec a neterminálních symbolů d) slova složená jen malá latinská písmena, pokud to skutečný řetězec z terminálních symbolů z kontextu není jasné, s upozorněním, že je to řetězec e) přepisovací pravidla ve tvaru α β BNF, Conwayův diagram (viz dále) f) přepisovací pravidla se stejnou pravou stranou α β 1, α β 2, α β 3,... α β 1 budeme zapisovat jako α β 1 β 2 β 3... β n Backusova Naurova forma, BNF Zápis pravidel v tomto systémů je charakterizován tímto tvarem: <neterminální symbol> ::= α 1 α 2... α n kde všechny α i jsou řetězce neterminálních a terminálních symbolů nebo prázdný řetězec, kterými je definován řetězec uvedený na LHS. Neterminál na levé straně pravidla LHS je jednotka, kterou definujeme řetězcem RHS. Metasymbol ::= můžeme číst například jako definujeme jako.... Tento systém je určen na popis přepisovacích pravidel gramatiky. Je to vlastně také jazyk. Protože však popisuje vlastnosti jazyka určeného pro popis jiného jazyka, budeme mu pracovně říkat metajazyk, jeho symbolům metasymboly a jeho případným předpisům metapříkazy. V BNF použijeme následující metasymboly: metasymbol: význam metasymbolu: ::= definice symbol nahrazení levé strany (LHS) pravou stranou pravidla (RHS) při derivaci (= definuj jako... ) alternativa metaoperátor výběru jedné varianty z uvedených pravých stran (= nebo ). sekvence metaoperátor zřetězení operandů v zápise pravidla (= následuje") * mocnina metaoperátor opakování výskytů metaoperandu, (..) prázdného počtu výskytů (= opakuj ) ( ) Změna priority metaoperátorů < > Čitelné vyjádření symbolu, který nazýváme neterminál + Mocnina typu alespoň jedenkrát :41 Benedikovič 4 / 6

5 Metaoperátor opakování metaoperandů s povinným výskytem (= opakuj alespoň jednou ) Příklad 6. <identifikátor> ::= <písmeno>. ( <písmeno> <číslice> ) * <celé číslo> ::= ( <znaménko> ε ). <číslice >. <číslice> * Zápis <číslice >. <číslice> * možno zkrátit na: <číslice> + ( znaky hvězdička a plus) V uvedeném příkladě je definovaný identifikátor pro většinu běžných programovacích jazyků. Na pravé straně je zřetězením. určené, že identifikátor začíná písmenem, za kterým následuje libovolný počet znaků s tím, že každý z nich je buď písmeno nebo číslice. Metaoperátor * vyvolává opakované použití daného metaoperandu (možný je i prázdný řetězec). Mocnina má vyšší prioritu než alternativa, proto je nutné použít závorky pro změnu priority zpracovávání metaoperátorů. Zamyslete se nad případem, ve kterém by jsme s touto definicí vynechali závorky. Priorita metaoperátorů: * + nejvyšší priorita. nejnižší priorita V současnosti se používá pro zápis syntaxe i rozšířená verze Backusovej Naurovej formy(ebnf), ve které jsou na místo metaoperátoru * používají složené závorky {... } s následujícím významem: BNF EBNF význam α* { α } libovolný počet opakování řetězce α vrácení prázdného řetězce --- { α } n m řetězec α se může vyskytnout od m-krát do n-krát --- { α } 1 [ α ] Oba dva zápisy jsou ekvivalentní Řetězec α se vyskytuje maximálně 1-krát Definice identifikátoru z předcházejícího příkladu bude v zápise EBNF vypadat takto: Příklad 7. <identifikátor> ::= <písmeno>. { <písmeno> <číslice> } <celé číslo> ::= [ <znaménko> ]. <číslice >. { <číslice> } < znamienko > ::= ( + - ) Syntaktický diagram Conwayův diagram Grafické vyjádření vztahů mezi neterminály a terminály uvnitř přepisovacího pravidla. Při zobrazování platí následující pravidla: terminální symbol: a (kroužek alebo ovál) alternativa: a b... A a neterminální symbol: A ĺ A a b... A zřetězení: ab... c a b... c mocnina * : α * mocnina + : α + α α :41 Benedikovič 5 / 6

6 Příklad 8. Na tomto příkladu jsou demonstrovány pravidla z předcházejícího příkladu: identifikátor Písmeno celé číslo Číslica Písmeno Znamienko Číslica 2.5 Klasifikace gramatik Gramatiky je možné z hlediska podmínek, kladených na přepisovací pravidla rozdělit do více skupin. Umožňuje to při přípravě analyzátoru použít více, či méně úspěšně, příslušné techniky a nástroje. V současnosti se nejčastěji používá rozdělení gramatik podle Chomského. Vycházíme z definice gramatiky, přičemž Chomského klasifikace rozlišuje čtyři skupiny gramatik: Typ Název Pravidlo Omezující podmínky 0 Frázová-neomezená α β bez omezení 1 Kontextová α β α (N T) * N (N T) * a β (N T) + a platí α β 2 Bezkontextová A β A N ; α (N T) * 3 Regulární A β A N ; β = bb nebo β = b, ( kde b T a B N ) Poznámky k tabulce: ( LHS=levá, RHS=pravá strana pravidla ) 1) U kontextové gramatiky existuje alespoň jedno pravidlo, ve kterém je na levé straně (LHS) řetězec složený z více symbolů, přičemž v každém pravidle musí být v LHS jeden neterminál A, kterého se pravidlo týká. Před ním nebo za ním můžou být nějaké neprázdné podřetězce α, β, přičemž derivace neterminálu se vykonává jen v kontextu s nimi. LHS tohoto pravidla nechť je tedy ve tvaru αaβ, přičemž alespoň jeden z podřetězců α, β není prázdný. Na pravé straně (RHS) každého pravidla je neprázdný řetězec terminálů a neterminálů. Na pravé straně pravidla musí být alespoň tolik symbolů jako na levé straně. Žádné pravidlo tedy nesmí(!) větní formu zkracovat! 2) Bezkontextová gramatika se vyznačuje vlastností, že v každém pravidle je na LHS samostatně stojící neterminál. Na RHS je libovolný řetězec terminálů a neterminálů (...) prázdného řetězce. 3) V regulární gramatice existují jen pravidla s jedním neterminálem na LHS a jednoduchou pravou stranou. Na RHS může být buď samostatně umístěný jeden terminál nebo jeden terminál následovaný jedním terminálem. Na tomto rozdělení gramatik si můžeme všimnout, že platí: každá regulární gramatika je současně bezkontextovou, každá bezkontextová kontextovou a každá kontextová je gramatikou bez omezení. Obráceně to ovšem neplatí! Gramatika je systémem pravidel, pomocí kterých je možné odvozovat řetězce vyhovující této gramatice. Proto je součástí jazyka, který je charakterizovaný vlastnostmi své gramatiky. Jazyk nazýváme regulární, resp. bezkontextový, resp. kontextový, resp. bez omezení (frázový), pokud jej můžeme generovat příslušnou gramatikou (regulární, resp. bezkontextovou, resp....) Vztah mezi jednotlivými typy jazyků je analogický vztahu mezi jeho gramatikami. Ještě něco pro nepozorné gramatika je systém pravidel, jazyk je množina řetězců :41 Benedikovič 6 / 6

Formální jazyky a gramatiky Teorie programovacích jazyků

Formální jazyky a gramatiky Teorie programovacích jazyků Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina

Více

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

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické

Více

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je 28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci

Více

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti tomu gramatika je vlastně soupis pravidel, jak 1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen

Více

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

Turingovy stroje. Teoretická informatika Tomáš Foltýnek Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,

Více

Jednoznačné a nejednoznačné gramatiky

Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 2/36 Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 4/36 Automaty a gramatiky(bi-aag) 11.

Více

Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.

Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky. Teorie množin V matematice je všechno množina I čísla jsou definována pomocí množin Informatika stojí na matematice Znalosti Teorie množin využijeme v databázových systémech v informačních systémech při

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška pátá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

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

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ Abecedou se rozumí libovolná konečná množina Σ. Prvky abecedy nazýváme znaky (symboly) Slovo (řetězec) v nad abecedou Σ je libovolná konečná posloupnost znaků této abecedy. Prázdné posloupnosti znaků odpovídá

Více

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T. BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 2/41 Formální překlady BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 4/41 Automaty a gramatiky(bi-aag) 5. Překladové konečné

Více

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39 Bezkontextové jazyky Bezkontextové jazyky 1 p.1/39 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma

Více

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K. Virtuální počítač Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor Virtuální počítač Překladač Překladač : Zdrojový jazyk Cílový jazyk Analytická část:

Více

UČEBNÍ TEXTY VYSOKÝCH ŠKOL. Prof. RNDr. Milan Češka, CSc. Gramatiky a jazyky

UČEBNÍ TEXTY VYSOKÝCH ŠKOL. Prof. RNDr. Milan Češka, CSc. Gramatiky a jazyky UČEBNÍ TEXTY VYSOKÝCH ŠKOL Vysoké učení technické v Brně Fakulta elektrotechniky a informatiky Prof. RNDr. Milan Češka, CSc. Gramatiky a jazyky Tato skripta jsou určena pro kurs Základy matematické informatiky

Více

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27 Bezkontextové jazyky 2/3 Bezkontextové jazyky 2 p.1/27 Transformace bezkontextových gramatik Bezkontextové jazyky 2 p.2/27 Ekvivalentní gramatiky Definice 6.1 Necht G 1 a G 2 jsou gramatiky libovolného

Více

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,

Více

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

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března / 32 Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března 2017 1/ 32 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často

Více

Syntaxí řízený překlad

Syntaxí řízený překlad Syntaxí řízený překlad Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 27. listopadu 2008 Definice Překlad z jazyka L 1 do jazyka L 2 je definován množinou

Více

Formální jazyky a automaty Petr Šimeček

Formální jazyky a automaty Petr Šimeček Formální jazyky a automaty Petr Šimeček Úvod Formální jazyky a automaty jsou základním kamenem teoretické informatiky. Na počátku se zmíníme o Chomského klasifikaci gramatik, nástroje, který lze aplikovat

Více

Množiny, relace, zobrazení

Množiny, relace, zobrazení Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,

Více

Vlastnosti regulárních jazyků

Vlastnosti regulárních jazyků Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro

Více

Vysoké učení technické v Brně Fakulta informačních technologií. Gramatiky nad volnými grupami Petr Blatný

Vysoké učení technické v Brně Fakulta informačních technologií. Gramatiky nad volnými grupami Petr Blatný Vysoké učení technické v Brně Fakulta informačních technologií Gramatiky nad volnými grupami 2005 Petr Blatný Abstrakt Tento dokument zavádí pojmy bezkontextové gramatiky nad volnou grupou a E0L gramatiky

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Kapitola 6 LL gramatiky 6.1 Definice LL(k) gramatik Definice 6.1. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Definujme funkci FIRST G k : (N Σ) + P({w Σ w k}) předpisem FIRST G k (α) = {w Σ (α w

Více

1) Sekvenční a paralelní gramatiky

1) Sekvenční a paralelní gramatiky A. Kapitoly z teorie formálních jazyků a automatů c Milan Schwarz (006) ) Sekvenční a paralelní gramatiky Derivace v gramatikách: Sekvenční postup sekvenční gramatiky (např. gramatiky v Chomského hierarchii)

Více

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE.

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE. PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNAKICKÁ ANALÝZA DOKONČENÍ, IMPLEMENACE. VLASNOSI LL GRAMAIK A JAZYKŮ. 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Gramatika

Více

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Algebra Struktury s jednou operací Teoretická informatika 2 Proč zavádíme algebru hledáme nástroj pro popis objektů reálného světa (zejména

Více

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se MNOŽIN, ZÁKLDNÍ POJMY Pojem množiny patří v matematice ke stěžejním. Nelze jej zavést ve formě definice pomocí primitivních pojmů; považuje se totiž rovněž za pojem primitivní. Představa o pojmu množina

Více

Teoretická informatika TIN

Teoretická informatika TIN Teoretická informatika TIN Studijní opora M. Češka, T. Vojnar, A. Smrčka 20. srpna 2014 Tento učební text vznikl za podpory projektu "Zvýšení konkurenceschopnosti IT odborníků absolventů pro Evropský trh

Více

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 2. Množiny, funkce MNOŽIN, ZÁKLDNÍ POJMY Pojem množiny patří v matematice ke stěžejním. Nelze jej zavést ve formě definice pomocí

Více

Vztah jazyků Chomskeho hierarchie a jazyků TS

Vztah jazyků Chomskeho hierarchie a jazyků TS Vztah jazyků Chomskeho hierarchie a jazyků TS Jan Konečný; (přednáší Lukáš Havrlant) 15. října 2013 Jan Konečný; (přednáší Lukáš Havrlant) Chomskeho hierarchie a jazyky TS 15. října 2013 1 / 23 Rychlé

Více

Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy

Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy Metody a nástroje syntaktické analýzy Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 14. října 2011 Vlastnosti syntaktické analýzy Úkoly syntaktické

Více

AUTOMATY A GRAMATIKY

AUTOMATY A GRAMATIKY AUTOMATY A 1 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Stručný přehled přednášky Automaty Formální jazyky, operace

Více

Matematická analýza 1

Matematická analýza 1 Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod

Více

3 Množiny, Relace a Funkce

3 Množiny, Relace a Funkce 3 Množiny, Relace a Funkce V přehledu matematických formalismů informatiky se v této lekci zaměříme na základní datové typy matematiky, tj. na množiny, relace a funkce. O množinách jste sice zajisté slyšeli

Více

Formální systém výrokové logiky

Formální systém výrokové logiky Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)

Více

Lineární algebra Kapitola 1 - Základní matematické pojmy

Lineární algebra Kapitola 1 - Základní matematické pojmy Lineární algebra Kapitola 1 - Základní matematické pojmy 1.1 Relace a funkce V celém textu budeme používat následující označení pro číselné množiny: N množina všech přirozených čísel bez nuly, N={1, 2,

Více

Strukturální rozpoznávání

Strukturální rozpoznávání Strukturální rozpoznávání 1 Strukturální rozpoznávání obsah hierarchický strukturální popis systém strukturálního rozpoznávání teorie gramatik volba popisu výběr primitiv výběr gramatiky syntaktická analýza

Více

Výroková logika. Teoretická informatika Tomáš Foltýnek

Výroková logika. Teoretická informatika Tomáš Foltýnek Výroková logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Co je to formalismus a co je jeho cílem? Formulujte Russelův paradox

Více

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

Teoretická informatika - Úkol č.1

Teoretická informatika - Úkol č.1 Teoretická informatika - Úkol č.1 Lukáš Sztefek, xsztef01 18. října 2012 Příklad 1 (a) Gramatika G 1 je čtveřice G 1 = (N, Σ, P, S) kde, N je konečná množina nonterminálních symbolů N = {A, B, C} Σ je

Více

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Plán přednášky Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Obecný algoritmus pro parsování bezkontextových jazyků dynamické programování 1 Zásobníkový

Více

1 Báze a dimenze vektorového prostoru 1

1 Báze a dimenze vektorového prostoru 1 1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější

Více

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně

Více

Automaty a gramatiky

Automaty a gramatiky Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Co bylo minule Úvod do formálních gramatik produkční systémy generativní gramatika G=(V N,V T,,P) G =

Více

Množiny. množinové operace jsou mírně odlišné od

Množiny. množinové operace jsou mírně odlišné od Množiny Množina se dá chápat jako soubor prvků. ( Např. lidé na planetě zemi tvoří jednu velkou množinu.) Každá množina tedy obsahuje určitý počet prvků, který může být konečný (lze spočítat) nebo nekonečný

Více

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík B i n á r n í r e l a c e Patrik Kavecký, Radomír Hamřík Obsah 1 Kartézský součin dvou množin... 3 2 Binární relace... 6 3 Inverzní relace... 8 4 Klasifikace binární relací... 9 5 Ekvivalence... 12 2 1

Více

Vysoké učení technické v Brně Fakulta informačních technologií. Regulární pologrupy. Semestrální práce do předmětu Algebra, Kombinatorika, Grafy

Vysoké učení technické v Brně Fakulta informačních technologií. Regulární pologrupy. Semestrální práce do předmětu Algebra, Kombinatorika, Grafy Vysoké učení technické v Brně Fakulta informačních technologií Regulární pologrupy Semestrální práce do předmětu Algebra, Kombinatorika, Grafy Tomáš Masopust Brno, 2006 Obsah Úvod 1 1 Základní definice

Více

Bezkontextové gramatiky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května / 49

Bezkontextové gramatiky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května / 49 Bezkontextové gramatiky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května 2018 1/ 49 Bezkontextové gramatiky Příklad: Chtěli bychom popsat jazyk aritmetických výrazů obsahující výrazy jako například:

Více

Programovací jazyky, syntaxe, sémantika, zpsoby popisu

Programovací jazyky, syntaxe, sémantika, zpsoby popisu Sémantika programovacích jazyk: Syntaxe a sémantika Syntaxe a sémantika Programovací jazyky, syntaxe, sémantika, zpsoby popisu Ti hlavní charakteristiky jazyka (sémiotika) jsou: - syntax, sémantika a pragmatika

Více

Přednáška 3: Limita a spojitost

Přednáška 3: Limita a spojitost 3 / 1 / 17, 1:38 Přednáška 3: Limita a spojitost Limita funkce Nejdříve je potřeba upřesnit pojmy, které přesněji popisují (topologickou) strukturu množiny reálných čísel, a to zejména pojem okolí 31 Definice

Více

Bezkontextové gramatiky nad volnými grupami

Bezkontextové gramatiky nad volnými grupami Vysoké učení technické v Brně Fakulta informačních technologií Bezkontextové gramatiky nad volnými grupami 2004 Radek Bidlo Abstrakt Tento dokument zavádí pojem bezkontextové gramatiky nad volnou grupou

Více

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem 11 Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Uzávěrové vlastnosti v kostce Sjednocení Průnik Průnik s RJ Doplněk Substituce/ homomorfismus Inverzní

Více

Množiny, základní číselné množiny, množinové operace

Množiny, základní číselné množiny, množinové operace 2 Množiny, základní číselné množiny, množinové operace Pokud kliknete na některý odkaz uvnitř textu kromě prezentace, zobrazí se odpovídající příklad nebo tabulka. Levý Alt+šipka doleva nebo ikona Vás

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Algoritmus Daniela Szturcová Tento

Více

Princip rozšíření a operace s fuzzy čísly

Princip rozšíření a operace s fuzzy čísly Center for Machine Perception presents Princip rozšíření a operace s fuzzy čísly Mirko Navara Center for Machine Perception Faculty of Electrical Engineering Czech Technical University Praha, Czech Republic

Více

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Úvod do informatiky přednáška čtvrtá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Pojem relace 2 Vztahy a operace s (binárními) relacemi

Více

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

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března / 50 Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března 2013 1/ 50 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často

Více

ZÁKLADY TEORETICKÉ INFORMATIKY

ZÁKLADY TEORETICKÉ INFORMATIKY KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO ZÁKLADY TEORETICKÉ INFORMATIKY PAVEL MARTINEK VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Základy teoretické informatiky Formální jazyky a automaty

Základy teoretické informatiky Formální jazyky a automaty Základy teoretické informatiky Formální jazyky a automaty Petr Osička KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Outline Literatura Obsah J.E. Hopcroft, R. Motwani, J.D. Ullman Introduction to

Více

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α 1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny

Více

Konečný automat. Jan Kybic.

Konečný automat. Jan Kybic. Konečný automat Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2017 1 / 33 Konečný automat finite state machine Konečný automat = výpočetní model, primitivní počítač Řídící jednotka s

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Programování. Bc. Veronika Tomsová

Programování. Bc. Veronika Tomsová Programování Bc. Veronika Tomsová Regulární výrazy Regulární výrazy slouží k porovnání a zpracovaní textu PHP podporuje syntaxi POSIX-Extended Regulární výrazy jsou velice vhodné například k ověření emailové

Více

63. ročník Matematické olympiády 2013/2014

63. ročník Matematické olympiády 2013/2014 63. ročník Matematické olympiády 2013/2014 Úlohy ústředního kola kategorie P 2. soutěžní den Na řešení úloh máte 4,5 hodiny čistého času. Při soutěži je zakázáno používat jakékoliv pomůcky kromě psacích

Více

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Relace, zobrazení, algebraické struktury Michal Botur Přednáška

Více

Úvod do lineární algebry

Úvod do lineární algebry Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

Vyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Vyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Vyhledávání v textu doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 9. března 209 Jiří Dvorský (VŠB TUO) Vyhledávání v textu 402

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad 1.3. Cíle Cílem kapitoly je seznámení čtenáře s axiomy číselných oborů a jejich podmnožin (intervalů) a zavedení nových pojmů, které nejsou náplní středoškolských osnov. Průvodce studiem Vývoj matematiky

Více

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin.

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin. 1.2. Cíle Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin. Průvodce studiem Množina je jedním ze základních pojmů moderní matematiky. Teorii množin je možno budovat

Více

Semestrální práce z předmětu Teorie programovacích jazyků

Semestrální práce z předmětu Teorie programovacích jazyků Vysoké učení technické v Brně Fakulta informačních technologií Semestrální práce z předmětu Teorie programovacích jazyků Roman Lukáš 2003-2004 1 Jazykové procesory (Language Processors) 1.1 Překladače

Více

Svazy. Jan Paseka. Masarykova univerzita Brno. Svazy p.1/37

Svazy. Jan Paseka. Masarykova univerzita Brno. Svazy p.1/37 Svazy Jan Paseka Masarykova univerzita Brno Svazy p.1/37 Abstrakt Zmíníme se krátce o úplných a distributivních svazech, resp. jaké vlastnosti má řetězec reálných čísel. Svazy p.2/37 Abstrakt V této kapitole

Více

4.2 Syntaxe predikátové logiky

4.2 Syntaxe predikátové logiky 36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a

Více

Marie Duží

Marie Duží Marie Duží marie.duzi@vsb.cz Co je to množina? Množina je soubor prvků a je svými prvky plně určena; množinu s prvky a, b, c značíme: {a, b, c}. Prvkem množiny může být opět množina, množina nemusí mít

Více

Komutativní a nekomutativní polookruhy ve školské matematice. Commutative and non-commutative semi-rings in educational mathematics

Komutativní a nekomutativní polookruhy ve školské matematice. Commutative and non-commutative semi-rings in educational mathematics Komutativní a nekomutativní polookruhy ve školské matematice Drahomíra Holubová Resume Polookruhy, které nejsou okruhy, mají významné zastoupení ve školské matematice. Tento příspěvek uvádí příklady komutativních

Více

Základy teorie grupoidů a grup

Základy teorie grupoidů a grup Základy teorie grupoidů a grup 12. Základní pojmy o grupoidech In: Otakar Borůvka (author): Základy teorie grupoidů a grup. (Czech). Praha: Nakladatelství Československé akademie věd, 1962. pp. 94--100.

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS GRAMATICKÉ SYSTÉMY

Více

Návrh algoritmů pro sémantické akce při výstavbě interpretu metodou rekurzivního sestupu

Návrh algoritmů pro sémantické akce při výstavbě interpretu metodou rekurzivního sestupu Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta Návrh algoritmů pro sémantické akce při výstavbě interpretu metodou rekurzivního sestupu Diplomová práce Vedoucí práce: RNDr.

Více

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)

Více

Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva:

Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva: 1) Syntaktická analýza shora a zdola, derivační strom, kanonická derivace ezkontextová gramatika gramatika typu 2 Nechť G = je gramatika typu 1. Řekneme, že je gramatikou typu 2, platí-li: y

Více

EKO-KOLONIE. Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě 24.

EKO-KOLONIE. Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě 24. EKO-KOLONIE OBHAJOBA DISERTAČNÍ PRÁCE RNDr. Šárka Vavrečková Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě sarka.vavreckova@fpf.slu.cz 24. dubna 2008 Obsah 1 Eko-kolonie

Více

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43 Zásobníkové automaty Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu 2018 1/ 43 Zásobníkový automat Chtěli bychom rozpoznávat jazyk L = {a i b i i 1} Snažíme se navrhnout zařízení (podobné konečným

Více

Referát z předmětu Teoretická informatika

Referát z předmětu Teoretická informatika Referát z předmětu Téma: Algoritmus Coke-Younger-Kasami pro rozpoznávání bezkontextových jazyků VŠB-TU Ostrava:Fakulta Elektrotechniky a informatiky jaro 2011 Martin Dočkal doc068 dockal.martin@gmail.com

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce Marie Duží marie.duzi@vsb.cz 1 Úvod do teoretické informatiky (logika) Naivní teorie množin Co je to množina? Množina je soubor prvků

Více

Syntaxí řízený překlad

Syntaxí řízený překlad Syntaxí řízený překlad Překladový automat Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 27. listopadu 2008 Zobecněný překladový automat Překladový automat

Více

Teoretická informatika TIN 2013/2014

Teoretická informatika TIN 2013/2014 Teoretická informatika TIN 2013/2014 prof. RNDr. Milan Češka, CSc. ceska@fit.vutbr.cz doc.ing. Tomáš Vojnar, Ph.D. vojnar@fit.vutbr.cz sazba Ing. A. Smrčka, Ing. P. Erlebach, Ing. P. Novosad Vysoké učení

Více

Teoretická informatika

Teoretická informatika Teoretická informatika Ladislav Lhotka lhotka@cesnet.cz 2011-12 Zdroje LINZ, P. Formal Languages and Automata, Fourth Edition. Sudbury: Jones and Bartlett, 2006, 415+xiii s. ISBN 07-63-73798-4. CHYTIL,

Více

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

NAIVNÍ TEORIE MNOŽIN, okruh č. 5 NAIVNÍ TEORIE MNOŽIN, okruh č. 5 Definování množiny a jejích prvků Množina je souhrn nějakých věcí. Patří-li věc do množiny X, říkáme, že v ní leží, že je jejím prvkem nebo že množina X tuto věc obsahuje.

Více

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Úvod do Prologu Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Warren (Warren Abstract Machine) implementace

Více

Aritmetika s didaktikou I.

Aritmetika s didaktikou I. Katedra matematiky PF UJEP Aritmetika s didaktikou I. KM1 / 0001 Přednáška 02 Opakování základních pojmů - 2. část O čem budeme hovořit: Binární relace a jejich vlastnosti Speciální typy binárních relací

Více

Teoretická informatika

Teoretická informatika Teoretická informatika TIN 2017/2018 prof. RNDr. Milan Češka, CSc. ceska@fit.vutbr.cz prof. Ing. Tomáš Vojnar, Ph.D. vojnar@fit.vutbr.cz sazba dr. A. Smrčka, Ing. P. Erlebach, Ing. P. Novosad Vysoké učení

Více

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20 Regulární výrazy M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března 2007 1/ 20 Regulární výrazy Jako například v aritmetice můžeme pomocí operátorů + a vytvářet výrazy jako (5+3)

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce

Více