uebungen2

Werbung
Prof. Dr. V. Strehl
Informatik 8
17. April 2003
Übungen zur
Einführung in die Theoretische Informatik 3
SS 2003
The homework was tough but I learned a lot.
It was worth every hour.
Anonymes Graffito in Concrete Mathematics
• Zehn Fingerübungen zum Rechnen mit Logarithmen
Bemerkung: Der sichere Umgang mit Logarithmen (und anderen elementaren Funktionen
der Mathematik, wie Polynome, Exponentialfunktion, Winkelfunktionen) ist nicht Stoff der
Veranstaltung, sondern gehört zum Handwerkszeug, dass man vorab beherrschen sollte. Die
nachfolgenden Aufgaben sind als Test zu verstehen: wer mit so etwas ernsthaft Schwierigkeiten
hat, hat etwas nachzuholen. Diese Aufgaben werden nicht unbedingt alle in der Übungsgruppe
behandelt.
Bezeichnung: für positives reelles b und positives reelles y bezeichnet logb y den Logarithmus
von y zur Basis b: das ist die eindeutig bestimmte reelle Zahl x mit bx = y. Logarithmen zur
Basis b = 2 werden oft einfach mit log y oder lg y bezeichnet, “natürliche” Logarithmen zur
Basis e mit ln y.
1. Ist c eine weitere positive reelle Zahl, wie drückt sich logc y mittels Logarithmen zur
Basis b aus?
2. In welchem Verhältnis stehen log10 2 und log2 10 zueinander?
3. Wieviele Binärstellen genügen in jedem Fall, um eine 14-stellige Dezimalzahl im Binärsystem darzustellen?
4. Wieviele Dezimalstellen hat die Zahl1 2128 + 1 ?
5. Überzeugen Sie erst einmal durch Beispiele (mittels Taschenrechner, Maple, Logarithmentafel, . . . ) davon, dass für beliebiges x > 0 die Zahlen log2 x und ln x + log10 x
verblüffend nahe beieinander liegen. Wie gross ist der relative Fehler?
6. Wie drückt sich logb logb x mittels natürlicher Logarithmen aus?
7. An welcher Stelle nimmt die Funktion x 7→ x ∗ logb x für x ∈ R+ ihr Minimum an?
8. An welcher Stelle nimmt die Funktion b 7→ b ∗ logb x für b ∈ R+ ihr Minimum an?
√
9. Was ist das Minimum der Funktion x 7→ x · x n für x ∈ R+ , n ∈ N?
10. Zeigen Sie, dass log10 2 keine rationale Zahl ist.
• Aufgabe 4 : Russische Bauernmultiplikation
Formulieren Sie das Verfahren der sogenannten “Russischen Bauernmultiplikation” als Algorithmus (Pseudocode) und beweisen Sie dessen Korrektheit.
Nehmen Sie an, dass — wie vorgeführt – eine Multiplikation a ∗ b von zwei natürlichen Zahlen in drei Spalten ausgeführt wird: in der ersten wird sukzessive a durch ba/2c ersetzt, in
der zweiten wird sukzessive b durch 2 ∗ b ersetzt, in der dritten Spalte erscheinen die Zahlen
der zweiten Spalte, sofern der entsprechende Eintrag in der ersten Spalte ungerade war. Die
1
N.B. Mit der Faktorisierung dieser Zahl in ihre zwei Primfaktoren durch M. Morrison und J. Brillhard im Jahr
1970 begann die Neuzeit des Faktorisierens.
1
Operationen des Halbierens und Verdoppelns sind, zumindest, wenn man eine Binärarithmetik unterstellt, sehr billig, sodass die Hauptarbeit durch das Addieren in der dritten Spalte
geleistet werden muss. Welchen Aufwand (in Abhängigkeit von `(a) und `(b)) benötigt die
abschliessende Summation in der dritten Spalte im worst-case, wenn man für das Addieren
zweier Binärzahlen x und y einen Aufwand von max(`(x), `(y)) Operationen veranschlagt.
• Aufgabe 5: Lineare Rekursionen 2. Ordnung und quadratische Gleichungen
Was am Beispiel der Fibonacci-Zahlen gezeigt wurde, lässt sich ohne Schwierigkeiten für
beliebige lineare Rekursionen 2. Ordnung durchführen. Untersucht werden soll das Verhalten
von Folgen (an )≥0 von (komplexen) Zahlen, die durch eine Rekursion
(∗)
an+1 = c · an + d · an−1
gegeben sind, wobei die Startwerte a0 , a1 , mit denen die Folge dann eindeutig bestimmt ist,
nicht spezifiziert sein sollen. c und d sind hierbei feste komplexe Zahlen.
1. Man bestimmt zunächst komplexe Zahlen α, β mit
1 − c · z − d · z 2 = (1 − α · z)(1 − β · z)
durch Koeffizientenvergleich von Polynomen bezüglich der Variablen z. Tun Sie das!
2. Zeigen Sie, dass die beiden Folgen (αn )n≥0 bzw. (β n )n≥0 Lösungen der Rekursionsgleichung (∗) sind, und zwar zu den Anfangswerten a0 = 1, a1 = α bzw. a0 = 1, a1 = β.
3. Zu beliebigen ξ, η ∈ C erhält man durch Linearkombination
ξ · (αn )n≥0 + η · (β n )n≥0 = (ξ · αn + η · β n )n≥0
eine Lösung der Rekursion (∗) zu den Anfangswerten a0 = ξ + η, a1 = ξ · α + η · β.
Wie lautet die Lösung zu den Anfangswerten a0 = 0, a1 = 1? Klappt das immer?
4. Im Falle α 6= β (was bedeutet das für c und d?) ist jede Lösung der Rekursionsgleichung
von der im vorigen Absatz beschriebenen Form. Warum? Was macht man im Fall α = β?
5. Einige konkrete Fälle. Bestimmen Sie explizit die Lösungen der folgenden Rekursionsgleichungen:
(a) an+1 = 3 an − an−1 mit a0 = 2, a1 = 1
(b) bn+1 = 2 bn − 2 bn−1 mit b0 = 1, b1 = 0
(c) cn+1 = 4 cn − 4 cn−1 mit c0 = 3, c1 = 8
• Zum Fibonacci-Wythoff-Spiel
Die nachfolgenden Idee und Konstruktionen sollen den Weg zu einer Beschreibung der Gewinnmenge G beim Fibonacci-Wythoff-Spiel bereiten, sind aber auch ganz unabhängig
von dieser spielerischen Anwendung von Interesse — und sei es, um den Umgang mit Homomorphismen und Induktion zu üben.
Wir betrachten das Alphabet {a, b}, das Monoid {a, b}∗ der Wörter über {a, b} mit der
Konkatenation als Operation, sowie den Monoid-Homomorphismus Φ : {a, b}∗ → {a, b}∗ , der
gegeben ist durch
Φ(a) = ab und Φ(b) = a
Dann gilt beispielsweise (“·” steht für Konkatenation)
Φ(abaab) = Φ(a) · Φ(b) · Φ(a) · Φ(a) · Φ(b) = ab · a · ab · ab · a = abaababa
2
Nun nimmt man das Wort w(0) = b als Start für eine iterierte Anwendung des Homomorphismus Φ, d.h. wn+1 = Φ(w(n) ) = Φn (w(0) ):
w(1) = Φ(w(0) ) = Φ(b) = a
w(2) = Φ(w(1) ) = Φ(a) = ab
w(3) = Φ(w(2) ) = Φ(ab) = ab · a = aba
w(4) = Φ(w(3) ) = Φ(aba) = ab · a · ab = abaab
w(5) = Φ(w(4) ) = Φ(abaab) = abaababa
w(6) = Φ(w(5) ) = Φ(abaababa) = abaababaabaab
..
.
Die folgenden Aussagen sind leicht per Induktion zu beweisen (Sie sollten es übungshalber
auch tun!):
– die Länge|w(n) | von w(n) ist fn+1
– die Anzahl ]a (w(n) ) der a’s in wn ist fn
– die Anzahl ]b (w(n) ) der b’s in wn ist fn−1
– w(n+1) = w(n) · w(n−1)
Wegen der letzten Eigenschaft kann man sinnvollerweise von dem unendlich langen Wort
w = limn→∞ w(n) reden, das dadurch beschrieben wird, dass sein Anfangsstück der Länge
fn+1 gerade w(n) ist.
w = abaababaabaababaababaabaababaabaab · · ·
Das ist das berühmte Fibonacci-Wort.
Bezeichnen wir nun mit A(n) bzw. B (n) den Vektor der Positionen der a’s bzw. b’s in w(n) .
Man sieht:
Ah1i = h1i
Ah2i = h1i
Ah3i = h1, 3i
Ah4i = h1, 3, 4i
Ah5i = h1, 3, 4, 6, 8i
B h1i = hi
B h2i = h2i
B h3i = h2i
B h4i = h2, 5i
B h5i = h2, 5, 7i
und erkennt mittels w(n+1) = w(n) · w(n−1) , dass offenbar gilt
A(n+1) = A(n) · (A(n−1) + hfn+1 , . . . , fn+1 i) und B (n+1) = B (n) · (B (n−1) + hfn+1 , . . . , fn+1 i)
|
{z
}
|
{z
}
fn−1
fn−2
Jetzt ist es leicht, per Induktion die folgende Beziehung zu zeigen:
B (n+1) = A(n) + h1, 2, 3, . . . , fn i (n ≥ 0)
Erkennen Sie jetzt das Bildungsgesetz für die unendlichen Vektoren?
A :
B :
1 3 4 6 8 9 11 12 14 16 17 19 21 . . .
2 5 7 10 13 15 18 20 23 26 28 31 34 . . .
Wenn Sie sich jetzt die empirisch ermittelten Gewinnpositionen für das Fibonacci-WythoffSpiel anschauen, müssten Sie etwas bemerken....
3
Herunterladen