Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 Invarianten- und Halbinvariantenmethode Katharina Wurz 22.05.2015 Proseminar „Mathematisches Problemlösen“ Inhaltsverzeichnis: 1. Invarianten und Halbinvarianten 2. Beispiele a. Zahlen an der Wand b. Spatzen auf dem Baum c. Funktionen d. Der Staat Rastlosia e. Projektbesprechung f. Invarianten und Folgen 3. Literaturverzeichnis 1 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 1. Invarianten und Halbinvarianten Wenn es bei Aufgaben um bestimmte Prozesse geht, wie zum Beispiel ein Spiel oder ein Algorithmus, bei denen nur gewisse Operationen erlaubt sind, so können folgende Fragen eine Rolle spielen: Terminiert der Prozess nach endlich vielen Schritten bzw. konvergiert der Prozess gegen einen Endzustand? Kann ein bestimmter Endzustand von einem Anfangszustand erreicht werden? Welche Endzustände sind überhaupt erreichbar? Um diese Fragen zu beantworten, ist es oft nützlich, nach einer Invarianten zu suchen. Das ist eine Funktion, die sich nach jeder Operation nicht ändert. Seien also zend und zanf zwei Zustände, sowie I die Invariante. Ist zend von zanf erreichbar, d.h. es gibt (endliche viele) Operationen, von denen man schrittweise von zanf nach zend übergehen kann, so ist I(zanf) = I(zend). Gilt allerdings I(zanf) ≠ I(zend), so kann vom Ausgangszustand der Endzustand nicht erreicht werden. Gerade wenn es um die Terminierung eines Prozesses geht, ist es oftmals hilfreich, sich eine Halbinvariante zu definieren. Das ist wiederum eine Funktion, die sich nach jeder Operation ändert und entweder immer größer oder immer kleiner wird. Im Folgenden wollen wir diese Beweismethoden an einigen Beispielen erproben. 2 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 2. Beispiele a. Zahlen an der Wand Als Einführungsbeispiel betrachten wir die Zahlen 1,…, n-1, n, die an einer Tafel stehen. In einem Schritt darf man zwei beliebige Zahlen a und b wegwischen und deren Summe an die Tafel schreiben. Fragestellung: i) ii) Endet dieser Prozess nach endlich vielen Schritten? Falls ja, zeigen Sie, dass der letzte Tafelaufschrieb nicht von der Reihenfolge der Operationen abhängt. Lösung: ad i) : Sei Ak die Anzahl der Zahlen, die nach k Schritten noch an der Tafel stehen. Ak+1 = Ak -1 Dann ist mit A0 = n: An-1 = A0 – (n - 1) ∗ 1 = n–n+1=1 Der Prozess endet nach n – 1 Schritten. In diesem Fall ist Ak eine Halbinvariante, denn sie wird nach jedem Schritt kleiner. ad ii) Sei m die Zahl, die am Ende an der Tafel steht. Da in einem Schritt zwei Zahlen durch ihre Summe ersetzt werden, ändert sich die Summe aller Zahlen nach keiner Operation, sie ist also eine Invariante. Dementsprechend ist sie auch unabhängig von der Reihenfolge der Operationen. Am Ende steht dann an der Tafel: 𝑛 (𝑛+1) m = 1 + 2 + … + n – 1 + n = ∑𝑛𝑖=1 𝑖 = 2 ∎ 3 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 b. Spatzen auf dem Baum In einem Kreis stehen 44 Bäume, auf jedem Baum sitzt ein Spatz. Es wechseln immer zwei Vögel ihre Plätze. Der eine Spatz fliegt zu ihm im Uhrzeiger nächsten Baum, der andere Spatz zu dem ihm im Gegenuhrzeigersinn nächsten Baum. Fragestellung: Ist es möglich, dass irgendwann alle Spatzen auf einem Baum versammelt sind? Lösung: Sei sj die Anzahl der Spatzen, die zu einem bestimmten Zeitpunkt auf einem Baum Bj sitzen, j = 1,…, 44. Dies bedeutet, dass zu Beginn sj = 1 ∀𝑗 = 1, … ,44 Außerdem sei Z die Summe, die wie folgt definiert ist: Z = s1 + 2s2 + … + 43s43 + 44s44 Betrachte nun 𝛿 = Zneu – Zalt bei einem Wechsel eines Vogels vom Baum Bj zu Bj – 1 und des anderen vom Baum Bk zu Bk+1 mit folgenden Fallunterscheidungen: Fall 1 : j ≥ 2 und k ≤ 43 𝛿 = [(j – 1)(sj –1 + 1) + j(sj – 1) + k(sk – 1) + (k + 1)(sk+1 + 1) ] - [(j-1)sj – 1 + j sj + k sk + (k + 1)sk+1 ] = (j – 1) – j – k + (k + 1) = 0 Fall 2 : j = 1 und k ≤ 43 𝛿 = [44(s44 + 1) + 1(s1 – 1) + k(sk – 1) + (k + 1)(sk+1 + 1) ] - [44s44 + 1 s1 + k sk + (k + 1)sk+1 ] = 44 – 1 – k + (k + 1) = 44 Fall 3 : j ≥ 2 und k = 44 𝛿 = [(j – 1)(sj –1 + 1) + j(sj – 1) + 44(s44 – 1) +1(s1 + 1) ] - [(j-1)sj – 1 + j sj + 44 s44 + 1s1 ] = (j – 1) – j – 44 + 1 = – 44 Fall 4 : j = 1 und k = 44 𝛿 = [44(s44 + 1) + 1(s1 – 1) + 44(s44 – 1) +1(s1 + 1) ] - [44s44 + 1 s1 + 44 s44 + 1s1 ] = 44 – 1 – 44 + 1 = 0 4 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 Man erkennt, dass δ modulo 44 = 0, d.h. der Rest, den Z bei Division durch 44 lässt, ist eine Invariante. Betrachtet man nun den Anfangs- und den Endzustand, so ergibt sich: Zanf = 1 + 2 +… + 44 = 44∗45 2 = 44 2 ∗ 45 Zend = 44j für ein j ∈ { 1, … , 44 } Da Zend durch 44 teilbar ist, Zanf aber nicht, das heißt beide Zustände ergeben einen voneinander unterschiedlichen Rest bei Division durch 44, ist der Endzustand vom Anfangszustand aus nicht erreichbar. Es ist also nicht möglich, dass sich nach einer gewissen Anzahl von Schritten alle Spatzen auf einem Baum versammeln. ∎ c. Funktionen Seien die Funktion 𝑓1 (𝑥) = 𝑥, sowie die Operationen A und B, die wie folgt definiert sind, gegeben. 𝑓 ↦ 𝐴𝑓, 𝐴𝑓 (𝑥 ) = 𝑥𝑓(𝑥) und 𝑓 ↦ 𝐵𝑓, 𝐵𝑓 (𝑥 ) = 2𝑓 2 (𝑥 ) − 1 Fragestellung: Kann man durch mehrmalige Ausführung der Operationen A und B die Funktion f1 in die Funktion f2 = x 2015 + 1 überführen? Lösung: Als Invariante kann man den Funktionswert an der Stelle x = 1 betrachten. Für jede Funktion 𝑓 mit 𝑓 (𝑥 ) = 1 gilt: 𝐴𝑓 (1) = 1𝑓 (1) = 1 𝐵𝑓 (1) = 2𝑓 2 (1) – 1 = 2 – 1 = 1 Nach jeder Operation bleibt 𝑓 (1) = 1. Für 𝑓2 gilt: 𝑓2 (1) = 12015 + 1 = 2 ≠ 1 = 𝑓1 (1). Man kann also 𝑓1 durch die Operation A und B nicht in 𝑓2 umwandeln. ∎ 5 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 d. Rastlosia Im Staat Rastlosia gibt es n Städte. Jede Stadt hat eine ungerade Anzahl an befreundeten Städten. Die Regierung einer Stadt bildet entweder die Rote oder die Schwarze Partei. Jeden Monat wählt eine der Städte eine neue Regierung. Die Bürger wählen dann immer die Partei, die in der Mehrzahl ihrer befreundeten Städte regiert. Aufgabe : Zeigen Sie, dass nach einiger Zeit in jeder Stadt die Partei an der Macht ist, die auch in der Mehrzahl der befreundeten Städte regiert, d.h. dass es nach einer gewissen Zeit zu keinem Regierungswechsel mehr kommen wird. Lösung : Sei U die Anzahl der befreundeten Städtepaare mit verschiedenen Regierungsparteien. Sei A eine Stadt, deren bisherige Regierung o.B.d.A. von der Roten Partei gebildet wird und die nach einer Wahl die Regierung wechselt. Ist a die Anzahl der Städte, die mit A befreundet sind und von Rot regiert werden, sowie b die Anzahl mit A befreundeter Städte, die von Blau regiert werden, so gilt a < b, denn sonst gäbe es keinen Regierungswechsel. Dann gilt für die Anzahl befreundeter Städtepaare mit verschiedener Regierung: Uneu = Ualt – b + a , dann ist Ualt - Uneu = b – a ≥ 1 U ist eine Halbinvariante, die nach jedem Regierungswechsel um mindestens 1 kleiner wird. Da Uanf ∈ ℕ, muss nach endlich vielen Schritten ein Minimum erreicht werden, d.h. der Prozess kommt zum Stillstand. ∎ Das Beispiel, das im Folgenden betrachtet wird, stammt aus der Klausur zur Vorlesung „Grundbegriffe der Informatik“ vom 18.September 2012. 6 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 e. Projektbesprechung In einer Projektbesprechung sitzen insgesamt 42 Programmierer. Davon sind J = 12 Java-, C = 14 C- und P = 16 Pascal-Programmieren. Immer wenn zwei Programmierer, die bisher in unterschiedlichen Sprachen programmiert haben, miteinander diskutieren, führt dies dazu, dass beide in die dritte Programmiersprache wechseln. Fragestellung : Ist es möglich, dass durch eine Folge von Diskussionen, deren Resultat ein Wechsel der Programmiersprache ist, irgendwann alle Teilnehmer in Pascal programmieren? Lösung : Damit alle Programmierer in Pascal programmieren (P = 42), muss gelten C = 0 und J = 0. Dies kann nur erreicht werden, wenn C – J = 0. Für die Differenzen der Anfangsverteilung gilt: C – J = 2, P – C = 2 und P – J = 4 Nach jeder Iteration sind dies die möglichen Neuverteilungen: (1) C und J wechseln zu P (2) C und P wechseln zu J (3) P und J wechseln zu C Vor der Iteration gilt für die Differenzen: C – J = x , P – C = y und P – J = z Diese ändern sich je nach Neuverteilung nach einer Iteration wie folgt: (1) C – J = x , P–C=y+3 , P–J=z+3 (2) C – J = x – 3 , P – C = y , P–J=z–3 (3) C – J = x +3 , P – C = y – 3 , P – J = z Es fällt auf, dass die Differenzen modulo 3 invariant sind, das ist folglich eine Invariante. Da für die Anfangsverteilung gilt, dass C – J = 2, kann C – J = 0 als eine Folge von Diskussionen nicht erreicht werden. Es ist also nicht möglich, dass alle Programmierer am Ende in Pascal programmieren. ∎ 7 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 f. Invarianten und Folgen Aufgabe: Seien (xn ) und (𝑦𝑛 ) zwei Folgen. i. Es gilt: 𝑥1 = 1 und 𝑦1 = 0 , sowie 𝟑𝒙 −𝟒𝒚 𝟒𝒙 + 𝟑𝒚 𝒙𝒏+𝟏 = 𝒏 𝟓 𝒏 ; 𝒚𝒏+𝟏 = 𝒏 𝟓 𝒏 Berechnen Sie 2 𝑥2015 + 3 2 𝑦2015 ∀𝒏 ≥ 𝟏 ! 4 ii. Es gilt : 𝑥1 = 5 und 𝑦1 = 5 , sowie 𝒙𝒏+𝟏 = 𝒙𝟐𝒏 − 𝒚𝟐𝒏 ; 𝒚𝒏+𝟏 = 𝟐𝒙𝒏 𝒚𝒏 Berechnen Sie 𝑥2015 und 𝑦2015 ! ∀𝒏 ≥ 𝟏 Lösung: ad i) Beh: 𝐼𝑛 = 𝑥𝑛2 + 𝑦𝑛2 ist Invariante, das bedeutet 2 2 𝑥2015 + 𝑦2015 = 𝑥𝑗2 + 𝑦𝑗2 ∀𝑗 ≥ 1 2 2 Bew: 𝐼𝑛+1 = 𝑥𝑛+1 + 𝑦𝑛+1 3𝑥𝑛 −4𝑦𝑛 2 4𝑥 −3𝑦 ) + ( 𝑛 5 𝑛 )2 5 2 −24𝑥 𝑦 +16𝑦 2 +16𝑥 2 +24𝑥 𝑦 +9𝑦2 9𝑥𝑛 𝑛 𝑛 𝑛 𝑛 𝑛 𝑛 𝑛 =( = 2 +25𝑦2 25𝑥𝑛 𝑛 25 2 𝑥𝑛 + = = 𝑦𝑛2 = 𝐼𝑛 (1) 25 Mit vollständiger Induktion lässt sich nun ganz einfach zeigen, dass 𝐼𝑛 = 𝐼1 ∀𝑛 ≥ 1. IA : n=1: 𝐼1 = 𝐼1 √ IV : Sei 𝑛 ≥ 1 beliebig aber fest und gelte 𝐼𝑛 = 𝐼1. IS : 𝐼𝑛+1 = 𝐼𝑛 = 1, wobei das erste Gleichheitszeichen mit (1) gilt und das zweite wegen der Induktionsvoraussetzung. Daraus folgt 𝐼𝑛 = 𝐼1 = 𝑥12 + 𝑦12 = 12 + 02 = 1 2 2 Damit gilt aber auch 𝐼2015 = 𝑥2015 + 𝑦2015 =1 ad ii) ∎ Beh : 𝐼𝑛 = 𝑥𝑛2 + 𝑦𝑛2 ist wieder eine Invariante. 2 2 Bew : 𝐼𝑛+1 = 𝑥𝑛+1 + 𝑦𝑛+1 = (𝑥𝑛2 − 𝑦𝑛2 )2 + (2𝑥𝑛 𝑦𝑛 )2 = 𝑥𝑛4 − 2𝑥𝑛2 𝑦𝑛2 + 𝑦𝑛4 + 4𝑥𝑛2 𝑦𝑛2 = 𝑥𝑛4 + 2𝑥𝑛2 𝑦𝑛2 + 𝑦𝑛4 = (𝑥𝑛2 + 𝑦𝑛2 )2 = (𝐼𝑛 )2 9 16 Mit 𝐼1 = 25 + 25 = 1 und vollständiger Induktion folgt, dass 𝐼𝑛 = 1 ∀𝑛 ≥ 1, also ist 𝐼𝑛 eine Invariante. Mit dieser Invariante kann man nun folgendermaßen substituieren: x𝒏 = cos(𝜑𝑛 ), 𝑠𝑜𝑤𝑖𝑒 𝑦𝑛 = sin(𝜑𝑛 ) . Die Invariante wird dadurch nicht verletzt. 4 Außerdem gilt: 𝜑1 = arcsin(𝑦1 ) = arcsin(5) 8 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 Für cos und sin gelten folgende Aussagen: 𝑥𝑛+1 = (𝑥𝑛 )2 − (𝑦𝑛 )2 = cos 2 (𝜑𝑛 ) − sin2 (𝜑𝑛 ) = cos(2𝜑𝑛 ) 𝑦𝑛+1 = 2𝑥𝑛 𝑦𝑛 = 2 cos(𝜑𝑛 ) sin(𝜑𝑛 ) = sin(2𝜑𝑛 ) Das heißt, dass wegen 𝑥𝑛 = cos(𝜑𝑛 ) 𝑢𝑛𝑑 𝑥𝑛+1 = cos(2𝜑𝑛 ), die Rekursion 𝜑𝑛+1 = 2𝜑𝑛 folgt. Auch hier lässt sich mit vollständiger Induktion leicht beweisen, dass 4 𝜑𝑛+1 = 2𝑛 𝜑1 = 2𝑛 arcsin( ) 5 Wendet man dies nun auf die ursprüngliche Substitution an, so ergibt sich das gewünschte Ergebnis: 4 𝑥2015 = cos(22014 arcsin( )) 5 4 2014 𝑦2015 = sin (2 𝑎𝑟𝑐𝑠𝑖𝑛 ( )) ∎ 5 9 Invarianten- und Halbinvariantenmethode Katharina Wurz, 22.05.15 3. Literaturverzeichnis Lösungsstrategien – Mathematik für Nachdenken Natalia Grinberg, 2011, Verlag Harri Deutsch, Frankfurt am Main, 2.Auflage Klausur zur Vorlesung Grundbegriffe der Informatik, 18. September 2012 10