13.07.2015 Aufrufe

Alphabete, Wörter, Sprachen

Alphabete, Wörter, Sprachen

Alphabete, Wörter, Sprachen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Alphabete</strong>, <strong>Wörter</strong>, <strong>Sprachen</strong>


ALPHABETE = endliche, geordnete Menge von Buchstaben(Symbolen)WÖRTER (STRINGS) = endliche Folgen von Buchstaben (ausfestem Alphabet)SPRACHEN = beliebige Mengen von <strong>Wörter</strong>n (über festem Alphabet)


Im Rahmen der Vorlesung:DATEN = WÖRTER(ENTSCHEIDUNGS)PROBLEME = MENGEN = SPRACHENMit <strong>Wörter</strong>n lassen sich beliebige Daten kodieren (vgl. z.B. Zahldarstellungen).Dabei kann man sich auf Binärwörter (d.h. <strong>Wörter</strong> über dem binärenAlphabet {0, 1}) oder sogar auf Unärwörter d.h. <strong>Wörter</strong> über dem unären Alphabet{1}) beschränken. (Dabei sind Unärdarstellungen wegen ihrer großenLänge jedoch in der Praxis häufig nicht akzeptabel.)Im Folgenden gehen wir auf <strong>Alphabete</strong>, <strong>Wörter</strong> und <strong>Sprachen</strong> näher ein undführen einige grundlegende Begriffe und Notationen ein.


ALPHABETEEin Alphabet (Σ,


WÖRTEREin Wort über dem Alphabet (Σ,


LÄNGE VON WÖRTERNLÄNGE. Die Länge |w| eines Wortes w ist die Anzahl der Vorkommen vonBuchstaben in w:• |λ| = 0 • |w(0) . . . w(n − 1)| = n• Σ n := Σ =n := {w ∈ Σ ∗ : |w| = n}, Σ ≤n := {w ∈ Σ ∗ : |w| ≤ n}, Σ


VERKETTUNG VON WÖRTERNVERKETTUNG (KONKATENATION). Die grundlegende Operation auf<strong>Wörter</strong>n ist das Hintereinanderschreiben von <strong>Wörter</strong>n:v = v(0) . . . v(m) & w = w(0) . . . w(n) ⇒ v ◦ w = v(0) . . . v(m)w(0) . . . w(n)w ◦ λ = λ ◦ w = wNotation: Statt v ◦ w schreiben wir meist einfach vw.Mit Hilfe der Verkettung definieren wir:ITERATION. Die n-fache Iteration w n eines Wortes w ergibt sich durch Verkettenvon n Kopien von w. Induktiv: w 0 = λ und w n+1 = w n w.TEILWÖRTER. Gilt w = xyz so sind x, y, z Teilwörter von w, x ein Präfix(Anfangsstück) von w (x ⊑ w) und z ein Suffix (Endstück) von w. Gilt yz ≠ λso ist x ein echtes Anfangsstück von w (x ❁ w).Notation: w ↾ n = w(0) . . . w(n − 1) ist das Anfangsstück von w der Länge n.


HOMOMORPHISMENEine mit der Konkatenation verträgliche Abbildung nennt manHomomorphismus. Formal: Ein Homomorphismus h ist eine Abbildungh : Σ ∗ → T ∗ sodass h(λ) = λ und∀x, y ∈ Σ ∗ (h(x ◦ y) = h(x) ◦ h(y)).Jeder Homomorphismus h ist bereits durch sein Verhalten auf den Buchstaben(d.h. <strong>Wörter</strong>n der Länge 1) bestimmt und jede Abbildung h : Σ → T ∗ lässtsich in eindeutiger Weise in einen Homomorphismus fortsetzen. (Übung! Mansagt auch, dass (Σ ∗ , ◦) die freie Halbgruppe über Σ ist).BEISPIEL (BINÄRKODIERUNG). Den von bin k : Σ k → Σ ∗ 2 mit bin k(a i ) =0 i 1 k−1 (Σ k = {a 0 , ..., a k−1 }, k ≥ 3) induzierten Homomorphismus bin k : Σ ∗ k →Σ ∗ 2 bezeichnet man als Binärkodierung. Man beachte, dass |bin k(w)| = k|w|.


EINE ORDNUNG AUF DEN WÖRTERNLEXIKOGRAPHISCHE ORDNUNG. Die <strong>Wörter</strong> über einem Alphabet Σ lassensich mit Hilfe der Ordnung < des Alphabets lexikographisch ordnen:v < lex w ⇔ v ❁ w oder ∃ x ∈ Σ ∗ ∃ a, b ∈ Σ (a < b & xa ⊑ v & xb ⊑ w).Fasst man die <strong>Wörter</strong> über Σ k als Knoten des unendlichen vollständigen k-ären Baumes auf, so erhält man die gemäß < lex geordneten <strong>Wörter</strong>, wennman den Baum in Preorder durchläuft. Die lexikographische Ordnung hatden Nachteil, dass <strong>Wörter</strong> unendlich viele Vorgänger haben können. Z.B. giltfür k = 2:λ < lex 0 < lex 00 < lex 000 < lex 0000 < lex · · · < lex 1LÄNGEN-LEXIKOGRAPHISCHE ORDNUNG. Man betrachtet daher in derRegel die längen-lexikographische Ordnung < auf Σ ∗ , bei denen die <strong>Wörter</strong>zunächst nach ihrer Länge (Hauptordnungskriterium) und dann <strong>Wörter</strong> gleicherLänge lexikographisch (Nebenordnungskriterium) geordnet werden:v < w ⇔ |v| < |w| oder [|v| = |w| und v < lex w]Diese Ordnung entspricht dem Breitendurchlauf durch den Baum Σ ∗ .


MEHR ZUR LÄNGEN-LEXIKOGRAPHISCHEN ORDNUNGBEISPIELE. Beim unären Alphabet Σ 1 = {1} stimmt < mit < lex überein:1 0 (= λ) < 1 1 (= 1) < 1 2 (= 11) < 1 3 < 1 4 < . . .Für das binäre Alphabet Σ 2 = {0, 1} giltλ < 0 < 1 < 00 < 01 < 10 < 11 < 000 < 001 < . . .SATZ. (N,


SPRACHENEine Sprache L über dem Alphabet Σ ist eine Menge von <strong>Wörter</strong>nüber Σ, d.h. eine Teilmenge von Σ ∗ .Die Menge aller <strong>Sprachen</strong> über Σ ist also gerade die Potenzmengevon Σ ∗ : P(Σ ∗ ) = {L : L ⊆ Σ ∗ }Eine Menge von <strong>Sprachen</strong> (über festem Alphabet Σ) bezeichnenwir als Klasse.BEZEICHNUNGEN:• a, b, c, . . . : Buchstaben• . . . , u, v, w, x, y, z: <strong>Wörter</strong>• A, B, C, . . . , Z: <strong>Sprachen</strong>• A, B, C, . . . , Z: Klassen


MENGENOPERATIONEN AUF SPRACHENDa <strong>Sprachen</strong> Mengen sind, können wir die üblichen mengentheoretischenOperationenverwenden (L, L 1 , L 2 ⊆ Σ ∗ ):L 1 ∪ L 2 = {x ∈ Σ ∗ : x ∈ L 1 oder x ∈ L 2 }L 1 ∩ L 2 = {x ∈ Σ ∗ : x ∈ L 1 & x ∈ L 2 }L = {x ∈ Σ ∗ : x ∉ L}L 1 − L 2 = {x ∈ Σ ∗ : x ∈ L 1 & x ∉ L 2 }L 1 △L 2 = (L 1 − L 2 ) ∪ (L 2 − L 1 )(Vereinigung)(Durchschnitt)(Komplement)(Differenz)(Symmetrische Differenz)


WORTOPERATIONEN AUF SPRACHENDie auf den <strong>Wörter</strong>n definierten Operationen der Verkettung undIteration induzieren entsprechende Sprachoperationen:L 1 L 2 = {xy : x ∈ L 1 & y ∈ L 2 }L n = {x 1 . . . x n : x i ∈ L} (L 0 = {λ}, L 1 = L, L 2 = LL, . . . )L ∗ = {x 1 . . . x n : n ≥ 0 & x i ∈ L} = ⋃ n≥0 L nL + = {x 1 . . . x n : n ≥ 1 & x i ∈ L} = ⋃ n≥1 L nHierbei schreiben wir aL statt {a}L.


KARDINALITÄT VON SPRACHEN UND KLASSENSATZ. Für jedes Alphabet Σ gilt:• Jede Sprache L über Σ ist abzählbar.• Die Menge aller <strong>Sprachen</strong> über Σ ist nicht abzählbar.Beweis s. TafelKARDINALITÄT. Die Kardinalität (Größe) von Mengen vergleicht man durch|M 1 | ≤ |M 2 | ⇔ ∃ f : M 1 → M 2 injektivM 1 und M 2 sind gleichmächtig (|M 1 | = |M 2 |), falls |M 1 | ≤ |M 2 | und |M 2 | ≤ |M 1 |gilt. M ist abzählbar unendlich, falls |M| = |N|. M ist (höchstens) abzählbar,wenn |M| ≤ |N|, d.h. wenn M endlich oder abzählbar unendlich ist. Ist M nichtabzählbar, so nennt man M auch überabzählbar. In diesem Fall gilt |N| < |M|.


DARSTELLUNG VON SPRACHENDARSTELLUNG. Unter einer Darstellung einer Sprache L verstehenwir eine endliche Beschreibung der Sprache.DARSTELLUNGSWEISE. Eine einheitliche Methode zur Darstellungvon <strong>Sprachen</strong> bezeichnen wir als Darstellungsweise.


DARSTELLUNG VON SPRACHENDARSTELLUNG. Unter einer Darstellung einer Sprache L verstehenwir eine endliche Beschreibung der Sprache.DARSTELLUNGSWEISE. Eine einheitliche Methode zur Darstellungvon <strong>Sprachen</strong> bezeichnen wir als Darstellungsweise.


DARSTELLUNG ENDLICHER SPRACHENEndliche <strong>Sprachen</strong> lassen sich durch eine vollständige Auflistungder Elemente darstellen:L 1 = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24}.Diese Darstellung ist i.a. jedoch sehr länglich und unübersichtlich.Eine Darstellung der Sprache durch Angabe einer charakteristischenEigenschaft der Elemente wird daher meist vorgezogen:L 1 = {x ∈ N : x ≤ 24 & x gerade}Dieses Vorgehen ermöglich auch die Beschreibung unendlicher<strong>Sprachen</strong>:L ′ 1= {x ∈ N : x gerade} (= {0, 2, 4, . . . })


EXPLIZITE VS. IMPLIZITE DARSTELLUNGENBeschreibt man eine Sprache durch Auflisten der Elemente oder Angabe einercharakteristischen Eigenschaft derselben, so sprechen wir von einer explizitenDarstellung.Alternativ können <strong>Sprachen</strong> implizit durch eine induktive (rekursive) Charakterisierungdargestellt werden.Explizit:L 2 = {w ∈ Σ ∗ 2 : # 0(w) = # 1 (w)}Implizit:L 2 ist die kleinste Sprache L ⊆ Σ ∗ mit folgenden 3 Eigenschaften:• λ ∈ L• Gehört w zu L, so auch 0w1 und 1w0• Gehören v und w zu L, so auch vw


INFORMATISCHE SPRACHDARSTELLUNGENBERECHENBARKEITSTHEORIE:In der Berechenbarkeitstheorie betrachten wir algorithmische Darstellungenvon <strong>Sprachen</strong>, d.h. geben Algorithmen an, die die <strong>Sprachen</strong> eindeutig festlegen.Dabei unterscheiden wir:ENTSCHEIDUNGSVERFAHREN: Der Algorithmus stellt bei Eingabe einesWortes fest, ob dieses zur Sprache gehört.AUFZÄHLUNGSVERFAHREN: Der Algorithmus gibt alle Elemente der Sprache(und nur diese) sukzessive aus. (Ist die Sprache unendlich, so läuft dasVerfahren unendlich lang; die Beschreibung des Verfahrens ist jedoch endlich!)FORMALE SPRACHEN:Hier werden wir <strong>Sprachen</strong> mit Hilfe (generativer = erzeugender) GRAMMA-TIKEN beschreiben.


MEHRDIMENSIONALE SPRACHEN UND WORTFUNKTIO-NEN<strong>Sprachen</strong> beschreiben eindimensionale Entscheidungsproblem. ZurBeschreibung mehrdimensionaler Probleme oder funktionaler Probleme(Berechnungs-, Such-, bzw. Optimierungsprobleme) verwendenwir mehrdimensionale <strong>Sprachen</strong> und Wortfunktionen:MEHRDIMENSIONALE SPRACHE:• L ⊆ Σ ∗ 1 × · · · × Σ∗ n (inhomogen)• L ⊆ Σ ∗ × · · · × Σ ∗ (homogen)(1-DIM.) WORTFUNKTION:• f : Σ ∗ 1 → Σ∗ 2MEHRDIMENSIONALE WORTFUNKTION:• f : Σ ∗ 1 × · · · × Σ∗ n → T ∗Funktionen vom Typ f : Σ ∗ 1 × · · · × Σ∗ n → T 1 ∗ × · · · × T m ∗ stellen wir durchm mehrdim. Wortfunktionen f i : Σ ∗ 1 × · · · × Σ∗ n → T i∗ dar. Wie bei <strong>Sprachen</strong>können wir bei Wortfunktionen zwischen inhomogenen (s.o.) und homogenen(all <strong>Alphabete</strong> gleich) Funktionen unterscheiden.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!