Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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. 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.
  2. 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.)
  3. Euler 1736: Gibt es einen Rundweg durch Königsberg, der jede

    der 7 Brücken genau einmal überquert?
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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.
  10. 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 ...
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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.
  16. 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)
  17. 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.
  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. = 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
  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 ... 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.
  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 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)
  21. 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