Angewandte Mathematik am Rechner 1

Ähnliche Dokumente
Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

WS 2009/10. Diskrete Strukturen

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Kapitel 1. Grundlagen Mengen

Kapitel 1. Grundlagen

Was bisher geschah: Formale Sprachen

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Mengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit

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

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Theoretische Informatik

Theoretische Informatik Kap 2: Berechnungstheorie

6.1 Natürliche Zahlen 6.2 Induktion und Rekursion 6.3 Ganze, rationale, reelle und komplexe Zahlen 6.4 Darstellung von Zahlen

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet.

ELEMENTARE DISKRETE MATHEMATIK Kapitel 4: Mächtigkeit von Mengen

Einführung in die Programmierung

Axiome der Mengenlehre nach von Neumann, Bernays, Gödel (NBG)

Berechenbarkeit. Script, Kapitel 2

3. Diskrete Mathematik

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Einführung in die Computerlinguistik Berechenbarkeit, Entscheidbarkeit, Halteproblem

Einführung in die Informatik 2

Mengenlehre gibt es seit den achtziger Jahren des 19. Jahrhunderts. Sie wurde von

1 Vom Problem zum Programm

Musterlösung 11.Übung Mathematische Logik

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 1. ALPHABETE, WÖRTER, SPRACHEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011

Mathematik 1 für Informatik Inhalt Grundbegrie

Wie viel Mathematik kann ein Computer?

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Kapitel 2 Mathematische Grundlagen

Was bisher geschah. Darstellung von Sprachen Ausführen von Berechnungen

Mengen (siehe Teschl/Teschl 1.2)

3 Vollständige Induktion

Mengen und Abbildungen

Berechenbarkeitsmodelle

5 Der Begriff Berechnungsmodell

Grundlagen der Mathematik

Sprachen und Programmiersprachen

1.1 Mengen und Abbildungen

Die Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt.

Logik, Mengen und Abbildungen

2. Vorlesung. Die Theorie der schwarz-weissen Ketten.

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Gibt es verschiedene Arten unendlich? Dieter Wolke

Warum Mathe? IG/StV-Mathematik der KFU-Graz. 1 Mengen Mengenoperationen Rechenregeln Mengen 4. Funktionen 7

Theoretische Informatik

Brückenkurs Mathematik 2015

Weitere Eigenschaften

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

4 Die Turing-Maschine

Berechenbarkeit und Komplexität

Theoretische Informatik 1

Kapitel 2 MENGENLEHRE

Boolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2

"Zahlen-Irrtum I": Es gibt nur halb so viele gerade Zahlen (2, 4, 6,.) wie Natürliche Zahlen (1, 2, 3, 4,.).

Theoretische Informatik

3. Ziel der Vorlesung

Topologische Räume und stetige Abbildungen Teil 2

Naive Mengenlehre. ABER: Was ist eine Menge?

Elementare Beweismethoden

Mächtigkeit von WHILE-Programmen

Basiswissen Zahlentheorie

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Einführung in die Informatik Algorithms

Kapitel 2. Kapitel 2 Natürliche und ganze Zahlen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Theoretische Informatik

Mengen, Funktionen und Logik

Mathematik für Ökonomen 1

Formale Sprachen und Automaten

Einführung in die Theoretische Informatik

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

Spickzettel Mathe C1

Theoretische Informatik

Brückenkurs Mathematik

Klausur zur Vorlesung Mathematische Logik

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches

2. Zahlenmenge, Aufbau des Zahlensystems 2.1 Natürliche Zahlen N Die natürlichen Zahlen bilden eine Menge: N = {1, 2, 3, 4,... }. N ist abgeschlossen

Vorkurs Mathematik Abbildungen

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

Algorithmen und Datenstrukturen

Grundlagen der Mengenlehre

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Grundlagen der Theoretischen Informatik

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Natürliche, ganze und rationale Zahlen

Thema 3 Folgen, Grenzwerte

Die Church-Turing-These

2 ZAHLEN UND VARIABLE

Brückenkurs Mathematik. Dienstag Freitag

Theoretische Informatik 1

Transkript:

Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 Kapitel 3 [Bildquellen: Wikipedia User David Madore, Inductiveload ] Grundlagen 2: Funktionen, Berechenbarkeit und emergente Komplexität Michael Wand Institut für Informatik.

Wiederholung Kapitel 2

Mathematik Mathematische Modelle Studium von Modellen an sich Verstehen der Struktur Folgen von Annahmen Vorgehen Annahmen machen (Axiome) Folgerungen bestimmen Wenn man {a, b, c} annimmt, gilt auch {x, y, z}

Beispiele Natürliche Zahlen 1,2,3,4, Operationen: +,,*, / Modell für diskrete Objekte Reelle Zahlen Modell: Kontinuierliche Gerade Reelle Vektorräume Modell eines Euklidischen Raumes Mehr dazu später N -1.5-1 -0.5 0 0.5 1 1.5 R R 3

Modelle für die Praxis Drei Schritte / Aspekte Konzept Implementation Eigenschaften Beispiel Natürliche Zahlen N Drei Aspekte

Engineering Mathematik vs. Engineering Konzept 0011101001 (233) + 0000000101 (005) = 0011101110 (238) addition Implementation Mathematik Eigenschaften / Axiome Modell besser verstehen

Induktion: Modelle aus Daten Kompromiß 600 K 500 K 400 K 300 K 200 K 100 K Daten zu flexibel zu einfach 1960 1970 1980 1990 2000 2010

Mengen Mengen Sammlung von Elementen Gleiche Elemente nur einmal enthalten Objektive Eigenschaften Gleichheit von Elementen Element in Menge enthalten? Datentypen der Mathematik

3.1 Funktionen

Funktion Funktionen Zuordnung von Elementen f: D W x y = f x x D, xy W Deterministisch Gleiche Eingabe gleiche Ausgabe Ergebnis muß für alle Eingaben definiert sein D = Definitionsmenge (domain) W = Ziel/Wertemenge (codomain / target set) Menge D x D Funktion f y W Menge W

Funktionen Funktion Zuordnung von Elementen f: D W x y = f x x D, xy W Deterministisch Gleiche Eingabe gleiche Ausgabe Ergebnis muß für alle Eingaben definiert sein D = Definitionsmenge (domain) W = Ziel/Wertemenge (codomain / target set) Menge D x 1 x 2 y 1 y 2 Menge W x n Funktion f: Zuordnung y m

Zusammengesetzte Ein- / Ausgabe Signatur: f: A A B B A Funktionen Zuordnung: a 1, a 2, b 1 f a 1, a 2, b 1 Funktion f = f 1 a 1, a 2, b 1 f 2 a 1, a 2, b 1 = b 2 a 3

Informatik vs. Mathematik Informatik Algorithmus / Berechnung Mathematik Wohldefinierte Zuordnung

Algorithmen Algorithmen / Programme Berechnen partielle Funktionen Eingabe: x {0,1} Ausgabe: zwei Möglichkeiten Programm hält an, Ausgabe y {0,1} Programm hält nicht an (keine Ausgabe) Funktionaler Zusammenhang y = f x f Algorithmus y {0,1} y = f(x) x {0,1} Berechnung (evtl. ewig)

+1 +1 +1 +1 +1 +1 +1 3.2 Unendliche Mengen

Mächtigkeit von Mengen Endliche Mengen A = Apfel, Birne, Orange, B = {rot, grün, blau} #A = #B = 3 Unendliche Mengen Natürliche Zahlen N = 0,1,2,, #N = Rationale Zahlen Q (alle Brüche), #Q = Reelle Zahlen R, #R = Als Datentyp Unendlich = Potentiell beliebig viele zur Auswahl

Mächtigkeit von Mengen Mächtigkeit Zwei Mengen sind gleich mächtig, genau dann, wenn es eine bijektive Abbildung zwischen ihnen gibt A B

Mächtigkeit von Mengen Mächtiger B ist mächtiger als A genau dann, wenn es keine surjektive Abbildung von A nach B gibt A B?

Endliche Mengen Vorbereitung: Komplexität endlicher Mengen Potenzmenge P M einer Menge M Jedes Element kann enthalten sein oder nicht, ein Bit pro Element 2 #M Möglichkeiten: #P M = 2 #M Menge aller möglichen Abbildungen M {0,1} Notation M 0,1 0,1 M f f: M 0,1 Auch zwei Möglichkeiten für jedes Element; alle Kombinationen unabhängig möglich. 2 #M Möglichkeiten: # 0,1 M = 2 #M Menge aller Abbildungen von D W Notation D W D M f f: D W # W D = # D W = #W #D Für jedes Urbild aus d #W unabhängige Möglichkeiten Notation #M Mächtigkeit von Menge M (Anzahl Element, falls M endlich)

Abzählbarkeit Mächtigkeit von Mengen Eine Menge ist abzählbar unendlich genau dann, wenn sie genau so mächtig wie N ist Überabzählbar Nicht-abzählbare, unendliche Mengen heißen überabzählbar

Mächtigkeit von Q Satz: Rationale Zahlen (Menge aller Brüche) sind abzählbar

Mächtigkeit von Q Satz: Rationale Zahlen (Menge aller Brüche) sind abzählbar Beweis: Cantor s erstes Diagonalargument 0 1 1 2 2 3 3 0 2 1 2 1 2 2 2 2 2 3 2 3 2 0 3 1 3 1 3 2 3 2 3 3 3 3 3 0 4 1 4 1 4 2 4 2 4 3 4 3 4 0 5 1 5 1 5 2 5 2 5 3 5 3 5

Mächtigkeit von Q Satz: Rationale Zahlen (Menge aller Brüche) sind abzählbar Beweis: Cantor s erstes Diagonalargument 0 1 1 2 2 3 3 0 2 1 2 1 2 2 2 2 2 3 2 3 2 0 3 1 3 1 3 2 3 2 3 3 3 3 3 0 4 1 4 1 4 2 4 2 4 3 4 3 4 0 5 1 5 1 5 2 5 2 5 3 5 3 5

Mächtigkeit von R Satz: Reelle Zahlen sind überabzählbar

Mächtigkeit von R Satz: Reelle Zahlen sind überabzählbar Beweis: Cantor s zweites Diagonalargument Annahme: Aufzählung aller Zahlen in [0,1], Ziffern a ij 0. a 11 a 12 a 13 a 14 a 15 a 16 a 17 1. reelle Zahl 0. a 21 a 22 a 23 a 24 a 25 a 26 a 27 2. reelle Zahl 0. a 31 a 32 a 33 a 34 a 35 a 36 a 37 3. reelle Zahl 0. a 41 a 42 a 43 a 44 a 45 a 46 a 47 4. reelle Zahl 0. a 51 a 52 a 53 a 54 a 55 a 56 a 57 5. reelle Zahl

Mächtigkeit von R Diagonalzahl a ii ቐ a ii 0 9 0. a 11 a 12 a 13 a 14 a 15 a 16 a 17 ist auch eine reelle Zahl. Sie ist nicht aufgelistet. Widerspruch. 0. a 11 a 12 a 13 a 14 a 15 a 16 a 17 1. reelle Zahl 0. a 21 a 22 a 23 a 24 a 25 a 26 a 27 2. reelle Zahl 0. a 31 a 32 a 33 a 34 a 35 a 36 a 37 3. reelle Zahl 0. a 41 a 42 a 43 a 44 a 45 a 46 a 47 4. reelle Zahl 0. a 51 a 52 a 53 a 54 a 55 a 56 a 57 5. reelle Zahl

Formal Beweis durch Wiederspruch A falsch nicht A Folgerung zu falsch impliziert Annahme ist auch falsch A B B falsch B wahr A falsch wahr wahr A wahr falsch wahr

Satz von Cantor Für jede Menge M gilt: Satz von Cantor Die Potenzmenge P(M) ist mächtiger als die Menge M selbst Beweis Ähnliche Idee (Diagonalisierung) Benutzt axiomatische Mengenlehre

3.3 Berechenbarkeit

Algorithmen Algorithmen / Programme Berechnen partielle Funktionen Eingabe: x {0,1} Ausgabe: zwei Möglichkeiten Programm hält an, Ausgabe y {0,1} Programm hält nicht an (keine Ausgabe) Funktionaler Zusammenhang y = f x f Algorithmus y {0,1} y = f(x) x {0,1} Berechnung (evtl. ewig)

Berechenbarkeit Berechenbare Funktionen Funktion f: {0,1} {0,1} f heißt (rekursiv) berechenbar genau dann, wenn eine Programm (z.b. in Python) existiert das f berechnet und immer anhält Wir stellen beliebig viel Speicher bereit

Äquivalenz von Maschinenmodellen Satz: Die folgenden Maschinenmodelle können die gleichen Funktionen berechnen Turingmaschinen Registermaschinen Java/C++ - Programme Beweis: Gegenseitige Simulation

Church-Turing These Äquivalente Maschinenmodelle Turingmaschinen Registermaschinen (CPUs mit unbeschränkt Speicher) Funktionale Modelle (λ-kalkül) Python / Java / C / C++ / C# / PHP / Haskell / Pascal / (unbeschränkter Speicher) Papiercomputer (Mensch folgt fester Methodik) Church-Turing These Diese Modelle sind die allgemeinsten, die es gibt. Es existiert keine physikalisch realisierbare Maschine, die mehr Funktionen berechnen kann.

Frage Sind alle mathematischen Zuordnungen berechenbar? Nein. Drei Schritte Erstens: Es muß unberechenbare Probleme geben Zweitens: Ein konkretes Problem Drittens: Weitere, praktisch relevante Probleme

Es gibt zu viele Probleme Algorithmus / Programm Binärkodierbar: Bitstring x 0,1 Es gibt abzählbar unendlich viele Algorithmen Probleme Funktionen f: 0,1 {0,1} Überabzählbar (Potenzmenge aller Binärstrings) Vergleich Menge der Probleme mächtiger als Menge der Algorithmen (oder schlimmer)

Halteproblem Unentscheidbar: Halteproblem [Turing 1936] Gegeben ein Algorithmus (z.b. Python Programm) und seine Eingabe (Eingabedaten) Frage Hält der Algorithmus jemals an? Also: Stürzt das Programm mit dieser Eingabe nicht ab?

Variante: Satz von Gödel (Erster) Gödel scher Unvollständigkeitssatz In jedem mathematischen Axiomensystem das mindestens die natürlichen Zahlen umfaßt gibt es Aussagen, die nicht beweisbar sind Beweis per Diagonalisierung (sehr ähnlich) Fundamentale Limitierung Fundamentale Limitierung Diskrete Schlußketten Diskrete Schritte in Algorithmen Es bleiben zu viele Probleme

3.4 Emergente Komplexität

Emergente Komplexität Aus einfachen Regeln können komplexe Muster entstehen Turing mächtige Regeln erzeugen potentiell jede Struktur im Universum Auch unter dieser Schwelle entstehen komplexe Muster (z.b. Zahlentheorie: Primzahlen)

im c Emergente Komplexität Mandelbrot- Menge Iteration z z 2 + c z, c C re c Farbe = Zahl Iterationen bis Ergebnis > 2 [Quelle: Wikipedia Contrib. Simpsons contributor ]

Emergente Komplexität Penrose Tilings Bilder: Wikipedia [WP contrib. Inductiveload] Prinzip [WP contrib. Geometry Guy] Kacheln aneinanderfügen Gesamte 2D Ebene gefüllt Global aperiodisch (keine Wiederholungen) Turing mächtig Programmieren durch Design von (anderen) Kacheln

Emergente Komplexität Conway s Game of Life Lebende Zellen mit <2 Nachbarn sterben Lebenden Zellen mit 2 oder 3 Nachbarn leben weiter Lebende Zellen mit >3 Nachbarn sterben Tote Zellen mit genau 3 Nachbarn werden zum Leben erweckt. Das Spiel ist Turing mächtig Video: [Wikipedia user Kieff, CC-SA3]