V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!

Formální jazyk

Z Multimediaexpo.cz

(Rozdíly mezi verzemi)
m (1 revizi)
(+ Masivní vylepšení)
Řádka 1: Řádka 1:
-
{{Wikipedia-cs|Formální jazyk|700}}
+
'''Formální jazyk''' v [[Matematika|matematice]], [[logika|logice]] a [[Informatika|informatice]] označuje [[množina|množinu]] konečných slov (tj. slov konečné délky) nad určitou [[Abeceda (formální jazyky)|abecedou]]. Místo výrazu "slovo" se někdy užívá výraz "[[textový řetězec|řetězec]]". Definice pojmu ''formální jazyk'' se může měnit podle toho, v jakém kontextu a v jakém vědním oboru jej používáme.
 +
Příkladem abecedy může být <math>\left \{ a , b \right \}</math>, slovem nad touto abecedou je například <math>ababba</math>. Příkladem jazyka můžou být slova nad touto abecedou, která obsahují stejný počet symbolů <math>a</math> a <math>b</math>.
 +
 +
'''Prázdné slovo''' (tj. slovo, které se skládá z nulového počtu znaků) se značí <math>e</math>, <math>\epsilon</math> nebo [[λ]]. Ačkoli abeceda je konečná množina a každé slovo je konečná posloupnost, jazyk konečný být nemusí, jelikož délka slov nemusí být shora omezena.
 +
 +
Abeceda je obvykle značena symbolem <math>\Sigma</math>. Zápis <math>\Sigma^{*}</math> pak označuje jazyk, obsahující všechna slova nad danou [[abeceda|abecedou]], včetně prázdného slova. Každý jazyk <math>L</math> nad určitou [[abeceda|abecedou]] <math>\Sigma</math> je [[podmnožina|podmnožinou]] jazyka <math>\Sigma^{*}</math>.
 +
 +
Příklady formálních jazyků:
 +
 +
* [[množina]] všech slov nad abecedou <math>{a, b}</math>
 +
* množina <math>\left \{ a^{n}\right\}</math>, n je [[přirozené číslo]] a <math>a^{n}</math> znamená, že <math>a</math> se vyskytuje <math>n</math>-krát za sebou.
 +
* [[Konečný jazyk|konečné jazyky]] jako například ''a,aa,bba''
 +
* množina všech programů v daném [[programovací jazyk|programovacím jazyce]]
 +
* množina všech slov, nad kterými daný [[Turingův stroj]] zastaví.
 +
 +
Formální jazyk může být definován různými způsoby, například :
 +
 +
* slova generovaná nějakou [[formální gramatika|formální gramatikou]] (viz [[Chomského hierarchie]]);
 +
* slova vyhovující nějakému [[regulární výraz|regulárnímu výrazu]];
 +
* slova akceptovaná nějakým [[automat]]em, například [[Turingův stroj|Turingovým strojem]] nebo [[konečný automat|konečným automatem]];
 +
 +
 +
{{Formální jazyky a gramatiky}}{{Článek z Wikipedie}}
[[Kategorie:Formální jazyky]]
[[Kategorie:Formální jazyky]]

Verze z 3. 9. 2014, 22:54

Formální jazyk v matematice, logice a informatice označuje množinu konečných slov (tj. slov konečné délky) nad určitou abecedou. Místo výrazu "slovo" se někdy užívá výraz "řetězec". Definice pojmu formální jazyk se může měnit podle toho, v jakém kontextu a v jakém vědním oboru jej používáme.

Příkladem abecedy může být <math>\left \{ a , b \right \}</math>, slovem nad touto abecedou je například <math>ababba</math>. Příkladem jazyka můžou být slova nad touto abecedou, která obsahují stejný počet symbolů <math>a</math> a <math>b</math>.

Prázdné slovo (tj. slovo, které se skládá z nulového počtu znaků) se značí <math>e</math>, <math>\epsilon</math> nebo λ. Ačkoli abeceda je konečná množina a každé slovo je konečná posloupnost, jazyk konečný být nemusí, jelikož délka slov nemusí být shora omezena.

Abeceda je obvykle značena symbolem <math>\Sigma</math>. Zápis <math>\Sigma^{*}</math> pak označuje jazyk, obsahující všechna slova nad danou abecedou, včetně prázdného slova. Každý jazyk <math>L</math> nad určitou abecedou <math>\Sigma</math> je podmnožinou jazyka <math>\Sigma^{*}</math>.

Příklady formálních jazyků:

Formální jazyk může být definován různými způsoby, například :