Säännöllisten kielten leikkaus
Olkoon meillä kaksi säännöllistä kieltä L1, L2. Todistamme, että niiden leikkaus L = L1 ∩ L2 on myös säännöllinen kieli.
Todistuksen idea
Meillä on kaksi säännöllistä kieltä L1 ja L2, ja haluamme todistaa, että niiden leikkaus L1 ∩ L2 on jälleen säännöllinen kieli. Koska L1 ja L2 ovat säännöllisiä kieliä, on olemassa äärelliset automaatit A1 ja A2, jotka hyväksyvät kielet L1 ja L2, eli pätee L(A1) = L1 ja L(A2) = L2. Rakennamme seuraavaksi äärellisen automaatin A, joka hyväksyy kielen L1 ∩ L2, ja todistamme näin, että kieli L1 ∩ L2 on säännöllinen.
Sana kuuluu kielten leikkaukseen, jos se kuuluu kieleen L1 ja samalla kieleen L2. Sanan täytyy siis kuulua sekä automaatin A1 että automaatin A2 hyväksymiin. Käytämme täsmälleen samaa ideaa kuin säännöllisten kielten yhdisteessä, muutamme vain lopputilojen joukkoa.
Menetelmän formalisointi
Meillä on kaksi automaattia,
Rakennamme automaatin A = (Q, Σ, δ, q, F), joka hyväksyy kielen L(A1) ∩ L(A2). Pätee, että
- Q = Q1 × Q2
- Σ= Σ1 ∩ Σ2
- q = (q0, p0)
- F = F1 × F2
Siirtymäfunktiolle δ pätee seuraava yhtälö:
Esimerkki
Olkoon meillä tämä automaatti A1, joka hyväksyy kaikki sanat, joissa on parillinen määrä ykkösiä:
ja automaatti A2, joka hyväksyy sanat, joissa on pariton määrä nollia:
Rakennamme automaatin, joka hyväksyy näiden kielten leikkauksen. Tämän automaatin tilojen joukko on Q = Q1 × Q2, alkutila on tila (q0, p0) ja lopputilat ovat F1 × F2:
Sitten viimeistelemme siirtymät niin, että δ((q, p), a) = (δ1(q, a), δ2(p, a)):
Tässä automaatissa on esimerkiksi tilasta (q0, p0) symbolille 0 siirtymä tilaan (q0, p1). Se tarkoittaa, että automaatilla A1 on tilasta q0 symbolille 0 siirtymä takaisin tilaan q0. Automaatilla A2 taas on symbolille 0 siirtymä tilasta p0 tilaan p1.
Automaattia voi kokeilla. Sen pitäisi hyväksyä sanat kuten 110 tai 00000 (niissä on parillinen määrä ykkösiä ja samalla pariton määrä nollia), mutta sen ei pitäisi hyväksyä sanoja kuten 11, 111, 1010.
Lähteet
Luvut: Säännöllisten kielten sulkeumaominaisuudet, Säännöllisten kielten yhdiste, Säännöllisten kielten leikkaus, Säännöllisten kielten erotus, Säännöllisen kielen komplementti, Säännöllisten kielten konkatenaatio, Säännöllisen kielen Kleenen tähti