Az elméleti számítástechnikában , pontosabban a formális nyelvek elméletében az iterációs magasság a reguláris kifejezések szerkezeti összetettségének mértéke - egy reguláris kifejezés iterációs magassága megegyezik a reguláris kifejezésben található csillagok egymásba ágyazási mélységével. kifejezés. Az iterációs magasság fogalmát először Eggan vezette be és tanulmányozta (1963).
Formálisan egy E reguláris kifejezés iterációs magassága egy véges A ábécé felett induktív módon a következőképpen definiálható:
Itt az üres halmazt, az ε az üres karakterláncot jelöli, az E és F pedig tetszőleges reguláris kifejezések.
Egy L reguláris nyelv h ( L ) iterációs magassága az L -t képviselő összes reguláris kifejezés minimális iterációs magassága . Intuitív módon, ha egy L nyelvnek nagy az iterációs magassága, akkor maga is összetett, mert nem írható le alacsony iterációs magasságú "egyszerű" reguláris kifejezésekkel.
Míg egy reguláris kifejezés iterációs magasságának kiszámítása egyszerű, a nyelv iterációs magasságának meghatározása néha zavaró lehet. Példaként a reguláris kifejezés
Az A = {a, b} ábécé fölött 2 iterációs magasságú. A leírt nyelv azonban az összes a-ra végződő szó halmaza . Ugyanez a nyelv leírható a kifejezés segítségével
,amelynek iterációs magassága csak 1. Annak bizonyításához, hogy egy nyelv iterációs magassága 1, ki kell zárnunk annak lehetőségét, hogy a nyelvet kisebb iterációs magasságú reguláris kifejezéssel írjuk le. Ez például közvetve megtehető, ha bebizonyítjuk, hogy egy 0 iterációs magasságú nyelv csak véges számú szót tartalmaz. Mivel nyelvünk végtelen, nem lehet 0 iterációs magassága.
A csoportnyelv iterációs magassága kiszámítható. Például egy olyan nyelvi iteráció magassága { a , b } felett, amelyben a és b előfordulások száma egybevágó modulo 2 n n [ 1 ] .
A reguláris nyelvek iterációs magasságával foglalkozó alapvető tanulmányaiban Eggan [2] kapcsolatot teremtett a reguláris kifejezés elmélete, a véges automata elmélet és az irányított gráfok között . Később ez az összefüggés Eggan tételeként vált ismertté [3] . Felidézünk néhány fogalmat a gráfelméletből és az automataelméletből .
A gráfelméletben egy irányított gráf (digráf) G = ( V , E ) ciklikus rangját r ( G ) induktív módon a következőképpen definiáljuk:
Az automataelméletben egy nem determinisztikus véges automatát ε-átmenetekkel (ε-NFA) úgy definiálunk, mint egy sor ( Q , Σ, δ , q 0 , F ), amely a következőkből áll.
Egy w ∈ Σ * szót akkor fogadunk el ε-NCF-nek, ha van egy orientált lánc egy q 0 kezdeti állapottól valamilyen F végállapotig , δ -ből való digs segítségével úgy, hogy az útvonal mentén lévő összes címke összefűzése w szót képez . Az automata által elfogadott Σ * feletti összes szó halmaza az A automata által elfogadott nyelv .
Ha egy Q állapothalmazú nemdeterminisztikus A véges automatáról beszélünk irányított gráfként, akkor természetesen átmenetek által generált Q csúcshalmazú gráfot értünk . Most kijelenthetjük a tételt.
Eggan tétel : Egy L reguláris nyelv iterációs magassága egyenlő az L nyelvet elfogadó ε-átmenetekkel rendelkező összes nemdeterminisztikus véges automata legkisebb ciklikus rangjával .Ennek a tételnek a bizonyítását Eggan [2] , majd később Sakarovich [3] adta meg .
A fenti definíció feltételezi, hogy a reguláris kifejezés az A ábécé elemeire épül , és csak a halmazegyesítés , az összefűzés és a Kleene-zárás szabványos műveleteit használja . Az általánosított reguláris kifejezés reguláris kifejezésként van definiálva, de tartalmaz egy halmazkomplementműveletet is (a kiegészítést mindig az A-n keresztüli összes szóhoz viszonyítva veszik fel). Ha feltételezzük, hogy a kitöltés nem növeli az iteráció magasságát, akkor az
,meghatározhatjuk az L általánosított reguláris nyelvi iterációs magasságot , mint a minimális iterációs magasságot az L nyelvet reprezentáló összes általánosított reguláris kifejezés között .
Vegye figyelembe, hogy míg a nulla (közönséges) iterációs magasságú nyelvek véges számú szót tartalmaznak, vannak végtelen nyelvek nulla általánosított iterációs magassággal.
Példa . Reguláris kifejezés
amelyet a fenti példában láttunk, egyenértékűen átírhatjuk általánosított reguláris kifejezésként
,mivel az üres halmaz kiegészítése pontosan az A ábécé feletti összes szó . Így az A ábécé feletti összes szó halmaza, amely a betűvel végződik, iterációs magassága egy , míg az általánosított iterációs magasság nulla.
A nulla iterációs magasságú nyelveket csillag nélküli nyelveknek nevezzük . Megmutatható, hogy egy L nyelv akkor és csak akkor csillag nélküli nyelv, ha szintaktikai monoidja aperiodikus [ [4] .