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