Formální jazyk

Z Wikipedie, otevřené encyklopedie

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

Prázdné slovo (tj. slovo, které se skládá z nulového počtu znaků) se značí , (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 (stále konečných) slov nemusí být shora omezena.

Abeceda je obvykle značena symbolem . Zápis pak označuje jazyk, obsahující všechna slova nad danou abecedou, včetně prázdného slova. Každý jazyk nad určitou abecedou je podmnožinou jazyka .

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

  • množina všech slov nad abecedou
  • množina , n je přirozené číslo a znamená, že se vyskytuje -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:

Odkazy

Reference


Související články