Slide 1

Slide 1 text

a taste of computer science @DonSchado cologne.rb | 20.11.2013

Slide 2

Slide 2 text

disclaimer This presentation contains theoretical stuff from about 4 semesters and knowledge of different basic CS courses. Don‘t feel stupid if you don‘t understand anything. Nonetheless some details are simplified in interest of the audience. Most of the (ugly) slides are in german, because I‘m reusing them.

Slide 3

Slide 3 text

Is this computer science?

Slide 4

Slide 4 text

No! CS means way more than just coding, so let's kick things off with something simple and have a look on graph theory. (Because many problems of computer science are either graph-theoretical problems or can be transferred to a graph.)

Slide 5

Slide 5 text

) besteht

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Euler 1736: Gibt es einen Rundweg durch Königsberg, der jede der 7 Brücken genau einmal überquert?

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Eulerweg, Eulerkreis jede Kante nur ein mal Knoten mehrmals Es existiert ein Eulerweg, wenn die Zahl der Knoten mit ungeradem Grad 0 oder 2 ist

Slide 12

Slide 12 text

Eulerweg, Eulerkreis jede Kante nur ein mal Knoten mehrmals Es existiert ein Eulerweg, wenn die Zahl der Knoten mit ungeradem Grad 0 oder 2 ist

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Sir William Rowan Hamilton, who was Astronomer Royal of Ireland, invented the puzzle in 1857

Slide 15

Slide 15 text

TSP = Traveling Salesperson Problem Gesucht: Die kürzeste Route durch alle Städte, wobei jede Stadt nur einmal besucht werden darf (kürzester Hamiltonkreis) 1,4 Oktilliarden

Slide 16

Slide 16 text

TSP = Traveling Salesperson Problem Gesucht: Die kürzeste Route durch alle Städte, wobei jede Stadt nur einmal besucht werden darf (kürzester Hamiltonkreis) Bei z.B. 42 Städten gäbe es 42! mögliche Routen. (worst-case) 1,4 Oktilliarden

Slide 17

Slide 17 text

TSP = Traveling Salesperson Problem Gesucht: Die kürzeste Route durch alle Städte, wobei jede Stadt nur einmal besucht werden darf (kürzester Hamiltonkreis) Bei z.B. 42 Städten gäbe es 42! mögliche Routen. (worst-case) 1405006117752879898543142606244511569936384000000000 1,4 Oktilliarden

Slide 18

Slide 18 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden.

Slide 19

Slide 19 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ...

Slide 20

Slide 20 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P

Slide 21

Slide 21 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme

Slide 22

Slide 22 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme TSP ist NP-vollständig! schwerer als alle Probleme aus NP

Slide 23

Slide 23 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme TSP ist NP-vollständig! schwerer als alle Probleme aus NP * Halteproblem !€ R exponenzieller Zeitaufwand in endlicher Zeit NP-schwer

Slide 24

Slide 24 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme TSP ist NP-vollständig! schwerer als alle Probleme aus NP * Halteproblem !€ R exponenzieller Zeitaufwand in endlicher Zeit NP-schwer Entscheidungsprobleme die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der „praktisch lösbaren“ Probleme betrachtet.

Slide 25

Slide 25 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme TSP ist NP-vollständig! schwerer als alle Probleme aus NP * Halteproblem !€ R exponenzieller Zeitaufwand in endlicher Zeit NP-schwer Entscheidungsprobleme die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der „praktisch lösbaren“ Probleme betrachtet. Antwort (ja|nein)

Slide 26

Slide 26 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme TSP ist NP-vollständig! schwerer als alle Probleme aus NP * Halteproblem !€ R exponenzieller Zeitaufwand in endlicher Zeit NP-schwer Entscheidungsprobleme die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der „praktisch lösbaren“ Probleme betrachtet. Antwort (ja|nein) die benötigte Rechenzeit (m) nicht stärker als mit einer Polynomfunktion wächst.

Slide 27

Slide 27 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme TSP ist NP-vollständig! schwerer als alle Probleme aus NP * Halteproblem !€ R exponenzieller Zeitaufwand in endlicher Zeit NP-schwer Entscheidungsprobleme die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der „praktisch lösbaren“ Probleme betrachtet. Antwort (ja|nein) die benötigte Rechenzeit (m) nicht stärker als mit einer Polynomfunktion wächst. Alan Turing † 7. Juni 1954

Slide 28

Slide 28 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme TSP ist NP-vollständig! schwerer als alle Probleme aus NP * Halteproblem !€ R exponenzieller Zeitaufwand in endlicher Zeit NP-schwer Entscheidungsprobleme die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der „praktisch lösbaren“ Probleme betrachtet. Antwort (ja|nein) die benötigte Rechenzeit (m) nicht stärker als mit einer Polynomfunktion wächst. Alan Turing † 7. Juni 1954 Entscheidungsprobleme die mit nicht-deterministischen Turingmaschinen in Polynomialzeit lösbar sind.

Slide 29

Slide 29 text

P vs. NP Problem Willkommen in der Komplexitätstheorie ungelöstes Problem der Mathematik und theoretischen Informatik P = NP würde unsere Welt verändern P != NP schwer/nicht zu beweisen 1 der 7 Millennium-Probleme welche im Jahr 2000 vom Clay Mathematics Institute mit einem Preisgeld von einer Million US-Dollar ausgelobt wurden. = computational difficulty $ Exp R ... in polynomiellem Zeitaufwand lösbare Probleme P NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme TSP ist NP-vollständig! schwerer als alle Probleme aus NP * Halteproblem !€ R exponenzieller Zeitaufwand in endlicher Zeit NP-schwer Entscheidungsprobleme die in Polynomialzeit für deterministische Turingmaschinen lösbar sind. Diese Problemklasse wird allgemein als die Klasse der „praktisch lösbaren“ Probleme betrachtet. Antwort (ja|nein) die benötigte Rechenzeit (m) nicht stärker als mit einer Polynomfunktion wächst. Alan Turing † 7. Juni 1954 Entscheidungsprobleme die mit nicht-deterministischen Turingmaschinen in Polynomialzeit lösbar sind. (rein theoretisches Konstrukt) magisches Orakel, immer die richtige Lösung (lucky-algorithm)

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

TSP, Clique, Rucksack, Sudoku, Tetris, Proteinfaltung,...

Slide 32

Slide 32 text

TSP, Clique, Rucksack, Sudoku, Tetris, Proteinfaltung,...

Slide 33

Slide 33 text

TSP, Clique, Rucksack, Sudoku, Tetris, Proteinfaltung,...

Slide 34

Slide 34 text

TSP, Clique, Rucksack, Sudoku, Tetris, Proteinfaltung,...

Slide 35

Slide 35 text

TSP, Clique, Rucksack, Sudoku, Tetris, Proteinfaltung,... Multiplikation n-stelliger Zahlen

Slide 36

Slide 36 text

TSP, Clique, Rucksack, Sudoku, Tetris, Proteinfaltung,... Faktorisierung (Primfaktorzerlegung) Multiplikation n-stelliger Zahlen

Slide 37

Slide 37 text

TSP, Clique, Rucksack, Sudoku, Tetris, Proteinfaltung,... Faktorisierung (Primfaktorzerlegung) Multiplikation n-stelliger Zahlen RSA

Slide 38

Slide 38 text

1. Chapter 1 Just Enough Ruby 2. Programs and Machines 1. Chapter 2 The Meaning of Programs 2. Chapter 3 The Simplest Computers 1. Deterministic Finite Automata 2. Nondeterministic Finite Automata 3. Regular Expressions 4. Equivalence 3. Chapter 4 Just Add Power 1. Deterministic Pushdown Automata 2. Nondeterministic Pushdown Automata 3. Parsing with Pushdown Automata 4. How Much Power? 4. Chapter 5 The Ultimate Machine 1. Deterministic Turing Machines 2. Nondeterministic Turing Machines 3. Maximum Power 4. General-Purpose Machines 3. Computation and Computability 1. Chapter 6 Programming with Nothing 1. Impersonating the Lambda Calculus 2. Implementing the Lambda Calculus 2. Chapter 7 Universality Is Everywhere 1. Lambda Calculus 2. Partial Recursive Functions 3. SKI Combinator Calculus 4. Iota 5. Tag Systems 6. Cyclic Tag Systems 7. Conway’s Game of Life 8. Rule 110 9. Wolfram’s 2,3 Turing Machine 3. Chapter 8 Impossible Programs 1. The Facts of Life 2. Decidability 3. The Halting Problem 4. Other Undecidable Problems 4. Chapter 9 Programming in Toyland https://github.com/tomstuart/computationbook