Alapfogalmak, nyelvek, grammatikák

Hol használják a formális nyelveket?

  • A természetes nyelvek gépi feldolgozása, matematikai modellezése.
  • Programozási nyelvek, fordítóprogramok
  • Kódelmélet
  • Mintafelismerés

Alapfogalmak, jelölések

  • Ábécé:* egy véges, nemürres halmaz.
  • Betűk: az ábécé elemei.
  • Szó, (string): Egy ábécé elemeiből képzett véges sorozat.
  • Egy szóban lévő betűk számát a szó hosszának nevezzük. ( = n)
  • : üres szó
  • jelöli a ábécé feletti szavak halmazát, beleértve az üres szót is.
  • \

A szavait hosszlexikografikus (shortlex) rendezés szerinti sorrendben soroljuk fel.

  • Résszó: az szó a szó résszava, ha
  • Valódi résszó: ha és
  • Prefix: ha
  • Suffix ha

Ezek valódiak, ha -tól és -tól küéönböznek.

  • Nyelv: egy egy részhalmaza.

  • Üres nyelv:

  • Véges nyelv: véges, ellenkező esetben végtelen nyelv

  • Prefix nyelv:

  • Suffox nyelv:

Példák:

  • (véges)
  • (végtelen)
  • (végtelen)

Műveletek szavakon

Konkatenáció

Legyen V egy ábécé továbbá legyenek és V feletti szavak. Ekkor az szót az és a konkatenáltjának nevezzük.

A konkatenáció mint művelet asszciatív, de általában nem kommutatív.

a konkatenáció műveletére zárt.

A konkatenáció egységelemes művelet, at egységelem az .

-edik hatvány: egy szó -szeres konkatanációja saját magával. ()

Formálisan:

Ekkor:

Tükörkép

Legyen egy ábécé feletti szó. Az szó -rel jelölt tükörképe (vagy megfordítottja) az a szó, amelyet úgy kapunk, hogy betűit az eredetihez képest fordított sorrendben konkatenáljuk. Vagyis i-edik betűje éppen -nak az . betűje .

Ha , akkor -t palindrom-nak nevezük.

Műveletek nyelveken

  • Halmazműveletek ()
    • Komplementer jelölése:
  • Konkatenáció:
    • asszociatív
    • nem kommutatív
  • -edik hatvány
  • Tükörkép:

Egy nyelv iteratív leárt

Az nyelv iteratív lezártja (kleene-lezártja):

AZ pozitív lezártja:

, ha és , ha .

Homomorfizmus

Legyen és két ábécé. A leképezést homomorfizmusnak nevezzük, ha teljesülnek a következő feltételek:

  • egyértelmű, azaz minden szóra pontosan egy szó létezik, amelyre teljesül.
  • , minden -ra.

h-homomorf képi

Legyen homomorfizmus. A homomorfizmus -mentes, ha bármely szóra. Legyen homomorfizmus. Az nyelv h-homomorf képén a nyelvet értjük.

Formális nyelvek megadása

  • Véges nyelvek esetén felsorolással
  • Formulával
  • Reguláris kifelyezéssel
  • Végtelen nyelvek esetén felsoroló algortimussal
  • Generatív grammatikákkal
    • A grammatikák szintetizáló eszközök, egyetlen szimbólumból egy szabályrendszer segítségével szavakat lehet felépíteni. Azon szavak halmaza, melyeket fel lehet építeni egy nyelvet határoz meg, tehát a grammatika szabályrendszere meghatároz egy nyelvet.
  • Matematikai gépek, automaták segítségével
    • Az automaták elemző, analitikus eszközök. Az automaták bemenete egy szó, kimenete egy bináris érték. Az automata szabályrendszere szerint feldolgozza a szavakat, csak bizonyos szavak esetén ad igen választ, ezen szavak egy nyelvet alkotnak, melyet az automata szabályrendszere határoz meg.

Figyelem! Nem feltétlen lehet minden eszközzel minden nyelvet megadni. Be fogjuk látni például, hogy reguláris kifejezéssel kevesebb nyelvet lehet leírni mint egy általános grammatikával, de az se elég az összes {0, 1} ábécé feletti nyelv leírásához.

Nyelvcsalások

Ha egy halmaz, jelölje az halmaz hatványhalmazát, azaz

Nyelvcsalád alatt nyelveknek egy halmazát értjük.

Grammatikák

Egy rendezett négyest grammatikának nevezünk, ha

  • és diszjunkt véges ábácék. elemeit nemterminális, elemeit pedig terminális szimbólumnak nevezzük.
  • a grammatika kezdőszimbóluma
  • rendezett párok véges halmaza, ahol és legalább egy nemterminális szimbólumot tartalmaz

A halmaz elemeit szabályoknak (vagy átírási szabályoknak vagy produkcióknak) hívjuk.

A gyakorlatban az jelölés helyett szinte mindig az jelölést használjuk.

Egylépéses levezetés

Legyen egy generatív grammatika és legyen . A szó közvetlenül vagy egy lépésben levezethető az szóból -ben, jelölése: , ha és
, ahol és .

Többlépéses levezetés

Legyen egy generatív grammatika és legyen . A szó (több lépésben) levezethető, ha vagy van olyan és , hogy és
Jelölés:

Reláció reflexív, tranzitív lezártja

Generált nyelv

Legyen egy tetszőleges generatív grammatika. A grammatika által generált nyelv alatt az szavakból álló halmazt értjük.

Vegyük észre, hogy a generált nyelv szavai mindig terminális szavak!

Források