Anfragesprachen mit Rekursion Datalog
|
|
- Joseph Theodor Krämer
- vor 8 Jahren
- Abrufe
Transkript
1 Beispiel: Frankfurter U-Bahn-Netz Hier vereinfacht: Eine Relation U-Bahn-Netz mit Attributen Linie, Halt, nächsterhalt Statische Analyse 7.3 U-Bahn-Netz Linie Halt nächsterhalt U4 Bockenheimer Warte Festhalle/Messe U4 Festhalle/Messe Hauptbahnhof U4 Hauptbahnhof Willy-Brandt-latz U4 Willy-Brandt-latz Dom/Römer U7 U7 Kirchplatz Leipziger Str. U7 Leipziger Str. Bockenheimer Warte U7 Bockenheimer Warte Westend Anfrage: Gib alle Stationen aus, die von Bockenheimer Warte aus ohne Umsteigen zu erreichen sind. (1) mit max. 1 Zwischenhalt: n x S : x L U-Bahn-Netz(x L, Bockenheimer Warte, x S ) x Z `U-Bahn-Netz(xL, Bockenheimer Warte, x Z ) U-Bahn-Netz(x L, x Z, x S ) o (2) mit max. 2 Zwischenhalten: analog (3) mit beliebig vielen Zwischenhalten??? Am Ende von Kapitel 4 gesehen: Nicht ausdrückbar in Relationaler Algebra NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 1 Erreichbarkeits-Anfrage in SQL Im SQL (ab SQL-99 Standard) kann die Anfrage Gib alle Stationen aus, die von Bockenheimer Warte aus ohne Umsteigen zu erreichen sind folgendermaßen ausgedrückt werden: WITH RECURSIVE Erreichbar(Linie,Start,Ziel) AS ( SELECT Linie, Halt, NaechsterHalt FROM U-Bahn-Netz UNION ALL SELECT Erreichbar.Linie, Erreichbar.Start, U-Bahn-Netz.NaechsterHalt FROM Erreichbar, U-Bahn-Netz WHERE Erreichbar.Linie = U-Bahn-Netz.Linie AND Erreichbar.Ziel = U-Bahn-Netz.Halt ) SELECT Ziel FROM Erreichbar WHERE Start= Bockenheimer Warte NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 2 Erreichbarkeits-Anfrage in Datalog Die Anfrage Gib alle Stationen aus, die von Bockenheimer Warte aus ohne Umsteigen zu erreichen sind kann in Datalog folgendermaßen ausgedrückt werden: Erreichbar(L, S, Z) U-Bahn-Netz(L, S, Z) Erreichbar(L, S, Z) Erreichbar(L, S, Z ), U-Bahn-Netz(L, Z, Z) Ans(Z) Erreichbar(L, Bockenheimer Warte, Z) NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 3 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 4
2 Datalog: Syntax Definition 7.1 (a) Eine Datalog-Regel ist ein Ausdruck der Form R 0 (u 0 ) R 1 (u 1 ),..., R l (u l ) Statische Analyse 7.3 wobei l 0, R 0, R 1,..., R l relname und u 0, u 1,..., u l freie Tupel der Stelligkeiten arity(r 0 ), arity(r 1 ),..., arity(r l ) sind, so dass jede Variable, die in u 0 vorkommt, auch in mindestens einem der Tupel u 1,..., u l vorkommt. (b) Ein Datalog-rogramm ist eine endliche Menge von Datalog-Regeln. (c) Eine Datalog-Anfrage (, R) besteht aus einem Datalog-rogramm und einem Relations-Namen R, der in vorkommt. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 5 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 6 Notation Beispiel Wie üblich bezeichnen wir mit adom() bzw. adom(q) die Menge der Konstanten, die in einem Datalog-rogramm bzw. einer Datalog-Anfrage Q vorkommen. Für eine Datanbank I ist adom(, I) := adom() adom(i) und adom(q, I) := adom(q) adom(i). := 8 >< >: Erreichbar(L, S, Z) U-Bahn-Netz(L, S, Z), Erreichbar(L, S, Z) Erreichbar(L, S, Z ), U-Bahn-Netz(L, Z, Z), Ans(Z) Erreichbar(L, Bockenheimer Warte, Z) 9 >= >; R 0 (u 0 ) heißt Kopf der Regel R 0 (u 0 ) R 1 (u 1 ),..., R l (u l ); R 1 (u 1 ),..., R l (u l ) heißt Rumpf der Regel. edb() bezeichnet die Menge der Relations-Namen, die ausschließlich im Rumpf von Regeln in vorkommen (die sog. extensionalen rädikate von ). idb() bezeichnet die Menge der Relations-Namen, die im Kopf mindestens einer Regel in vorkommen (die sog. intensionalen rädikate von ). sch() := edb() idb() heißt Schema von. ist ein Datalog-rogramm mit edb() = { U-Bahn-Netz } idb() = { Erreichbar, Ans } sch() = { U-Bahn-Netz, Erreichbar, Ans } Q 1 := (, Ans) ist eine Datalog-Anfrage; Q 2 := (, Erreichbar) ist noch eine Datalog-Anfrage. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 7 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 8
3 Datalog: Semantik Die Semantik von Datalog lässt sich auf verschiedene Weisen definieren: Fixpunkt-Semantik: Regeln schrittweise anwenden, bis sich nichts mehr ändert Modellbasierte Semantik: kleinste Datenbank über sch(), die alle Regeln wahr macht Beweisbasierte Semantik: Fakten, die sich herleiten lassen, sind im Ergebnis Glücklicherweise kann man zeigen, dass alle drei Ansätze zum gleichen Resultat führen. Wir betrachten im Folgenden hauptsächlich die Fixpunkt-Semantik, die folgendermaßen definiert ist: NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 9 Der immediate consequence -Operator T Definition 7.2 Sei ein Datalog-rogramm. (a) Für jedes R idb() seien Q R,1,.., Q R,kR diejenigen Regeln aus, in deren Kopf das Relationssymbol R steht, und seien Q R,1,.., Q R,k R die Regeln, die aus Q R,1,.., Q R,kR entstehen, indem im Kopf jeweils R durch das Relationssymbol Ans ersetzt wird (mit Ans sch() und arity(ans ) = arity(r)). (b) Der immediate consequence -Operator T : inst(sch()) inst(sch()) ist folgendermaßen definiert: Für jedes I inst(sch()) und jedes R sch() ist ( I(R) falls R edb() T (I)(R) := Q R,1 (I) Q R,k r (I) falls R idb() Beispiel: Ist das Datalog-rogramm aus dem Beispiel der Erreichbarkeits-Anfrage, und besteht I(Erreichbar) aus allen Tupeln, die mit max. i Zwischenhalten ohne Umsteigen zu erreichen sind, so besteht T (I)(Erreichbar) aus allen Tupeln, die mit max. i + 1 Zwischenhalten ohne Umsteigen zu erreichen sind. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 10 Monotonie von T Fixpunkte Bemerkung: Eine alternative (und äquivalente) Definition von T : T (I)(R) := { unmittelbare R-Konsequenzen von über I }, wobei ein Tupel t eine unmittelbare R-Konsequenz von über I ist, falls R edb() und t I(R) oder R idb() und es eine Regel der Form R(u) R 1 (u 1 ),..., R l (u l ) in und eine Belegung β gibt, so dass β(u) = t und β(u i ) I(R i ), für alle i {1,.., l}. Bemerkung 7.4 (a) Aus der Monotonie von T folgt für jedes I inst(sch()) mit I(R) = f.a. R idb(), dass: I T (I) T `T (I) T i (I) T i+1 (I) wobei T 0 (I) := I und T i+1 (I) := T `T i (I). Lemma 7.3 Für jedes Datalog-rogramm gilt: Der Operator T ist monoton, d.h. für alle I, J inst(sch()) mit I J (d.h. I(R) J(R) f.a. R inst(sch())) gilt: T (I) T (J). Beweis: leicht (Übung). (b) Man sieht leicht, dass adom(t (I)) adom(, I) und adom(t i (I)) adom(, I), f.a. i N. (c) Da adom(, I) nur endlich viele Elemente besitzt, muss es in der Inklusionskette aus (a) ein i 0 N mit T i 0 (I) = T i 0+1 (I) geben. Aus der Monotonie von T folgt dann: T i 0 (I) = T j (I) f.a. j i 0. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 11 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 12
4 Notation Fixpunkt-Semantik von Datalog Ein J inst(sch()) heißt Fixpunkt von T, falls T (J) = J. Definition 7.5 (a) Sei ein Datalog-rogramm, R := edb(). Jeder Datenbank I inst(r) ordnen wir die Datenbank Î inst(sch()) mit Ab-Stufe(I) := min{i 0 : T i 0 (I) = T i 0+1 (I)} heißt Abschluss-Stufe von T auf I. Die einzelnen Instanzen T 0 (I), T 1 (I), T 2 (I) etc. werden Stufen des Fixpunktprozesses genannt. Ab-Stufe(, I) gibt also diejenige Stufe an, ab der der Fixpunkt erreicht ist: I = T 0 (I) T 1 (I) T Ab-Stufe(,I) (I) = T Ab-Stufe(,I)+1 (I) = T j (I) T ω (I) := T Ab-Stufe(I) (I). Klar: T ω (I) ist ein Fixpunkt von T. f.a. j Ab-Stufe(, I) Î(R) := zu. Ausgewertet in I liefert die Datenbank ( I(R) falls R edb() falls R idb() (I) := T ω (Î) inst(sch()) (b) Eine Datalog-Anfrage Q = (, R) liefert auf einer Datenbank I inst(edb()) die Relation Q (I) := ` (I) (R). NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 13 Naive Berechnung von (I) NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 14 Fixpunkt-Semantik vs. Modellbasierte Semantik Bemerkung: Ein einfacher Algorithmus, der bei Eingabe von und I das Resultat (I) berechnet, kann folgendermaßen vorgehen: (1) J := Î (2) Berechne J := T (J) (3) Falls J J, so ` J := J, GOTO (2) (4) Gib J aus Datenkomplexität dieses Algorithmus: olynomialzeit. Notation: Für zwei Datenbanken J, J inst(r) bezeichnet J J die Datenbank mit (J J )(R) := J(R) J (R), f.a. R R. Satz 7.6 (Knaster und Tarski) Sei ein Datalog-rogramm und I inst(edb()). Dann gilt: (I) = { J inst(sch()) : T (J) = J und Î J} D.h.: (I) ist die kleinste Erweiterung von Î, die ein Fixpunkt von T ist. Beweis: Siehe Tafel. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 15 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 16
5 Ausdrucksstärke von Datalog Beweisbasierte Semantik von Datalog Bemerkung 7.7 Die Ausdrucksstärken von Datalog-Anfragen und von Anfragen des Relationenkalküls sind unvergleichbar: Beispiel für eine Datalog-Anfrage, die nicht im Relationenkalkül formuliert werden kann: Welche Stationen sind von Bockenheimer Warte aus ohne Umsteigen zu erreichen? Sichtweise: Ein Faktum ist ein Ausdruck der Form R(t) mit R relname und t dom arity(r). Eine Datenbank I inst(r) wird mit der folgenden Menge von Fakten identifiziert: Fakten(I) := { R(t) : R R und t I(R) } Beispiel für eine Relationenkalkül-Anfrage, die nicht in Datalog formuliert werden kann: In welchen Kinos läuft kein Film um 17:00 Uhr? Für die beweisbasierte Semantik werden Datalog-Regeln als Schlussregel-Muster in Beweisen betrachtet. Bzw. jede andere Relationenkalkül-Anfrage, die nicht monoton ist. Denn aus Lemma 7.3 folgt leicht, dass jede Datalog-Anfrage monoton ist. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 17 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 18 Beweisbäume Definition 7.8 Sei ein Datalog-rogramm und I inst(edb()). Ein Beweisbaum für ein Faktum R(t) bzgl. I und ist ein gerichteter Baum mit den folgenden Eigenschaften: (1) Jeder Knoten ist mit einem Faktum markiert. (2) Die Wurzel enthält das Faktum R(t). (3) Die Fakten an den Blättern sind Elemente aus Fakten(I) (4) Für jeden inneren Knoten v mit Kindern v 1,.., v l gibt es eine Regel R 0 (u 0 ) R 1 (u 1 ),..., R l (u l ) in und eine Belegung β : Var() dom so dass gilt: der Knoten v enthält das Faktum R 0 (β(u 0 )) das Kind v i von v enthält das Faktum R i (β(u i )) (für alle i {1,.., l}). Beispiel: Beweisbäume für Ans( Frankfurt Süd ) bzgl. dem Frankfurter U-Bahn-Netz und dem folgenden Datalog-rogramm: (siehe Tafel) E(L, S, Z) U-Bahn-Netz(L, S, Z) Ans(Z) E(L, Hauptwache, Z) NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 19 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 20
6 Statische Analyse Fixpunkt-Semantik vs. Beweisbasierte Semantik Satz 7.9 Für jedes Datalog-rogramm, alle I inst(edb()) und alle Fakten R(t) mit R sch() und t dom arity(r) gilt: t ` (I) (R) es gibt einen Beweisbaum für R(t) bzgl. I und Statische Analyse 7.3 Beweis: Übung. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 21 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 22 Statische Analyse Statische Analyse Erfüllbarkeit Query Containment Zwei Varianten: (1) Uniformes Containment: Theorem 7.10 Das ERFÜLLBARKEITSROBLEM FÜR DATALOG-ANFRAGEN Eingabe: Datalog-Anfrage Q = (, R) Frage: Gibt es ein I inst(edb()) so dass Q (I)? ist entscheidbar. Beweis: Übung (siehe [AHV]-Buch, Kapitel 12.5) UNIFORMES CONTAINMENT ROBLEM FÜR DATALOG-ROGRAMME Eingabe: Zwei Datalog-rogramme 1 und 2 mit edb( 1 ) = edb( 2 ) und idb( 1 ) = idb( 2 ) Frage: Gilt 1 (I) 2 (I) für alle I inst(edb( 1 ))? (2) Herkömmliches Query Containment: QUERY CONTAINMENT ROBLEM FÜR DATALOG-ANFRAGEN Eingabe: Zwei Datalog-Anfragen ( 1, R) und ( 2, R) mit edb( 1 ) = edb( 2 ) und R idb( 1 ) idb( 2 ) Frage: Gilt ( 1, R) (I) ( 2, R) (I) für alle I inst(edb( 1 ))? Theorem 7.11 (hier ohne Beweis) (a) Das uniforme Containment roblem für Datalog-rogramme ist entscheidbar. (b) Das Query Containment roblem für Datalog-Anfragen ist unentscheidbar. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 23 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 24
7 Beschränktheit (Boundedness) Statische Analyse Wir haben gesehen: (I) kann berechnet werden, indem man nach und nach berechnet. Î, T (Î), T (T (Î)),..., T Ab-Stufe(,I) Ab-Stufe(,I)+1 (Î), T (Î) Anzahl der Iterationen, die dafür nötig sind: Ab-Stufe(, I) + 1 Frage: Wie groß kann Ab-Stufe(, I) werden? Klar: in jeder Iteration kommt mindestens ein Faktum dazu; adom( (I)) adom(, I) Daher: Ab-Stufe(, I) X adom(, I) arity(r) R idb() Besonders schön sind solche Datalog-rogramme, bei denen Ab-Stufe(, I) gar nicht von I abhängt. Solche rogramme heißen beschränkt (engl.: bounded). räzise: Ein Datalog-rogramm heißt beschränkt, falls eine Zahl d N gibt, so dass für alle I inst(edb()) gilt: Ab-Stufe(, I) d. Den kleinsten solchen Wert d nennen maximale Rekursionstiefe von. Wenn man weiß, dass ein rogramm bschränkt ist und maximale Rekursionstiefe d hat, so kann man leicht eine zu äquivalente SCU-Anfrage konstruieren. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 25 Beispiel Das Datalog-rogramm ist nicht beschränkt. Das Datalog-rogramm Statische Analyse E(L, S, Z) U-Bahn-Netz(L, S, Z) Ans(Z) E(L, Bockenheimer Warte, Z) Kauft(x, y) Mag(x, y) Kauft(x, y) erson(x), Trendsetter(z), Kauft(z, y) ist beschränkt mit maximaler Rekursionstiefe 2 und äquivalent zum nicht-rekursiven rogramm bzw. zur SCU-Anfrage Kauft(x, y) Mag(x, y) Kauft(x, y) erson(x), Trendsetter(z), Mag(z, y) Mag erson π 3`σ1=1 (Trendsetter Mag) NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 26 Beschränktheit (Boundedness) Statische Analyse Theorem 7.12 Das (hier ohne Beweis) BOUNDEDNESS ROBLEM FÜR DATALOG-ROGRAMME Eingabe: Datalog-rogramm Frage: Ist beschränkt, d.h. gibt es ein d N so dass Ab-Stufe(, I) d für alle I inst(edb())? Statische Analyse 7.3 ist unentscheidbar. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 27 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 28
8 Nicht-Rekursives Datalog Beispiel Nicht-Rekursives Datalog räzise Beispiel 7.13 (a) Das Datalog-rogramm ist nicht-rekursiv. Kauft(x, y) Mag(x, y) Kauft(x, y) erson(x), Trendsetter(z), Mag(z, y) Definition 7.14 Sei ein Datalog-rogramm. (a) Der Abhängigkeitsgraph G von ist der gerichtete Graph mit Knotenmenge V := sch() und Kantenmenge j ff es gibt eine Regel in, in deren Kopf R und in E := (S, R) : deren Rumpf S vorkommt (b) Äquivalent dazu, aber NICHT nicht-rekursiv ist Kauft(x, y) Mag(x, y) Kauft(x, y) erson(x), Trendsetter(z), Kauft(z, y) (b) Die Klasse nr-datalog aller nicht-rekursiven Datalog-rogramme besteht aus allen Datalog-rogrammen, deren Abhängigkeitsgraph G azyklisch ist. Beispiele für Abhängigkeitsgraphen: siehe Tafel NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 29 Nicht-rekursiv vs. beschränkt ( bounded ) roposition 7.15 (a) Jedes nr-datalog-rogramm ist beschränkt. (b) Jedes beschränkte Datalog-rogramm ist äquivalent zu einem nr-datalog-rogramm. Beweis: Einfache Übung. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 31 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 30 Ausdrucksstärke von nr-datalog Satz 7.16 Die folgenden Anfragesprachen können genau dieselben Anfragefunktionen beschreiben: (a) SCU bzw. SJRU (b) nr-datalog-anfragen (c) bereichsunabhängiger positiver existentieller Kalkül E-CALC di Bemerkung: Die Übersetzung von nr-datalog in eine der anderen Sprachen kann mehr als polynomiell viel Zeit beanspruchen, da nr-datalog-rogramme u.u. viel kürzer sind als äquivalente Anfragen der anderen Sprachen. Beweis: (c) (a): Bringe die gegebene E-CALC di -Anfrage zunächst in Normalform, also als Diskunktion von bereichsunabhängigen Anfragen des konjunktiven Kalküls. Aus Kapitel 2 wissen wir, dass jede Anfrage des konj. Kalküls äquivalent zu einer SC-Anfrage ist. Disjunktionen von Anfragen des konj. Kalküls sind dann äquivalent zu einer SCU-Anfrage. (a) (b): Einfache Induktion nach dem Aufbau von SCU-Anfragen. (b) (c): siehe Tafel. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 32
9 Datalog mit Negation Ziel: Auch Negationszeichen in Datalog-Regeln zulassen. Definition 7.17 (a) Ein Literal ist ein Relationsatom R(u) oder ein negiertes Relationsatom R(u). Ein Literal der Form R(u) heißt positiv; ein Literal der Form R(u) heißt negativ bzw. negiert. (b) Eine Datalog -Regel ist ein Ausdruck der Form R 0 (u 0 ) L 1 (u 1 ),..., L l (u l ) wobei l 0, R 0 relname, u 0 ein freies Tupel der Stelligkeit arity(r 0 ) und L 1 (u 1 ),..., L l (u l ) Literale, so dass jede Variable, die in u 0 vorkommt, auch in mindestens einem positiven Literal L i (u i ) vorkommt. (c) Ein Datalog -rogramm ist eine endliche Menge von Datalog -Regeln. (d) Eine Datalog -Anfrage (, R) besteht aus einem Datalog -rogramm und einem Relations-Namen R, der in vorkommt. Frage: Was soll die Semantik von Datalog sein? Beispiel 7.18 Anfrage: Gib alle Stationen aus, die von Bockenheimer Warte aus nicht ohne Umsteigen zu erreichen sind. Als Datalog -Anfrage: E(L, S, Z) U-Bahn-Netz(L, S, Z) Erreichbar_BW(Z) E(L, Bockenheimer Warte, Z) Hier: Semantik intuitiv klar. Station(S) U-Bahn-Netz(L, S, Z) Station(Z) U-Bahn-Netz(L, S, Z) Ans(Z) Station(Z), Erreichbar_BW(Z) NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 33 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 34 robleme mit der Semantik von Datalog Beispiel 7.19 Inflationäre Fixpunkte (a) (b) R(x) A(x), R(x) Ausgewertet über einer DB I inst({a}) gilt: j T (Î)(R) i = falls i gerade adom(i) falls i ungerade Somit: Die Folge T (Î) i i 0 hat keinen Fixpunkt. Außerdem: T ( ) hat überhaupt keinen Fixpunkt. R(x) A(x), S(x) S(x) A(x), R(x) Hier hat T ( ) zwei verschiedene minimale Fixpunkte (minimal bzgl. ): F 1 mit F 1 (R) = und F 1 (S) = adom(i) F 2 mit F 2 (R) = adom(i) und F 2 (S) = Um eine Semantik für Datalog festzulegen, könnte man einfach per Definition erzwingen, dass die einzelnen Stufen des Fixpunktprozesses ineinander enthalten sind: An Stelle von T ( ) betrachte den Operator Γ ( ) mit Dann gilt: Γ (J) := J T (J) Î Γ (Î) Γ i `Γ (Î) Γ(Î) Γi+1 (Î) Da adom(, I) endlich ist, wird irgendwann ein (eindeutig definierter) Fixpunkt von Γ ( ) erreicht. Dieser heißt inflationärer Fixpunkt von auf I. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 35 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 36
10 roblem mit der inflationären Fixpunkt-Semantik von Datalog Diese Semantik ist für viele rogramme unnatürlich. Beispiel 7.20 E(L, S, Z) U-Bahn-Netz(L, S, Z) Erreichbar_BW(Z) E(L, Bockenheimer Warte, Z) Station(S) U-Bahn-Netz(L, S, Z) Station(Z) U-Bahn-Netz(L, S, Z) Ans(Z) Station(Z), Erreichbar_BW(Z) Intuitive Semantik : Alle Stationen, die von Bockenheimer Warte aus nicht ohne Umsteigen zu erreichen sind. Inflationäre Fixpunkt-Semantik: Alle Stationen. Frage: Was soll die Semantik von Datalog sein? robleme: Inflationäre Fixpunkt-Semantik: unnatürlich (siehe Beispiel 7.20) Fixpunkt-Semantik via T ω (Î): für manche Datalog -rogramme undefiniert (siehe Beispiel 7.19) Semantik via kleinster Fixpunkt von T ( ): ist für manche Datalog -rogramme nicht eindeutig (siehe Beispiel 7.19) Beweisbasierte Semantik für Datalog :??? Aber für rogramme wie in Beispiel 7.20 ist die Semantik intuitiv klar. Betrachte im Folgenden nur Datalog -rogramme von eingeschränkter Form: Semipositives Datalog nr-datalog Stratifiziertes Datalog NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 37 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 38 Semipositives Datalog Stratifiziertes Datalog Beispiel Negation ist nur bei edb-rädikaten erlaubt. Man kann leicht zeigen, dass für jedes semipositive Datalog -rogramm und alle I inst(edb()) gilt: T ( ) hat einen eindeutig bestimmten kleinsten Fixpunkt J mit J edb() = I. Dieser wird von der Sequenz 2 3 Î, T (Î), T(Î), T(Î),... erreicht. Notation für diesen Fixpunkt: T ω (Î). Definition der Semantik von semipositiven Datalog -rogrammen : Für alle I inst(edb()) setze (I) := T ω (Î) E(L, S, Z) U-Bahn-Netz(L, S, Z) Erreichbar_BW(Z) E(L, Bockenheimer Warte, Z) Station(S) U-Bahn-Netz(L, S, Z) Station(Z) U-Bahn-Netz(L, S, Z) Ans(Z) Station(Z), Erreichbar_BW(Z) Die Negation ist hier nicht mit der Rekursion verschränkt. Sie kann angewendet werden, nachdem Erreichbar_BW( ) vollständig berechnet ist. Grundidee für stratifiziertes Datalog. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 39 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 40
11 Stratifiziertes Datalog räzise Definition 7.21 Sei ein Datalog -rogramm. Eine Stratifizierung von ist eine Folge 1,..., m von Datalog -rogrammen, so dass m 1 ist und es eine Abbildung σ : idb() {1,.., m} gibt, so dass gilt: (1) 1,..., m ist eine artition von (d.h. = 1 m ), (2) für jedes idb-rädikat R von gilt: alle Regeln, in deren Kopf R vorkommt, gehören zu σ(r), (3) kommt ein S idb() im Rumpf einer Regel mit Kopf R vor, so ist σ(s) σ(r), und (4) kommt ein S idb() negiert im Rumpf einer Regel mit Kopf R vor, so ist σ(s) < σ(r). Stratifiziertes Datalog Beispiele 1 := E(L, S, Z) BVG(L, S, Z) Erreichbar_BW(Z) E(L, Bockenheimer Warte, Z) Station(S) U-Bahn-Netz(L, S, Z) Station(Z) U-Bahn-Netz(L, S, Z) 2 := Ans(Z) Station(Z), Erreichbar_BW(Z) ist eine Stratifizierung des Datalog -rogramms aus Beispiel Notation: i heißt i-tes Stratum bzw. i-te Schicht der Stratifizierung 1,..., m σ heißt Stratifizierungs-Abbildung ( Stratum : lat. für Schicht ; lural: Strata) Ein Datalog -rogramm heißt stratifizierbar, falls es eine Stratifizierung von gibt. Stratifiziertes Datalog bezeichnet die Menge aller stratifizierbaren Datalog -rogramme. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 41 Test auf Stratifizierbarkeit Abhängigkeitsgraph für Datalog -rogramme Definition 7.22 Sei ein Datalog -rogramm. Der Abhängigkeitsgraph G = (V, E +, E ) ist der gerichtete Graph mit Knotenmenge V := sch() Kantenmengen j := (S, R) : E + E := j (S, R) : Beispiel: Siehe Tafel: es gibt eine Regel in, in deren Kopf R vorkommt und in deren Rumpf S positiv vorkommt es gibt eine Regel in, in deren Kopf R vorkommt und in deren Rumpf S negativ vorkommt Abhängigkeitsgraph für E(L, S, Z) U-Bahn-Netz(L, S, Z) Erreichbar_BW(Z) E(L, Bockenheimer Warte, Z) Station(S) U-Bahn-Netz(L, S, Z) Station(Z) U-Bahn-Netz(L, S, Z) Ans(Z) Station(Z), Erreichbar_BW(Z) NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 43 ff ff Das Datalog -rogramm R(x) A(x), R(x) ist nicht stratifizierbar. Das Datalog -rogramm auch nicht. R(x) A(x), S(x) S(x) A(x), R(x) NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 42 Test auf Stratifizierbarkeit roposition 7.23 Für jedes Datalog -rogramm gilt: Beweis: ist stratifizierbar Im Abhängigkeitsgraph G gibt es keinen Kreis, in dem eine Kante aus E vorkommt. = : Sei σ eine Stratifizierungs-Abbildung von. Angenommen, es gibt einen Kreis von R nach R, auf dem mindestens eine Kante aus E vorkommt. Dann gilt: σ(r) > σ(r). Widerspruch! = : Idee: Nutze eine topologische Sortierung der starken Zusammenhangskomponenten von (E + E ), um die einzelnen Schichten zu definieren. Details: Übung. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 44
12 Stratifiziertes Datalog Semantik Sei 1,..., m eine Stratifizierung eines Datalog -rogramms. Betrachte jede Schicht i als ein semipositives Datalog -rogramm mit edb( i ) edb() idb( 1 ) idb( i 1 ) Sei I edb(). Die Semantik (I) von auf I ist folgendermaßen definiert: (I) := I m, wobei I 1 := 1 (I) I 2 := 2 (I 1 )... I m := m (I m 1 ) Man kann leicht zeigen, dass folgendes gilt: (a) Obige Definition hängt nicht von der konkreten Wahl der Stratifizierung von ab. D.h. für je zwei verschiedene Stratifizierungen 1,..., m und Q 1,..., Q n von gilt: m (I m 1 ) = Q n (I n 1 ). (b) (I) ist der (eindeutig definierte) kleinste Fixpunkt J von T ( ) mit J edb() = I. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 45 Spezialfall: nr-datalog nr-datalog = nr-datalog mit Negation Satz 7.24 = stratifiziertes Datalog, eingeschränkt auf rogramme, in deren Abhängigkeitsgraph es keinen gerichteten Kreis (über (E + E )) gibt. Die folgenden Anfragesprachen können genau dieselben Anfragefunktionen beschreiben: (a) Relationale Algebra (b) Relationenkalkül (bereichsunabhängig bzw. safe-range) (c) nr-datalog -Anfragen. Bemerkung: Die Übersetzung von nr-datalog in eine der anderen Sprachen kann mehr als polynomiell viel Zeit beanspruchen, da nr-datalog -rogramme u.u. viel kürzer sind als äquivalente Anfragen der anderen Sprachen. Beweis: Einfache Induktion nach dem Aufbau von nr-datalog bzw. nach dem Aufbau der relationalen Algebra. NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAITEL 7, SEITE 46
Anfragesprachen mit Rekursion Datalog
Beispiel: Frankfurter U-Bahn-Netz Hier vereinfacht: Eine Relation U-Bahn-Netz mit Attributen Linie, Halt, nächsterhalt 3.1 3.2 Statische Analyse 3.3 U-Bahn-Netz Linie Halt nächsterhalt U4 Bockenheimer
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrVorlesung Logik und Datenbanken
Vorlesung Logik und Datenbanken Nicole Schweikardt Johann Wolfgang Goethe-Universität Frankfurt am Main Sommersemester 2008 Konjunktive Anfragen (I) 2.1 2.2 Auswertungskomplexität 2.3 Algebraischer Ansatz:
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrKapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies
Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
Mehr9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83
9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x
MehrVorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrEinführung in die Algebra
Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv
MehrI. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.
I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten
MehrFormale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt
MehrMusterlösungen zur Linearen Algebra II Blatt 5
Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische
MehrAlso kann nur A ist roter Südler und B ist grüner Nordler gelten.
Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf
Mehra n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:
Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrFixpunktsemantik logischer Programme Pascal Hitzler Juli 1997 Kurzuberblick im Rahmen der Vorlesung Einfuhrung in Prolog von T. Cornell im Sommersemester 1997 an der Universitat Tubingen. Beweise sind
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrDivision Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x
MehrMathematischer Vorbereitungskurs für Ökonomen
Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen
Mehr8. Quadratische Reste. Reziprozitätsgesetz
O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
Mehr1 Aussagenlogik und Mengenlehre
1 Aussagenlogik und engenlehre 1.1 engenlehre Definition (Georg Cantor): nter einer enge verstehen wir jede Zusammenfassung von bestimmten wohl unterschiedenen Objekten (m) unserer Anschauung oder unseres
MehrBasis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.
Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren
MehrAlgorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
MehrWurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik
Wurzeln als Potenzen mit gebrochenen Exponenten Zur Einstimmung Wir haben die Formel benutzt x m n = x m n nach der eine Exponentialzahl potenziert wird, indem man die Exponenten multipliziert. Dann sollte
MehrBeweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6
MehrTangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:
Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
MehrDer Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
MehrWS 2008/09. Diskrete Strukturen
WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809
MehrInformatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben
MehrVorlesung Datenbanktheorie. Einige Erweiterungen der Anfragesprachen. Regelbasierte konjunktive Anfragen mit = Vorlesung vom Mittwoch, 26.
Vorlesung Datenbanktheorie Vorlesung vom Mittwoch, 26. April 2006 Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Letzte Vorlesung: regelbasierte konjunktive Anfragen Tableau-Anfragen
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrInformation Systems Engineering Seminar
Information Systems Engineering Seminar Algorithmische Prüfung der Planarität eines Graphen Marcel Stüttgen, 22.10.2012 FH AACHEN UNIVERSITY OF APPLIED SCIENCES 1 Planarität - Definition Ein Graph heißt
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN
ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrWie löst man Mathematikaufgaben?
Wie löst man Mathematikaufgaben? Manfred Dobrowolski Universität Würzburg Wie löst man Mathematikaufgaben? 1 Das Schubfachprinzip 2 Das Invarianzprinzip 3 Das Extremalprinzip Das Schubfachprinzip Verteilt
MehrDas SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik
Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrAnalysis I für Studierende der Ingenieurwissenschaften
Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen
MehrRekursionen (Teschl/Teschl 8.1-8.2)
Rekursionen (Teschl/Teschl 8.1-8.2) Eine Rekursion kter Ordnung für k N ist eine Folge x 1, x 2, x 3,... deniert durch eine Rekursionsvorschrift x n = f n (x n 1,..., x n k ) für n > k, d. h. jedes Folgenglied
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrAbsolute Stetigkeit von Maßen
Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrÜbung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
MehrTerme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)
Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrRekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt
Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrKapitalerhöhung - Verbuchung
Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrProzentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:
Prozentrechnung Wir beginnen mit einem Beisiel: Nehmen wir mal an, ein Handy kostet 200 und es gibt 5% Rabatt (Preisnachlass), wie groß ist dann der Rabatt in Euro und wie viel kostet dann das Handy? Wenn
Mehr6.2 Scan-Konvertierung (Scan Conversion)
6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
Mehr3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik
Darstellung, Verarbeitung und Erwerb von Wissen 3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik DVEW WS 2004/05 c Gabriele Kern-Isberner 1 Stratifizierte Programme (Whlg.) Sei P ein
MehrKorrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrFormale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK
Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association
MehrIRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken
Version 2.0 1 Original-Application Note ads-tec GmbH IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Stand: 27.10.2014 ads-tec GmbH 2014 IRF2000 2 Inhaltsverzeichnis
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrEntladen und Aufladen eines Kondensators über einen ohmschen Widerstand
Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Vorüberlegung In einem seriellen Stromkreis addieren sich die Teilspannungen zur Gesamtspannung Bei einer Gesamtspannung U ges, der
MehrAbituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)
Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler
MehrSatz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich
Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes
Mehrgeben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen
geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde
MehrLernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation
Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Einführung Mit welchen Erwartungen gehen Jugendliche eigentlich in ihre Ausbildung? Wir haben zu dieser Frage einmal die Meinungen von Auszubildenden
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de
Mehr3. Zusammenhang. 22 Andreas Gathmann
22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept
MehrTheoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19
Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie
Mehr9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.
1 Rund um das Auto Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu. 1. Zu diesem Fahrzeug sagt man auch Pkw oder Wagen. 2. kein neues Auto, aber viel billiger
Mehr