$30 off During Our Annual Pro Sale. View Details »

A taste of Computer Science

DonSchado
November 20, 2013

A taste of Computer Science

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

DonSchado

November 20, 2013
Tweet

More Decks by DonSchado

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

  3. Is this computer science?

    View Slide

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

    View Slide

  5. ) besteht

    View Slide

  6. View Slide

  7. View Slide

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

    View Slide

  9. View Slide

  10. View Slide

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

    View Slide

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

    View Slide

  13. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  30. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide