Einführung in das Invarianzprinzip Florian Schweizer Mathecamp 28.03.2017 Einführung Übungsaufgaben Halbinvarianten Motivation Betrachtet diesen Kreis, der in sechs Sektoren eingeteilt ist. Wir erlauben, die Zahl in je zwei benachbarten Feldern um jeweils 1 zu erhöhen. In welcher Reihenfolge muss man die Zahlen erhöhen, damit am Ende in allen Feldern dieselbe Zahl steht? 1 0 0 0 1 0 Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Definition: Invarianzprinzip Gegeben sei eine Zustandsmenge und ein Algorithmus (eine Vorschrift), der vorgibt, wie ein Zustand in einen anderen überführt wird. Eine Invariante ist eine Eigenschaft, die für alle Zustände gilt, die mit dem Algorithmus erreicht werden können. Es geht darum zu entscheiden, ob von einem Startzustand aus ein bestimmter Zielzustand erreicht werden kann. Philosophisch: Wenn sich Dinge ändern, suche das, was gleich bleibt. Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Beispiel I Auf einer Tafel stehen die Zahlen 1 bis n. Ihr dürft euch zwei beliebige Zahlen a und b aussuchen und durch die Zahl a + b ersetzen. Das wird immer wiederholt. Am Ende bleibt eine Zahl übrig – beweise, dass diese Zahl 1 + 2 + · · · + n ist. Invariante: Die Summe aller Zahlen an der Tafel bleibt stets gleich und diese beträgt am Anfang genau 1 + 2 + · · · + n. Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Beispiel II Auf einer Tafel stehen die Zahlen 0 bis 2n, wobei n eine ungerade Zahl ist. Es ist erlaubt, zwei Zahlen a und b zu streichen und dafür stattdessen die Zahl |a − b| zu ergänzen. Wir möchten zeigen, dass die letzte verbleibende Zahl ungerade ist. Im Startzustand ist die Summe aller Zahlen eine ungerade Zahl. Der Algorithmus lässt dies (die Parität der Summe) invariant. Wenn nur noch eine Zahl auf der Tafel steht, ist sie ungerade. Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Vorgehen Gegeben seien eine Problemstellung mit Anfangszustand, Algorithmus und Endzustand. Kann der Endzustand erreicht werden? 1 Bestimme Start- und Zielzustand. 2 Finde eine Eigenschaft, die im Anfangszustand gilt und bei Anwendung des Algorithmus erhalten bleibt. → Invariante 3 Zeige, dass die Invariante bewirkt, dass der Endzustand eintritt bzw. nicht eintreten kann. Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Aufgabenblock 1 Bearbeitet die Aufgaben 1 bis 3. Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Der Ritter und der kleine Drache Startzustand: Bestie mit 15 Köpfen. Erlaubte Aktion: 4 Köpfe entfernen oder 6 Köpfe hinzunehmen. Zielzustand: Keine Köpfe (Bestie tot). Invariante: Die Anzahl der Köpfe ist ungerade. ⇒ Der Zielzustand kann nicht erreicht werden. (Schade!) Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Invertierende Schachbretter Startzustand: 8 × 8-Schachbrett mit nur einem schwarzen Feld. Erlaubte Aktion: Die Farben eine Zeile oder Spalte invertieren. Zielzustand: Alle Felder schwarz. Invariante: Die Anzahl der schwarzen Felder ist ungerade. ⇒ Der Zielzustand kann nicht erreicht werden. (Gesamtzahl ist gerade.) Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Schachbretter überdecken 1 Startzustand: 8 × 8-Schachbrett, bei dem zwei sich diagonal gegenüberliegende Ecken fehlen. Erlaubte Aktion: Dominosteine auf das Brett legen. Zielzustand: Alle Felder sind überdeckt. Invariante: Es sind gleich viele weiße und schwarze Felder überdeckt. ⇒ Der Zielzustand kann nicht erreicht werden. (#schwarz < #weiß) Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Aufgabenblock II Bearbeitet Aufgaben 4 bis 8. Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Der Ritter und der große Drache Startzustand: Bestie mit 777 Köpfen. Erlaubte Aktion: 15 Köpfe entfernen oder 32 Köpfe entfernen, wobei dann 1337 Köpfe hinzukommen. Zielzustand: Keine Köpfe (Bestie tot). Invariante: Die Anzahl der Köpfe ist 2 mod 5. ⇒ Der Zielzustand kann nicht erreicht werden. (Schade!) Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Kreissegmente Startzustand: 0 0 1 0 0 1 Erlaubte Aktion: Wert in zwei benachbarten Feldern um je 1 erhöhen. Zielzustand: Alle Zahlen gleich. Invariante: Die alternierende Summe der Felder beträgt 2. ⇒ Der Zielzustand kann nicht erreicht werden. Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Schachbretter überdecken 2 Startzustand: 8 × 8-Schachbrett. Erlaubte Aktion: 1 × 4-Rechteck auf das Brett legen. Zielzustand: Nur noch ein 2 × 2-Quadrat ist nicht überdeckt. Idee: Beschrifte die Felder, sodass ein 1 × 4-Rechteck, jede Zahl einmal trifft. Invariante: Es ist jede Zahl gleich oft überdeckt. ⇒ Der Zielzustand kann nicht erreicht werden. (Betrachte Quadrate.) Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Chamäleons Startzustand: 14 gelbe, 16 rote und 18 blaue Chamäleons. Erlaubte Aktion: Je ein Chamäleon von zwei Farben in zwei Chamäleons der dritten Farbe verwandeln. Zielzustand: 48 Chamäleons derselben Farbe. Invariante: Die Differenzen der Anzahlen bleiben modulo 3 gleich. Beispiel: #rot − #gelb ≡ 2 mod 3. ⇒ Der Zielzustand kann nicht erreicht werden. (Im Zielzustand sind die Differenzen 0 bzw. 48 ≡ 0 mod 3.) Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Das Spatzenproblem Startzustand: Auf sechs im Kreis stehenden Häusern sitzt je ein Spatz. Erlaubte Aktion: Ein Spatz im Uhrzeigersinn ein Haus und zugleich einen Spatz in die andere Richtung ein Haus weiter bewegen. Zielzustand: Alle Spatzen auf einem Dach. Invariante: Für die gewichtete Summe S = 1s1 + 2s2 + . . . + 6s6 der Anzahlen der Spatzen si gilt S ≡ 3 mod 6. ⇒ Der Zielzustand kann nicht erreicht werden. (Wenn alle Spatzen auf einem Dach sitzen, müsste S durch 6 teilbar sein.) Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Definition: Halbinvariante Bei einer Invariante bleibt eine Eigenschaft immer konstant. Eine Halbinvariante ist eine Eigenschaft, die sich durch Anwendung des Algorithmus nur in eine Richtung verändert. Beispiel: Im Startzustand ist die Summe von Zahlen 15. Durch den Algorithmus wird die Summe kleiner oder bleibt gleich, wird aber definitiv nicht größer. Dann kann die Summe nie 16 werden. Florian Schweizer Einführung in das Invarianzprinzip Mathecamp Einführung Übungsaufgaben Halbinvarianten Infizierte Zelle Startzustand: 10 × 10-Schachbrett mit 9 zufälligen infizierten Zellen. Erlaubte Aktion: Felder mit mindestens zwei kranken Nachbarn infizieren. Zielzustand: Alle Felder infizieren. (Halb-)Invariante: Der Umfang des infizierten Gebiets wird nicht größer. ⇒ Der Zielzustand kann nicht erreicht werden. (Umfang nie 40.) Florian Schweizer Einführung in das Invarianzprinzip Mathecamp