• Keine Ergebnisse gefunden

Übung Algorithmen und Datenstrukturen 1. Übung: Zusatzaufgaben

N/A
N/A
Protected

Academic year: 2022

Aktie "Übung Algorithmen und Datenstrukturen 1. Übung: Zusatzaufgaben"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Wolfgang Hönig / Andreas Ecke WS 09/10

Übung Algorithmen und Datenstrukturen

1. Übung: Zusatzaufgaben

1. Ein Alphabet (Σ) ist definiert als nichtleere endliche Menge von Terminalsymbolen.

Wie ist es trotzdem möglich aus Σ eine leere SpracheL=∅ zu konstruieren?

2. Gibt es für jede Sprache M SprachenK und Lbei denen gilt: M =K ·L?

3. Gegeben sind zwei nichtleere Sprachen K und L der Kardinalität k bzw. l (d.h.

|K|=k und|L|=l – es existieren alsok Wörter inK undl Wörter inL). Wie groß ist |K·L|, also die Anzahl der Wörter nach Anwendung des Komplexproduktes?

Hinweis: Es existiert keine „feste“ Lösung.

4. Gegeben sindn nichtleere Sprachen. Diese Sprachen sollen nun miteinander verket- tet werden, wobei jede Sprache genau einmal in der Verkettung enthalten ist, jedoch die Reihenfolge der Verkettungen unterschiedlich sein kann. Wie viele verschiede- ne neue Sprachen kann man durch solche Verkettungen der n Ausgangssprachen maximal bilden? Auf welcher mathematischen Eigenschaft der Verkettung ist dies begründet?

Hinweis: Verkettung ist in dieser Aufgabe als Synonym zu Konkatenation bzw.

Komplexprodukt zu verstehen.

Lösungen

1. FürLgilt laut Definition:L⊆Σ bzw.L∈P(Σ)(beide Ausdrücke sind gleichwer- tig). Da ∅ ∈P(Σ), kann aus jedem Alphabet Σ die leere Sprache erzeugt werden.

Hinweis: Der Begriff „konstruieren“ in der Aufgabe ist schlecht gewählt. Es ist in diesem Falle keine Konkatenation gemeint, da auch ein null-maliges konkatenieren das leere Wort erzeugt.

2. Mit K = {} und L = M gilt offenbar: M = K ·L = {} ·M = M. (In diesem speziellen Fall können K und L auch vertauscht werden.)

3. Die einleuchtenste Lösung |K·L|=k·l ist leider falsch. Dies erkennt man an dem folgenden kleinen Beispiel: K = {ba, b}, L = {a, aa}. Damit ergibt sich K ·L = {baa, baaa, ba}, also|K·L|= 3 statt4. Daher ist die Angabe von Grenzen sinnvoll:

Kleinste obere Schranke: |K ·L| ≤k·l Größte untere Schranke: |K ·L| ≥k+l−1

4. Man kann höchstensn!verschiedene Sprachen bilden. Dazu diene folgendes Beispiel mit n = 3 und den Sprachen M1 = {a}, M2 = {b} und M3 = {c}. Durch diese Sprachen sind 3! = 3·2·1 = 6 verschiedene Verkettungen möglich:

L1 =M1·M2·M3 ={abc}

L2 =M1·M3·M2 ={acb}

L3 =M2·M1·M3 ={bac}

L4 =M2·M3·M1 ={bca}

L5 =M3·M1·M2 ={cab}

L6 =M3·M2·M1 ={cba}

Dabei ist die Anzahl bildbarer Sprachen – außer in Spezialfällen – größer als 1, da die Verkettung von Mengen nicht kommutativ ist, daher M1·M2 =M2·M1 gilt im Allgemeinen nicht!

Referenzen

ÄHNLICHE DOKUMENTE

Wolfgang Hönig WS 09/101. Übung Algorithmen

• Suchbaum: Für jeden Knoten gilt: alle Schlüssel im linken Teilbaum sind kleiner und alle Schlüssel im rechten Teil- baum sind größer als der Schlüssel des Knotens. •

Dies geht, in dem man die Vergleichsfunktion so verändert, dass nicht einfach nur die Zahlen verglichen werden, sondern auch noch die Namen (wenn die Zahlen gleich sind).. mit

Durch die schrittweise Abarbeitung ist es allerdings auch nicht möglich nach endlich vielen Schritten eine unendliche Sprache eindeutig zu definie- ren (Falls man eine Vermutung

Durch den Durchschnitt zweier Sprachen, welche durch EBNF-Definitionen beschrie- ben werden, kann eine neue Sprache entstehen, welche sich nicht mit einer einzelnen

minimale Beispiele der Wörter aufschreiben2. aktuelles Wort und

Hinweis: Wenn die Übung immer noch zu langweilig ist, lohnt es sich alle Syntaxdia- grammsysteme der obigen Aufgaben in die entsprechende EBNF

Alphabet (Σ) nichtleere, endliche Menge zulässiger Symbole für die Wortbildung („Zeichenvorrat“). Wort endliche Folge