Theory of Programming Prof. Dr. W. Reisig Was heißt „Korrektheit“? W. Reisig Workshop Modellierung Hamburg, 11.-13. März 2015.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Christian Scheideler SS 2009
Schnelle Matrizenoperationen von Christian Büttner
Fünffärbbarkeit Farbnummern 0,1,2,3,4.
Zusatzthemen. Kapitel 5 © Beutelspacher Juni 2004 Seite 2 Inhalt Gleichungssysteme mit Parameter Wurzelgleichungen Irrationale Zahlen Induktion WGMS III.
Verifizieren versus Berechnen
Algorithmen und Komplexität
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Algorithmen und Komplexität
Christian Schindelhauer
Minimum Spanning Tree: MST
Gaußscher Algorithmus
Relationentheorie AIFB SS Algorithmen zur Bildung von 3NF-Relationsschemata Algorithmen zur Bildung von 3NF-Relationsschemata (2|8) (2)Synthese.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Spiegelzahlen.
Aus dem Leben eines Hotline- Mitarbeiters Begriffe: HLM:Hotline-Mitarbeiter DAU:dümmster anzunehmender User.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Wer hat da behauptet, dass Frauen nichts von Mechanik verstehen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Die 5 schwierigen Fragen
Chromatische Zahl.
Effiziente Algorithmen
Das MÄNNERMANIFEST (ein für alle Mal!)
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt WS 06/
Polynome und schnelle Fourier-Transformation
fast wia im richtigen Leben.....
Institut für Theoretische Informatik
Wer …? Wie… ? Wo … ? Was … ? Wann …?.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Das MÄNNERMANIFEST (Ein für alle Mal!).
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Scaffold 29S: Komplexe Zahlen
Analyse der Laufzeit von Algorithmen
Die 5 schwierigsten Fragen
Er: "Ich bestell‘ Pizza. Willst du auch was?" Sie: "Nein." Er: "Okay."
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
- Entscheidungen treffen Auch du kannst Ja oder Nein sagen! - Entscheidungen treffen.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Gliederung der Vorlesung
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Algorithmen und Datenstrukturen
 Präsentation transkript:

Theory of Programming Prof. Dr. W. Reisig Was heißt „Korrektheit“? W. Reisig Workshop Modellierung Hamburg, März 2015

2 Was heißt Korrektheit ? Fehler entstehen trotz Modellierung. Testen ist bekanntermaßen fragwürdig. Verifikation liefert nicht das was ich will:

Gegeben: Problem P; Meine Instanz i von P. Was ich will: Das korrekte Ergebnis P(i). Was ich habe: Ein (berechnetes oder geratenes) Resultat r. Was mich deshalb interessiert: r = P(i) ? Was interessiert mich nicht ? Ob ein Algorithmus korrekt ist; ob eine Software korrekt ist; ob ein Test erschöpfend ist; ob eine Software verifiziert ist; ob ein Verifyer korrekt ist; ob eine Hardware Fehler macht. 3 {-1} _ 3 Was will ich? Lösungsmenge L quadratischer Gleichungen x²+2x+1=0 L = { -1 } 3

{-1} Gegeben: Problem P; Meine Instanz i von P. Was ich will: Das korrekte Ergebnis P(i). Was ich habe: Ein (berechnetes oder geratenes) Resultat r. Was mich deshalb interessiert: r = P(i) ? Ann.: r = -1. Ich mach die Probe: (-1)² + 2(-1) + 1 = 0 : -1 ist eine Lösung! Die Diskriminante (-1)² + 2((-1)) + 1 = 0 impliziert |L| = 1! Also gilt: L = { -1 }. 44 Was überzeugt mich? Lösungsmenge L quadratischer Gleichungen x²+2x+1=0 L = { -1 }

Gegeben: Problem P; Meine Instanz i von P. Was ich will: Das korrekte Ergebnis P(i). Was ich habe: Ein (berechnetes oder geratenes) Resultat r. Was mich deshalb interessiert: r = P(i) ? Ann.: r = -1. Ich mach die Probe: Wie geht das allgemein? accept reject Instanz i Resultat r Algorithmus „Probe“ 5 Lösungsmenge L quadratischer Gleichungen x²+2x+1=0 L = { -1 }

„Probe“ certifyer Klappt das auch für andere P ? Gegeben: Problem P; Meine Instanz i von P. Was ich will: Das korrekte Ergebnis P(i). Was ich habe: Ein (berechnetes oder geratenes) Resultat r. Was mich deshalb interessiert: r = P(i) ? Ann.: r = „i ist 2-färbbar.“ Was mich von der Korrektheit von r überzeugt: Eine 2-Färbung von i, z.B. 2-Färbbarkeit von Graphen i ist 2-färbbar. ist ein Zeuge für r zertifizierender accept reject Instanz i Resultat r Algorithmus Zeuge z Ersetze die Probe durch einen certifyer: 6

Gegeben: Problem P; Meine Instanz i von P. Was ich will: Das korrekte Ergebnis P(i). Was ich habe: Ein (berechnetes oder geratenes) Resultat r. Was mich deshalb interessiert: r = P(i) ? Ann.: r = „i ist nicht 2-färbbar.“ Was mich von der Korrektheit von r überzeugt: Der ungerade Kreis in … Eine Variante zusammen mit dem Theorem: Sei G ein Graph. G enthalte einen kreisförmigen Subgraphen S mit einer ungeraden Zahl von Knoten. Dann ist G nicht 2-färbbar. i ist nicht 2-färbbar. ist ein Zeuge für r zertifizierender accept reject Instanz i Resultat r Algorithmus Zeuge z „Probe“ certifyer 7 2-Färbbarkeit von Graphen

Gegeben: Problem P; Meine Instanz i von P. Was ich will: Das korrekte Ergebnis P(i). Was ich habe: Ein (berechnetes oder geratenes) Resultat r. Was mich deshalb interessiert: r = P(i) ? Wie geht das allgemein? 2-Färbbarkeit von Graphen r = „… ist 2-färbbar“ z: eine Färbung der Knoten, e = „… ist eine 2-Färbung“ oder r = „… ist nicht 2-färbbar“ z: ein Graph, e = „… ist ein ungerader Kreis“ Beobachtung: Zu jedem i gibt es ein solches z zertifizierender accept reject Instanz i Resultat r Algorithmus Zeuge z „Probe“ certifyer Def.: Sei z ein Artefakt mit einer Eigenschaft e so dass gilt: e impliziert r = P(i). (*) Dann ist z ein Zeuge für r; e ist das Zeugenprädikat von z; (*) ist die Zeugeneigenschaft von z. 8

Gegeben: Problem P; Meine Instanz i von P. Was ich will: Das korrekte Ergebnis P(i). Was ich habe: Ein (berechnetes oder geratenes) Resultat r. Was mich deshalb interessiert: r = P(i) ? Qualität von Zeugen Def.: Sei z ein Artefakt mit einer Eigenschaft e so dass gilt: e impliziert r = P(i). (*) Dann ist z ein Zeuge für r; e ist das Zeugenprädikat von z; (*) ist die Zeugeneigenschaft von z. zertifizierender accept reject Instanz i Resultat r Algorithmus Zeuge z „Probe“ certifyer guter Zeuge - (*) ist leicht nachvollziehbar … als Schema unabh. von i. schlechter Zeuge: Beispiel: z = r prima Zeuge: z = P(i) … wirklich? WO HER KOMMT z ? 9

Gegeben: Problem P; Meine Instanz i von P. Was ich will: Das korrekte Ergebnis P(i). Was ich habe: Ein (berechnetes oder geratenes) Resultat r. Was mich deshalb interessiert: r = P(i) ? Der Algorithmus liefert auch z ! guter Zeuge - (*) ist leicht nachvollziehbar … als Schema unabh. von i. - Checker-Programm ist leicht verifizierbar. Def.: Sei z ein Artefakt mit einer Eigenschaft e so dass gilt: e impliziert r = P(i). (*) Dann ist z ein Zeuge für r; e ist das Zeugenprädikat von z; (*) ist die Zeugeneigenschaft von z. schlechter Zeuge: Beispiel: z = r prima Zeuge: z = P(i) … wirklich? WO HER KOMMT z ? Wer garantiert z‘ = z ? zertifizierender accept reject Instanz i Resultat r Algorithmus Zeuge z „Probe“ certifyer berech- neter Zeuge z’ Checker 10

im Prinzip ja: Nimm den Algorithmus selbst als Zeugen. ( (*) = Theorembeweis) Herausforderung: Finde gute Zeugen! Checker: “Für z gilt e” Beweis von (*) gute Zeugen Probe machen Geht das immer? schwierig zu verstehen Zeuge = Algorithmus 2-färbbar nicht 2-färbbar einfach zu verstehen schwierig zu verstehen zertifizierender accept reject Instanz i Resultat r Algorithmus Zeuge z „Probe“ certifyer

nein: Die Idee ist von Kurt Mehlhorn. Wir sollten sie in die Modellierung intergrieren! Beweis von (*) gute Zeugen Probe machen Ist das wirklich was neues? einfach zu verstehen schwierig zu verstehen Zeuge = Algorithmus 2-färbbar nicht 2-färbbar schwierig zu verstehen Gegeben r und z: Ich muss (*) glauben. hat das berechnete z die Eigenschaft e? Checker: “Für z gilt e” danke, das wär‘s! zertifizierender accept reject Instanz i Resultat r Algorithmus Zeuge z „Probe“ certifyer