Multimediaexpo.cz je již 18 let na českém internetu !!
Formální jazyk
Z Multimediaexpo.cz
m (1 revizi) |
(+ Masivní vylepšení) |
||
Řádka 1: | Řádka 1: | ||
- | + | '''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ů:
- 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é jazyky jako například a,aa,bba
- množina všech programů v daném 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í gramatikou (viz Chomského hierarchie);
- slova vyhovující nějakému regulárnímu výrazu;
- slova akceptovaná nějakým automatem, například Turingovým strojem nebo konečným automatem;
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |