Etwas Mathematik?

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