V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!
V tiskové zprávě k 18. narozeninám brzy najdete nové a zásadní informace.

Formální jazyk

Z Multimediaexpo.cz

(Rozdíly mezi verzemi)
m (1 revizi)
m (Nahrazení textu „</math>“ textem „\)</big>“)
 
(Nejsou zobrazeny 2 mezilehlé verze.)
Řá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 <big>\(\left \{ a , b \right \}\)</big>, slovem nad touto abecedou je například <big>\(ababba\)</big>. Příkladem jazyka můžou být slova nad touto abecedou, která obsahují stejný počet symbolů <big>\(a\)</big> a <big>\(b\)</big>.
 +
 +
'''Prázdné slovo''' (tj. slovo, které se skládá z nulového počtu znaků) se značí <big>\(e\)</big>, <big>\(\epsilon\)</big> 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 <big>\(\Sigma\)</big>. Zápis <big>\(\Sigma^{*}\)</big> pak označuje jazyk, obsahující všechna slova nad danou [[abeceda|abecedou]], včetně prázdného slova. Každý jazyk <big>\(L\)</big> nad určitou [[abeceda|abecedou]] <big>\(\Sigma\)</big> je [[podmnožina|podmnožinou]] jazyka <big>\(\Sigma^{*}\)</big>.
 +
 +
Příklady formálních jazyků:
 +
 +
* [[množina]] všech slov nad abecedou <big>\({a, b}\)</big>
 +
* množina <big>\(\left \{ a^{n}\right\}\)</big>, n je [[přirozené číslo]] a <big>\(a^{n}\)</big> znamená, že <big>\(a\)</big> se vyskytuje <big>\(n\)</big>-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]]

Aktuální verze z 14. 8. 2022, 14:51

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 \(\left \{ a , b \right \}\), slovem nad touto abecedou je například \(ababba\). Příkladem jazyka můžou být slova nad touto abecedou, která obsahují stejný počet symbolů \(a\) a \(b\).

Prázdné slovo (tj. slovo, které se skládá z nulového počtu znaků) se značí \(e\), \(\epsilon\) 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 \(\Sigma\). Zápis \(\Sigma^{*}\) pak označuje jazyk, obsahující všechna slova nad danou abecedou, včetně prázdného slova. Každý jazyk \(L\) nad určitou abecedou \(\Sigma\) je podmnožinou jazyka \(\Sigma^{*}\).

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

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