Schnitt regulärer Sprachen
Gegeben seien zwei reguläre Sprachen L1, L2. Wir beweisen, dass ihr Schnitt L = L1 ∩ L2 ebenfalls eine reguläre Sprache ist.
Idee des Beweises
Wir haben zwei reguläre Sprachen L1 und L2 und wollen beweisen, dass ihr Schnitt L1 ∩ L2 wieder eine reguläre Sprache ist. Da L1 und L2 reguläre Sprachen sind, gibt es endliche Automaten A1 und A2, die die Sprachen L1 und L2 akzeptieren, es gilt also L(A1) = L1 und L(A2) = L2. Wir konstruieren nun einen endlichen Automaten A, der die Sprache L1 ∩ L2 akzeptiert, und beweisen damit, dass die Sprache L1 ∩ L2 regulär ist.
Ein Wort gehört zum Schnitt der Sprachen, wenn es sowohl zur Sprache L1 als auch zu L2 gehört. Das Wort muss also sowohl vom Automaten A1 als auch vom Automaten A2 akzeptiert werden. Wir verwenden genau dieselbe Idee wie bei der Vereinigung regulärer Sprachen, ändern nur die Menge der Endzustände.
Formalisierung des Vorgehens
Wir haben zwei Automaten,
Wir konstruieren den Automaten A = ⟨Q, Σ, δ, q, F⟩, der die Sprache L(A1) ∩ L(A2) akzeptiert. Es gilt:
- Q = Q1 × Q2
- Σ= Σ1 ∩ Σ2
- q = ⟨q0, p0⟩
- F = F1 × F2
Für die Übergangsfunktion δ gilt folgende Beziehung:
Beispiel
Gegeben sei dieser Automat A1, der alle Wörter mit einer geraden Anzahl von Einsen akzeptiert:
und der Automat A2, der Wörter mit einer ungeraden Anzahl von Nullen akzeptiert:
Wir konstruieren den Automaten, der den Schnitt dieser Sprachen akzeptiert. Die Zustandsmenge dieses Automaten hat die Form Q = Q1 × Q2, der Startzustand ist der Zustand ⟨q0, p0⟩ und die Endzustände sind F1 × F2:
Nun ergänzen wir die Übergänge so, dass δ(⟨q,p⟩, a) = ⟨δ1(q, a), δ2(p, a)⟩ gilt:
In diesem Automaten führt zum Beispiel vom Zustand ⟨q0, p0⟩ ein Übergang für das Symbol 0 in den Zustand ⟨q0,p1⟩. Das bedeutet: Der Automat A1 hat vom Zustand q0 einen Übergang für das Symbol 0 zurück in den Zustand q0. Der Automat A2 hat dagegen für das Symbol 0 einen Übergang vom Zustand p0 in den Zustand p1.
Den Automaten können wir ausprobieren. Er sollte Wörter wie 110 oder 00000 akzeptieren (sie enthalten eine gerade Anzahl von Einsen und zugleich eine ungerade Anzahl von Nullen), aber keine Wörter wie 11, 111, 1010 akzeptieren.
Quellen
Kapitel: Abgeschlossenheit regulärer Sprachen, Vereinigung regulärer Sprachen, Schnitt regulärer Sprachen, Differenz regulärer Sprachen, Komplement einer regulären Sprache, Konkatenation regulärer Sprachen, Kleene-Stern einer regulären Sprache