Komplexitätstheorie Datenbanken und Deskriptive Komplexität

Ähnliche Dokumente
Komplexitätstheorie Einführung und Überblick (Wiederholung)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Anfragesprachen mit Rekursion Datalog

abgeschlossen unter,,,, R,

Spezifikation in Datalog:

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

8 Komplexitätstheorie und Kryptologie

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Organisatorisches. Zeit und Ort: Mo MZH 1450 Mi MZH Prof. Carsten Lutz Raum Cartesium 2.59 Tel. (218)

Musterlösung 11.Übung Mathematische Logik

Ausdrucksstärke von monadischem Datalog auf Bäumen

Abfragen: Grundbausteine

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Ein Beispiel: Tabelle DICHTER

Grundlagen der Theoretischen Informatik

Theoretische Informatik

Zusammenfalten des Post schen Verbandes mittels Operationen aus binären booleschen Funktionen

Typisierung von semistrukturierten Daten. Steffen Staab ISWeb Informationssysteme & Semantic Web

Kapitel III. Aufbau des Zahlensystems

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Logik. Vorlesung im Wintersemester 2010

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung.

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Motivation 1 S-Datalog WF-Datalog RDL I-/P-Datalog Regeln Deduktive Semantik deklarative Statelog-Regeln zustands-orientierte Semantik deklarative, Re

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

SQL und MySQL. Kristian Köhntopp

IV. Datenbankmanagement

SQL-Injection. Seite 1 / 16

Sudoku. Warum 6? Warum 6?

Das Relationale Modell. Das Relationale Modell. Datenmodell. Das Relationale Modell

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln

Das P versus N P - Problem

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Die Komplexitätsklassen P und NP

Nichtdeterministische Platzklassen

Theoretische Informatik Kap 2: Berechnungstheorie

Informatik 12 Datenbanken SQL-Einführung

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

Algorithmen und Datenstrukturen

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Berechenbarkeit. Script, Kapitel 2

Logik für Informatiker. 1. Grundlegende Beweisstrategien. Viorica Sofronie-Stokkermans Universität Koblenz-Landau

LogSpace. Isomorphie von Bäumen (gerichtet und ungerichtet) Entscheiden, ob ein Graph zusammenhängend ist (gerichtet und ungerichtet)

Logik-Grundlagen. Syntax der Prädikatenlogik

Kapitel 6: Graphalgorithmen Gliederung

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

WS 2009/10. Diskrete Strukturen

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Klausur zur Vorlesung Mathematische Logik

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Anfrageoptimierung Logische Optimierung

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Semantik von Formeln und Sequenzen

3 Prädikatenlogik der 1. Stufe (PL1) Teil I

Theoretische Informatik 1

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Brückenkurs Mathematik

Theoretische Informatik 1

Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln

Klassische Aussagenlogik

Übungen zu Einführung in die Lineare Algebra und Geometrie

Grundlagen von Datenbanken

Informationsverarbeitung auf Bitebene

Fundamente der Computational Intelligence

Erstellen einer Datenbank. Datenbankabfragen

Kapitel 5: Der SQL-Standard

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Diplom Mathematiker Wolfgang Kinzner. 17. Oktober Technische Universität München. Die abc-formel. W. Kinzner. Problemstellung.

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Prolog als Datenbanksprache - Idee

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Algorithmen II Vorlesung am

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Übungsaufgaben zu Partielle Differentialgleichungen Blatt III vom

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Grundlagen der Theoretischen Informatik

WS 2009/10. Diskrete Strukturen

Non-Standard-Datenbanken

Kurseinheit 1 Einleitung, Rekursive und rekursiv-aufzählbare Mengen

Kapitel 2: Einstieg in SQL

Diskrete Strukturen Kapitel 1: Einleitung

Pure and Applied Fixed-Point Logics

Aufgabe - Fortsetzung

IP=PSPACE. t Joachim Kneis t IP = PSPACE t 16. Dezember 2003 t

Niedersächsisches Kultusministerium Juli 2015

Logik (Teschl/Teschl 1.1 und 1.3)

Einführung in die Informatik

Grundlagen der diskreten Mathematik

Elementare Beweismethoden

Teil 7. Grundlagen Logik

Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL

Transkript:

Tabellen von Elementen Komplexitätstheorie Datenbanken und Deskriptive Komplexität Helmut Veith Technische Universität München E: A B ========= 1 2 2 1 3 4 2 3 1 4 3 1 1 1 1 3 2 4 SQL: Anfragen über Tabellen Tabellen haben verschiedene Breite: Stelligkeit Einfaches Datenbankschema: Signatur Tabellennamen und Stelligkeit zb E:2, D:3, F:4 Queries / Anfragen: SQL verwendet Namen für Spalten: select A,B from E where A=B Relationenalgebra: A=B(E) Prädikatenlogik 1. Stufe: E(x,y) x = y Datenbanken & Queries Datenbankschema / Signatur E 1 :r 1, E 2 : r 2,..., E k : r k Datenbank / (Relationale) Struktur: 1. Universum U 2. E 1 U r 1,..., E k U rk Query = Anfrage an die Datenbank Generizität: Resultat unabhängig von interner Datendarstellung. Relationale Algebra = SQL ohne Aggregatfunktionen = Prädikatenlogik 1. Stufe (First Order Logic) Beweis: einfache Übersetzungen. Wir wissen: First Order Logic kann in LOGSPACE ausgewertet werden. Datenbankabfragen komplexitätsbeschränkt. Datenbank-Semantik ebenfalls beschränkt. Boolesche Queries und Entscheidungsprobleme Queries mit Ja/Nein Antworten zb Ergebnistabelle leer/nicht leer Eingaben von Entscheidungsproblemen können als relationale Strukturen modelliert werden. zb Graphen Boolesche Queries entsprechen dann den Queries im Instance/Query Schema von Garey/Johnson zb Ist der Graph 3-färbbar? 1

Komplexität von Queries Für eine Query Language untersuchen wir: Datenkomplexität: Komplexität in der Grösse der Datenbank Ausdruckskomplexität: Komplexität in der Grösse der Query Kombinierte Komplexität: Komplexität in der Grösse der Query und der Datenbank Komplexität von Queries SQL / Relationale Algebra / FO Datenkomplexität: in LOGSPACE Komplexität in der Grösse der Datenbank Ausdruckskomplexität: PSPACE-vollständig Komplexität in der Grösse der Query Kombinierte Komplexität: PSPACE-vollständig Komplexität in der Grösse der Query und der Datenbank Reduktion von QBF auf FO Ausdruckskomplexität. FO/SQL und LOGSPACE Datenkomplexität: FO LOGSPACE: jeder Quantor entspricht einer for-schleife. Formel konstanter Grösse fixer Algorithmus. FO LOGSPACE: Erreichbarkeit nicht ausdrückbar! 0/1 Law Für ein fixes Schema T, und eine FO Boolean Query f, sei V n die Menge aller Strukturen mit Universum der Grösse n, und F n die Menge aller Strukturen mit Universum der Grösse n, für die Query f wahr ist. Dann gilt: lim F n n / V n ist 0 oder 1. D.h. nur asymptotisch wahre oder falsche Eigenschaften definierbar. (ohne Beweis) FO LOGSPACE Datalog Query / Eigenschaft / Problem EVEN: Universum hat gerade Anzahl von Elementen Trivialerweise in LOGSPACE. Limit existiert nicht. Wegen 0/1 Law nicht in FO. Auch Erreichbarkeit / REACH nicht in FO. Datenbanksprache in Anlehnung an Prolog Logic Programming Style Typisches Datalog Programm: R(x,y) :- E(x,y) R(x,y) :- R(x,z), E(z,y) Extensionales Schema (Input): E Intensionales Schema (Output): R Was berechnet R? Datalog nicht einfacher als NL. 2

Circuit Evaluation in Datalog Extensionales Schema: A(x,y,z): Gatter x ist AND von y und z. O(x,y,z): Gatter x ist OR von y und z. I(x): Input-Gatter x hat Wert 1. Intensionales Schema: V(x): Gatter x hat Wert 1. Datalog Programm: V(x) :- I(x). V(x) :- A(x,y,z), V(y), V(z). V(x) :- O(x,y,z), V(y). V(x) :- O(x,y,z), V(z). Datalog nicht einfacher als PTIME! Ist Datalog genau PTIME? Datalog Auswertung ist in PTIME. Warum? Kann jede polynomiell berechenbare Boolesche Query in Datalog ausgedrückt werden? Nein! Auch Datalog hat ein 0/1 Law. Wie kann man EVEN über dem leeren Schema in Datalog ausdrücken? Offenbar nicht möglich. Negation in Datalog: Stratifiziertes Datalog Negation von extensionalen Relationen immer erlaubt. Rekursion durch Negation ist verboten: A(x) :- NOT B(x) B(x) :- NOT A(x) Spezielle KI-Semantiken erforderlich. EVEN in Datalog? Generizität: Elemente des Universums können nur durch Relationen unterschieden werden Mit Hilfsrelation succ(x,y) x+1 = y über dem Universum Unterscheidung möglich: Stratifizierte Negation: d.h. keine Rekursion durch Negation möglich. zb F(x,y) :- NOT E(x,y) Berechnet das Komplement eines Graphen. Last(x) :- NOT succ(x,y) First(x) :- NOT succ(z,x) Odd(x) :- Last(x) Even(x) :- E(x,y), Odd(y) Odd(x) :- E(x,y), Even(y) Result :- First(x), Even(x). < und succ succ kann aus < berechnet werden: far(x,y) :- x < z, z < y succ(x,y) :- x < y, NOT far(x,y) Polynomielle Arithmetik Universum der Groesse n stellt Zahlen 0...n-1 dar. Vektor (a,b) stellt Zahlen 0..n 2-1 dar. k-vektor stellt Zahlen 0.. n k -1 dar. < kann aus succ berechnet werden: x < y :- succ(x,y) x < y :- succ(x,z), z < y Datalog mit Ordnung ist ein eindeutiger Begriff. Nicht generische Queries! Lineare Ordnung auf k-vektoren: lexikographisch definiert. (Programm Kleiner(a,b,c,d) :- a < c. Kleiner(a,b,c,d) :- a=c, b < d. Übung) 3

Datalog captures PTIME Sei f eine Boolesche Query. Dann gilt f ist in PTIME gdw f ist in Datalog mit Ordnung ausdrückbar. Languages that capture complexity classes. Korollar: Datenkomplexität ist PTIME. Datalog captures PTIME Beweisidee: Eingabe Graph G = (V,E) Datalog Programm beschreibt Konfigurationen der Turing Maschine. Extensionale Relationen: S q (x,t): Zustand q zur Zeit t H(x,t): Kopf zur Zeit t am Ort x S a (x,t): Symbol a zur Zeit t am Ort x x,t: Variablenvektoren: drücken Zahlen polynomieller Grösse aus. Fragments of Datalog Unter Voraussetzung einer linearen Ordnung gelten folgende Äquivalenzen: Datalog = PTIME Stratifiziertes Datalog = PTIME Datalog mit Tail Rekursion = NL Datalog mit deterministischer Tail Rekursion = L Korollar: Datenkomplexität in derselben Klasse. Ausdruckskomplexität Datalog = PTIME Ausdruckskomplexität: EXPTIME Stratifiziertes Datalog = PTIME Ausdruckskomplexität: EXPTIME Datalog mit Tail Rekursion = NL Ausdruckskomplexität: PSPACE Datalog mit deterministischer Tail Rekursion = L Ausdruckskomplexität: PSPACE Kombinierte Komplexität i.a. gleich Ausdruckskomplexität. Second Order Logic Logik 2. Stufe. Quantifizierung nicht nur über Knoten, sondern auch über Mengen und Relationen: R,G,B x,y: (R(x) G(x) B(x)) (R(x) G(x)) (R(x) B(x)) (G(x) B(x)) ( E(x,y) (R(x) R(y)) (B(x) B(y)) (G(x) G(y)) ) 3-Colorability Hamiltonian Path Second Order Logic R: R ist lineare Ordnung x,y: succ(x,y) E(x,y) R ist lineare Ordnung x,y,z : (R(x,y) R(y,z) R(x,z)) (R(x,y) R(y,x)) (R(x,y) R(y,x)) succ(x,y) : R(x,y) z. R(x,z) R(z,y) 4

Fagin s Theorem Fagin 1974: NP = existentielle Second Order Logic. (ohne Voraussetzung einer Ordnung.) Beweisidee: : Guess and Check Algorithmus. : PTIME Maschine zur Überprüfung Datalog Programm mit Ordnung SOL Formel definiert Ordnung und simuliert Datalog Programm. PTIME = NP? Zeige, dass PTIME nur durch Logiken mit Ordnung ausgedrückt werden kann. P verschieden von NP. 5