Access-Modell. A4. Im Operandenteil von Anweisungen vorkommende Objekte seien unstrukturiert und stehen in keinerlei Beziehung zueinander.
|
|
- Catharina Schwarz
- vor 5 Jahren
- Abrufe
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 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
Mehr2.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
MehrKapitel 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
MehrDatenbanken: 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
MehrKonfliktgraph. 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
MehrAufgabe 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
MehrPrioritä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
MehrPrioritä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
MehrDatenbanksysteme 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
MehrTutoraufgabe 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
MehrDie 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
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
MehrVorlesung 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
MehrKapitel 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
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
Mehr5. 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
MehrTransaktionen. 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.
MehrKapitel 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
MehrAnordnungstechniken 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
MehrGrundlagen 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
MehrVorlesung 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.
Mehr6. Serialisierbarkeit
6. Serialisierbarkeit Nothing is as practical as a good theory Albert Einstein Anomalien im Mehrbenutzerbetrieb Synchronisation von Transaktionen - Ablaufpläne, Modellannahmen - Korrektheitskriterium:
Mehr1.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
MehrDiskrete 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
MehrDatenbanken und Informationssysteme
Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell
MehrDB 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
MehrZentralü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
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., =
MehrFunktionen. 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
MehrDas 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
MehrKapitel 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
MehrHolger 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)
Mehr3. 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
MehrKlausur 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
MehrAbschnitt 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
MehrKapitel 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
MehrDezimaldarstellung 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
MehrUmkehrfunktionen 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
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
MehrAlgorithmen. 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
MehrAlgorithmen 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
MehrTuring-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
MehrDie 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
MehrVorlesung 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
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
Mehr3.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
Mehr1 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
Mehr6. 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 -
MehrKapitel 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
MehrStefan 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
Mehr8 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
MehrTheoretische 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
MehrZentralü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
MehrAbschnitt 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
MehrMathematische 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
Mehr1 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
MehrMengen 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
MehrVorlesung 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
Mehr6. 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
MehrKapitel 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
MehrVorlesung 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
MehrGrundbegriffe 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
Mehr11: 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
Mehr1 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)
MehrVerteilen 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
MehrDiskrete 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
MehrGrundbegriffe 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:
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
MehrHö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
MehrAlgorithmische 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
MehrGraphen 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
MehrTheoretische 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
MehrTheoretische 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
MehrTheoretische 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
MehrLineare 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
MehrGruppen. 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
MehrBinary 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
MehrGraphentheorie. 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
Mehr3.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
MehrADS-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
MehrVon 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
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 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung
MehrTheoretische 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
MehrAbschnitt 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.
MehrT1: 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
Mehrmehrwertige 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ß
Mehr6. 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:
MehrMusterlö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
Mehrkontextfreie 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
MehrDieser 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,
Mehr11 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
MehrLö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
MehrLineare 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
MehrLineare 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
Mehr1 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.
MehrAlgorithmische 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,
Mehr2 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
MehrVon 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
MehrAbbildungen. 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:
MehrDatenstrukturen 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