Dipl.Inf. Malte Isberner – Dr. Oliver Rüthing – Dipl.Inf. Melanie Schmidt – Dr. Hubert Wagner Übungen zur Vorlesung Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 3 Die Lösungshinweise dienen primär der internen Kommunikation der Lösungen zu den Übungsaufgaben. Sie sind geeignet, das Vorgehen zur Lösung zu illustrieren und die zur Lösung erforderlichen Ideen und Denkanstöße zu vermitteln. Bitte beachten Sie jedoch, dass es sich hierbei nicht um Musterlösungen handelt in dem Sinne, dass sie eine mustergültige Verschriftlichung des jeweiligen Lösungsweges darstellen. Insbesondere sind aus Platzgründen einige der Lösungswege nur abgekürzt dargestellt. Daraus leitet sich jedoch nicht ab, dass ein entsprechendes Vorgehen in der Klausur automatisch zur vollen Punktzahl führt! Aufgabe 3.1 Äquivalenzrelationen (Präsenzaufgabe) Über die Agenten, die in der Wumpus-Welt operieren, ist folgendes bekannt: Seien A, B und C beliebige Agenten. Wenn Agent A sowohl Agent B als auch Agent C kennt, so kennt Agent B ebenfalls den Agenten C. Natürlich kennt jeder Agent auch sich selbst. Zeigen Sie, dass die in der Wumpus-Welt zwischen Agenten bestehende binäre Relation „kennt“ eine Äquivalenzrelation ist. Lösung: Wir bezeichnen die binäre Relation auf der Menge der Agenten der Wumpus-Welt mit kennt. Die in der Aufgabenstellung genannten Angaben besagen, dass für beliebige Agenten A, B und C folgendes gilt: • A kennt A • Aus A kennt B sowie A kennt C folgt B kennt C. Die erste Eigenschaft ist die auch für Äquivalenzrelationen geforderte Reflexivität. Die zweite Eigenschaft bezeichnet man als Euklidizität. Um die Äquivalenzrelationseigenschaft von kennt nachzuweisen ist nun zu zeigen, dass sich aus der Euklidizität (unter Zuhilfenahme der Reflexivität) sowohl Symmetrie als auch Transitivität folgern lassen. • Symmetrie: Es seien A und B beliebige Agenten. Wir nehmen an, dass A kennt B gelte. Aufgrund der Reflexivität gilt außerdem A kennt A. Mit der Euklidizität (hierbei setzen wir C = A) erhalten wir direkt B kennt A. • Transitivität: Es seien A, B und C beliebige Agenten, und es gelte A kennt B sowie B kennt C. Aufgrund der Symmetrie gilt dann auch B kennt A. Mittels Euklidizität folgern wir aus B kennt A und B kennt C die Gültigkeit von A kennt C. 1 Die Relation kennt ist also reflexiv, symmetrisch und transitiv und damit eine Äquivalenzrelation. Aufgabe 3.2 Äquivalenzrelationen und Partitionen (2+2+1 Punkte) 1. Betrachten Sie die Relation R ⊆ Z × Z, die wie folgt definiert ist: xRy ⇔df x + y ist gerade ∀x, y ∈ Z Beweisen oder widerlegen Sie: R ist eine Äquivalenzrelation. Lösung: Diese Aussage ist korrekt. Wir weisen die erforderlichen drei Eigenschaften nach (Anmerkung: Eine Zahl a ∈ Z ist genau dann gerade, wenn gilt: ∃k ∈ Z.a = 2k): • Reflexivität: Es sei x ∈ Z. Da x + x = 2x gerade ist, folgt sofort xRx. • Symmetrie: Es seien x, y ∈ Z. Aus xRy folgern wir x + y = 2k für ein geeignetes k ∈ Z. Aufgrund der Kommutativität der Addition gilt dann auch y + x = 2k, es folgt yRx. • Transitivität: Es seien x, y, z ∈ Z. Falls xRy x + y = 2k1 sowie y + z = 2k2 . Wir erhalten Umformungen: x+y+y+z = ⇔ x + z + 2y = ⇔ x+z = ⇔ x+z = sowie yRz gilt, existieren k1 , k2 ∈ Z mit durch (hier sehr detailliert aufgeführte) 2k1 + 2k2 2k1 + 2k2 2k1 + 2k2 − 2y 2(k1 + k2 − y) Es folgt, dass auch x + z eine gerade Zahl ist und damit xRz gilt. 2. Auf der Menge {0, 1, 2, 3, 4} sei die Funktion f wie folgt definiert: f : {0, . . . , 4} → Z, f (x) = x2 − 4x Geben Sie die zugehörige Urbildpartition sowie die durch diese induzierte Äquivalenzrelation ∼f jeweils in expliziter Mengenschreibweise an (vgl. Buch S. 71). Lösung: Die Funktion f nimmt folgende Werte an: f (0) = 0, f (1) = −3, f (2) = −4, f (3) = −3, f (4) = 0 Die entsprechende Urbildpartition lautet also P = {f −1 (0), f −1 (−3), f −1 (−4)} = {{0, 4}, {1, 3}, {2}}. Damit stellt sich die Äquivalenzrelation ∼f in expliziter Schreibweise wie folgt dar: ∼f = {(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (0, 4), (4, 0), (1, 3), (3, 1)} 3. Die in Aufgabenteil 2 berechnete Äquivalenzrelation wird nun durch Hinzufügen des Paares (0, 3) zur Relation R =df ∼f ∪ {(0, 3)} erweitert. Wie im Abschnitt 3.4.3 (S. 75ff) des Buches beschrieben, lässt sich R durch Bildung der reflexiv-transitiv-symmetrischen Hülle wieder zu einer Äquivalenzrelation R0 ⊇ R ergänzen. Wie lautet die durch R0 induzierte Partition {0, . . . , 4}/R0 ? Lösung: Die Berechnung der reflexiv-transitiv-symmetrischen Hülle für ∼f ∪{(0, 3)} und der zugehörigen induzierten Partition ist zwar nicht sonderlich kompliziert, jedoch etwas mühselig. 2 Auf S. 77 des Buches findet sich die Beschreibung eines Vorgehens zur Berechnung der reflexivtransitiv-symmetrischen Hülle auf der Repräsentationsebene von Partitionen. Man überlegt sich leicht, dass der dort beschriebene Algorithmus nach Verarbeitung aller Paare aus ∼f genau die obige Partition P berechnet (die reflexiv-transitiv-symmetrische Hülle einer Äquivalenzrelation ist die Relation selber, mit entsprechend der gleichen induzierten Partition). Die Betrachtung des zusätzlichen Elements (0, 3) führt im letzten Schritt zum Verschmelzen derjenigen Partitionsklassen, die 0 bzw. 3 enthalten. Die resultierende Partition ist daher P 0 = {{0, 1, 3, 4}, {2}} Aufgabe 3.3 Äquivalenzrelationen und Zahlbereiche (3+2 Punkte) 1. Sei ∼1 ⊆ (Z × Z\{0}) × (Z × Z\{0}) definiert durch (a, b) ∼1 (c, d) ⇔df a · d = c · b. Zeigen Sie, dass ∼1 eine Äquivalenzrelation ist. Bemerkung: Die Äquivalenzrelation ∼1 spielt eine wichtige Rolle bei der Erweiterung des Zahlenbereiches der ganzen Zahlen auf den der rationalen Zahlen. Die Äquivalenzklassen von ∼1 identifizieren nämlich wertegleiche Brüche wie 21 = 24 = 36 = . . .. Lösung: Wir zeigen die Eigenschaften einer Äquivalenzrelation im einzelnen: Reflexivität Es gilt (a, b) ∼1 (a, b) denn a · b = b · a Symmetrie Sei (a, b) ∼1 (c, d). Dann gilt a · d = b · c. Somit gilt jedoch auch c · b = a · d und damit (c, d) ∼1 (a, b). Transitivität Seien (a, b) ∼1 (c, d) und (c, d) ∼1 (e, f ). Also insbesondere b, d 6= 0. Dann gilt a · d = b · c und c · f = d · e. Damit a · d · c · f = b · c · d · e. Wenn wir durch c · d teilen1 können haben wir a · f = b · e also (a, b) ∼1 (e, f ) • c 6= 0 dann auch c · d 6= 0, also können wir teilen und es folgt (a, b) ∼1 (e, f ). • c = 0. Wegen a · d = b · c ist auch a · d = 0 und da d 6= 0 muss a = 0 sein. Wegen c · f = d · e muss auch d · e = 0 und wegen d 6= 0 auch e = 0 sein. Damit gilt dann aber a · f = b · e = 0 und es folgt (a, b) ∼1 (e, f ). 2. Sei ∼2 ⊆ (N × N) × (N × N) definiert durch (a, b) ∼2 (c, d) ⇔df a + d = c + b. Zeigen Sie, dass auch ∼2 eine Äquivalenzrelation ist. Überlegen Sie auch, wofür ∼2 sinnvoll eingesetzt werden könnte. Lösung: Wir zeigen zunächst, dass es sich um eine Äquivalenzrelation handelt, indem wir die Eigenschaften im einzelnen nachweisen: Reflexivität (a, b) ∼2 (a, b) denn a + b = b + a 1 Genau genommen erfordert das allgemeine „Teilen“ auf natürlichen Zahlen bereits ein Konzept der rationalen Zahlen. Die Rechtskürzungsregel x · z = y · z ⇒ x = y für z 6= 0, welche hier angewendet wird, lässt sich jedoch auch allein aus den Peano-Axiomen herleiten. Die Korrektheit des Vorgehens kann hier daher uneingeschränkt angenommen werden. 3 Symmetrie Sei (a, b) ∼2 (c, d). Dann gilt per Definition a + d = b + c. Somit gilt jedoch auch b + c = a + d und natürlich auch c + b = a + d. Dies zeigt genau (c, d) ∼2 (a, b). Transitivität ∀a, b, c, d, e, f ∈ N: (a, b) ∼2 (c, d) ∧ (c, d) ∼2 (e, f ) ⇒ a + d = b + c ∧ c + f = d + e ⇒ a+d+c+f =b+c+d+e ⇒ a+f =b+e ⇒ (a, b) ∼2 (e, f ) Die Äquivalenzrelation ∼2 kann zur Konstruktion der ganzen Zahlen verwendet werden: Betrachtet man die Äquivalenzklassen von ∼2 , also (N × N)/∼2 [(0, 0)] =df {(0, 0), (1, 1), (2, 2), . . .} [(1, 0)] =df {(1, 0), (2, 1), (3, 2), . . .} [(0, 1)] =df {(0, 1), (1, 2), (2, 3), . . .} ... so kann eine Äquivalenzklasse [(i, j)] als Beschreibung der Zahldifferenz i−j aufgefasst werden. Für i > j werden die positiven, für i < j die negativen ganzen Zahlen modelliert und i = j steht für die 0. Aufgabe 3.4 Induktives Definieren (Präsenzaufgabe) 1. In den Definitionen 4.2 sowie 4.3 (Buch S. 86f) wurden Addition und Multiplikation auf natürlichen Zahlen allein auf Basis der Peano-Axiome (Definition 4.1, S. 84) definiert. Auf S. 87 wurden weitere Operationen definiert, jedoch nur über das Produktzeichen bzw. die intuitive „. . .“-Schreibweise. Geben Sie analog zu Definition 4.2 bzw. 4.3 eine Definition an zur: a) Exponentiation natürlicher Zahlen, also zur Berechnung von nm für n, m ∈ N. Lösung: n0 =df n s(m) =df 1 n · nm b) Fakultätsfunktion n! für n ∈ N. Lösung: 0! =df s(n)! =df 1 s(n) · n! 2. In Beispiel 4.10 (S. 103f) finden Sie eine BNF für Boolesche Terme BT über einer Variablenmenge V. a) Definieren Sie induktiv eine Funktion vars : BT → P(V), welche die in einem Term t ∈ BT vorkommenden Variablen angibt. Lösung: Induktiv lässt sich vars wie folgt definieren: 4 • vars(T) =df ∅, vars(F) =df ∅. • vars(v) =df {v} für v ∈ V. • vars(¬t1 ) =df vars(t1 ). • vars(t1 ∨ t2 ) =df vars(t1 ) ∪ vars(t2 ). • vars(t1 ∧ t2 ) =df vars(t1 ) ∪ vars(t2 ). b) Wenden Sie die im vorigen Aufgabenteil a) induktiv definierte Funktion vars schrittweise auf den Booleschen Term (X ∧ (F ∨ (Y ∧ X))) an. Lösung: vars((X ∧ (F ∨ (Y ∧ X)))) = vars(X) ∪ vars((F ∨ (Y ∧ X))) = {X} ∪ (vars(F) ∪ vars((Y ∧ X))) = {X} ∪ (∅ ∪ (vars(Y ) ∪ vars(X))) = {X} ∪ ({Y } ∪ {X}) = {X, Y } 5