Chomsky-Hierarchie < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 16:10 Sa 11.02.2017 | Autor: | Austinn |
Aufgabe | Bestimmen Sie für die folgenden Sprachen das Niveau der Chomsky-Hierarchie. Dazu gehört einerseits der Nachweis, dass die Sprache im entsprechenden Niveau liegt, und andererseits muss gezeigt werden, dass sie nicht zu einem einfacheren
Niveau gehört, also etwa, dass sie kontextsensitiv aber nicht kontextfrei ist.
a) Sei ∑ = (a, b, c). [mm] L_1 [/mm] = {w ∈ ∑* : wenn in w ein a vorkommt, dann gibt es eine spätere Stelle, an der ein b steht, wobei dieses b zu mehreren a gehören kann }
b) Sei ∑ = (0, 1, 2). [mm] L_2 [/mm] = {w ∈ ∑* : der Wert zweier benachbarter Ziffern in w unterscheidet sich um maximal 1 }
c) Sei ∑ = (0, 1, 2). [mm] L_3 [/mm] = {w [mm] \overline{w} [/mm] ∈ ∑* : [mm] \overline{w} [/mm] entsteht aus w, in dem man alle Nullen und Zweien miteinander verstauscht. }
Beipiel: Für w=0121 ist [mm] \overline{w}=2101 [/mm] |
Hallo Matheraum-Team,
hoffe es kennt sich jemand mit der Theoretischen Informatik aus.
Ich verstehe diese Aufgabenstellung. Jedoch weiß ich nicht wann eine Sprache regulär ist? Was sind denn die Bedingungen damit eine Sprache regulär ist? Wie erkenne ich, dass eine Sprache regulär ist? Wie erkenne ich in dieser Aufgabe, dass eine Sprache regulär ist?
Bitte um Hilfe
Danke im Voraus.
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo,
reguläre Sprachen sind in der Chomsky-Hierarchie jene Sprachen, die am meisten eingeschränkt sind.
Es gibt keinen "direkten" Beweis wie bei gewissen Mathe-Aufgaben.
Eine Sprache L ist genau dann regulär, wenn du einen DEA (manchmal ist es einfacher einen NEA zu finden), zu der gegebenen Sprache bauen kannst.
DEA = Deterministischer endlicher Automat
NEA = nicht deterministischer endlicher Automat
Du könntest genau so einen regulären Ausdruck zu der gegebenen Sprache finden. Wenn dein Automat oder dein Ausdruck diese Sprache akzeptiert, dann ist es eine reguläre Sprache.
Du musst also gucken, ob du für deine gegebenen Probleme einen DEA, NEA oder einen regulären Ausdruck finden kannst.
Für a und b würde ich zum Beispiel einen DEA bzw. NEA bauen, der diese Sprache akzeptiert.
c ist etwas kniffliger, aber das schaffst du.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:34 Mo 13.02.2017 | Autor: | Austinn |
Vielen Dank für deine Antwort.
Ich habe noch zwei Fragen und hoffe du kannst mir diese beantworten.
1) Wann weiß ich denn, dass ein DFA/NFA eine Sprache akzeptiert? Und wieso kann ein DFA/NFA beispielsweise die Sprach [mm] a^n [/mm] aber nicht die Sprache [mm] a^n b^n?
[/mm]
2) Kann ich das denn auch mit dem Satz von Myhill-Nerode zeigen?
Ich frage deshalb, weil in der Klausur Zeit sparen will. Ich scheine so, dass ich mich Ewigkeiten mit dieser Aufgabe rumzuschlagen muss...
|
|
|
|
|
Hallo,
> 1) Wann weiß ich denn, dass ein DFA/NFA eine Sprache
> akzeptiert?
Das kann man so pauschal nicht beantworten. Wenn du einen DEA hast, dann musst du wissen, was die Eingabe ist und welcher reguläre Ausdruck damit verbunden ist (vorausgesetzt, du hast einen) Ein DEA zeichnet sich dadurch aus, dass du bei verschiedenen Eingaben auf verschiedene Zustände kommst, was bei einem NEA nicht so sein muss. Du musst aber irgendwann den finalen Zustand erreichen. Aber um diese Frage musst du dir keinen Kopf machen. Du bist bestimmt schon so weit, dass du erkennen kannst, für was du einen DEA bauen kannst oder nicht.
> Und wieso kann ein DFA/NFA beispielsweise die
> Sprach [mm]a^n[/mm] aber nicht die Sprache [mm]a^n b^n?[/mm]
Die Sprache [mm] a^n b^n [/mm] ist nicht regulär, sie ist kontextfrei. Das kann man zum Beispiel mit dem Pumping-Lemma beweisen, dass diese Sprache nicht regulär ist, und somit kein DEA existieren kann.
> 2) Kann ich das denn auch mit dem Satz von Myhill-Nerode
> zeigen?
Ja
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 20:47 Mo 13.02.2017 | Autor: | Austinn |
> Du bist bestimmt schon so weit, dass du erkennen
> kannst, für was du einen DEA bauen kannst oder nicht.
...genau das ist mein Problem. Wie erkenne ich denn Intuitiv, für welche Sprache ich ein DEA bauen kann?
Den Rest verstehe ich.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:46 Fr 17.02.2017 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|