Reguláris nyelvek metszete
Legyen adott két reguláris nyelv, L1, L2. Bebizonyítjuk, hogy a metszetük, L = L1 ∩ L2 is reguláris nyelv.
A bizonyítás ötlete
Adott két reguláris nyelv, L1 és L2, és be akarjuk bizonyítani, hogy az L1 ∩ L2 metszet is reguláris nyelv. Mivel L1 és L2 reguláris nyelvek, léteznek olyan A1 és A2 véges automaták, amelyek elfogadják az L1, illetve az L2 nyelvet, vagyis L(A1) = L1 és L(A2) = L2. Ezután megszerkesztünk egy olyan A véges automatát, amely az L1 ∩ L2 nyelvet fogadja el, és ezzel bebizonyítjuk, hogy az L1 ∩ L2 nyelv reguláris.
Egy szó akkor tartozik a nyelvek metszetébe, ha az L1 és egyben az L2 nyelvnek is eleme. A szót tehát az A1 és egyben az A2 automatának is el kell fogadnia. Pontosan ugyanazt az ötletet használjuk, mint a reguláris nyelvek uniójánál, csak a végállapotok halmazát változtatjuk meg.
Az eljárás formalizálása
Adott két automata,
Megszerkesztjük az A = ⟨Q, Σ, δ, q, F⟩ automatát, amely az L(A1) ∩ L(A2) nyelvet fogadja el. Teljesül, hogy
- Q = Q1 × Q2
- Σ= Σ1 ∩ Σ2
- q = ⟨q0, p0⟩
- F = F1 × F2
A δ átmeneti függvényre a következő összefüggés teljesül:
Példa
Adott ez az A1 automata, amely elfogadja az összes olyan szót, amelyben páros számú 1 van:
és az A2 automata, amely a páratlan számú 0-t tartalmazó szavakat fogadja el:
Megszerkesztjük azt az automatát, amely e nyelvek metszetét fogadja el. Ennek az automatának az állapothalmaza Q = Q1 × Q2, a kezdőállapot a ⟨q0, p0⟩ állapot, a végállapotok pedig F1 × F2:
Ezután megrajzoljuk az átmeneteket úgy, hogy δ(⟨q,p⟩, a) = ⟨δ1(q, a), δ2(p, a)⟩:
Ebben az automatában például a ⟨q0, p0⟩ állapotból a 0 szimbólumra a ⟨q0,p1⟩ állapotba vezet átmenet. Ez azt jelenti, hogy az A1 automatában a q0 állapotból a 0 szimbólumra visszavezet átmenet a q0 állapotba. Az A2 automatában pedig a 0 szimbólumra a p0 állapotból a p1 állapotba vezet átmenet.
Az automatát ki is próbálhatjuk. El kell fogadnia az olyan szavakat, mint a 110 vagy a 00000 (páros számú 1-et és egyben páratlan számú 0-t tartalmaznak), de nem szabad elfogadnia az olyan szavakat, mint a 11, 111, 1010.
Források
Fejezetek: A reguláris nyelvek zártsága, Reguláris nyelvek uniója, Reguláris nyelvek metszete, Reguláris nyelvek különbsége, Reguláris nyelv komplementere, Reguláris nyelvek összefűzése, Reguláris nyelv lezárása