Reguláris nyelvEgy reguláris nyelv minden esetben egy formális nyelv (ugyanis: egy véges ábécéből létrehozható, véges hosszúságú sorozatokból álló, valószínűleg végtelen halmaz), ami kielégíti a következő ekvivalencia jellemzőket:
Reguláris nyelv egy adott ábécé felettEgy adott Σ ábécé felett létező összes reguláris nyelvet a következő rekurzív definíciókkal adhatjuk meg:
Minden véges nyelv szabályos. Például az {a, b} ábécé felett értelmezett nyelv, amely az összes páros számú a tartalmazza, vagy az a nyelv, amely tartalmazza az összes, a következő formában meghatározható stringet: különböző számú ak, amelyeket különböző számú bk követnek. Ha egy nyelv nem szabályos, akkor a felismeréséhez legalább Ω(log log n) munkaterületre van szükség (ahol n a bemenő szimbólumsorozat hossza). A gyakorlatban a legtöbb nem reguláris probléma gépi megoldásához logaritmikus tér szükséges. Zártsági tulajdonságokA reguláris nyelvek zártak a következő műveletek szempontjából (abban az esetben, ha "L" és "P" reguláris nyelvek, akkor a következő nyelvek szintén reguláris nyelvek lesznek):
Hogyan dönthető el egy nyelvről, hogy reguláris-e?A reguláris nyelvek Chomsky-féle hierarchiabeli helye szerint minden reguláris nyelv környezetfüggetlen. A megállapítás visszafelé azonban nem igaz: például az a nyelv, amely tartalmazza az összes olyan stringet, amelyekben ugyanannyi a's van, mint b, az környezetfüggetlen, de nem reguláris. Annak bizonyítására, hogy a fenti nyelv nem reguláris, a Myhill–Nerode-tétel vagy a pumping lemma használható. A következőkben két tisztán algebrai megközelítést mutatunk a szabályos nyelvek meghatározásra.
Az L nyelv akkor és csak akkor szabályos, ha az ~ ekvivalencia osztályainak száma véges; ebben az esetben, ez a szám azonos az L nyelvet elfogadó minimálautomata átmeneteinek számával. Angol nyelvű forrás
Egyéb kapcsolat
|
Portal di Ensiklopedia Dunia