Lineáris grammatikák, 3-típusú grammatikák normálformája, reguláriws kifelyezések

Lineáris grammatikák és nyelvek

Egy környezetfüggetlen grammatikát lineárisnak nevezünk, ha minden szabálya vagy

  1. vagy
  2. alakú, ahol és

A lineáris grammatikát bal-lineárisnak nevezzük, ha minden 2. alakú szabályban .

A lineáris grammatikát jobb-lineárisnak nevezünk, ha minden 2. alakú szabályban .

Bal és jobblineáris nyelvek

Egy nyelvet lineárisnak, bal-lineárisnak, illyetve jobb-lineárisnak mondunk, ha van olyan lineáris, bal-lineáris, illetve jobb-lineáris grammatika, amelyre teljesül.

Minden bal-lineáris grammatika reguláris (3-típusú) nyelvet generál.

L3 tükrözésre való zártsága

Minden jobb-lineáris grammatikához meg tudunk konstruálni egy bal-lineáris grammatikát, amely tükörképét generálja.

Következmény:

  1. zárt a tükrözés műveletére nézve.
  2. Minden reguláris nyelv generálható bal-lineáris grammatikával.

3-típusú grammatikák normálformája

Egy grammatika 3-as normálformájú, ha minden -beli szabály alakja

  • vagy
  • , ahol

Minden reguláris (azaz 3-típusú) nyelv generálható 3-as normálformájú grammatikával.

Reguláris kifelyezések

Vegyük észre, hogy minden véges nyelv reguláris. Tudjuk továbbá, hogy az nyelvosztály zárt az unió, a konkatenáció és az iteratív lezárt műveletekre nézve.

Következésképpen, kiindulva véges számú véges nyelvből és az előzőekben felsorolt reguláris műveleteket véges sokszor alkalmazva reguláris nyelvet kapunk.

Kérdés az, hogy vajon az eljárással minden reguláris nyelvet ekő tudunk-e állítani, azaz ez a módszer elégséges-e az nyelvosztály leírására?

Legyenek és diszjunkt ábécék. A ábécé feletti reguláris kifelyezéseket rekurzív módon következőképpen definiáljuk:

  • reguláris kifejezés felett
  • reguláris kifejezés felett
  • reguláris kifejezés felett, ha
  • Ha reguláris kifejezés felett, akkor is reguláris kifejezés felett
  • Ha és reguláris kifejezések felett, akkor is
  • Ha és reguláris kifejezések felett, akkor is

Minden egyes reguláris kifejezés egy-egy -rel jelölt reguláris nyelvet határoz meg, amelyeket az alábbi rekurzióval definiálunk:

  1. , ha reguláris kifejezés
  2. , ha reguláris kifejezések
  3. , ha reguláris kifejezések

A műveletek precedens sorrendje: , ennek és az asszociatív szabályok figyelembevételével bizonyos zárójelpárok elhagyhatók.

Leíró erő

Minden reguláris kifejezés reguláris nyelvet ír le, és megfordítva, minden reguláris nyelvhez megadható egy, ezen nyelvet leíró reguláris kifejezés.

Arden tétele

Ezt a tételt később a reguláris kifejezések véges automatákkal való kapcsolatának vizsgálatakor fogjuk használni.

Adottak az és reguláris kifejezések. A egyenletnek -re vonatkozó megoldása . Amennyiben , akkor az egyenletnek ez az egyetlen megoldása.

Források