1 / 20

Berechenbarkeit

Berechenbarkeit. (Eine Unterrichtsreihe für Q3). Algorithmen mit exponentieller Laufzeit Vergleich von exponentieller und polynomialer Laufzeit P und NP Probleme Berechenbarkeit Beispiele und Klassifizierung Überabzählbarkeit von Problemen Grenzen der Berechenbarkeit (Halteproblem)

amir-hart
Download Presentation

Berechenbarkeit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Berechenbarkeit (Eine Unterrichtsreihe für Q3) Informatik: Theoretische Informatik; Weilburg XII/11

  2. Algorithmen mit exponentieller Laufzeit Vergleich von exponentieller und polynomialer Laufzeit P und NP Probleme Berechenbarkeit Beispiele und Klassifizierung Überabzählbarkeit von Problemen Grenzen der Berechenbarkeit (Halteproblem) Übungen Gliederung Informatik: Theoretische Informatik; Weilburg XII/11

  3. Das Abgeordnetenproblem Die Abgeordneten eines Parlaments gehören n verschiedenen Ausschüssen an. Jeder Ausschuss tagt jede Woche genau einmal. Ist ein Abgeordneter Mitglied in zwei verschiedenen Ausschüssen, so dürfen diese nicht zur gleichen Zeit stattfinden. Wir möchten wissen, ob wir mit k verschiedenen Sitzungsterminen auskommen. Lösen Sie dieses Färbungsproblem für den folgenden Graphen mit 12 Ausschüssen (Knoten): Informatik: Theoretische Informatik; Weilburg XII/11 3

  4. Allgemeine Lösung mit einem Algorithmus Der Algorithmus geht alle Färbemöglichkeiten durch und testet dabei jede einzelne, ob die Bedingung (zwei Knoten, die verbunden sind, haben nicht dieselbe Farbe) erfüllt ist. Färbemöglichkeiten bei k Farben und n Ausschüssen: Prüfung der Bedingung bei jeder Färbung: Für k=3 ergibt sich damit die folgenden Anzahl von Überprüfungen: Informatik: Theoretische Informatik; Weilburg XII/11 4

  5. Zeitkomplexität Grundlage: Computer mit 1 Milliarde Rechenschritte pro Sekunde; k=3. Vergleich zwischen Polynomial- und Exponentiallaufzeit (in sec): Informatik: Theoretische Informatik; Weilburg XII/11 5

  6. Zeitkomplexität Selbst bei einem Rechner, der 1000mal schneller ist, würde sich das Problem nicht anders darstellen. Bespiel: Bei T(n)=2n hat ein Rechner bei n=40 1099sec = 18Minuten benötigt. Welchen Umfang n bewältigt ein Rechner der 1000mal schneller ist in derselben Zeit? Der Umfang nimmt nur um log2(1000)9,97 zu Ergebnis: Man unterscheidet Algorithmen bezüglich ihrer Laufzeit folgendermaßen Informatik: Theoretische Informatik; Weilburg XII/11 6

  7. P und NP- Probleme Die Komplexität der Lösungsalgorithmen eignet sich gut, um die Probleme in Klassen einzuteilen. Def.: Alle Probleme, die in polynomialer Zeit mit deterministischen Algorithmen gelöst werden können heißen P-Probleme. Ein deterministischer Algorithmus ist ein Algorithmus, bei dem nach jedem Schritt genau ein weiterer folgt und das Problem nach endlich vielen Schritten gelöst ist. Def.: Ein Problem welches von einem nichtdeterministischen Algorithmus in polynomialer Zeit gelöst werden kann, heißt NP-Problem. Informatik: Theoretische Informatik; Weilburg XII/11 7

  8. P und NP- Probleme NP-Probleme haben meist folgende Eigenschaften: • es sind Lösungsverfahren mit exponentiellem Aufwand bekannt • ein effizienterer Algorithmus ist bislang nicht bekannt • die Lösung ist durch Raten (also nichtdeterministisch) zu ermitteln • Da jedes P-Problem per se auch NP ist, sind die P-Probleme zumindest eine Teilmenge von NP-Problemen. Eine derzeit nicht gelöstes Problem ist die Frage, ob die beiden Klassen P und NP gleich sind, oder ob die P-Probleme eine echte Teilmenge der NP-Probleme sind. Informatik: Theoretische Informatik; Weilburg XII/11 8

  9. Grenzen der Berechenbarkeit Lange Zeit glaubten Philosophen und Mathematiker, dass jedes mathematische Problem algorithmisch lösbar sei. Zwei mathematische Probleme im Vergleich: Informatik: Theoretische Informatik; Weilburg XII/11 9

  10. Exkurs – wundersame Zahlen Algorithmus für wundersame Zahlen: 1. Solange x1 mache folgendes 1.1 falls x gerade ist, setze x  x/2 1.2 falls x ungerade ist, setze x 3x+1 2. halte an. Wenn man den Algorithmus mit beliebig großen Zahlen ausprobiert, stellt man fest, dass er eine wild aussehenden Zahlenfolge durchlaufen kann, die erstaunlich hohe Werte annimmt und unvorhersehbar schwankt. Dabei wurde nie eine Periodizität festgestellt, mit der man eine Eingabe als nichtwundersam identifizieren könnte. Die wundersamen Zahlen sind damit ein seit über 60 Jahren ungelöstes Problem aus der Zahlentheorie Informatik: Theoretische Informatik; Weilburg XII/11 10

  11. Entscheidbarkeit Def.: Ein Problem ist eine Funktion f: IN  IN In unseren Beispielen wäre f eine Funktion mit der Wertemenge {0,1}. 1 bedeutet, dass die Zahl die jeweilige Eigenschaft hat; 0, dass die Funktion die Eigenschaft nicht hat. Ein solches Problem heißt auch Entscheidungsproblem. Im Fall des Goldbachproblems gibt es einen Algorithmus, der feststellt, ob eine Zahl die Goldbacheigenschaft hat oder aber nicht. Das Goldbachproblem ist damit entscheidbar. Im Fall der wundersamen Zahl gibt es bis jetzt nur einen Algorithmus, der bei wundersamen Zahlen zur Ausgabe 1 kommt. Gibt man eine unwundersame Zahl ein, kommt der Algorithmus zu keinem Ende. Das Problem der wundersamen Zahlen ist damit semi-entscheidbar. Informatik: Theoretische Informatik; Weilburg XII/11 11

  12. Gibt es mehr Probleme als Programme? • Für die Lösung eines Problems muss der Funktionswert berechnet werden, dazu benötigt man einen Algorithmus. • Der Algorithmus besteht aus Buchstaben, Zahlen und Sonderzeichen, diese sind letztendlich eine Folge aus 0 und 1, also ist ein Programm eine Zahl aus IN. Somit gibt es nur so viele Programme wie Zahlen in IN. • Wie viele Probleme, d.h. wie viele Funktionen f: IN IN gibt es? • Da allein der Definitionsbereich eine Teilmenge von IN ist, gibt es mindestens so viele Funktionen wie Teilmengen von IN. Def.: Die Menge aller Teilmengen von M heißt die Potenzmenge P(M) Informatik: Theoretische Informatik; Weilburg XII/11 12

  13. Abzählbar und überabzählbar Def.: Eine Menge M ist „gleichmächtig zu IN“, wenn man die Elemente von M durchnumerieren kann: M = {m1, m2, m3, ...}. Statt ‘M ist gleichmächtig zu IN’ sagen wir auch: ‘M ist abzählbar unendlich’. • Gegeben sei die Menge A ={a, b, c} • Bestimmen Sie P(A). (Auch die leere Menge ist eine Teilmenge von A.) • Füge der Menge A ein weiteres Element hinzu und bestimme für die so entstehende Menge A’ wiederum die Menge aller Teilmengen! • Eine Menge M habe n Elemente. Wie viele Teilmengen hat M? Lösung:P(A)={ {}, {a}, {b}, {c}, {a,b}, {a,c}, {b,c}, {a,b,c}} |P(A)|=8fügt man ein Element d hinzu, verdoppelt sich die Anzahl der Elemente. Fazit: |P(M)|=2n Informatik: Theoretische Informatik; Weilburg XII/11 13

  14. Beweis durch Widerspruch Satz: P(N) ist nicht abzählbar unendlich. Annahme: P(IN) ist abzählbar unendlich • Man kann die Teilmengen von IN durchnumerieren P(IN) = {T1, T2, T3, ...} • Die Nummer i einer Teilmenge kann nun als Zahl in der Teilmenge Ti vorkommen oder nicht. • Fassen wir alle Zahlen zusammen, die in ihrer entsprechenden Teilmenge nicht enthalten sind: D = {iIN: iTi}. • D ist eine Zahlenmenge, also DIN. Damit muss D eine der Teilmengen T sein, z.B. sei D = Tn. • Was ist nun mit der Zahl n? • Ist nD, so ist n Tn. Folgt: D  Tn . • Ist nD, so ist nTn. Folgt: D  Tn • Beides steht im Widerspruch zu D = Tn. • Die Annahme ist demnach falsch. • Resultat: Die Potenzmenge der natürlichen Zahlen ist nicht abzählbar Informatik: Theoretische Informatik; Weilburg XII/11 14

  15. Fazit • Die Menge aller Programme ist eine unendliche Teilmenge von IN, also abzählbar. • Die Menge aller Probleme ist mindestens so groß wie die Potenzmenge von IN, also nicht abzählbar. • Es gibt mehr Probleme als Programme. Die Menge der Algorithmen reicht nicht aus, um jede Funktion zu berechnen. Es gibt also nichtberechenbare Funktionen bzw. unlösbare Probleme Ein typisches algorithmisch unlösbares Problem ist das Halteproblem Informatik: Theoretische Informatik; Weilburg XII/11 15

  16. Das Halteproblem Hinter dem Halteproblem verbirgt sich die Frage, ob ein Algorithmus formuliert werden kann, der für ein gegebenes beliebiges Programm mit einer gegebenen Eingabe überprüft, ob dieses Programm terminiert oder nicht. Die Problematik des Halteproblems ist den Schülern seit dem Umgang mit while-Schleifen oder Rekursion vertraut. Turing hat 1936 bewiesen, dass ein solcher Algorithmus nicht existiert Informatik: Theoretische Informatik; Weilburg XII/11 16

  17. Das Halteproblem Das Problem ist eine Funktion f: IN  IN mit Angenommen es gebe einen Algorithmus, der imstande wäre f(P) zu berechnen und würde damit einer Variablen endlos den Wert true oder false zuweisen: Haelt(P, x) //weise nach Test endlos den Wert true oder false zu wenn endlos=true dann Ausgabe(„Das Progamm enthält eine Endlosschleife“) sonst Ausgabe(„Das Progamm enthält keine Endlosschleife“) Informatik: Theoretische Informatik; Weilburg XII/11 17

  18. Das Halteproblem Das Programm Haelt kann man jetzt ein klein wenig verändern: Seltsam(P, x) //weise nach Test endlos den Wert true oder false zu wenn endlos=true dann Gebeaus(„Das Progamm enthält eine Endlosschleife“) sonst Gebeaus(„Das Progamm enthält keine Endlosschleife“) und solange 1==1 führe aus keine Aktion Der Unterschied zwischen den beiden Programmen ist lediglich die eingebaute Endlosschleife. Wendet man nun Seltsam auf Seltsam an. Was kann passieren?1. Angenommen Seltsam terminiert  endlos = false  das Programm geht in eine Endlosschleife.2. Angenommen Seltsam terminiert nicht  endlos = true  Ausgabe „Das Progamm terminiert nicht“ und das Programm stoppt Wir erhalten also jeweils einen Widerspruch  Es gibt keinen Algorithmus Haelt Informatik: Theoretische Informatik; Weilburg XII/11 18

  19. Zusammenfassung Informatik: Theoretische Informatik; Weilburg XII/11 19

  20. Quellen: • Battenfeld u.a.: Theoretische Informatik – Planung eines Kurses in der Jahrgangsstufe 13I, 1996 • David Harel: Das Affenpuzzle und weitere bad news aus der Computerwelt, 2002 • Duden: Informatik Abitur – Basiswissen Schule, 2003 • Niedermeier, Rolf u.a.: Das Knotenüberdeckungsproblem, Log in 146/147, S53ff • Steinert, Markus: Grenzen der Berechenbarkeit, Log in 168 S.42ff • Schwill, Andreas: Praktisch unlösbare Probleme, Log in 14, S. 16ff • Hromkovic, Juraj: Sieben Wunder der Informatik, 2006 Informatik: Theoretische Informatik; Weilburg XII/11 20

More Related