Access-Modell. A4. Im Operandenteil von Anweisungen vorkommende Objekte seien unstrukturiert und stehen in keinerlei Beziehung zueinander.

Größe: px
Ab Seite anzeigen:

Download "Access-Modell. A4. Im Operandenteil von Anweisungen vorkommende Objekte seien unstrukturiert und stehen in keinerlei Beziehung zueinander."

Transkript

1 Access-Modell Das Access-Modell beruht auf folgenden vereinfachenden Annahmen: A1. Im Operationsteil einer Anweisung sei nur der Operator Access erlaubt. Die beabsichtigte Semantik ist, daß die Daten aus dem im Operandenteil bezeichneten Objekt in den lokalen Speicher des die Transaktion ausführenden Prozesses gelesen, dann dort verarbeitet und dabei möglicherweise geändert und anschließend in das Objekt zurückgeschrieben werden. A2. Weitere Einzelheiten der Semantik, insbesondere über die Art der Verarbeitung seien nicht bekannt. A3. Nachdem eine Access-Anweisung vollständig ausgeführt ist, werde der lokale Speicher jeweils als gelöscht gedacht, d.h. die Transaktion arbeitet zwischen den Anweisungen ohne lokales Gedächtnis. Ferner bearbeite eine Transaktion jedes Objekt höchstens einmal. A4. Im Operandenteil von Anweisungen vorkommende Objekte seien unstrukturiert und stehen in keinerlei Beziehung zueinander. A5. Alle Transaktionen werden vollständig wirksam. A6. Alle Transaktionen liegen als unverzweigte Anweisungsfolgen textuell als Ganzes vor

2 Access-PlŠne Anweisungen und Transaktionen: A Menge von Operatoren (Aktionen) O Menge von Objekten S := A O Menge der Anweisungen T := { t t : {1,...,n} S, t ist injektiv } Menge der Transaktionen Pläne: Ist T = {t 1,...,t k } eine Menge von Transaktionen mit t i = (t i.1,..., t i.ni ), so heißt 1-1 P: { 1,...,n1+...+nk } { i.j 1 i k, 1 j ni} auf derart, daß für alle i, für alle j1, j2 gilt : j1 < j2 P -1 (i.j1) < P -1 (i.j2) Plan (schedule) zu T. Menge der Operatoren nur A:={Access}. Die Semantik von Access-Plänen behandelt den Operator Access derart, daß jedes Vorkommen eine verschiedene Funktion bezeichnet, diese Funktionen einstellig sind, keine weiteren Kenntnisse über diese Funktionen vorliegen, diese Funktionen damit mit ihren unterschiedlichen Funktionszeichen identifiziert werden können. Semantik von Access-PlŠnen F ist eine Menge von (gemäß Annahme A2 uninterpretierten, Skolem-) Funktionszeichen. Skolem : N N 1-1 F ist eine injektive Zuordnung von Anweisungen in Transaktionen, genauer von den entsprechenden Komponentennummern i.j, zu Funktionszeichen (der Stelligkeit 1 gemäß Annahme A3). f i.j := Skolem (i,j). Für einen Plan P = ( p 1,..., p m ) zur Menge von Transaktionen T = { t 1,..., t k } sei O(T) die Menge der in Anweisungen aus T vorkommenden Objekte. Für o O(T) sei Access (P, o ) die Teilfolge derjenigen p x = i x.j x aus P, für die t i x. j die Form Access o hat. x Die Semantik von P ordnet jedem Objekt o O(T) einen Term über O(T) F zu vermöge eval (P, o ) := o f i.... f 1 j 1 i e. j e mit Access (P, o ) = ( i 1.j 1,..., i e.j e )

3 Endzustand- quivalenz von Access-PlŠnen, Endzustand-Serialisierbarkeit Definition 1. Seien P und P Access-Pläne zu einer Menge von Transaktionen T. P ist Endzustand-äquivalent zu P :gdw eval (P, o ) = eval (P, o ) für alle o O(T). 2. Ein Access-Plan P zu einer Menge von Transaktionen T heißt Endzustand-serialisierbar, wenn es einen Access-Plan P gibt, so daß gilt: (K1) (K2) P ist serieller Access-Plan, P und P sind Endzustand-äquivalent. Transaktionen: t 1 := ( 1.1 : Access A, t 2 := ( 2.1 : Access B, 1.2 : Access B ) 2.2 : Access C, 2.3 : Access A ) t 3 := ( 3.1 : Access C, 3.2 : Access A ) Plan zu T := { t 1, t 2, t 3 }: P := ( 2.1 : Access B, 1.1 : Access A, 2.2 : Access C, 2.3 : Access A, 1.2 : Access B, 3.1 : Access C, 3.2 : Access A ) O(T) = { A, B, C }; Semantik von Plan P: Access (P,A) = ( 1.1, 2.3, 3.2 ), Access (P,B) = ( 2.1, 1.2 ), Access (P,C) = ( 2.2, 3.1 ); eval (P,A) = A f 1.1 f 2.3 f 3.2, eval (P,B) = B f 2.1 f 1.2, eval (P,C) = C f 2.2 f

4 Transaktionen: t 1 := ( 1.1 : Access A, t 2 := ( 2.1 : Access B, 1.2 : Access B ) 2.2 : Access C, 2.3 : Access A ) t 3 := ( 3.1 : Access C, 3.2 : Access A ) Plan zu T := { t 1, t 2, t 3 }: P := ( 2.1 : Access B, 2.2 : Access C, 2.3 : Access A, 1.1 : Access A, 1.2 : Access B, 3.1 : Access C, 3.2 : Access A ) O(T) = { A, B, C }; Semantik von Plan P : Access (P,A) = ( 2.3, 1.1, 3.2 ), Access (P,B) = ( 2.1, 1.2 ), Access (P,C) = ( 2.2, 3.1 ); eval (P,A) = A f 2.3 f 1.1 f 3.2, eval (P,B) = B f 2.1 f 1.2, eval (P,C) = C f 2.2 f 3.1. Transaktionen: t 1 := ( 1.1 : Access A, t 2 := ( 2.1 : Access B, 1.2 : Access B ) 2.2 : Access C, 2.3 : Access A ) t 3 := ( 3.1 : Access C, 3.2 : Access A ) Pläne zu T := { t 1, t 2, t 3 }: P := ( 2.1 : Access B, P := ( 2.1 : Access B, 1.1 : Access A, 2.2 : Access C, 2.2 : Access C, 2.3 : Access A, 2.3 : Access A, 1.1 : Access A, 1.2 : Access B, 1.2 : Access B, 3.1 : Access C, 3.1 : Access C, 3.2 : Access A ) 3.2 : Access A ) Semantik von Plan P und von Plan P : Access (P,A) = (1.1, 2.3, 3.2), Access (P',A) = (2.3, 1.1, 3.2), Access (P,B) = ( 2.1, 1.2 ), Access (P',B) = ( 2.1, 1.2 ), Access (P,C) = ( 2.2, 3.1 ); Access (P',C) = ( 2.2, 3.1 ); eval (P,A) = A f 1.1 f 2.3 f 3.2, eval (P',A) = A f 2.3 f 1.1 f 3.2, eval (P,B) = B f 2.1 f 1.2, eval (P',B) = B f 2.1 f 1.2, eval (P,C) = C f 2.2 f 3.1. eval (P',C) = C f 2.2 f

5 P ist ein serieller Plan. P und P sind nicht Endzustand-äquivalent, weil eval ( P, A ) eval ( P', A ). Wir werden zeigen, daß P sogar nicht Endzustand-serialisierbar ist. Dazu konstruieren wir wie folgt einen gerichteten Serialisierbarkeitsgraphen G(P) = ( E, K ). Serialisierbarkeitsgraph G(P) = ( E, K ) zum Plan P Eckenmenge E := T, Kantenmenge K := { (t i1, t i2 ) es gibt o O(T), j1, j2 : t i1.j1 = Access o, t i2.j2 = Access o, P -1 (i1.j1) < P -1 (i2.j2), für alle z mit P -1 (i1.j1) < z < P -1 (i2.j2) ist P(z) nicht von der Form Access o } = { (t i1, t i2 ) es gibt o O(T), j1, j2 : in Access (P, o) folgt i2.j2 direkt auf i1.j1 }. Es geht also eine Kante von Transaktion t i1 nach Transaktion t i2, wenn auf die Bearbeitung eines Objekts o durch t i1 direkt die Bearbeitung durch t i2 in dem Sinne folgt, daß o zwischendurch nicht von einer anderen Transaktion bearbeitet wird

6 Serialisierbarkeits-Test Satz Sei P ein Access-Plan zu einer Menge von Transaktionen T = {t 1,..., t k } und G(P) der zugehörige Serialisierbarkeitsgraph. 1. P ist Endzustand-serialisierbar genau dann, wenn G (P) azyklisch ist. 2. Ist G(P) azyklisch und ist P ein serieller Plan, der durch topologisches Sortieren aus G(P) gewonnen wird, so sind P und P Endzustand-äquivalent. 1. und 2.: Sei G(P) azyklisch und P durch topologisches Sortieren entstanden. Für o O(T) beschreibt Access (P, o) gerade einen Pfad in G(P). Da die topologische Sortierung die Anordnung der Transaktionen entlang dieses Pfades erhält, gilt Access (P, o) = Access (P, o) und damit auch eval (P, o) = eval (P,o)

7 1. : Sei andererseits G(P) zyklisch, d.h. G(P) enthält einen Zykel (t i1,..., t ie,t i1 ). Sei P ein beliebiger serieller Plan zu T und t ia diejenige Zykeltransaktion, die in P vor allen anderen Zykeltransaktionen angeordnet ist. Sei t iv der Vorgänger von t ia im Zykel. Dann gibt es ein Objekt o und jv, ja mit t iv.jv = Access o und t ia.ja = Access o. Dann hat eval (P, o) die Form o... f iv.jv f ia.ja..., aber eval (P, o) die Form o... f ia.ja... f iv.jv..., d.h. eval (P, o) eval (P, o). Also sind P und P nicht Endzustand-äquivalent. Damit ist P nicht Endzustand-serialisierbar. Ein Serialisierbarkeitsgraph Plan: P := ( 2.1 : Access B, 1.1 : Access A, 2.2 : Access C, 2.3 : Access A, 1.2 : Access B, 3.1 : Access C, 3.2 : Access A ) Serialisierbarkeitsgraph: 1.1 : Access A / 2.3 : Access A t 1 t : Access B / 1.2 : Access B t3 Der Serialisierbarkeitsgraph ist zyklisch. 2.3 : Access A / 3.2 : Access A 2.2 : Access C / 3.1 : Access C Damit ist P nicht Endzustand-serialisierbar

8 Read/Write-Modell A1*. Im Operationsteil einer Anweisung seien nur die Operatoren Read und Write erlaubt. Die beabsichtigte Semantik von Read ist, daß die Daten aus dem im Operandenteil bezeichneten Objekt in den lokalen Speicher des die Transaktion ausführenden Prozesses gelesen werden. Die beabsichtigte Semantik von Write ist, daß die Daten des im Operandenteil bezeichneten Objekts überschrieben werden mit (möglicherweise) neuen Werten, die sich aus der Verarbeitung aller vorher gelesenen Daten ergeben können. A2. Weitere Einzelheiten der Semantik, insbesondere über die Art der Verarbeitung seien nicht bekannt. A3*. Nachdem eine Read-Anweisung ausgeführt ist, bleiben die gelesenen Daten zeitlich unbegrenzt und unverändert im lokalen Speicher verfügbar. Entsprechend liest eine Transaktion aus jedem Objekt höchstens einmal. Ferner schreibe eine Transaktion in jedes Objekt höchstens einmal (nach Abschluß aller Verarbeitungen). Wenn eine Transaktion ein Objekt sowohl liest als auch schreibt, so gehe das Lesen dem Schreiben voran. A4. Im Operandenteil von Anweisungen vorkommende Objekte seien unstrukturiert und stehen in keinerlei Beziehung zueinander. A5. Alle Transaktionen werden vollständig wirksam. A6. Alle Transaktionen liegen als unverzweigte Anweisungsfolgen textuell als Ganzes vor

9 Semantik von Read/Write-PlŠnen Der Operator Write wird derart behandelt, daß jedes Vorkommen eine verschiedene Funktion bezeichnet, diese Funktionen von geeigneter (d.h. von den vorangehenden Leseanweisungen bestimmter) Stelligkeit sind, diese Funktionen (seiteneffektfrei) ausschließlich im als Argument angegebenen Objekt eine Änderung bewirken, keine weiteren Kenntnisse über diese Funktionen vorliegen, Semantik von Read/Write-PlŠnen F ist eine Menge von Funktionszeichen. Skolem : N N 1-1 F injektive Zuordnung von (Schreib-) Anweisungen in Transaktionen, genauer von den entsprechenden Komponentennummern i.j zu Funktionszeichen. f i.j := Skolem (i,j). O(T) die Menge der in Anweisungen aus T = {t 1,...,t k } T vorkommenden Objekte. Die (Wertverlaufs-) Semantik von Plan P = ( p 1,...,p m ) ordnet jedem Objekt o O(T) und jedem Zeitpunkt z mit 0 z m einen Term über O(T) F zu vermöge folgender induktiver Vorschrift: diese Funktionen damit mit ihren unterschiedlichen Funktionszeichen identifiziert werden können. z = 0 [Initialisierung durch (Namen der) Objekte]: eval (P, o, 0) := o; Der Operator Read wird derart behandelt, daß er keine den Zustand der Objekte ändernden Seiteneffekte bewirkt. 1 z m [Seiteneffektfreie Ausführung von Anweisungen]: eval (P, o, z-1) falls p z i.j : Read x eval (P, o, z) := eval (P, o, z-1) falls p z i.j : Write x mit x o f i.j (r 1,..., r h ) falls p z i.j : Write o [bewirkte Änderung]

10 Dabei seien für den dritten Fall die Argumente r 1,...,r h wie folgt bestimmt: Die Menge z L i.j := { (o *, z * ) z * < z, und es gibt j * < j: p z * i.j * : Read o * } sei (gemäß einer linearen Ordnung auf O(T)) aufgezählt als Folge < (o 1, z 1 ),..., ( o h, z h ) >; dann sei r e := eval (P,o e, z e ) für e=1,...,h. 1 z m [Seiteneffektfreie Ausführung von Anweisungen]: eval (P, o, z-1) falls p z i.j : Read x eval (P, o, z) := eval (P, o, z-1) falls p z i.j : Write x mit x 0 f i.j (r 1,..., r h ) falls p z i.j : Write o [bewirkte Änderung] Dabei seien für den dritten Fall die Argumente r 1,...,r h wie folgt bestimmt: Die Menge z L i.j := { (o *, z * ) z * < z, und es gibt j * < j : p z * i.j * : Read o * } sei (gemäß einer linearen Ordnung auf O(T)) aufgezählt als Folge < (o 1, z 1 ),..., ( o h, z h ) >; dann sei r e := eval (P, o e, z e ) für e=1,...,h. Eine zum Zeitpunkt z ausgeführte Schreibanweisung i.j: Write o aus Transaktion i verändert den Wert des Objekts o gemäß der Verarbeitung f i.j, angewendet auf die vorher von Transaktion i zu den Zeitpunkten z 1,...,z h gelesenen Werte der Objekte o 1,...,o h

11 Transaktionen: t 1 := ( 1.1: Read A, t 3 := ( 3.1: Read C, 1.2: Write C, 3.2: Write A ) 1.3: Write B ) t 2 := ( 2.1: Read A, t 4 := ( 4.1: Read B, 2.2: Read B, 4.2: Read C, 2.3: Write D ) 4.3: Write B, 4.4: Write A ) Wertverlaufs-Semantik fÿr den Plan P P z z L i.j o A B C D 0 A B C D 2.1: Read A : Read A : Write C 3 <(A,2)>.. f 1.2 (A). 3.1: Read C : Write B 5 <(A,2)>. f 1.3 (A).. 4.1: Read B : Read C : Read B : Write A 9 <(C,4)> f 3.2 (f 1.2 (A)) : Write B 10 <(B,6), (C,7)>. f 4.3 (f 1.3 (A), f 1.2 (A)).. 2.3: Write D 11 <(A,1), (B,8)>... f 2.3 (A, f 1.3 (A)) 4.4: Write A 12 <(B,6), f 4.4 (f 1.3 (A), (C,7)> f 1.2 (A))... Endzustand: f 4.4 (f 1.3 (A), f 1.2 (A)) f 4.3 (f 1.3 (A), f 1.2 (A)) f 1.2 (A) f 2.3 (A, f 1.3 (A))

12 Wertverlaufs-Semantik fÿr den Plan PÕ P' z z L i.j o A B C D 0 A B C D 1.1: Read A : Write C 2 <(A,1)>.. f 1.2 (A). 1.3: Write B 3 <(A,1)>. f 1.3 (A).. 2.1: Read A : Read B : Write D 6 <(A,4), f 2.3 (A, (B,5)>... f 1.3 (A)) 3.1: Read C : Write A 8 <(C,7)> f 3.2 (f 1.2 (A)) : Read B : Read C : Write B 11 <(B,9), (C,10)>. f 4.3 (f 1.3 (A), f 1.2 (A)).. 4.4: Write A 12 <(B,9), f 4.4 (f 1.3 (A), (C,10)> f 1.2 (A))... Endzustand: f 4.4 (f 1.3 (A), f 1.2 (A)) f 4.3 (f 1.3 (A), f 1.2 (A)) f 1.2 (A) f 2.3 (A, f 1.3 (A)) Sicht- quivalenz von Read/Write-PlŠnen, Sicht-Serialisierbarkeit Definition 1. Seien P und P Read/Write-Pläne zu einer Menge von Transaktionen T. P ist Sicht-äquivalent zu P :gdw a. [Endzustand-äquivalent] Für den größten Zeitpunkt m von P bzw. P gilt: eval (P, o, m) = eval (P, o, m) für alle o O(T). b. [gleiche Lesesichten] Für alle Leseanweisungen i.j : Read o aus T gilt: sind z, z die Zeitpunkte mit P(z) = P (z ) = i.j : Read o, so folgt eval (P, o, z) = eval (P, o, z'). 2. Ein Read/Write-Plan P zu einer Menge von Transaktionen T heißt Sicht-serialisierbar, wenn es einen Read/Write-Plan P gibt, so daß gilt: (K1) (K2) P ist serieller Read/Write-Plan, P und P sind Sicht-äquivalent

13 initialisierend schreibende Transaktion t 0, abschlie end lesende Transaktion t f T = {t 1,...,t k } Menge von Transaktionen O(T) = {o 1,...,o e }: initialisierend schreibende Transaktion: t 0 := ( 0.1 : Write o 1,. 0.e : Write o e ), wobei die zugeordneten (nullstelligen) Funktionszeichen durch Skolem (0.j) := o j definiert seien abschließend lesende Transaktion: t f := ( f.1 : Read o 1,. f.e : Read o e ), Der erweiterte Read/Write-Plan e_p entstehe aus dem Plan P zu T durch Voranstellen von t 0 und Anhängen von t f. Polygraph G (P) = (E, K liest K vor, W) zum Read/Write-Plan P Eckenmenge E := T {t 0, t f } Kantenmenge K liest := { (t i1, t i2 ) es gibt o O(T), j1, j2: t i1.j1 = Write o, t i2.j2 = Read o, e_p -1 (i1.j1) < e_p -1 (i2.j2), und für alle z mit e_p -1 (i1.j1) < z < e_p -1 (i2.j2) ist P(z) nicht von der Form Write o } Kantenmenge K vor := { (t i2, t i3 ) t i2 liest Objekt o von t 0, t i3 T \ {t i2 }, es gibt j3: t i3.j3 = Write o } { (t i3, t i1 ) t f liest Objekt o von t i1, t i3 T \ {t i1 }, es gibt j3: t i3.j3 = Write o } Wahl-Kantenpaarmenge W := { (t i2, t i3, t i1 ) t i2 liest Objekt o von t i1, t i2 t f, t i1 t 0, t i3 T \ {t i1, t i2 }, es gibt j3 : t i3.j3 = Write o }

14 Von Transaktion t i1 geht also eine Kante nach Transaktion t i2, wenn auf das Schreiben in ein Objekt o durch t i1 direkt das Lesen aus diesem Objekt durch t i2 in dem Sinne erfolgt, daß in Objekt o zwischenzeitlich nicht durch eine andere Transaktion geschrieben wird. Eine (wegen Objekt o eingeführte) Kante (t i1, t i2 ) bedeutet also kurz: t i2 liest (Objekt o) von t i1, und entsprechend muß in dem gesuchten Sicht-äquivalenten seriellen Read/Write-Plan t i1 vor t i2 ausgeführt werden. Tatsächliche Sicht-Äquivalenz wird aber nur erreicht, wenn im gesuchten seriellen Plan nicht eine weitere in Objekt o schreibende Transaktion t i3 T sich zwischen t i1 und t i2 schiebt. Diese Überlegungen führen für die besonderen Fälle zur Kantenmenge K vor := { (t i2, t i3 ) t i2 liest Objekt o von t 0, t i3 T \ {t i2 }, es gibt j3: t i3.j3 = Write o } { (t i3, t i1 ) t f liest Objekt o von t i1, t i3 T \ {t i1 }, es gibt j3: t i3.j3 = Write o } Man beachte, daß in obiger Definition t i2 t f bzw. t i1 t 0 gelten muß. Falls in obiger Überlegung aber t i1 t 0 und t i2 t f, so drücken wir die Alternative entweder t i2 vor t i3 oder t i3 vor t i1 durch ein Wahl-Kantenpaar aus. Eine solche Transaktion muß also entweder nach t i2 oder vor t i1 ausgeführt werden. Für zwei besondere Fälle entfällt jeweils eine der Möglichkeiten: Falls t i1 die gedachte initialisierend schreibende Transaktion t 0 ist, muß t i3 also nach t i2 kommen. Falls t i2 die gedachte abschließend lesende Transaktion t f ist, muß t i3 also vor t i1 kommen

15 Kanten und Wahl-Kantenpaare Ein erweiterter Read / Write - Plan e_p (t, t ) K : i1 i2 liest (t 0, t i2 ) K liest, (t i2, t i3 ) K vor : (t i3, t i1) K vor, (t, t ) i1 f K liest : W o R ti1 ti2 W o R R t0 ti2 W o W W ti3 ti1 o o W R t i3 t f e_p = ( 0.1: Write A, 0.2: Write B, 0.3: Write C, 0.4: Write D, 2.1: Read A, 1.1: Read A, 1.2: Write C, 3.1: Read C, 1.3: Write B, 4.1: Read B, 4.2: Read C, 2.2: Read B, 3.2: Write A, 4.3: Write B, 2.3: Write D, 4.4: Write A, f.1: Read A, f.2: Read B, f.3: Read C, f.4: Read D ) A B C D (t,t ) K, (t, t, t ) W: i1 i2 liest i2 i3 i1 t i1 W W o W o R W o t i2 R t i

16 Kantenmenge K liest Kanten aus K vor und die Wahl-Kantenpaare aus W bestimmen C B,C C Für jede Kante t o i1 t i2 aus K liest jeweils alle weiteren auf o schreibenden Transaktionen betrachten: K liest K vor bzw. W A B A,B t 0 t 1 t 2 t 3 t 4 t f A D t 0 A t 2 t 2 t 2 A A t 3 t 4 t 0 A t 1 t 1 A A t 1 t 3 t 4 t 4 A t f t 3 A t 4 t 1 t 1 t 4 B B B t 4 t 2 t f t 1 B t 4 B B t2 t4 t1 t 1 t 1 t 1 C C C t 3 t 4 t f t 2 D t f

17 Serialisierbarkeitsgraph fÿr den erweiterten Read / Write - Plan e_p Serialisierbarkeits-Test Sei P ein Read/Write-Plan zu einer Menge von Transaktionen T = {t 1,...,t k } und G(P) = (E, K liest K vor, W) der zugehörige Serialisierbarkeitsgraph. t 0 t 1 t 2 t 3 t 4 t f 1. P ist Sicht-serialisierbar genau dann, wenn es eine Auswahl W * von je einer Kante aus jedem Wahl-Kantenpaar aus W gibt, so daß der entstehende Graph G * = (E, K liest K vor W * ) azyklisch ist. 2. Ist G * azyklisch und ist P ein serieller Read/Write-Plan, der durch topologisches Sortieren aus G * gewonnen wird, so sind P und P Sicht-äquivalent

18 Die Eigenschaft eines Polygraphen, eine azyklische Auswahl zu besitzen, wurde als NP-vollständig nachgewiesen. Damit ist der Begriff der Sicht-Serialisierbarkeit algorithmisch nur schwer nutzbar. Konflikt-Serialisierbarkeit liefert aber eine wieder gut handhabbare Annäherung. Test auf Azyklizität eines gerichteten Graphen kann durch ein einfaches Graphdurchlauf-Verfahren durchgeführt werden Konflikt-Serialisierbarkeit impliziert Sicht- Serialisierbarkeit Satz Sei P ein Read/Write-Plan zu einer Menge von Transaktionen T = {t 1,...,t k }. Wenn P Konflikt-serialisierbar ist, so ist P auch Sicht-serialisierbar. Beweis: Sei G konflikt (P) = (T, K konflikt ) der Konfliktgraph und G (P) = (T {t 0, t f }, K liest K vor, W) der Serialisierbarkeitsgraph zu P. Für jedes Wahl-Kantenpaar (t i2, t i3, t i1 ) ist (t i2, t i3 ) K konflikt oder (t i3, t i1 ) K konflikt. Ist dann W * eine zutreffende Auswahl, so gilt offensichtlich K liest K vor W * K konflikt. Ist nun P Konflikt-serialisierbar, so enthält K konflikt keinen Zykel, und damit enthält auch K liest K vor W * keinen Zykel. Also ist P auch Sicht-serialisierbar

19 Konflikt-Serialisierbarkeit echt strenger als Sicht-Serialisierbarkeit t 1 := ( 1.1: Read A, t 2 := ( 2.1: Write A ) 1.2: Write A ) t 3 := ( 3.1: Write A ) Projektion von PlŠnen Durch Annahme A6 vorausgesetzt, daß alle Transaktionen textuell als Ganzes vorliegen. Ein dynamisch arbeitender Scheduler verfügt aber im allgemeinen nicht über diese Kenntnis. e_p z L z o A i.j 0.1: Write A 0 A 1.1: Read A : Write A 2 < > f : Write A 3 <(A,1)> f 1.2 (A) 3.1: Write A 4 < > f 3.1 f.1: Read A 5. Der Serialisierbarkeitsgraph zeigt, daß P Sicht-serialisierbar ist: t 0 t 1 t 2 t 3 Aber der Konfliktgraph zeigt, daß P nicht Konflikt-serialisierbar ist: t f Definition Sei P ein Plan zu einer Menge von Transaktionen T. Für T T sei die Projektion π(p, T ) derjenige Plan, der aus P durch Streichen der Anweisungen aus T \ T entsteht. In diesem Fall bestehe der Definitionsbereich von π(p, T ) aus denjenigen Zeitpunkten, deren Anweisungen nicht gestrichen werden. Definition Eine Klasse κ von Plänen heißt monoton, wenn für jeden Plan P κ auch alle Projektionen π(p, T ) mit T T aus κ sind. t 1 t 2 t

20 Monotonie der Konflikt-Serialisierbarkeit Satz Die Klasse der Konflikt-serialisierbaren Pläne ist monoton. Beweis: Wenn P Konflikt-serialisierbar ist, dann ist sein Konfliktgraph G konflikt azyklisch. Da für jedes T T der Konfliktgraph G konflikt der Projektion π(p, T ) ein Untergraph von G konflikt und damit ebenfalls azyklisch ist, sind alle Projektionen wiederum Konflikt-serialisierbar. Konflikt-Serialisierbarkeit ist grš te monotone Teilklasse von Sicht-Serialisierbarkeit Satz Ein Plan P ist Konflikt-serialisierbar genau dann, wenn alle Projektionen π(p, T ) mit T T Sicht-serialisierbar sind. : Ist P Konflikt-serialisierbar, so sind wegen der Monotonie von Konflikt-Serialisierbarkeit alle Projektionen ebenfalls Konflikt-serialisierbar und damit auch Sicht-serialisierbar. : Offensichtlich gilt die folgende Hilfsbehauptung: Liegen in einem Plan eine Anweisung aus t i1 und eine Anweisung aus t i2 wegen eines Objekts o im Konflikt derart, daß keine andere Transaktion in das Objekt o schreibt, dann werden in allen seriellen, Sicht-äquivalenten Plänen t i1 und t i2 in der gleichen Reihenfolge wie die im Konflikt liegenden Anweisungen ausgeführt

21 Sei dann P nicht Konflikt-serialisierbar. Dann enthält der Konfliktgraph einen Zykel, und es sei (t 1,..., t e, t 1 ) ein Zykel kürzester Länge und T = {t 1,..., t e }. Wir werden zeigen, daß je zwei im Zykel aufeinanderfolgende Transaktionen in jedem seriellen, zu π(p, T ) Sicht-äquivalenten Plan in der Reihenfolge des Zykels ausgeführt werden müßten, d.h. einen solchen Plan kann es nicht geben. Seien also t i und t i+1 zwei im Zykel aufeinanderfolgende Transaktionen, die etwa wegen Objekt o im Konflikt liegende Anweisungen enthalten. Dann enthält der Zykel keine weitere Transaktion t j, die in o schreibt, und obige Hilfsbehauptung liefert das Gewünschte. Denn andernfalls wäre t j im Konfliktgraph mit t i und t i+1 jeweils direkt verbunden, und es läge folgende Situation vor: o t i t i+1 o... t... j Falls (t i, t j ) K konflikt oder (t j, t i+1 ) K konflikt, so wäre (t i, t j,..., t i ) bzw. (t j, t i+1,..., t j ) ein kürzerer Zykel, Widerspruch. Falls (t j, t i ) K konflikt und (t i+1, t j ) K konflikt, so ist (t i, t i+1, t j, t i ) wieder ein Zykel. Falls e > 3, so wäre dies ein kürzerer Zykel, Widerspruch. Falls e = 3, so liegt die im Konflikt liegende Anweisung aus t j entweder vor der beteiligten Anweisung aus t i oder zwischen den beteiligten Anweisungen aus t i und t i+1 oder hinter der beteiligten Anweisung aus t i+1. o In den ersten beiden Fällen wäre auch (t j, t i+1 ) K konflikt und im letzten Fall auch (t i, t j ) K konflikt, und wir hätten jeweils einen Zykel der Länge 2, Widerspruch

Konflikte. Konflikt-Äquivalenz von Read/Write-Plänen, Konflikt-Serialisierbarkeit

Konflikte. Konflikt-Äquivalenz von Read/Write-Plänen, Konflikt-Serialisierbarkeit Konflikte Zwei Transaktionen liegen im Konflikt, wenn sie ein Objekt o gemeinsam nutzen, wobei mindestens eine der Transaktionen in o schreibt. Für eine Menge von Transaktionen T kann man nun alle Konflikte

Mehr

2.3 View Serialisierbarkeit

2.3 View Serialisierbarkeit 2.3 View Serialisierbarkeit Das Problem, dass tote Aktionen bei FSSR ausgeklammert werden, lässt sich beheben, wenn man die Gleichheit der Reads-From-Relation eines gegebenen Schedules mit einem seriellen

Mehr

Kapitel 5 Mehrversionen-CC. MVCC: Annahmen & Eigenschaften

Kapitel 5 Mehrversionen-CC. MVCC: Annahmen & Eigenschaften Kapitel 5 Mehrversionen-CC Bisher sind wir immer von der Grundannahme ausgegangen, dass jedes Datenobjekt x nur in einer Version vorliegt. Die Konsequenz daraus war, dass durch jedes Schreiben der Wert

Mehr

Datenbanken: Ablaufpläne und Serialisierbarkeit

Datenbanken: Ablaufpläne und Serialisierbarkeit Theoretische Konzepte zur Abarbeitung parallel arbeitender Transaktionen Definition: (Ablaufplan, Schedule) Ein Ablaufplan S ist die verschränkte Anordnung bzw. Ausführung der Einzeloperationen einer Menge

Mehr

Konfliktgraph. Satz und Definition

Konfliktgraph. Satz und Definition 9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Seite 1 Konfliktgraph Der Konfliktgraph von S ist ein gerichteter Graph KG(S) = (V, E), wobei V die Menge aller Transaktionen in S und E die Menge der

Mehr

Aufgabe 10.1: Lösung:

Aufgabe 10.1: Lösung: 1 Aufgabe 10.1: Lösung: Aus Konfliktserialisierbarkeit folgt allgemeine Serialisierbarkeit. Bleibt zu zeigen, dass jetzt auch aus Serialisierbarkeit Konfliktserialisierbarkeit folgt, falls die Transaktionen

Mehr

Prioritäten/Zeitstempel-Verfahren

Prioritäten/Zeitstempel-Verfahren Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion

Mehr

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 30.06.09 Kapitel 14: Mehrbenutzersynchronisation Oliver Vornberger Institut für Informatik Universität Osnabrück Multiprogramming Zeitachse Einbenutzer betrieb T1 T2

Mehr

Tutoraufgabe 1 (Suchen in Graphen):

Tutoraufgabe 1 (Suchen in Graphen): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn

Mehr

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Die Prädikatenlogik erster Stufe: Syntax und Semantik Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,

Mehr

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 4 MUSTERLÖSUNG Aufgabe 4.1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Kapitel 3 Synchronisation

Kapitel 3 Synchronisation LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 3 Synchronisation Vorlesung: PD Dr. Peer Kröger

Mehr

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 4. Lösung

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 4. Lösung Dr. rer. nat. Sven Groppe Übungen zur Vorlesung Mobile und Verteilte Datenbanken WS 2008/2009 Blatt 4 Lösung Aufgabe 1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Transaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover address:

Transaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover  address: Transaktionen Michael Löwe 04/15/16 FHDW Hannover, Freundallee 15, 30173 Hannover E-mail address: michael.loewe@fhdw.de KAPITEL 1 Isolation 1.1. Formales Modell für Transaktionen und Ablaufpläne Zustand.

Mehr

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Anordnungstechniken für konvektionsdominante Probleme im Ê 3. Dimensionsunabhängige Verfahren. Algorithmen für planare Graphen. Numerische Beispiele

Anordnungstechniken für konvektionsdominante Probleme im Ê 3. Dimensionsunabhängige Verfahren. Algorithmen für planare Graphen. Numerische Beispiele Anordnungstechniken für konvektionsdominante Probleme im Ê 3 Inhalt: Einführung Dimensionsunabhängige Verfahren Algorithmen für planare Graphen Anordnungen im Ê 3 Numerische Beispiele 2 Einführung betrachtet

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Notation für Wörter w a is die Anzahl der Vorkommen von

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.

Mehr

6. Serialisierbarkeit

6. Serialisierbarkeit 6. Serialisierbarkeit Nothing is as practical as a good theory Albert Einstein Anomalien im Mehrbenutzerbetrieb Synchronisation von Transaktionen - Ablaufpläne, Modellannahmen - Korrektheitskriterium:

Mehr

1.3 Funktionen einer reellen Veränderlichen und ihre Darstellung im x, y - Koordinatensystem

1.3 Funktionen einer reellen Veränderlichen und ihre Darstellung im x, y - Koordinatensystem .0.0. Funktionen einer reellen Veränderlichen und ihre Darstellung im, - Koordinatensstem Vereinbarungen Wir betrachten vorerst nur noch Funktionen f, deren Definitionsund Wertebereich jeweils R oder ein

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 8

Mehr

Datenbanken und Informationssysteme

Datenbanken und Informationssysteme Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell

Mehr

DB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition:

DB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition: 1 Referentielle Aktionen Gegeben sei folgende Datendefinition: [10 P.] CREATE TABLE Wissenschaftler( SVNr int PRIMARY KEY, Vorname varchar(25) NOT NULL, Nachname varchar(25) NOT NULL, Gehalt int NOT NULL

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen

Zentralübung zur Vorlesung Diskrete Strukturen WS 2010/11 Zentralübung zur Vorlesung Diskrete Strukturen Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2010ws/ds/uebung/ 2. Februar 2011 ZÜ DS ZÜ XIII 1. Übungsbetrieb:

Mehr

= 2 2.4, x 13 = = ( 2 2) 3.8

= 2 2.4, x 13 = = ( 2 2) 3.8 Aufgabe. Mit Ausnahme der können alle Zahlen als Zweier- oder Dreierpotenzen geschrieben werden: ( ) 7 ( = 8 = 3, = 3.3, 3 = 4 =, 4 = 3 = 3) 7 = 3 3.5, 5 =.5 = 4 =, 6 =, 7 =.5.4 = 8 = = = 3, 9 = 7., =

Mehr

Funktionen. x : Variable von f oder Argument f x : Funktionswert, Wert der Funktion f an der Stelle x D f. : Definitionsmenge(Urbildmenge)

Funktionen. x : Variable von f oder Argument f x : Funktionswert, Wert der Funktion f an der Stelle x D f. : Definitionsmenge(Urbildmenge) Funktionen Eine Funktion oder Abbildung ist eine Beziehung zwischen zwei nicht leere Mengen D f und Z, die jedem Element x aus einer Menge D f genau ein Element y aus anderer Menge Z zuordnet. f : D f

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

Kapitel 11. Dimension und Isomorphie

Kapitel 11. Dimension und Isomorphie Kapitel 11. Dimension und Isomorphie Bestimmung der Dimension Satz. Sei (v 1, v 2,..., v n ) ein minimales Erzeugendensystem von V, d.h. dieses System ist ein Erzeugendensystem von V, aber keines der nach

Mehr

Holger Schwarz Universität Stuttgart, IPVS

Holger Schwarz Universität Stuttgart, IPVS DATENBANKANWENDUNG Wintersemester 2013/2014 Holger Schwarz Universität Stuttgart, IPVS holger.schwarz@ipvs.uni-stuttgart.de Beginn: 23.10.2013 Mittwochs: 11.45 15.15 Uhr, Raum 46-268 (Pause 13.00 13.30)

Mehr

3. Relationen Erläuterungen und Schreibweisen

3. Relationen Erläuterungen und Schreibweisen 3. Relationen Eine Relation ist allgemein eine Beziehung, die zwischen Dingen bestehen kann. Relationen im Sinne der Mathematik sind ausschließlich diejenigen Beziehungen, bei denen stets klar ist, ob

Mehr

Klausur zur Vorlesung Mathematische Logik

Klausur zur Vorlesung Mathematische Logik Universität Heidelberg 13. Februar 2014 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Mathematische Logik Musterlösung Aufgabe 1 (Aussagenlogik

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 3.2 Induktion und Rekursion 3.3 Boolsche Algebra Peer Kröger (LMU München) Einführung in die Programmierung WS 14/15 48 / 155 Überblick

Mehr

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule Berufsfeldbezogenes Fachseminar - Zahlentheorie Lisa Laudan Prof. Dr. Jürg Kramer Wintersemester 2014/2015 Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule 1.1

Mehr

Umkehrfunktionen 1-E. Ma 1 Lubov Vassilevskaya

Umkehrfunktionen 1-E. Ma 1 Lubov Vassilevskaya Umkehrfunktionen 1-E Wiederholung: Funktion als eine Abbildung Abb. 1-1: Darstellung einer Abbildung Eine Funktion f (x) beschreibt eine Abbildung von X nach Y f X Y, x f x Der erste Ausdruck charakterisiert

Mehr

( ) ( ) < b k, 1 k n} (2) < x k

( ) ( ) < b k, 1 k n} (2) < x k Technische Universität Dortmund Fakultät für Mathematik Proseminar Analysis Prof. Dr. Röger Benjamin Czyszczon Satz von Heine Borel Gliederung 1. Zellen und offene Überdeckungen 2. Satz von Heine Borel

Mehr

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Algorithmen. Von Labyrinthen zu. Gerald Futschek Von Labyrinthen zu Algorithmen Gerald Futschek Wie kommt man aus einem Labyrinth heraus? Labyrinth (griechisch: Haus der Doppelaxt, wahrscheinlich Knossos auf Kreta) Labrys Grundriss des Palastes von Knossos

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 17 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 69 TU Ilmenau Seite 2 / 69 Graphtraverse Wie bei Bäumen, ist

Mehr

Turing-Maschinen: Ein abstrakes Maschinenmodell

Turing-Maschinen: Ein abstrakes Maschinenmodell Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt, eine Elementaroperation ist maschinell ausführbar? Was verstehen

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Übungsblatt 2 - Lösung

Übungsblatt 2 - Lösung Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer

Mehr

3.5 Synchronisation ohne Sperren

3.5 Synchronisation ohne Sperren Überblick Nachteil von Sperren: Einschränkung der Parallelität Deadlocks 1. Lösungsversuch: Weiterhin pessimistisches Verfahren, aber statt Sperren, Zeitstempel (nicht zur Verklemmungsvermeidung sondern

Mehr

1 Lokale Sprachen. 2 Verallgemeinerung

1 Lokale Sprachen. 2 Verallgemeinerung 1 Lokale Sprachen Es soll um Sprachen gehen die nur aufgrund ihrer Teilworte einer festen Länge entschieden werden können. Anschaulich heisst dies man kann ein Fenster der Länge k über das Eingabewort

Mehr

6. Serialisierbarkeit 1

6. Serialisierbarkeit 1 6. Serialisierbarkeit 1 Motivation Erinnerung Anomalien im Mehrbenutzerbetrieb Synchronisation von Transaktionen Nothing is as practical as a good theory Albert Einstein - Ablaufpläne, Modellannahmen -

Mehr

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

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

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann

Mehr

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8.1 Der Kompaktheitssatz Kompaktheitssatz Endlichkeitssatz Der Kompaktheitssatz ist auch unter dem Namen Endlichkeitssatz bekannt. Unter Verwendung

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII

Mehr

Abschnitt 1.3. Funktionen

Abschnitt 1.3. Funktionen Abschnitt 1.3 Funktionen Arbeitsdefinition des Begriffs Funktion Bereits an Ende von Abschnitt 1.1 wurde definiert: Eine Funktion f ordnet Elementen x einer Menge D Elemente f (x) zu, die in der Menge

Mehr

Mathematische Grundlagen der Ökonomie Übungsblatt 8

Mathematische Grundlagen der Ökonomie Übungsblatt 8 Mathematische Grundlagen der Ökonomie Übungsblatt 8 Abgabe Donnerstag 7. Dezember, 0:5 in H 5+7+8 = 20 Punkte Mit Lösungshinweisen zu einigen Aufgaben 29. Das Bisektionsverfahren sucht eine Nullstelle

Mehr

1 Funktionen einer Variablen

1 Funktionen einer Variablen 1 Funktionen einer Variablen 1.1 Einführende Beispiele Kostenfunktion und Stückkostenfunktion: Das Unternehmen Miel produziert hochwertige Waschmaschinen. Es hat monatliche Fikosten von 170.000. Die sind

Mehr

Mengen und Abbildungen

Mengen und Abbildungen Mengen und Abbildungen Der Mengenbegriff Durchschnitt, Vereinigung, Differenzmenge Kartesisches Produkt Abbildungen Prinzip der kleinsten natürlichen Zahl Vollständige Induktion Mengen und Abbildungen

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale

Mehr

6. Serialisierbarkeit 1

6. Serialisierbarkeit 1 6. Serialisierbarkeit 1 Motivation Erinnerung Nothing is as practical as a good theory Albert Einstein Anomalien im unkontrollierten Mehrbenutzerbetrieb Verlorengegangene Änderung (Lost Update) Anomalien

Mehr

Kapitel 1 Parallele Modelle Wie rechnet man parallel?

Kapitel 1 Parallele Modelle Wie rechnet man parallel? PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter WS 2009/10 Isomorphie Zwei Graphen (V 1, E 1 ) und (V 2, E 2 ) heißen isomorph, wenn es eine bijektive, Kanten erhaltende und Kanten

Mehr

Grundbegriffe der Mengenlehre

Grundbegriffe der Mengenlehre Grundbegriffe der Mengenlehre Krzysztof P. Rybakowski Universität Rostock Fachbereich Mathematik 2003 11 07 1 Vorbemerkungen Ohne die Sprache der Mengenlehre lässt sich Mathematik nicht verstehen. Die

Mehr

11: Die Euler sche Polyederformel für planare Graphen

11: Die Euler sche Polyederformel für planare Graphen Chr.Nelius: Graphentheorie (WS 2016/17) 38 11: Die Euler sche Polyederformel für planare Graphen (11.1) BEM: a) Ein Polyeder (auch Vielflach oder Vielflächner) ist ein geometrischer Körper, der nur von

Mehr

1 Referentielle Aktionen

1 Referentielle Aktionen 1 Referentielle Aktionen Betrachten Sie das folgende Datenbankschema: Person(Vorname, Nachname, DOB, Wohnort, Lieblingsfilm Film.IMDb-ID, Videothek Videothek.VID) Film(IMDb-ID, Titel, (ProduzentVN, ProduzentNN)

Mehr

Verteilen von Bällen auf Urnen

Verteilen von Bällen auf Urnen Verteilen von Bällen auf Urnen Szenario: Wir verteilen n Bälle auf m Urnen, d.h. f : B U mit B = {b 1,..., b n } und U = {u 1,..., u m }. Dabei unterscheiden wir alle Kombinationen der folgenden Fälle

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

Grundbegriffe aus Logik und Mengenlehre. Prädikatenlogik

Grundbegriffe aus Logik und Mengenlehre. Prädikatenlogik Grundbegriffe aus Logik und Mengenlehre Prädikatenlogik wohlverstandene Grundlagen, eine formale Sprache zur Beschreibung statischer und dynamischer Gesichtspunkte eines Unternehmens syntaktisch und semantisch

Mehr

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Svenja Hüning, Michael Kerber, Hannah Schreiber WS 2016/2017 Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Hinweise: Dieses Blatt präsentiert Beispiellösungen zu

Mehr

Höhere Mathematik für die Fachrichtung Physik

Höhere Mathematik für die Fachrichtung Physik Karlsruher Institut für Technologie Institut für Analysis Dr. Christoph Schmoeger Michael Hott, M. Sc. WS 015/016 30.10.015 Höhere Mathematik für die Fachrichtung Physik Lösungsvorschläge zum 1. Übungsblatt

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 2: Einführung in die Graphentheorie - Teil 2 Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 2. März 2018 1/48 OPERATIONEN

Mehr

Graphen und Bäume. A.1 Graphen

Graphen und Bäume. A.1 Graphen Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 13.01.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine

Mehr

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16 Lineare Algebra I - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß 1. Mengen und Abbildungen: Mengen gehören zu den Grundlegendsten Objekten in der Mathematik Kurze Einführung in die (naive) Mengelehre

Mehr

Gruppen. Kapitel Operationen Definiton Gruppe, symmetrische Gruppen. Gruppen und Untergruppen, Lernziele 1. Erzeugendensysteme,

Gruppen. Kapitel Operationen Definiton Gruppe, symmetrische Gruppen. Gruppen und Untergruppen, Lernziele 1. Erzeugendensysteme, Kapitel 1 Gruppen 1.1 Operationen Lernziele 1. Gruppen und Untergruppen, Erzeugendensysteme, Operationen und Bahnen 1.1.1 Definiton Gruppe, symmetrische Gruppen Definition 1.1. Sei G eine nicht leere Menge

Mehr

Binary Decision Diagrams (Einführung)

Binary Decision Diagrams (Einführung) Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von

Mehr

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion

Mehr

3.2 Unabhängigkeitsstrukturen

3.2 Unabhängigkeitsstrukturen 80 3.2 Unabhängigkeitsstrukturen Unser Ziel ist der Nachweis, daß in Vektorräumen, also in Moduln über Körpern, Basen existieren und zwei endliche Basen gegebenenfalls von derselben Ordnung sind. (Basen

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

Mehr

Von der Programmiersprache WHILE zum ersten Einstieg in Java

Von der Programmiersprache WHILE zum ersten Einstieg in Java Von der Programmiersprache WHILE zum ersten Einstieg in Java Die Programmiersprache WHILE bildet den Kern jeder imperativen Programmiersprache. Man geht davon aus, dass die Ein- Ausgabe primitiv organisiert

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung 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 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke 3 Mathematische Grundlagen Einf. Progr. (WS 08/09) 102 Überblick 3.

Mehr

T1: A := A * 2 B := B * 2 T2: A := A B := B + 100

T1: A := A * 2 B := B * 2 T2: A := A B := B + 100 1 T1: A := A * 2 B := B * 2 T2: A := A + 100 B := B + 100 2 1. Transaktionen und ihre Probleme 2. Wie löst man es als Pessimist? 3. Der Optimist sagt 4. Wer hat Recht? 3 Folge von Operationen, die die

Mehr

mehrwertige Abhängigkeiten

mehrwertige Abhängigkeiten mehrwertige Abhängigkeiten Mit funktionalen Abhängigkeiten kann man auf der Ebene der Modellierung erkannte Funktionalitäten einer Eigenschaft bzw. einer Beziehung formalisieren. Dies setzt voraus, daß

Mehr

6. Serialisierbarkeit 1

6. Serialisierbarkeit 1 6. Serialisierbarkeit 1 Nothing is as practical as a good theory Albert Einstein Anomalien im Mehrbenutzerbetrieb Synchronisation von Transaktionen - Ablaufpläne, Modellannahmen - Korrektheitskriterium:

Mehr

Musterlösung 11.Übung Mathematische Logik

Musterlösung 11.Übung Mathematische Logik Lehr- und Forschungsgebiet Mathematische Grundlagen der Informatik RWTH Aachen Prof. Dr. E. Grädel, F. Reinhardt SS 2015 Aufgabe 2 Musterlösung 11.Übung Mathematische Logik Geben Sie für die folgenden

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

11 Logarithmus und allgemeine Potenzen

11 Logarithmus und allgemeine Potenzen Logarithmus und allgemeine Potenzen Bevor wir uns mit den Eigenschaften von Umkehrfunktionen, und insbesondere mit der Umkehrfunktion der Eponentialfunktion ep : R R + beschäftigen, erinnern wir an den

Mehr

Lösungen der Trainingsaufgaben aus. Toolbox Mathematik für MINT-Studiengänge

Lösungen der Trainingsaufgaben aus. Toolbox Mathematik für MINT-Studiengänge Lösungen der Trainingsaufgaben aus Toolbo Mathematik für MINT-Studiengänge 3 Funktionen Version 22. Dezember 206 Lösung zu Aufgabe 3. Eine Funktion f ordnet jedem Element aus einer Definitionsmenge D genau

Mehr

Lineare Algebra und analytische Geometrie II

Lineare Algebra und analytische Geometrie II Prof. Dr. H. Brenner Osnabrück SS 2016 Lineare Algebra und analytische Geometrie II Vorlesung 57 Lineare Abbildungen bei Körperwechsel Definition 57.1. Zu einer linearen Abbildung ϕ: V W zwischen K-Vektorräumen

Mehr

Lineare Algebra und analytische Geometrie I

Lineare Algebra und analytische Geometrie I Prof. Dr. H. Brenner Osnabrück WS 215/216 Lineare Algebra und analytische Geometrie I Vorlesung 27 In der letzten Vorlesung haben wir die Haupträume zu einem Eigenwert λ zu einem Endomorphismus ϕ als Kern

Mehr

1 Pfade in azyklischen Graphen

1 Pfade in azyklischen Graphen Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 1 1 Pfade in azyklischen Graphen Sei wieder ein gerichteter Graph mit Kantengewichten gegeben, der diesmal aber keine Kreise enthält, also azyklisch ist.

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,

Mehr

2 Funktionen einer Variablen

2 Funktionen einer Variablen 2 Funktionen einer Variablen 2.1 Einführende Beispiele Kostenfunktion und Stückkostenfunktion: Das Unternehmen Miel produziert hochwertige Waschmaschinen. Es hat monatliche Fikosten von 170.000. Die sind

Mehr

Von Skalarprodukten induzierte Normen

Von Skalarprodukten induzierte Normen Von Skalarprodukten induzierte Normen Niklas Angleitner 4. Dezember 2011 Sei ein Skalarproduktraum X,, gegeben, daher ein Vektorraum X über C bzw. R mit einer positiv definiten Sesquilinearform,. Wie aus

Mehr

Abbildungen. Kapitel Definition: (Abbildung) 5.2 Beispiel: 5.3 Wichtige Begriffe

Abbildungen. Kapitel Definition: (Abbildung) 5.2 Beispiel: 5.3 Wichtige Begriffe Kapitel 5 Abbildungen 5.1 Definition: (Abbildung) Eine Abbildung zwischen zwei Mengen M und N ist eine Vorschrift f : M N, die jedem Element x M ein Element f(x) N zuordnet. Schreibweise: x f(x) 5. Beispiel:

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr