Invarianten- und Halbinvariantenmethode

Ähnliche Dokumente
Schnupperkurs: Ausgewählte Methoden zur Aufgabenlösung

Proseminar Mathematisches Problemlösen. Invarianten- und Halbinvariantenmethode

Einführung in das Invarianzprinzip

Elementare Beweismethoden

Theoretische Informatik SS 03 Übung 3

Kanonische Primfaktorzerlegung

Kanonische Primfaktorzerlegung

Der mathematische Beweis

18 Höhere Ableitungen und Taylorformel

Übung zur Vorlesung Berechenbarkeit und Komplexität

Höhere Mathematik II. Variante A

Vorkurs: Mathematik für Informatiker

Grundlagen der Mathematik

Existenz unendlich vieler Primzahlen Es werden mehrere Beweise für die Existenz unendlich vieler Primzahlen vorgetragen.

Studienmaterial Einführung in das Rechnen mit Resten

Reihen/Partialsummenfolgen und vollständige Induktion. Robert Klinzmann

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 2. Jeder Frosch ist glücklich, wenn alle seiner Kinder quaken können.

Übungen zur Vorlesung Einführung in die Mathematik

2. Grundlagen. A) Mengen

Höhere Mathematik III für die Fachrichtung Physik Wintersemester 2016/17. Lösungsvorschlag zu Übungsblatt 5

Theorie der Informatik

Vorkurs Beweisführung

Vorkurs: Mathematik für Informatiker

Grundbegriffe der Informatik Musterlösung zur Klausur am

Vorkurs: Mathematik für Informatiker

TECHNISCHE UNIVERSITÄT MÜNCHEN

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013

Danach arithmetische Fragestellungen wie vollkommene Zahlen und Dreieckszahlen der Griechen.

Bsp. Euklidischer Algorithmus

Mathematik I HM I A. SoSe Variante A

Übung zur Vorlesung Diskrete Strukturen I

Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11)

Klausur Höhere Mathematik I für die Fachrichtung Physik

Lösungsvorschlag zur Übungsklausur zur Analysis I

Inhalt. PROLOG-1A: Mathematik? PROLOG-1B: Aussagen. PROLOG-2: Mengen, Funktionen. PROLOG-3A: Mathematik in Semestern 1+2

5 Grundlagen der Zahlentheorie

Themen: Kubische Gleichungen, Ungleichungen, Induktion

Vollständige Induktion

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

TECHNISCHE UNIVERSITÄT MÜNCHEN

Grundkurs Mathematik I

2.1 Direkter Beweis. Theorie der Informatik. Theorie der Informatik. 2.1 Direkter Beweis. 2.2 Indirekter Beweis

Mathematik Übungsblatt - Lösung. b) x=2

Das Pumping-Lemma Formulierung

Übungen zum Vorkurs Mathematik für Studienanfänger 2009 ***

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den

Mathematische Grundlagen (01141) SoSe 2010

Vorlesungen Analysis von B. Bank

Höhere Mathematik I für die Fachrichtungen Elektroingenieurwesen, Physik und Geodäsie Lösungsvorschläge zum 11. Übungsblatt. { wachsend fallend

7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04

Mathematisches Institut II Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg

1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)

Mathematischer Vorkurs

schreiben, wobei p und q ganze Zahlen sind.

Brückenkurs Mathematik

Theoretische Grundlagen der Informatik

Bilder von Zahlen - Arithmetik und Algebra geometrisch darstellen. Rauter Bianca ( ) Graz, am 10. Dezember 2014

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

a) Die Householder-Transformation, welche den ersten Spaltenvektor a 1 = der Matrix A auf , a 1 αe A = QR, A k =: Q k R k, A k+1 := R k Q k.

Angewandte Mathematik und Programmierung

Grundlagen und Diskrete Strukturen Wiederholungsaufgaben

Mathematische Grundlagen der Computerlinguistik

Algorithmen und Datenstrukturen

1 Eliminieren von ɛ-übergängen

Thema: Die Einheitengruppe des Restklassenrings /n

IV Beweise in der Mathematik

Grundlagen der Mathematik

Das Schubfachprinzip

Höhere Mathematik I für die Fachrichtungen Elektroingenieurwesen, Physik und Geodäsie Lösungsvorschläge zum 7. Übungsblatt

Mengen, Funktionen und Logik

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

Analysis I für Studierende der Ingenieurwissenschaften

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

Der größte gemeinsame Teiler und das kleinste gemeinsame Vielfache Proseminar Modul 4c, Gruppe 3: Primzahlen, Dr. Regula Krapf

Logik/Beweistechniken

Kapitel 11 Beweisführung. Mathematischer Vorkurs TU Dortmund Seite 125 / 254

Vorkurs: Mathematik für Informatiker

Höhere Mathematik II für Ingenieurinnen und Ingenieure Lösungen zur 4. Übung

Transkript:

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

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

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) Endet dieser Prozess nach endlich vielen Schritten? ii) 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: m = 1 + 2 + + n 1 + n = n n (n+1) i i=1 = 2 3

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 j = 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

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 f 1 (x) = x, sowie die Operationen A und B, die wie folgt definiert sind, gegeben. f Af, Af(x) = xf(x) und f Bf, Bf(x) = 2f 2 (x) 1 Fragestellung: Kann man durch mehrmalige Ausführung der Operationen A und B die Funktion f 1 in die Funktion f 2 = x 2015 + 1 überführen? Lösung: Als Invariante kann man den Funktionswert an der Stelle x = 1 betrachten. Für jede Funktion f mit f(x) = 1 gilt: Af(1) = 1f(1) = 1 Bf(1) = 2f 2 (1) 1 = 2 1 = 1 Nach jeder Operation bleibt f(1) = 1. Für f 2 gilt: f 2 (1) = 1 2015 + 1 = 2 1 = f 1 (1). Man kann also f 1 durch die Operation A und B nicht in f 2 umwandeln. 5

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 N, 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

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

f. Invarianten und Folgen Aufgabe: Seien (x n ) und (y n ) zwei Folgen. i. Es gilt: x 1 = 1 und y 1 = 0, sowie x n+1 = 3x n 4y n ; y 5 n+1 = 4x n+ 3y n 5 2 2 Berechnen Sie x 2015 + y 2015! ii. Es gilt : x 1 = 3 5 und y 1 = 4 5, sowie x n+1 = x 2 2 n y n ; y n+1 = 2x n y n Berechnen Sie x 2015 und y 2015! n 1 n 1 Lösung: ad i) Beh: I n = x 2 2 n + y n ist Invariante, das bedeutet 2 2 x 2015 + y 2015 = x 2 j + y 2 j j 1 2 2 Bew: I n+1 = x n+1 + y n+1 = ( 3x n 4y n 5 ) 2 + ( 4x n 3y n ) 2 5 = 9x n 2 24x n y n +16y 2 n +16x 2 n +24x n y n +9y2 n 25 = 25x n 2 +25y n 2 25 = x n 2 + y n 2 = I n (1) Mit vollständiger Induktion lässt sich nun ganz einfach zeigen, dass I n = I 1 n 1. IA : n=1: I 1 = I 1 IV : Sei n 1 beliebig aber fest und gelte I n = I 1. IS : I n+1 = I n = 1, wobei das erste Gleichheitszeichen mit (1) gilt und das zweite wegen der Induktionsvoraussetzung. Daraus folgt I n = I 1 = x 2 1 + y 2 1 = 1 2 + 0 2 = 1 2 2 Damit gilt aber auch I 2015 = x 2015 + y 2015 = 1 ad ii) Beh : I n = x 2 2 n + y n ist wieder eine Invariante. 2 2 Bew : I n+1 = x n+1 + y n+1 = (x 2 n y 2 n ) 2 + (2x n y n ) 2 = x 4 n 2x 2 n y 2 n + y 4 n + 4x 2 2 n y n = x 4 n + 2x 2 n y 2 4 n + y n = (x 2 n + y 2 n ) 2 = (I n ) 2 Mit I 1 = 9 + 16 = 1 und vollständiger Induktion folgt, dass 25 25 I n = 1 n 1, also ist I n eine Invariante. Mit dieser Invariante kann man nun folgendermaßen substituieren: x n = cos(φ n ), sowie y n = sin (φ n ). Die Invariante wird dadurch nicht verletzt. Außerdem gilt: φ 1 = arcsin(y 1 ) = arcsin ( 4 ) 5 8

Für cos und sin gelten folgende Aussagen: x n+1 = (x n ) 2 (y n ) 2 = cos 2 (φ n ) sin 2 (φ n ) = cos (2φ n ) y n+1 = 2x n y n = 2 cos(φ n ) sin(φ n ) = sin(2φ n ) Das heißt, dass wegen x n = cos(φ n ) und x n+1 = cos (2φ n ), die Rekursion φ n+1 = 2φ n folgt. Auch hier lässt sich mit vollständiger Induktion leicht beweisen, dass φ n+1 = 2 n φ 1 = 2 n arcsin ( 4 5 ) Wendet man dies nun auf die ursprüngliche Substitution an, so ergibt sich das gewünschte Ergebnis: x 2015 = cos (2 2014 arcsin ( 4 5 )) y 2015 = sin (2 2014 arcsin ( 4 5 )) 9

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