¢¡¤£¦¥¤§© ¤

Werbung
http://www.mpi-sb.mpg.de/~sschmitt/info5-ss01
R
S
IS
UN
E R SIT
S
SS 2001
SA
Schmitt, Schömer
IV
A
Grundlagen zu
Datenstrukturen und Algorithmen
A VIE N
Lösungsvorschläge für das 3. Übungsblatt
Letzte Änderung am 24. April 2001
Aufgabe 1 Analog zur Vorgehensweise bei den Fibonnacci-Zahlen vermuten wir ein exponentielles Wachstum: g(n) = AΦn mit A, Φ 6= 0
Einsetzen in die Rekursionsgleichung führt zu einer quadratischen Gleichung, die wir mit Hilfe
quadratischer Ergänzung lösen:
g(n)
AΦn
Φ2
2
Φ − 4Φ + 1
Φ2 − 4Φ + 4
(Φ − 2)2
Φ
⇔
⇔
⇔
⇔
⇔
⇔
=
=
=
=
=
=
=
4g(n − 1) − g(n − 2)
4AΦn−1 − AΦn−2
4Φ − 1
0
3
3 √
2± 3
Genau wie bei den Fibonnacci-Zahlen erhalten wir zwei Lösungen, Φ1 und Φ2 , woraufhin wir
unsere Vermutung verfeinern zu: g(n) = AΦn1 + BΦn2
Einsetzen in die zweifache Rekursionsverankerung ergibt ein lineares Gleichungssystem mit den
Unbekannten A und B, welche sich wie folgt ergeben:
1 = g(0)
4 = g(1)
⇔
1 = AΦ01 + BΦ02
4 = AΦ11 + BΦ12
⇔
1 =
A+
√
√B
4 = A(2 + 3) + B(2 − 3)
⇔
B =
1−
√
√A
4 = A(2 + 3) + (1 − A)(2 − 3)
⇔
B √ = 1√
−A
2 + 3 = 2 3A
⇔
"
√ 3
B = − 2−
2 3
√
A =
√
2+√ 3
2 3
#
Somit behaupten wir schließlich:
g(n) =
=
√
(2+ 3)
√
(2
2 3
+
√
n
3) −
√
(2− 3)
√
(2
2 3
−
√
3)n
√
√
(2+ 3)n+1 −(2− 3)n−1
√
2 3
Was es nun per vollständiger Induktion zu beweisen gilt.
Zu zeigen:
√
√
(2 + 3)n+1 − (2 − 3)n+1
√
g(n) =
2 3
Induktionsanfang für n = 0 und n = 1:
g(0) =
√
√
(2+ 3)−(2− 3)
√
2 3
√
2√3
2 3√
=
= 1
g(1) =
=
√
√
(2+ 3)2 −(2− 3)2
√
√ 2 3
√
4+4 3+3−(4−4 3+3)
√
2 3
√
8√3
2 3√
=
= 4
Induktionsschritt n → n + 1
g(n + 1) = 4g((n + 1) − 1) − g((n + 1) − 2)
= 4g(n)
− g(n −√1)
√
√
√
(2+ 3)n −(2− 3)n
(2+ 3)n+1 −(2− 3)n+1
√
√
−
= 4
2 3
2 3
=
=
=
=
=
=
√
√
√
√
4(2+ 3)n+1 −4(2− 3)n+1 −(2+ 3)n +(2− 3)n
√
√
√ 2 3
√
√
(4(2+ 3)−1)(2+ 3)n −(4(2− 3)−1)(2− 3)n
√
2 3 √
√
√
√
(8+4 3−1)(2+ 3)n −(8−4 3−1)(2− 3)n
√
√2 3
√
√
√
(4+2·2 3+3)(2+ 3)n −(4−2·2 3+3)(2− 3)n
√
2 √3
√
√
√
(2+ 3)2 (2+ 3)n −(2− 3)2 (2− 3)n
√
2√ 3
√
(2+ 3)n+2 −(2− 3)n+2
√
2 3
Was zu zeigen war.
Aufgabe 2
(a) Sei X die Anzahl der gewürfelten 6en bei viermaligem Werfen. Jede Zahl wird mit Einzelwahrscheinlichkeit 61 gewürfelt. Wir suchen P (X ≥ 1) = 1 − P (X = 0) über das Gegenereignis. Die Wahrscheinlichkeit, pro Wurf keine 6 zu würfeln ist 1 − 61 = 56 . Somit ist die
4
Wahrscheinlichkeit, 4 mal hintereinander keine 6 zu würfeln P (X = 0) = 65 . Somit gilt
4
für unser Ausgangsereignis: P (X ≥ 1) = 1 − 56 ≈ 0, 52 Gehen wir davon aus, daß ein
Wette für uns ab ≥ 50 Prozent profitabel ist, dann würden wir in diesem Fall wetten.
(b) Sei X die Anzahl der gewürfelten 6er-Paschs bei 24 Würfen. Wir haben 2 Würfel, jeder hat
1
6 Seiten, somit ist die Wahrscheinlichkeit, pro Wurf einen 6er-Pasch zu würfeln 61 · 16 = 36
.
Wir suchen P (X ≥ 1) = 1 − P (X = 0) wieder über das Gegenereignis. Analog zu oben
1
würfeln wir mit einer Wahscheinlichkeit von 1 − 36
= 35
pro Wurf keinen 6er-Pasch. Somit
36
35 24
ist die Wahrscheinlichkeit, 24 mal keinen 6er-Pasch zu würfeln P (X = 0) = 36
und
24
35
≈ 0, 49 und somit sollten wir darauf
liefert uns für unser Problem P (X ≥ 1) = 1 − 36
nicht wetten.
Anmerkung: Natürlich kommt das gleiche raus, wenn man die Formel für Bernoulli-Ketten mit
1
n = 4 (24) und p = 61 36
anwendet.
Aufgabe 3
1. Beschreibung:
Die grundlegende Lösungsidee dieser Aufgabe besteht darin, zu erkennen, daß es sich beim
Werfen der Würfel um unabhängige Ereignisse handelt. Also betrachtet man einen Würfel
gesondert und die restlichen n − 1 Würfel zusammen. Das Problem wird jetzt in 6 Fälle
unterteilt. Im ersten Fall wird mit dem ersten Würfel eine 1 gewürfelt. Um jetzt auf eine
bestimmte Augenzahl S zu kommen, muss mit den verbleibenden n − 1 Würfel die Augensumme S −1 erzielt werden. Analog geht es weiter. Wurde beim ersten Wurf eine 2 gewürfelt,
so muss jetzt die Augenzahl S − 2 erreicht werden. Im folgendenden bedeutet das Ereignis Sn , daß mit n Würfeln die Augensumme S erzielt wird. Also ergibt diese Betrachtung
folgende Wahrscheinlichkeitsverteilung:
P (Sn ) = P (11 ) · P ((S − 1)n−1 ) + . . . + P (61 ) · P ((S − 6)n−1 )
1
1
P ((S − 1)n−1 ) + . . . + P ((S − 6)n−1 )
=
6
6
6
X1
=
P ((S − k)n−1 )
6
k=1
Diese Gleichung beinhaltet eine kleine mathematische Unkorrektheit, die einem spätestens
beim Programmieren übel aufstößt: was passiert, wenn S − k < 1? In diesem Fall wird
natürlich nichts hinzuaddiert. Im Programm wird dieser Fall duch eine if-Anweisung ausgeschlossen.
2. Implementierung:
#include <iostream.h>
/* Damit der Algorithmus erkennbar bleibt, wurde hier darauf verzichtet,
das Programm platzeffizient zu schreiben */
#define N32
int i,j,k;
double sum;
/* Feld, in dem W-Verteilung zu einer Augensumme gespeichert wird */
double wverteilung[N+1][6*N+1];
int main ()
{
/* Initialisierung des Feldes */
for (i = 1; i <= N; i++)
for (j = 1; j <= 6*N; j++) wverteilung[i][j] = 0.0;
/* Werte fuer einen Wuerfel */
for (j = 1; j <= 6; j++) wverteilung[1][j] = 1.0/6.0;
/* Berechnung der Wverteilung fuer n Wuerfel aus den Daten
fuer n-1 Wuerfel */
for (i = 2; i <= N; i++)
for (j = i; j <= 6*i; j++)
for (k = 1; k <= 6; k++)
if (j-k > 0)
wverteilung[i][j] += wverteilung[i-1][j-k]/6.0;
/* Pruefe, ob die Summe stimmt (muss 1 sein)
Aufgrund von Rundungsfehlern wird eine
Genauigkeit von 0.001 zugestanden */
sum = 0;
for (j = N; j <= 6*N; j++) sum += wverteilung[N][j];
if ((sum - 1.0)*(sum - 1.0) > 0.000001)
cout << "Die Summe ist falsch!" << endl;
/* Ausgabe der Werte */
for (j = N; j <= 6*N; j++)
cout << j << " " << wverteilung[N][j] << endl;
return 0;
}
3. Laufzeitanalyse:
Alle Zugriffe auf das Array laufen in konstanter Zeit O(1).
(a) Initialisierung des Feldes: O(n2 )
(b) Werte für einen Würfel: O(1)
(c) Berechnung der W-Verteilung: O(n2 )
(d) Prüfen der Summe: O(n)
(e) Ausgabe: O(n)
Damit ergibt sich eine Gesamtlaufzeit von O(n2 + 1 + n2 + n + n) = O(n2 )
Aufgabe 4 Sei N = c + d die Anzahl aller Bälle. Nehmen wir an, wir würden alle Bälle ziehen.
Dadurch erhielten wir eine bestimmte Reihenfolge. Die Wahrscheinlichkeit, daß sich ein bestimmter Ball an einer bestimmten Position befindet ist für alle Positionen gleich, nämlich N1 . Somit ist
die Wahrscheinlichkeit, daß sich ein bestimmter Ball auf den ersten k Positionen befindet gleich
k
. Der Erwartungswert, daß ein bestimmter Ball auf den ersten k Positionen ist, ist damit Nk .
N
Sei {g1 ...gc } die Menge der gelben Bälle.
Dann ist
c
P
1 wenn Position von gi ≤ k
X=
Yi mit Yi =
0 sonst
i=1
die Zufallsvariable für die Anzahl der gezogenen gelben Bälle.
Also ist
E(X) = E(
c
X
Yi )
i=1
=
c
X
E(Yi )
i=1
k
N
c∗k
=
c+d
= c∗
der gesuchte Wert.
Aufgabe 5 Das Spiel ist unfair. Für jede Wahl von Spieler A kann Spieler B eine Ereignis
wählen, welches mit höherer Wahrscheinlichkeit auftritt! Das momentane Ereignis kann man als
Zustand eines Automaten auffassen, wobei es immer zwei Endzustände gibt (Wahl von A, Wahl
von B). Von jedem nicht Endzustand aus kann man mit zwei Kanten (K oder Z ist gefallen, je
Wahrscheinlichkeit 21 ) in einen anderen Zustand übergehen (außer KKK, ZZZ). Der Startzustand
ist nach 3 Würfen erreicht. Dabei gilt, daß jeder der Startzustände mit gleicher Wahrscheinlichkeit
eintritt ( 18 ) und alle Kanten Wahrscheinlichkeit 12 haben.
Sehen wir uns den Graphen für das Beispiel A : KKZ, B : ZKK an:
K wird geworfen
Z wird geworfen
KKK
ZZZ
KKZ
ZZK
KZK
ZKZ
ZKK
KZZ
Es ergibt sich folgendes Gleichungssystem:
PKKK = 18 + 12 ∗ PKKK
PKKZ = 18 + 12 ∗ PKKK
PKZK = 18 + 12 ∗ PZKZ
PZKK = 81 + 12 ∗ PKZK + 12 ∗ PZZK
PZZZ = 18 + 12 ∗ PKZZ + 18 ∗ PZZZ
PZZK = 18 + 21 ∗ PZZZ + 12 ∗ PKZZ
PZKZ = 81 + 21 ∗ PZZK + 12 ∗ PKZK
PKZZ = 81 + 21 ∗ PZKZ
In diesem Beispiel ist es leicht einzusehen das die Wahl ZKK besser ist als die Wahl KKZ. Denn
durch die Wahl dieser Endzustände teilt sich der Graph in zwei Subgraphen und man hat keine
Möglichkeit von einem in den anderen zu wechseln! Damit entscheidet sich der Gewinner schon
beim Startzustand ( 41 für A) und es ist nur eine Frage der Zeit (könnte zwar ewig dauern), bis
einer der Spieler gewonnen hat.
Dadurch, daß es für jede Kombination von A und B einen anderen Graphen gibt und andere
Kanten wegfallen ist es auch möglich, daß es immer eine bessere Wahl gibt! Man kann dem
Gegenspieler taktisch Kanten entfernen, indem man die eigene Wahl günstig trifft.
Herunterladen