✖

Säännöllisen kielen komplementti

Meillä on säännöllinen kieli L. Todistamme, että kielen L komplementti on jälleen säännöllinen kieli.

Mikä komplementti on

Kielen L komplementilla tarkoitetaan kaikkia sanoja, jotka eivät kuulu kieleen L. Komplementtia merkitään Lc. Eli aakkostolle Σ pätee:

Lc={w∈Σ∗|w∉L}.

Esimerkiksi kielen, jonka sanoissa on ainakin yksi symboli 1, komplementti olisi kieli, jonka sanoissa ei ole yhtään symbolia 1.

Menetelmä

Menetelmä on hyvin yksinkertainen. Meillä on säännöllinen kieli L ja sen hyväksyvä deterministinen täydellinen automaatti A = (Q, Σ, δ, q0, F) (jokaisen äärellisen automaatin voi muuntaa sellaiseksi). Automaatin A', joka hyväksyy kielen Lc, rakennamme vaihtamalla lopputilat ja ei-hyväksyvät tilat keskenään: A' = (Q, Σ, δ, q0, Q ∖ F). Siinä kaikki.

Esimerkki

Olkoon meillä tämä automaatti:

Kielen komplementin hyväksyvä automaatti näyttäisi tältä:

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