Diskrete Mathematik (D-ITET) - Cadmo

Werbung
ETH Zürich
Institut für Theoretische Informatik
Prof. Dr. Angelika Steger
Prof. Dr. Emo Welzl
HS 2012
Lösungsvorschlag zu Übungsblatt 2
Diskrete Mathematik (D-ITET)
Aufgabe 1
(a) Die rechte Seite der Gleichung beschreibt die Anzahl Möglichkeiten, n Elemente aus einer 2nelementigen Menge auszuwählen. Wir unterteilen die möglichen Wahlen in zwei (disjunkte)
Klassen, solche, die das
erste Element enthalten, und solche, die es nicht enthalten. Die erste
Klasse enthält 2n−1
Wahlen (=die Anzahl Möglichkeiten, aus den verbleibenden 2n − 1
n−1
Elementen noch n − 1 auszuwählen). Die zweite Klasse enthält 2n−1
Wahlen (=die Anzahl
n
Möglichkeiten, aus den verbleibenden 2n−1 Elementen n auszuwählen).
Wir
wissen ausserdem,
n
dass für alle natürlichen Zahlen n und k ≤ n die Beziehung nk = n−k
gilt (statt k Elemente
aus n auszuwählen, können auch die n−k Elemente bestimmt werden, die nicht in der Auswahl
enthalten sein sollen). Insgesamt erhalten wir also
2n
2n − 1
2n − 1
2n − 1
2n − 1
2n − 1
=
+
=
+
=2
.
n
n−1
n
n
n
n
(b) Die Anzahl Handschläge, die n + 1 Personen austauschen, wenn jeder jedem genau einmal die
Hand schüttelt, ist durch n+1
gegeben (jeder Handschlag entspricht einer möglichen Wahl
2
von 2 Personen aus n + 1). Eine andere Möglichkeit, die Handschläge zu zählen, ist wenn
man annimmt, dass alle Personen einzeln ankommen und jeweils allen bereits Anwesenden die
Hand schütteln (sobald alle n + 1 Personen angekommen sind, hat bei diesem Vorgehen dann
offensichtlich jeder jedem die Hand gegeben). Die erste Person, die ankommt, schüttelt keinem
die Hand. Die zweite Person reicht der ersten die Hand, es ergibt sich also ein Handschlag.
Die dritte Person schüttelt zwei Hände, die vierte Person drei Hände usw.
Pnbis zur (n + 1)-ten
Person, welche n andere begrüssen darf. Aufsummiert ergibt das genau i=1 i.
(c) Die rechte Seite der Gleichung beschreibt die Anzahl Möglichkeiten, 3 Elemente aus der Menge
{1, . . . , n + 1} auszuwählen. Eine andere Möglichkeit, diese Elemente zu wählen, ist zuerst das
mittlere Element festzulegen, dann das kleinere und das grössere der drei. Wählt man i + 1
als mittleres Element, so gibt es i Möglichkeiten für die Wahl des kleineren und n − i für die
Wahl des grösseren. Aufsummiert über alle Möglichkeiten für die Wahl des mittleren Elements
erhalten wir
n
n−1
X
X
i(n − i).
i(n − i) =
i=1
i=1
Aufgabe 2
(a) Für n = 1 gibt es keine fixpunktfreien Permutationen (da nur ein Element vorhanden ist,
muss es auf sich selbst abgebildet werden). Für n = 2 gibt es eine fixpunktfreie Permutation,
nämlich die, welche die zwei Elemente vertauscht. Für n = 3 sind genau die Permutationen
(231) und (312) fixpunktfrei.
1
(b) Man kann die Anzahl Dn der fixpunktfreien Permutationen von [n] berechnen, indem man
von der Anzahl aller möglichen Permutationen (dies sind n! viele) die Anzahl Permutationen
abzieht, welche mindestens einen Fixpunkt haben. Für jede Teilmenge A ⊆ [n] bezeichnen wir
mit FA die Anzahl Permutationen, die an (mindestens) den Stellen in A Fixpunkte haben.
Wir wollen an den Stellen 1 bis n keine Fixpunkte, also ziehen wir diese von n! ab:
n! − F{1} + F{2} + · · · + F{n} .
Aus Symmetriegründen sind alle F{i} gleich gross, und zwar genau (n − 1)!. Der Grund dafür
ist, dass die Zahl an der i-ten Stelle i sein muss (dies ist ein Fixpunkt!) und die restlichen
n − 1 Stellen beliebig permutiert werden dürfen. Das obige Zwischenergebnis lässt sich also zu
n
n! −
(n − 1)!
1
vereinfachen. Damit haben wir aber Permutationen, die an genau zwei Stellen einen Fixpunkt
haben, doppelt abgezogen. Da wir sie aber nur einmal abziehen
wollen, müssen wir solche
Permutationen wieder einmal dazuzählen. Wieder sind alle n2 der Zahlen F{i,j} gleich gross,
und zwar genau (n − 2)! (zwei Stellen sind fixiert, die anderen dürfen beliebig permutiert
werden). Der Zwischenstand ist nun bei
n
n
n! −
(n − 1)! +
(n − 2)!.
1
2
Permutationen mit genau drei Fixpunkten haben wir jetzt dreimal abgezogen (mit den F{i} ),
dann aber wieder dreimal dazugezählt (mit den F{i,j} ) Wir müssen sie also wieder einmal
abziehen. Führt man diesen Gedankengang fort (Anwendung des Prinzips von Inklusion und
Exklusion) so erhält man
n
X
n
n
n
i n
(n − i)!.
(−1)
Dn = n! −
(n − 1)! +
(n − 2)! −
(n − 3)! + · · · =
i
1
2
3
i=0
Die Summe auf der rechten Seite lässt sich weiter vereinfachen zu
n
n
n
X
X
X
(−1)i
n!
i n
(−1)i
(n − i)! = n!
.
(n − i)! =
(−1)
(n − i)!i!
i!
i
i=0
i=0
i=0
(c) Aus der Lösung zu (b) lässt sich der asymptotische Anteil der fixpunktfreien Permutationen
leicht berechnen:
∞
Dn X (−1)i
1
lim
=
= ≈ 36, 8%
n→∞ n!
i!
e
i=0
Hier bezeichnet e die Euler-Konstante. Dass die Reihe tatsächlich gegen 1/e konvergiert, kann
bewiesen werden, indem man z.B. die Taylor-Entwicklung der Funktion ex um die Stelle 0 für
x = −1 betrachtet.
Aufgabe 3
Wir wählen eine der n Personen am Tisch aus, die wir Person 1 nennen. Wir numerieren nun die
Personen im Uhrzeigersinn. Sei Cn die Anzahl der Möglichkeiten die Paare zu wählen, wenn 2n
Personen am Tisch sitzen. Für n = 1 ist C1 = 1. Ausserdem setzen wir C0 = 1. Wenn n ≥ 2,
und Person 1 Person k die Hand gibt, muss k gerade sein und es gibt noch C(k−2)/2 C(2n−k)/2
Möglichkeiten die restlichen Paare zu wählen. Beachten Sie, dass diese Formel durch die Konvention
C0 = 1 auch für die Fälle k = 2 und k = 2n stimmt. Also gilt
Cn =
2n
X
C(k−2)/2 C(2n−k)/2 =
n
X
k=1
k=1
kgerade
2
Ck−1 Cn−k
was genau der Rekursion für die Catalan-Zahlen entspricht und es gilt Cn =
.
2n
1
n+1 n
Aufgabe 4
(a)
> : linke Seite schwerer
< : linke Seite leichter
= : beide Seiten gleich
x1 , x2 , x3 ? x4 , x5 , x6
>
x1 ? x2
>
x7 ? x8
<
=
<
=
>
x4 ? x5
<
=
>
=
<
x6
x3
x7
x9
x8
x4
x5
x1
x2
(b) Der Ablaufbaum ist ternär, d.h. jeder Knoten hat höchstens 3 Kinder. Daher gibt es in Tiefe
i höchstens 3i Knoten. (Die Wurzel hat Tiefe 0.)
Bei manchen Knoten gibt der Algorithmus ein Ergebnis aus. Da jede Situation bei einem
korrekt arbeitenden Algorithmus erkannt werden muss, kommt jedes mögliche Ergebnis mindestens einmal als Ausgabe vor. Daher muss die Zahl der Knoten mindestens so gross sein wie
die Anzahl der möglichen Ergebnisse, also n. Hat der Ablaufbaum die Tiefe w, so gilt also
n ≤ Zahl der Knoten ≤
w
X
i=0
3i =
3w+1 − 1
< 3w+1
2
⇒ log3 (n) < w + 1
⇒ w > log3 (n) − 1
Die Tiefe des Ablaufbaums ist aber genau die Anzahl der Wägungen im schlimmsten Fall.
Also ist die Behauptung gezeigt.
Ergänzung: Gibt man bei einem Knoten ein Ergebnis aus, so muss genau dasselbe Ergebnis
auch beim Vaterknoten und allen weiteren Vorgängern eine konsistente Ausgabe gewesen sein,
denn der Kindknoten hat ja mehr Informationen als seine Vorgänger.
Deshalb muss jedes mögliche Ergebnis sogar von einem Blatt (= kindloser Knoten) des Baumes
ausgegeben werden. Man kann sich überlegen, dass ein ternärer Baum der Tiefe w höchstens
3w Blätter hat. Damit muss sogar n ≤ 3w sein. Umgeformt gilt also w ≥ log3 (n).
Da w eine ganze Zahl ist, kann man daraus folgern, dass w ≥ ⌈log3 (n)⌉ gilt. Andererseits
kann man leicht einen Algorithmus finden, der im schlimmsten Fall tatsächlich nur ⌈log3 (n)⌉
viele Wägungen benötigt (siehe Teilaufgabe (d)). Damit ist die Schranke w ≥ ⌈log3 (n)⌉ sogar
scharf.
(c) Das Argument geht genau wie in (b), nur dass man diesmal nk verschiedene Ergebnisse hat.
( nk = Anzahl der Möglichkeiten, aus n Münzen k gefälschte Münzen auszuwählen.) Damit
ist
n
< 3w+1 .
k
3
Auflösen nach w ergibt
n
w
>
log3
−1
k
Stirling
=
log3 2H(k/n)n+O(log(k)) − 1
=
Def. von H()
=
(H(k/n)n + O(log(k))) log3 (2) − 1
k
k
k
k
− · log2
− 1−
· log2 1 −
· n log3 (2) + log3 (2) · O(log(k)) − 1
{z
}
|
n
n
n
n
=O(log(k))
=
=
n
n
+ O(log(k))
+ (n − k) · log3 (2) log2
n−k
n
n
k · log3
+ (n − k) · log3
+ O(log(k)).
k
n−k
k · log3 (2) log2
k
(d) Wir beweisen induktiv nach der Grösse m := ⌈log3 (n)⌉, dass es diesen Algorithmus gibt. Die
genaue Ausprägung des Algorithmus ergibt sich unmittelbar aus der Induktion. Das Diagramm
in (a) lässt bereits das Schema erahnen.
Ist m = 1, so ist 2 ≤ n ≤ 3. Wir wiegen die Münzen x1 und x2 gegeneinander. Ist eine davon
schwerer, so ist dies die falsche Münze. Sind sie gleich schwer, so muss es eine dritte Münze
x3 geben und diese muss falsch sein.
Nun nehmen wir die Behauptung für m ∈ N an und zeigen sie für m + 1.
Wir teilen die Münzen möglichst gleichmässig in drei Mengen M1 , M2 und M3 auf. Dann
haben alle drei Mengen Mächtigkeit ⌈n/3⌉ oder ⌈n/3⌉ − 1. Da es sich um drei Mengen handelt,
müssen nach dem Schubfachprinzip zwei dieser Mengen die gleiche Mächtigkeit haben. Seien
dies o.B.d.A. M1 und M2 . Dann wiegen wir die Menge M1 gegen die Menge M2 . Ist eine der
beiden Mengen schwerer, so ist die falsche Münze darin enthalten, sonst in M3 .
Wir müssen also nur noch eine Menge von höchstens ⌈n/3⌉ Münzen mit m Wägungen untersuchen. Es ist nach Voraussetzung m + 1 = ⌈log3 (n)⌉, und daher 3m < n ≤ 3m+1 . Also ist auch
3m−1 < n/3 ≤ 3m . Weil die rechte Seite eine ganze Zahl ist, ist dann sogar 3m−1 < ⌈n/3⌉ ≤ 3m .
Daraus folgt wiederum m = ⌈log3 ⌈n/3⌉⌉. Wir können also unsere Induktionsvoraussetzung
anwenden und die Münze mit m weiteren Wägungen herausfinden. Damit ist die Induktionsbehauptung bewiesen.
4
Herunterladen