Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Abeceda a formální jazyk U přirozeného jazyka je nutné znát nejprve písmena, z nichž se tvoří slova a potom věty Stejně je tomu i u formálních jazyků DEF:

Podobné prezentace


Prezentace na téma: "Abeceda a formální jazyk U přirozeného jazyka je nutné znát nejprve písmena, z nichž se tvoří slova a potom věty Stejně je tomu i u formálních jazyků DEF:"— Transkript prezentace:

1 Abeceda a formální jazyk U přirozeného jazyka je nutné znát nejprve písmena, z nichž se tvoří slova a potom věty Stejně je tomu i u formálních jazyků DEF: Abeceda je konečná množina prvků, které nazýváme symboly. Příklad:  A = {a,b,c, …,x,y,z}B = {0,1}  C = {0,1,2,…,9}D = {.,0,1,2,…,9}

2 Řetězce nad danou abecedou DEF: Řetězec nad abecedou A je libovolná konečná posloupnost symbolů z abecedy A. x = a 1 a 2 …..a k-1 a k je řetězec nad A  {a i  A | i=1,..,k} Příklad:  je řetězec nad abecedou A = {0,1}  je řetězec nad abecedou B = {.,0,1,2,…,9}  0.A567 není řetězec nad abecedou B = {.,0,1,2,…,9} DEF: Délka řetězce je rovna počtu symbolů v řetězci.  x = a 1 a 2 …..a k-1 a k & a i  A pro  i=1,..,k, potom |x| = k

3 Řetězce nad danou abecedou DEF: Řetězec s nulovou délkou se nazývá prázdný řetězec a značí se e. DEF Obrácený řetězec. Jestliže x = a 1 a 2 …..a k-1 a k je řetězec nad abecedou A potom x R = a k a k-1 …..a 2 a 1 je obrácený řetězec k řetězci x Příklad:  x = abcde x R = edcba Tvrzení: (x R ) R = x

4 Operace zřetězení DEF: Jestliže x = a 1 a 2 …a k-1 a k a y = b 1 b 2 …b l-1 b l, potom řetězec xy = a 1 a 2 …a k b 1 b 2 …b l-1 b l nazýváme zřetězením řetězců x a y (značíme xy) Tvrzení: Množina všech řetězců nad danou abecedou je uzavřená vzhledem k operaci zřetězení. Důkaz: Nechť x = a 1 a 2 …a k-1 a k {a i  A, i=1,..,k} y = b 1 b 2 …b l-1 b l, {b i  A, i=1,..,l} potom xy = a 1 a 2 …a k b 1 b 2 …b l-1 b l = c 1 …c k c k+1 …c k+l a současně {c i  A, i=1,..,k+l}

5 Prefix, postfix a podřetězec DEF: Jestliže x = a 1 a 2 …a i …a j ….a m, potom libovolný řetězec u = a 1 a 2 …a i nazýváme prefixem řetězce x v = a i+1 …a j nazýváme podřetězcem řetězce x w = a j+1 …a m nazýváme postfixem řetězce x Napíšeme-li řetězec ve tvaru x=uvw, potom u je prefix, v je podřetězec a w je postfix

6 Prefix, postfix a podřetězec Příklad: Nechť x = 0101 potom prefixy: e, 0, 01, 010, 0101 podřetězce: e, 0, 1, 01, 10, 010, 101, 0101 postfixy: e, 1, 01, 101, 0101 (prefixem není 1, 10 atd.; podřetězcem není 11, 00 atd.) (e je prefixem, postfixem i podřetězcem lib. řetězce) Úloha: x = hradec ??? prefixy, podřetězce, postfixy

7 Množina řetězců nad abecedou DEF: Nechť A je libovolná abeceda. Množina všech řetězců nad abecedou A se označuje A *. DEF: Množina všech neprázdných řetězců nad abecedou A se označuje A +. Platí A + = A * – {e} Příklad: Nechť A = {0,1}, potom A * = {e, 0, 1, 00, 01, 10, 11, 000, 001, 010, …} A + = {0, 1, 00, 01, 10, 11, 000, 001, 010, …}

8 Formální jazyky DEF: Nechť A je daná abeceda. Potom libovolná podmnožina L  A * je formální jazyk nad abecedou A. Je-li L konečná (respektive nekonečná), je příslušný jazyk konečný (respektive nekonečný) Jazyk může být i prázdný. Příklad: Nechť L je český jazyk, potom:  x  L: Ahoj, čau, dobré, ráno, dobrý, den, dobrou, noc, …  x  L: Axoj, čaw, dibré, morning, bnon, jour, ….

9 Formální jazyky Jazyk je množina a z toho plyne, že jej umíme popsat: - vyjmenováním všech prvků - definováním vlastnosti, kterou musí všechny prvky množiny splňovat Příklad: A = {a}, potom L 1 = {e, a, aa, aaa} = {a i | i = 0, 1, 2, 3} …konečný L 2 = {a, aa, aaa, …} = {a i | i > 0} = A + …nekonečný L 3 = Ø …prázdný L 4 = {e}  L 3 = Ø …neprázdný jazyk obsahující jediné slovo

10 Formální jazyky Jazyk je množina a z toho plyne, že lze používat i běžné množinové operace: DEF: Nechť A a B jsou abecedy, L 1 a L 2 jazyky takové, že L 1  A * a L 2  B *. Potom platí  A  B = {x| x  A  x  B} L 1  L 2 = {y| y  L 1  y  L 2 }  A  B = {x| x  A  x  B} L 1  L 2 = {y| y  L 1  y  L 2 }  A \ B = {x| x  A  x  B} L 1 \ L 2 = {y| y  L 1  y  L 2 }

11 Formální jazyky DEF: Operace zřetězení jazyků:  L =L1L2 = {xy| x  L1  y  L2} Příklad: Nechť L 1 ={a,b,.., z} a L 2 = {a,b,..,z,0,1,..,9} *. Potom L= L 1 L 2 je množina všech řetězců nad abecedou {a,b,..,z,0,1,..,9} takových, že x = a 1 a 2 …a n, kde a 1  L 1 & a 2 …a n  L 2 L = ? L je množina všech běžně používaných identifikátorů, jelikož každý řetězec z L začíná písmenem.

12 Formální jazyky DEF: Nechť L je jazyk, potom n-tou moncninu jazyka definujeme takto: L 0 = {e} L n = L  L n-1 pro n  1 Příklad: L = {ab, ba} Napište první čtyři mocniny jazyka L. Popište slovy n-tou mocninu jazyka L.

13 Formální jazyky DEF: Nechť L je jazyk, potom iterací jazyka rozumíme množinu L * = L 0  L 1  L 2  L 3  L 4  … a pozitivní iterací množinu L + = L 1  L 2  L 3  … Platí: L * = L +  {e}, L + = L  L * = L *  L Příklad: L = {ab} L + = {ab, abab, ababab, abababab, ….} L * = {e, ab, abab, ababab, abababab, ….}

14 Formální jazyky - úkoly Příklad:L = {0,1,..,9} * Jazyk nezáporných celých čísel s vedoucími nulami. Úlohy: Nadefinujte jazyk, který obsahuje nezáporná celá čísla (bez vedoucích nul). Nadefinujte jazyk, který obsahuje všechna celá čísla. Nadefinujte jazyk, který obsahuje reálná čísla. Nadefinujte jazyk, který obsahuje množinu všech komentářů v programovacím jazyce C. Nadefinujte jazyk nad abecedou {a,b,…,z}, který obsahuje všechny slova obsahující podřetězec zuzana.

15 Formální jazyky - úkoly Úlohy: Lze množinu přirozených čísel považovat za abecedu? Lze množinu přirozených čísel považovat za jazyk? Která slova jsou zároveň prefixem i sufixem slova 101? Jaká slova vzniknou zřetězením jazyků {11,00} a {11,0}? Jaký jazyk vznikne iterací jazyka {00,01,1}? Obsahuje tento jazyk všechna slova nad abecedou {0,1}? Pro L 1 ={w  {a,b}|w obsahuje sudý počet symbolů a} a L 2 ={w  {a,b}|w začíná a končí stejným symbolem} napište několik prvních slov z L 1  L 2, L 1  L 2, L 1 \ L 2, \L 1.

16 Formální jazyky - úkoly Úlohy: Popište slovně jazyk nad abecedou {0,1} vzniklý iterací jazyka {00,111} * ? Jak lze schematicky popsat všechny posloupnosti stisků přepínačů A a B, které zajistí, že žárovka poté znovu svítí? AB


Stáhnout ppt "Abeceda a formální jazyk U přirozeného jazyka je nutné znát nejprve písmena, z nichž se tvoří slova a potom věty Stejně je tomu i u formálních jazyků DEF:"

Podobné prezentace


Reklamy Google