Invarianten- und Halbinvariantenmethode - KIT

Werbung
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
Herunterladen