a taste of computer science

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

Upload: donschado

Post on 12-May-2015

231 views

Category:

Technology


0 download

DESCRIPTION

Computer science is more than just writing code. So we will take a brief look on some theoretical concepts and problems which scientists study for decades (and maybe never will solve).

TRANSCRIPT

Page 1: A taste of Computer Science

a taste of computer science

@DonSchado

cologne.rb | 20.11.2013

Page 2: A taste of Computer Science

disclaimerThis 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.

Page 3: A taste of Computer Science

Is this computer science?

Page 4: A taste of Computer Science

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

Page 5: A taste of Computer Science

) besteht

Page 6: A taste of Computer Science
Page 7: A taste of Computer Science
Page 8: A taste of Computer Science

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

Page 9: A taste of Computer Science
Page 10: A taste of Computer Science
Page 11: A taste of Computer Science

Eulerweg, Eulerkreis

jede Kante nur ein malKnoten mehrmals

Es existiert ein Eulerweg, wenn die Zahl der Knoten mit ungeradem Grad 0 oder 2 ist

Page 12: A taste of Computer Science

Eulerweg, Eulerkreis

jede Kante nur ein malKnoten mehrmals

Es existiert ein Eulerweg, wenn die Zahl der Knoten mit ungeradem Grad 0 oder 2 ist

Page 13: A taste of Computer Science
Page 14: A taste of Computer Science

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

Page 15: A taste of Computer Science

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

Page 16: A taste of Computer Science

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

Page 17: A taste of Computer Science

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)

14050061177528798985431426062445115699363840000000001,4 Oktilliarden

Page 18: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

Page 19: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

Page 20: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

Page 21: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme

Page 22: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

NP in nichtdeterministisch polynomiellem Zeitaufwand lösbare Probleme

TSP ist NP-vollständig!schwerer als alle Probleme aus NP

Page 23: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

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

Page 24: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

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.

Page 25: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

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)

Page 26: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

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.

Page 27: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

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

Page 28: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

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.

Page 29: A taste of Computer Science

P vs. NP ProblemWillkommen in der Komplexitätstheorieungelöstes Problem der Mathematik und theoretischen Informatik

P = NP würde unsere Welt verändernP != 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.

= c

ompu

tatio

nal d

ifficu

lty

$

Exp

R

...

in polynomiellem Zeitaufwand lösbare ProblemeP

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)

Page 30: A taste of Computer Science
Page 31: A taste of Computer Science

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

Page 32: A taste of Computer Science

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

Page 33: A taste of Computer Science

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

Page 34: A taste of Computer Science

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

Page 35: A taste of Computer Science

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

Multiplikation n-stelliger Zahlen

Page 36: A taste of Computer Science

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

Faktorisierung (Primfaktorzerlegung)

Multiplikation n-stelliger Zahlen

Page 37: A taste of Computer Science

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

Faktorisierung (Primfaktorzerlegung)

Multiplikation n-stelliger Zahlen

RSA

Page 38: A taste of Computer Science

1. Chapter 1 Just Enough Ruby2. Programs and Machines

1. Chapter 2 The Meaning of Programs2. Chapter 3 The Simplest Computers

1. Deterministic Finite Automata2. Nondeterministic Finite Automata3. Regular Expressions4. Equivalence

3. Chapter 4 Just Add Power1. Deterministic Pushdown Automata2. Nondeterministic Pushdown Automata3. Parsing with Pushdown Automata4. How Much Power?

4. Chapter 5 The Ultimate Machine1. Deterministic Turing Machines2. Nondeterministic Turing Machines3. Maximum Power4. General-Purpose Machines

3. Computation and Computability1. Chapter 6 Programming with Nothing

1. Impersonating the Lambda Calculus2. Implementing the Lambda Calculus

2. Chapter 7 Universality Is Everywhere1. Lambda Calculus2. Partial Recursive Functions3. SKI Combinator Calculus4. Iota5. Tag Systems6. Cyclic Tag Systems7. Conway’s Game of Life8. Rule 1109. Wolfram’s 2,3 Turing Machine

3. Chapter 8 Impossible Programs1. The Facts of Life2. Decidability3. The Halting Problem4. Other Undecidable Problems

4. Chapter 9 Programming in Toyland

http

s://g

ithub

.com

/tom

stua

rt/c

ompu

tatio

nboo

k