✖

Komplement af et regulært sprog

Vi har et regulært sprog L. Vi viser, at komplementet til sproget L igen er et regulært sprog.

Hvad er et komplement

Ved komplementet til sproget L forstår vi alle de ord, der ikke er i sproget L. Komplementet betegner vi L'. Dvs. for alfabetet Σ gælder:

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

For sproget af ord, der indeholder mindst ét symbol 1, ville komplementet for eksempel være sproget, der indeholder de ord, som slet ikke indeholder symbolet 1.

Fremgangsmåde

Fremgangsmåden er meget enkel. Vi har et regulært sprog L og en deterministisk total automat A = ⟨Q, Σ, δ, q0, F⟩, som accepterer det (enhver endelig automat kan omdannes til sådan en). Automaten A', som accepterer L', konstruerer vi ved at bytte om på accepttilstande og ikke-accepterende tilstande: A' = ⟨Q, Σ, δ, q0, Q ∖ F⟩. Det er alt.

Eksempel

Vi ser på denne automat:

Automaten, der accepterer komplementet til sproget, ville se sådan ud:

Kilder

Kapitler: Lukkethed af regulære sprog, Forening af regulære sprog, Fællesmængde af regulære sprog, Differens af regulære sprog, Komplement af et regulært sprog, Konkatenering af regulære sprog, Kleene-stjerne af et regulært sprog