Etwas Mathematik Vorkurs Wintersemester 2017/18 Werner Struckmann 4.–13. Oktober 2017 Etwas Mathematik Aussagen Aussagen und ihre Bedeutung Aussage: Ein sprachliches Gebilde, dem man sinnvoll einen der Wahrheitswerte wahr oder falsch zuordnen kann. Menge der Wahrheitswerte: B = boolean = {0, 1} = {t, f } = {true, f al se} = {w, f } = {wahr, f al sch} TND: Tertium non datur (ein Drittes gibt es nicht) Es gibt auch Logiken, bei denen Aussagen anders sind. Beispiele: Fuzzy-Logik, LTL (linear time logic, zeitabhängige Aussagen), .... 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 2 / 67 Etwas Mathematik Aussagenlogik Menge der Aussagenvariablen: V V = {p1 , p2 , p3 , ...} Die Variablen werden z. B. auch als p, q, r, ... geschrieben. Menge der Ausdrücke: A pi ∈ A Φ, Ψ ∈ A =⇒ (¬Φ) ∈ A (Φ ∧ Ψ ) ∈ A (Φ ∨ Ψ ) ∈ A (Φ → Ψ ) ∈ A (Φ ↔ Ψ ) ∈ A Negation Konjunktion Disjunktion Implikation Äquivalenz Diese Operationen werden auch Verknüpfungen genannt. Etwas Mathematik Wahrheitswerte bei Verknüpfungen F (Φ) Φ f w Φ f f w w Ψ f w f w Φ∧Ψ f f f w ¬Φ w f Φ∨Ψ f w w w Φ→Ψ w w f w Kein exklusives Oder Φ ist erfüllbar gdw. es ex. ein Fall mit F (Φ) = w Φ ist allgemeingültig gdw. für alle Fälle gilt F (Φ) = w Φ↔Ψ w f f w Etwas Mathematik Äquivalente Aussagen Die Aussagen Φ f f w w Φ→Ψ Ψ f w f w ¬Φ w w f f und ¬Φ ∨ Ψ ¬Φ ∨ Ψ w w f w sind äquivalent. Φ→Ψ w w f w Etwas Mathematik Prädikatenlogik Die Prädikatenlogik legt eine Struktur der Aussagen fest. Variable p1 , p2 , p3 , ..., x, y, z, ... Quantoren: ∃, ∀ Funktionssymbole Relationssymbole Verknüpfungen, Klammerungen 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 6 / 67 Etwas Mathematik Mengenlehre Georg Cantor, 1895 Unter einer Menge verstehen wir jede Zusammenfassung von bestimmten, wohlunterschiedenen Objekten m unserer Anschauung oder unseres Denkens zu einem Ganzen M. m∈M ZFC ist eine der axiomatischen Mengenlehren. Relationssymbol: ∈ 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 7 / 67 Etwas Mathematik Mengenlehre Beispiel: M = {2, 7, 5} = {5, 2, 5, 7, 7, 2, 2, 2} | M |= 3 Ein Axiom: Das Extensionalitätsaxiom: ∀x∀y(∀z(z ∈ x ↔ z ∈ y) ↔ x = y) 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 8 / 67 Etwas Mathematik Mengen Leere Menge: ∅ = {} Zahlenmengen: N, N0 , Z, Q, R, C Teilmenge: N⊆M Potenzmenge: P (M) = {N | N ⊆ M} Durchschnittsmenge: M ∩ N = {x | x ∈ M ∧ x ∈ N} Vereinigungsmenge: M ∪ N = {x | x ∈ M ∨ x ∈ N} Differenzmenge: M \ N = {x | x ∈ M ∧ x ∈ / N} Kartesisches Produkt: M × N = {(x, y) | x ∈ M ∧ y ∈ N} Relationen: R ⊆ M × N Funktionen: f : M → N Relationen und Funktionen können auch mehrstellig sein. Etwas Mathematik Fazit bis jetzt Was sind Aussagen? (Aussagenlogik) Wie können Aussagen formuliert werden? (Prädikatenlogik) Mengenlehre (axiomatisch) spezielle Mengen: leere Menge, Zahlenmengen Mengenoperationen Relationen, Funktionen Dies ist die Basis und die Sprache der Informatik, der Mathematik, .... Kann man alles beweisen? Auch die Widerspruchsfreiheit? Gödelsche Unvollständigkeitssätze Hinweis: Außer der Aussagenlogik und der Prädikatenlogik gibt weitere Logiken (schon erwähnt). Etwas Mathematik Summen- und Produktzeichen Summenzeichen (Sigma): b X xi = xa + xa+1 + xa+2 + ... + xb i =a Produktzeichen (Pi): b Y xi = xa · xa+1 · xa+2 · ... · xb i =a Beispiele: 5 X i =0 (i + 2) = 27 5 X i + 2 = 17 i =0 5 X 2 = 12 b X i =0 Typisch, aber nicht immer, falls a > b: Leere Summe: 0 1 = b−a+1 i =a Leeres Produkt: 1 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 11 / 67 Etwas Mathematik Gaußsche Summenformel, Beweis durch Induktion Satz: n X i =1 i= n · (n + 1) 2 Beweis: Induktionsanfang: n=1: 1 X i =1= i =1 1 · (1 + 1) 2 Induktionsschluss mit Induktionsvoraussetzung: n+1 X i =1 i= n X i =1 i + (n + 1) = n · (n + 1) + 2 · (n + 1) (n + 1) n · (n + 1) + (n + 1) = = · (n + 2) 2 2 2 Durch Induktion können z. B. Mengen und Funktionen definiert und Aussagen bewiesen werden. Es gibt mehrere Varianten der Induktion. Etwas Mathematik Landau-Symbole Definition: Es sei eine Funktion g : N −→ R gegeben. Θ(g) = {f : N −→ R | ∃c1 > 0, c2 > 0, n0 > 0 ∀n ≥ n0 . 0 ≤ c1 g(n) ≤ f (n) ≤ c2 g(n)} O(g) = {f : N −→ R | ∃c > 0, n0 > 0 ∀n ≥ n0 . 0 ≤ f (n) ≤ cg(n)} Ω(g) = {f : N −→ R | ∃c > 0, n0 > 0 ∀n ≥ n0 . 0 ≤ cg(n) ≤ f (n)} o(g) = {f : N −→ R | ∀c > 0 ∃n0 > 0 ∀n ≥ n0 . 0 ≤ f (n) < cg(n)} ω(g) = {f : N −→ R | ∀c > 0 ∃n0 > 0 ∀n ≥ n0 . 0 ≤ cg(n) < f (n)} Anwendung, Komplexität: Anzahl der Vergleiche bei Bubblesort: f (n) = n−1 X i =1 Schreibweise: i= n−1 1 1 · n = n2 − n ≤ n2 2 2 2 2 f ∈ O(n ) oder 2 f = O(n ) Etwas Mathematik Beispiele für das Summenzeichen Distributivgesetz: c · a1 + c · a2 + ... + c · an = c · (a1 + a2 + ... + an ) n X (c · ai ) = c · i =1 n X n X ai i =1 (c · ai + d ) = c · n X i =1 ai + n · d i =1 Umindizierung: n X i =0 ai = n+a X ai −a i =a Doppelsumme: n X m X ai · bj = a1 · b1 + a1 · b2 + ... + a1 · bm i =1 j =1 + a2 · b1 + a2 · b2 + ... + a2 · bm + ..... + an · b1 + an · b2 + ... + an · bm Etwas Mathematik Etwas weiteres zum Summenzeichen Häufig verwendte Formeln n X qi = 1 − q n+1 1−q qi = q−q 1−q i =0 n X i =1 q 6= 1 n+1 q 6= 1 Andere Schreibweise; I eine endliche Indexmenge, i ∈ I, 0 ∈ A, ai ∈ A X ai := 0 i ∈∅ X i ∈I ai := aj + X ai i ∈I\{j } Für das Produktzeichen gibt es auch eine Schreibweise mit einer Indexmenge. Etwas Mathematik Etwas Rechnen Potenz, Wurzel und Logarithmus: y = xn ↔ x= p n ↔ y n = logx (y) Potenz: x −n = x n · x m = x n+m n 1 xn x = x n−m xm Wurzel: p n 1 1 1 y · z = (y · z) n = y n · z n = p √ n n y· z Logarithmus: logx (y · z) = logx (y) + logx (z) y logx ( ) = logx (y) − logx (z) z logx (y n ) = n · logx (y) (x n )m = x n·m Etwas Mathematik Etwas Wichtiges für die Komplexität von Algorithmen Logarithmen vom gleichen Wert x zu unterschiedlichen Basen unterscheiden sich nur um einen Faktor, der nicht von x abhängt. Satz: Hier hängt c nicht von x ab: c · loga (x) = logb (x) Beweis: Setze c = logb (a). Damit gilt c · loga (x) = loga (x) · logb (a) = logb (aloga (x) ) = logb (x) Vermutlich haben Sie diese Regel beim Rechnen mit Taschenrechner verwendet. Beispiel: a = 10, b = e ln(10) · lg(x) = ln(x) lg(2) = Folge: → lg(x) = ln(2) = 0, 3010299957... ln(10) Wegen des Satzes kann geschrieben werden: O(log(n)) = O(loga (n)) ln(x) ln(10) Etwas Mathematik Eine weitere Regel Es gilt die Gleichung: loga (b) = 1 logb (a) Beispiel: log2 (16) = 4 log16 (2) = → Denn es gilt: 1 16 4 = p 4 16 = 2 1 4 Etwas Mathematik Kann ein Computer richtig rechnen? Wie rechnet ein Computer? Warum muss man das wissen, wenn man mit einem Computer arbeitet? Das wollen wir uns ansehen! Zuerst rechnen wir etwas selbst. 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 19 / 67 Etwas Mathematik Beispiel: Multiplikation zweier Zahlen 12 · 23 = ? 2 1 7 2 · 2 2 2 4 3 7 3 6 6 6 12·23 = (1·10+2)·(2·10+3) = 1·2·100+(1·3+2·2)·10+2·3 = 2·100+7·10+6 = 276 Etwas Mathematik Beispiel: Multiplikation zweier Zahlen 1 2 · 1 1 1 2 2 4 2 1 2 3 1 4 4 1 1 2 3 1 1 · 2 2 5 1 3 4 3 1 4 2 2 5 · 3 4 3 2 1 4 6 7 4 2 2 3 4 8 0 9 7 2 3 5 6 6 2 3 Berechnen Sie 12345 · 12345. 6 6 2 9 9 Mit einem Java-Programm kontrollieren wir unsere Ergebnisse und berechnen 123456 · 123456. 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 21 / 67 Etwas Mathematik Beispiel: Multiplikation zweier Zahlen public class Mult01 { public s t a t i c void main ( S t r i n g [ ] args ) { System . o u t . p r i n t l n ( 1 * 1 ) ; System . o u t . p r i n t l n ( 1 2 * 1 2 ) ; System . o u t . p r i n t l n ( 1 2 3 * 1 2 3 ) ; System . o u t . p r i n t l n ( 1 2 3 4 * 1 2 3 4 ) ; System . o u t . p r i n t l n ( 1 2 3 4 5 *1 2 3 4 5 ) ; System . o u t . p r i n t l n (123456*123456); } } Ausgabe: 1 144 15129 1522756 152399025 Etwas Mathematik Beispiel: Multiplikation zweier Zahlen public class Mult01 { public s t a t i c void main ( S t r i n g [ ] args ) { System . o u t . p r i n t l n ( 1 * 1 ) ; System . o u t . p r i n t l n ( 1 2 * 1 2 ) ; System . o u t . p r i n t l n ( 1 2 3 * 1 2 3 ) ; System . o u t . p r i n t l n ( 1 2 3 4 * 1 2 3 4 ) ; System . o u t . p r i n t l n ( 1 2 3 4 5 *1 2 3 4 5 ) ; System . o u t . p r i n t l n (123456*123456); } } Ausgabe: 1 144 15129 1522756 152399025 -1938485248 Das Quadrat einer Zahl ist nicht negativ. Hat sich der Computer verrechnet? Etwas Mathematik Beispiel: Multiplikation zweier Zahlen Wir sehen uns ein zweites Beispiel an: public class Mult02 { public s t a t i c void main ( S t r i n g [ ] args ) { i n t z = 256*256*256*128+2147483647; System . o u t . p r i n t l n ( z * z ) ; } } 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 23 / 67 Etwas Mathematik Beispiel: Multiplikation zweier Zahlen Wir sehen uns ein zweites Beispiel an: public class Mult02 { public s t a t i c void main ( S t r i n g [ ] args ) { i n t z = 256*256*256*128+2147483647; System . o u t . p r i n t l n ( z * z ) ; } } Ausgabe: 1 Hat sich der Computer schon wieder verrechnet? 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 23 / 67 Etwas Mathematik Das nächste Beispiel: Kommazahlen können größere Werte annehmen Java: p u b l i c c l a s s Numerik { p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { double a = 1 . 0 / 3 . 0 , b = 10.0+a −10.0 , c ; i f ( a==b ) c = 0; else c = 1 / ( a−b ) ; System . o u t . p r i n t f ( " %20.5 f%n " , c ) ; } } Etwas Mathematik Das nächste Beispiel: Kommazahlen können größere Werte annehmen Java: p u b l i c c l a s s Numerik { p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { double a = 1 . 0 / 3 . 0 , b = 10.0+a −10.0 , c ; i f ( a==b ) c = 0; else c = 1 / ( a−b ) ; System . o u t . p r i n t f ( " %20.5 f%n " , c ) ; } } Ausgabe: -1637672591771089.50000 - 1 Billiarde 637 Billionen 672 Milliarden 591 Millionen 771 Tausend und 89,5 korrekter Wert: 0 Kann der Computer nicht rechnen? Etwas Mathematik Frage Gibt es weitere Fehler? 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 25 / 67 Etwas Mathematik Fehler beim Programmieren In Jahre 1999 wurde durch die Fehlfunktion eines Seitenairbags ein Baby getötet. Die Untersuchungen ergaben einen Softwarefehler: Die Ausführungsreihenfolge zweier Anweisungen war vertauscht worden. Der Fehler trat nur in der Software eines speziellen Fahrzeugmodells auf. Es wurde vergessen, diese spezielle Software zu testen. 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 26 / 67 Etwas Mathematik Fehler beim Programmieren Richtige Reihenfolge: airbag = ein; if (kindersitz == belegt) { airbag = aus; } Falsche Reihenfolge: if (kindersitz == belegt) { airbag = aus; } airbag = ein; 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 27 / 67 Etwas Mathematik Ariane-Rakete Bevor wir uns anschauen, wie es zu solchen Rechenfehlern kommt, sehen wir uns eine Minute einen Film an. Der Film zeigt den Start einer Ariane-Rakete. 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 28 / 67 Etwas Mathematik Ariane-Rakete Wikipedia: The launch ended in failure due to an error in the software design caused by inadequate protection from integer overflow. This resulted in the rocket veering off its flight path 37 seconds after launch, beginning to disintegrate under high aerodynamic forces, and finally self-destructing by its automated flight termination system. The failure has become known as one of the most infamous software bugs in history. The failure resulted in a loss of more than US $ 370 million. 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 29 / 67 Etwas Mathematik Dualzahlen: Darstellung 12 = 1 · 101 + 2 · 100 =8+4+0+0 = 1 · 23 + 1 · 22 + 0 · 21 + 0 · 20 = (1100)2 123 = 1 · 102 + 2 · 101 + 3 · 100 = 64 + 32 + 16 + 8 + 0 + 2 + 1 = 1 · 26 + 1 · 25 + 1 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 = (1111011)2 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 30 / 67 Etwas Mathematik Weitere Basen: Die Zahl 95 95 = 64 + 16 + 8 + 4 + 2 + 1 = 1 · 26 + 1 · 24 + 1 · 23 + 1 · 22 + 1 · 21 + +1 · 20 = (1011111)2 95 = 64 + 24 + 7 = 1 · 82 + 3 · 81 + 7 · 80 = (137)8 95 = 80 + 15 = 5 · 161 + 15 · 160 = (5F)16 Bei Basis 16: A=10, B=11, C=12, D=13, E=14, F=15. Auch als: a,b,c,d,e,f. Wichtige Basen für Java: 2, 8, 10, 16. Basis 2: Binärzahl, Dualzahl. Basis 8: Oktalzahl. Basis 16: Hexadezimalzahl. Etwas Mathematik Die Darstellung der Zahl 95 in Java System.out.println(" System.out.println(" System.out.println(" System.out.println(" System.out.println(" Binär: "+0b1011111); Oktal: "+0137); Dezimal: "+95); Hexadezimal: "+0x5F); Hexadezimal: "+0x5f); 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 32 / 67 Etwas Mathematik Weitere Basen: Die Zahl 95 Gelten die folgenden Darstellungen? 95 = (1011111)2 95 = (10112)3 95 = (1133)4 95 = (340)5 95 = (235)6 95 = (164)7 95 = (137)8 95 = (115)9 95 = (95)10 95 = (87)11 95 = (7B)12 95 = (74)13 95 = (6B)14 95 = (65)15 95 = (5F)16 95 = (5A)17 Etwas Mathematik Dualzahlen: Addition + + 1 1 0 1 2 3 1 1 1 0 1 0 2 3 5 1 1 0 1 0 1 0 1 1 0 1 1 Das exclusive Oder reicht also für die Addition. Subtraktion, Multiplikation und Division werden auf die Addition zurückgeführt. Das exclusive Oder ermöglicht also die bitweise Rechnung. (10000111)2 = 1 · 27 + 1 · 22 + 1 · 21 + 1 · 20 = 128 + 4 + 2 + 1 = 135 Etwas Mathematik Dualzahlen: Multiplikation 1 2 · 1 1 1 1 1 0 1 0 0 1 1 0 · 0 1 0 1 1 2 2 4 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 4 4 (10010000)2 = 1 · 27 + 1 · 24 = 128 + 16 = 144 Etwas Mathematik Dualzahlen: Speicherung/Verarbeitung Computer speichern Zahlen meistens als Dualzahlen. Null oder Eins wird durch ein Bit repräsentiert. Java: Der Datentyp int soll zum Rechnen mit ganzen Zahlen, d. h. mit Elementen der Menge Z = {. . . , −5, −4, −3, −2, −1, 0, 1, 2, 3, 4, 5, . . .} verwendet werden. Eine Zahl vom Typ int wird durch 32 Bits gespeichert. 32 Dadurch gehören 2 = 4 294 967 296 Zahlen zum Typ int. Java deckt damit den 31 31 Bereich von −2 = −2 147 483 648 bis 2 − 1 = 2 147 483 647 ab. Die Zahl 2 147 483 647 wird MAX_VALUE genannt. Das Ergebnis der Multiplikation 123456 · 123456 ist 15 241 383 936. Diese Zahl ist größer als MAX_VALUE und kann daher nicht verarbeitet werden. Das obige Programm hat sich also schon bei einer Multiplikation um 15 241 383 936 − (−1 938 485 248) = 17 179 869 184, d. h. um 17 Milliarden 179 Millionen 869 Tausend 184 verrechnet. Etwas Mathematik Dualzahlen: Speicherung/Verarbeitung Es gibt verschiedene Möglichkeiten, ganze Zahlen als Dualzahlen zu speichern. Eine sehen wir uns an, das. sog. Zweierkomplement: MAX_VALUE: 2 147 483 647 = MIN_VALUE: −2 147 483 648 = 0 1 2 3 .... 231 − 1 31 −2 31 −2 + 1 .... −3 −2 −1 0000....0000 0000....0001 0000....0010 0000....0011 ............ 0111....1111 1000....0000 1000....0001 ............ 1111....1101 1111....1110 1111....1111 Es geht bei 0000....0000 los. In jedem Schritt geht es um eins weiter. So macht es zum Beispiel Java. Für den Datentyp int werden 32 Bits benutzt. Etwas Mathematik Dualzahlen: Speicherung/Verarbeitung Zugegeben: In Java gibt es den Datentyp long, der größere Zahlen verarbeiten kann. Aber auch für diesen Datentyp gibt es eine Maximalzahl. Nicht alle Programmiersprachen behandeln Zahlen gleich. Es kommt sogar vor, dass eine Programmiersprache Zahlen auf verschiedenen Rechnern unterschiedlich bearbeitet. Computeralgebrasysteme, zum Beispiel Maple, behandeln Zahlen anders: » 123456*123456; 15241383936 » z:=256*256*256*128+2147483647; z:=4294967295 » z*z; 18446744065119617025 Fazit: Wenn man mit einem Computer arbeitet, muss man sich seine Sprache und Rechner genau anschauen. Insbesondere also wie Zahlen gespeichert werden und dargestellt werden können. Sonst kann es zu schweren Fehlern führen. Etwas Mathematik Dezimalzahlen: Rationale Zahlen Die Dezimalbruchentwicklung von rationalen Zahlen, d. h. von Elementen aus Q, ist periodisch: 17 = 4,2500000... 4 = 4,250 = 4,25 15 = 2,142857142857142857142857142857... 7 = 2,142857 Die Dezimalbruchentwicklung von irrationalen Zahlen, d. h. von Elementen aus R \ Q, ist nicht periodisch: p 2 = 1,4142135623730950488016887... π = 3,1415926535897932384626433... e = 2,7182818284590452353602874... Etwas Mathematik Dualzahlen: Rationale Zahlen Die gleichen Aussagen gelten für Dualzahlen: 1 2 15 4 1 10 π = 0,5000000... = 0,50 = (0,10)2 = (0,1)2 = 3,7500000... = 3,750 = (11,110)2 = (11,11)2 = 0,1 = 0,00011001100110011001100110011... = 0,00011 = 11.00100100001111110110101... Wenn also endlich viele Bits zur Speicherung von rationalen Zahlen in der Dualzahldarstellung benutzt werden, dann kann also nicht einmal die Zahl 0,1 korrekt gespeichert werden (→ Numerik). Durch Rundung wird aber nicht jede Rechnung falsch. Etwas Mathematik Dualzahlen: Subtraktion Wie darf ein Computer subtrahieren? Die Subtraktion kann auf die Addition zurückgeführt werden: - 3 1 2 5 4 1 + 1 + 3 8 2 5 5 0 1 1 2 (Komplement von 14) 85 ergänzen die Ziffern von 14 auf 99. Komplement: k k b + b̄ = 10 − 1, 10 > b. b = 10k − 1 − b̄ k k a − b = a − (10 − 1 − b̄) = a + b̄ − 10 + 1 (s. Beispiel) Etwas Mathematik Dualzahlen: Subtraktion 35 − 14 = 21: 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 + 1 + 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 110001 ist das Komplement von 1110. 1 1 0 1 1 Etwas Mathematik Dualzahlen: Division 13 : 8 = 1,625 5 1 0 1 = 1 + + + = (1,101)2 8 2 4 8 13 = (1101)2 13 : 8 = 1 8 = (1000)2 1 1 1 0 1 1 0 0 0 0 1 0 1 0 1 1 : 1 0 0 0 0 0 0 0 0 0 0 0 0 = 1, 1 0 1 Etwas Mathematik Logische Operation Wir haben gesehen, wie die Subtraktion, die Multiplikation und die Division auf die Addition zurückgeführt werden kann. Die Addition für Binärzahlen kann auf die folgende logische Operation zurückgeführt werden. Man sieht 0 als falsch und 1 als wahr an. 0+0 0+1 1+0 1+1 = = = = 0 1 1 10 exklusives Oder exklusives Oder exklusives Oder exklusives Oder und Übertrag auf die nächste Spalte Etwas Mathematik Darstellung von Zahlen Auf den vorigen Folien hatten wir uns das Prinzip und einige Beispiele zu den folgenden Aspekten angesehen: Ganze Zahlen: Darstellung bezüglich Basen Rechnen: Addition, Subtraktion, Multiplikation, Division Speicherung Verarbeitung Etwas zu rationalen und irrationalen Zahlen 4.–13. Oktober 2017 | Werner Struckmann | Etwas Mathematik | Seite 45 / 67 Etwas Mathematik Umformung einer Zahl in eine andere Basis Es gelten offensichtlich die folgenden Regeln, falls n eine gerade Zahl ist: n n bn = b2· 2 = (b2 ) 2 n x · bn+1 + y · bn = (x · b + y) · bn = (x · b + y) · (b2 ) 2 Es werden also zwei aufeinanderfolgende Ziffern betrachtet. Der größte Wert bei 2 der Umformung von der Basis b zur Basis b ist: n n (b − 1) · bn+1 + (b − 1) · bn = ((b − 1) · b + (b − 1)) · (b2 ) 2 = (b2 − 1) · (b2 ) 2 Etwas Mathematik Beispiele für die vorige Folie Die Darstellung der Zahl 95 zu verschiedenen Basen haben wir schon gesehen. Auf dieser Folie formen wir die Darstellung um. 95 = (1 01 11 95 = (11 11)2 = (1 0·2+1 33)4 = (1 · 4 + 1 95 = (1 95 = (1 01 12)3 = (1 15)9 = (1 1·2+1 3 · 4 + 3)16 = (5 0·3+1 1 · 2 + 1)4 = (1133)4 15)16 = (5F )16 1 · 3 + 2)9 = (115)9 1 · 9 + 5)81 = (1 14)81 = (1E )81 Etwas Mathematik Binomische Formeln: Eine binomische Formel hatten wir eben benutzt. Zur Erinnerung: (a + b)2 = a2 + 2 · a · b + b2 (a − b)2 = a2 − 2 · a · b + b2 (a + b) · (a − b) = a2 − b2 Damit kann man auch Kopfrechnen: 24 · 12 = (18 + 6) · (18 − 6) = 324 − 36 = 288 Etwas Mathematik Beweismethoden Es gibt eine große Anzahl von Methoden zum Beweis von Aussagen: direkter Beweis indirekter Beweis Beweis durch Kontraposition Beweis durch Fallunterscheidung konstruktiver/nichtkonstruktiver Beweis Eindeutigkeitsbeweis Äquivalenzbeweis, Ringschluss Beweis durch Angabe eines Gegenbeispiels strukturbasierte Beweise Beispiel: Induktion basiert z. B. auf einer Ordnungsrelation ... Einige Beispiele sehen wir uns an. Etwas Mathematik Beweismethoden direkter Beweis Ableitung der Aussage aus Axiomen oder aus schon bewiesenen Aussagen mit logischen Regeln indirekter Beweis Die Aussage A → B wird bewiesen, wenn die Annahme A ∧ ¬B zu einem Widerspruch führt. Es gilt die Äquivalenz: (A → B) ↔ (A ∧ ¬B → false) A f f w w B f w f w A→B w w f w A ∧ ¬B f f w f A ∧ ¬B → false w w f w Etwas Mathematik Beweismethoden Kontraposition Es gilt die Äquivalenz: (A → B) ↔ (¬B → ¬A) A w w f f B w f w f A→B w f w w ¬B → ¬A w f w w Etwas Mathematik Beispiel für einen Beweis Satz: m, n ∈ N sind gerade =⇒ m · n ist gerade. m, n ∈ N sind ungerade =⇒ m · n ist ungerade. m ∈ N ist gerade ⇐⇒ m2 ist gerade. m ∈ N ist ungerade ⇐⇒ m2 ist ungerade. Beweis: Die beiden ersten Aussagen folgen aus den beiden folgenden Gleichungen. Die beiden anderen Aussagen folgen hieraus sofort direkt und indirekt. 2k · 2l = 2 · 2kl (2k + 1) · (2l + 1) = 2 · (2kl + k + l ) + 1 Diese Aussagen verwenden wir auf der nächsten Folie für einen indirekten Beweis. Etwas Mathematik Beispiel für einen Beweis √ Satz: 2 ist keine rationale Zahl. Indirekter Beweis: Annahme: √ 2 ist eine rationale Zahl. p n n =⇒ ex. m, n ∈ N mit 2 = und ist gekürzt. m m p =⇒ 2 · m = n =⇒ 2 · m2 = n2 =⇒ n2 und n sind gerade. =⇒ ex. k mit n2 = 2 · k =⇒ 2 · m2 = (2 · k)2 = 4 · k 2 =⇒ m2 = 2 · k 2 =⇒ m2 und m sind gerade. n Dies ist ein Widerspruch, da m gekürzt war. Damit ist die Aussage indirekt bewiesen. Etwas Mathematik Noch ein Beispiel für einen Beweis durch Induktion Die Summe der Quadratzahlen Satz: n X k=1 k2 = 1 · n · (n + 1) · (2n + 1) 6 Induktionsanfang: n=1: Induktionsschluss: n+1 X k2 = k=1 1= 1 ·1·2·3 6 1 · n · (n + 1) · (2n + 1) + (n + 1)2 6 1 · (n + 1) · (2n2 + n + 6n + 6) 6 1 = · (n + 1) · (n + 2) · (2n + 3) 6 1 = · (n + 1) · (n + 2) · (2(n + 1) + 1) 6 = Etwas Mathematik Ein Beispiel für einen nichtkonstruktiven Existenzbeweis y Behauptung: Es existieren irrationale Zahlen x, y ∈ R mit x ist rational. Beweis: √ √ 2 1. Fall: 2 ist rational: Fertig. 2. Fall: √ √ 2 2 ist irrational. Wähle x = √ √ 2 2 und y = √ 2. Beide sind irrational. Dann gilt: p √ 2 2 x = y √ 2 = p 2 2 =2 2 ist rational. Fertig. Etwas Mathematik Mengen Den Einstieg in die Mengenlehre haben wir bereits gesehen, s. obige Folien. Ansatz von Cantor, 1895 Relationssymbol: ∈ Hinweis auf axiomatische Mengenlehren Beispiel: ZFC Beispiel für ein Axiom: Extensionalitätsaxiom. Spezielle Mengen Beispiele: Leere Menge, Zahlenmengen. Mengenoperationen Beispiele: Teilmenge, Potenzmenge, Durchschnittsmenge, Vereinigungsmenge, Differenzmenge, Produktmenge. Etwas Mathematik Relationen Eine Relation ist eine Teilmenge vom kartesischen Produkt von Mengen. Beispiel: Für Mengen A und B ist R ⊆A×B eine zweistellige Relation. Relationen können auch mehrstellig sein. R ⊆A×B×C R ⊆ A × B × C × .... Von Relationen erwartet man meistens Eigenschaften. Etwas Mathematik Ordnungsrelation Gegeben sei eine Menge A. Schreibweise: x≤y x, y ∈ A statt (x, y) ∈ ≤ ≤ ⊆ A×A Man nennt diese Schreibweise Infixnotation. In manchen Programmiersprachen können Operationen auch vorne oder hinten stehen: Prefixnotation, Postfixnotation. Eine Ordnungsrelation ≤ auf der Menge A ist meistens eine Relation mit den drei folgenden Eigenschaften. ≤ ist reflexiv: ∀x. x ≤ x ≤ ist antisymmetrisch: ∀x, y. x ≤ y ∧ y ≤ x =⇒ x = y ≤ ist transitiv: ∀x, y, z. x ≤ y ∧ y ≤ z =⇒ x ≤ z Wenn für alle Elemente a, b ∈ A die Aussage a ≤ b oder b ≤ a verlangt wird, nennt man ≤ eine totale Ordnungsrelation. Auch <, ≥, > sind Ordnungsrelationen. Etwas Mathematik Funktionen Eine totale Funktion f :A→B ist eine Relation f ⊆A×B die die folgende Eigenschaft erfüllt: ∀a ∈ A ∃!b ∈ B. (a, b) ∈ f Ausdruck ohne !: ∀a ∈ A (∃b ∈ B. (a, b) ∈ f ∧ (∀c ∈ B. (a, c) ∈ f =⇒ b = c)) Schreibweise: f (a) = b falls (a, b) ∈ f Falls es nicht für jedes Element a ∈ A einen Funktionswert f (a) gibt, nennt man f eine partielle Funktion. f : A →p B Die Menge für die es Funktionswerte gibt, heißt Definitionsbereich: D(f ). Etwas Mathematik Programme Hinweis: Typisch ist, dass Programme partielle Funktionen realisieren. Etwas Mathematik Eigenschaften von Funktionen Drei wichtige Eigenschaften von Funktionen sind die folgenden Definitionen. Definition: Gegeben sei eine Funktion f :A→B f (a) = f (b) =⇒ a = b. f ist injektiv gdw ∀a, b ∈ D(f ). f ist surjektiv gdw ∀b ∈ B. ∃a ∈ D(f ). f ist bijektiv gdw f ist injektiv und surjektiv. f (a) = b. Etwas Mathematik Unendlichkeit nach Dedekind (war unser Dekan) Definition: M sei eine Menge. M ist unendlich ⇐⇒ ex. eine echte Teilmenge N ⊂ M, N 6= M mit einer bijektiven Abbildung g : N → M. ⇐⇒ ex. eine injektive Funktion: f : M → M, f (M) 6= M Beispiel: N = {1, 2, 3, 4, ....} ist unendlich, denn sowohl g : {2, 3, 4, ....} → {1, 2, 3, 4, ....}, g(n) = n − 1 ist bijektiv und f : {1, 2, 3, 4, ....} → {1, 2, 3, 4, ....}, ist injektiv und f (n) 6= 1 für alle n ∈ N. f (n) = n + 1 Etwas Mathematik Kontinuumshypothese, Kardinalzahlen Xn |N| = X0 2 X0 = | P (N) | = | R | N ist abzählbar. R ist überabzählbar. Kontinuumshypothese: Gilt die spezielle Aussage? X1 = 2X0 Gilt die allgemeine Aussage? Xn+1 = 2Xn Die spezielle Aussage lautet anders formuliert: Gibt es eine echte Teilmenge X von R mit N ⊂ X ⊂ R, die überabzählbar, aber kleiner als | R | ist? Die Kontinuumshypothese ist mit den Axiomen der Mengenlehre nicht beweisbar! Etwas Mathematik Kardinalzahlen Da wir endlich viele Zeichen benutzen, gibt es offensichtlich nur abzählbar unendliche viele Texte. Also gilt: Es gibt abzählbar unendlich viele Algorithmen. Wie viele Funktionen f : N → {0, 1} gibt es? Da es offensichtlich gleich der Anzahl der Teilmengen von N ist und | P (N) | = | R | gilt und R überabzählbar ist (s. oben), gibt es überabzählbar viele solche Funktionen. Fazit: Computer können nicht einmal alle diese Funktionen berechnen. Computer können also nicht sehr viel. Etwas Mathematik Mathematische Strukturen Beispiele für mathematische Strukturen: Algebraische Strukturen Eine innere Verknüpfung: Monoid, Halbgruppe, Gruppe, ... Zwei innere Verknüpfungen: Ring, Körper, ... Innere und äußere Verknüpfung: Vektorraum .... Auf Relationen basierte Strukturen Ordnungsrelationen, Äquivalenzrelationen .... Zahlbereiche Auf Mengensystemen basiert: Topologische Strukturen Wahrscheinlichkeitsrechnung .... Geometrische Strukturen Gemischte Strukturen .... .... Etwas Mathematik Beispiel: Gruppe (algebraische Struktur) Eine Gruppe (G, ◦, e) besteht aus einer Menge G, einer Funktion ◦ : G × G → G, einem Einselement e ∈ G und den drei folgenden Axiomen: G1: ∀x, y, z ∈ G. (x ◦ y) ◦ z = x ◦ (y ◦ z) G2: ∀x ∈ G. (x ◦ e = x) G3: ∀x ∈ G ∃y ∈ G. (x ◦ y) = e Assoziativgesetz Einselement rechtsinverses Element Satz: ∀x ∈ G ∃y ∈ G. (y ◦ x) = e linksinverses Element Beweis: Es sei x ∈ G gegeben. Nach G3 ex. ein y mit (x ◦ y) = e und ein z mit (y ◦ z) = e. Hieraus folgt: y ◦ x = (y ◦ x) ◦ e = (y ◦ x) ◦ (y ◦ z) = y ◦ (x ◦ (y ◦ z)) = y ◦ ((x ◦ y) ◦ z) = y ◦ (e ◦ z) = (y ◦ e) ◦ z = y ◦ z = e Etwas Mathematik Welche Begriffe haben wir uns jeweils mit ein paar Beispielen angesehen? Aussagen, Verknüpfungen, Aussagenlogik, Prädikatenlogik Mengen, Mengenlehre, axiomatisch, spezielle Mengen, Mengenoperationen Relationen, Ordnungsrelation totale, partielle, injektive, surjektive, bijektive Funktionen Unser rechnen: Summen- und Produktzeichen, Potenz, Wurzel, Logarithmus, Rechenregeln, Basis von Zahldarstellungen mit Addition, Subtraktion, Multiplikation, Division Rechnen des Computers: Speicherung, Verarbeitung von Zahlen, Landausymbole: Komplexitätssymbole Beweismethoden Unendlichkeit, Kardinalzahl mathematische Struktur Diese Begriffe werden häufig verwendet. Deshalb haben wir sie uns im Vorkurs angesehen.