+1 Daumen
818 Aufrufe

Aufgabe:

Zeigen Sie für jede der Sprachen L1 und L2 mit einem Verfahren Ihrer Wahl entweder, ob diese regulär sind oder nicht.

(a) L1 = {w ∈ {a, b}∗∣ w ≠ λ und jedes b steht direkt vor und direkt hinter einem a}.

(b) L2 = Σ, für Σ = {0, 1}.

Avatar von

2 Antworten

+3 Daumen
(b) L2 = Σ, für Σ = {0, 1}.

Diese Sprache ist regulär. Der Beweis ist trivial: Zeichne einfach einen DFA oder NFA, der \(L2\) akzeptiert. Das genügt als Bewies, sofern ihr in der Vorlesung diese Äquivalenz (\(L\) ist regulär \(\Longleftrightarrow\) Es existiert ein NFA/DFA, der \(L\) akzeptiert) gezeigt habt.

Avatar von
0 Daumen

Antwort mit KI erzeugt

L1: Untersuchung auf Regularität

Die Sprache \(L1 = \{w \in \{a, b\}^* | w \neq \lambda \text{ und jedes } b \text{ steht direkt vor und direkt hinter einem } a\}\) soll auf ihre Regularität untersucht werden. Hierzu verwenden wir das Pumping-Lemma für reguläre Sprachen. Das Pumping-Lemma besagt, dass es für jede reguläre Sprache \(L\) eine Pumping-Länge \(p\) gibt, so dass jedes Wort \(w\), das mindestens so lang wie \(p\) ist, in drei Teile \(x\), \(y\) und \(z\) zerlegt werden kann, sodass gilt:

1. \(w = xyz\),
2. die Länge von \(xy\) ist höchstens \(p\) (\(|xy| \leq p\)),
3. die Länge von \(y\) ist größer als 0 (\(|y| > 0\)),
4. und für alle \(i \geq 0\) ist \(xy^iz \in L\).

Gegenbeispiel-Konstruktion:

Nehmen wir an, dass \(L1\) regulär ist. Dann gibt es ein \(p\), sodass jedes Wort in \(L1\), das länger als \(p\) ist, gemäß des Pumping-Lemmas aufgeteilt und gepumpt werden kann.

Betrachten wir das Wort \(w = ba^pbab\). Dieses Wort ist ein gültiges Wort in \(L1\), weil es der Bedingung genügt, dass jedes \(b\) direkt vor und direkt nach einem \(a\) steht. Gemäß des Pumping-Lemmas sollten wir in der Lage sein, \(w\) in \(xyz\) so aufzuteilen, dass \(xy^iz \in L1\) für alle \(i \geq 0\). Da aber alle \(b\) direkt vor und nach einem \(a\) stehen müssen, würden das Pumpen von Teilen, die \(b\) enthalten, oder das Entfernen von \(a\)’s dazu führen, dass die Bedingung verletzt wird und somit das entstandene Wort nicht mehr in \(L1\) liegt.

Daraus folgt, dass unsere Annahme, \(L1\) ist regulär, falsch sein muss. Das Pumping-Lemma zeigt uns, dass es keine konstante Pumping-Länge \(p\) geben kann, die für alle Wörter in \(L1\) funktioniert, ohne die Sprachbedingungen zu verletzen. Also ist \(L1\) nicht regulär.

L2: Untersuchung auf Regularität

Für die Sprache \(L2 = \Sigma\), wobei \(\Sigma = \{0, 1\}\), ist zu prüfen, ob sie regulär ist. Die Definition von \(L2\) entspricht der Menge aller möglichen Zeichenketten über dem Alphabet \(\Sigma\), einschließlich des leeren Wortes \(\lambda\).

Diese Sprache \(L2\) ist trivialerweise regulär, da sie durch einen einfachen endlichen Automaten (DFA) dargestellt werden kann, der:

- einen Startzustand hat,
- von jedem Zustand aus mit \(0\) oder \(1\) in sich selbst übergeht,
- und seinen einzigen Zustand als akzeptierenden Zustand markiert, um das leere Wort \(\lambda\) zu akzeptieren.

Da man für \(L2\) leicht einen deterministischen endlichen Automaten konstruieren kann, ist \(L2\) regulär.
Avatar von 4,6 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community