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)
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