Online-Algorithmen: Einführung

Größe: px
Ab Seite anzeigen:

Download "Online-Algorithmen: Einführung"

Transkript

1 Online-lgorithmen: Einführung rne Priewe Seminar Online-lgorithmen im SS 98 Leitung: Prof Dr Torben Hagerup

2 blauf Definitionen und Beispiele für Online- lgorithmen, Kompetitivitätsfaktor und amortisierte nalyse Selbstanordnende Listen: amortisierte nalyse für MF Paging: amortisierte nalyse für LRU Diskussion

3 Online-lgorithmen werden im Kontext von Optimierungsproblemen definiert Bei Optimierungsproblemen ist eine Menge von Eingaben I und eine Menge von usgaben O gegeben und für jedes gegebene I I soll eine usgabe O O berechnet werden Jedem Tupel ( I, O) ist ein Wert zugeordnet, der die damit verbundenen Kosten (bzw den Profit) beschreibt Das Ziel ist es, die Kosten zu minimieren (bzw den Profit zu maximieren) Def Online-lgorithmen Geg: Sequenz von Eingaben i = i i 2 i n Online-lgorithmus: muß zu jeder Eingabe i m sofort eine usgabe om, m [ : n] Ergebnis: Sequenz von usgaben o = o o 2 o n berechnen 2 Def optimale Offline-Kosten Die optimalen Offline-Kosten sind die Kosten der bestmöglichen usgabe für jede Eingabesequenz: Cost OPT inf{ Cost ( ) B i } B Cost B ( i ) bezeichnet die Kosten, die der lgorithmus B erzeugt, um eine usgabe zu der Eingabesequenz i zu liefern Seite

4 3 Def Kompetitivitätsfaktor Ein lgorithmus ON ist c-kompetitiv, wenn eine Konstante a 0 existiert, so daß für jede Eingabesequenz i gilt: Cost ON ( i) c Cost ( i) + a OPT Wenn a = 0 ist, dann ist der Online-lgorithmus strikt c-kompetitiv nmerkung Dies ist äquivalent zu der ussage a 0: i DV Cost ( i) c DV ( i) + a OBL ON OBL wobei DV OBL für einen Gegner steht, der versucht c zu maximieren, wogegen der Online-lgorithmus versucht, c zu minimieren Der Gegner ist ein Offline-lgorithmus und versucht dies, indem er Eingabefolgen wählt, die zu möglichst hohen Kosten führen, wobei er die Entscheidungen und usgaben des Online-lgorithmus bei seiner Wahl nicht berücksichtigt (engl: oblivious adversary) Diese Sichtweise ist insbesondere bei der Bewertung von randomisierten lgorithmen nützlich, wobei für diesen Zweck noch weitere Gegnertypen (adaptive online adversary, adaptive offline adversary) definiert werden, die in ihrer Mächtigkeit eine Hierarchie bilden Seite 2

5 3 Bsp: Mieten vs Kaufen Für ein Projekt muß eine spezielle Software benutzt werden Entweder kann diese zu einem Tagessatz gemietet oder für einen einmaligen Betrag gekauft werden (der selbstverständlich höher ist als die Miete pro Tag) Der Projektleiter weiß nicht, wie lange diese Software benötigt wird und muß deshalb jeden Tag aufs Neue entscheiden, ob er sie weiter mietet oder endgültig kauft Seien T die nzahl der gemieteten Tage zu je einem Tagessatz und B die Kosten für den Kaufbetrag in Tagessätzen Der optimale Offline-lgorithmus ist, die Software am ersten Tag zu kaufen, wenn B mieten Dann ist ( B T ) Cost min, OPT = < T ist, bzw sie andernfalls zu Ein allgemeiner Online-lgorithmus mietet die Software für i Tage und kauft sie, wenn T Cost ON = T, wenn T i i + B, wenn T > i > i Seite 3

6 Satz : Der optimale Online-lgorithmus ist mit i hat einen Kompetitivitätsfaktor c = 2 B = B gegeben und Bew: Zunächst berechnen wir den Kompetitivitätsfaktor: 2B Cost Cost Cost = 2 B B ON OPT OPT Bleibt zu zeigen, daß i Fall: Sei i < B Der Gegner wählt dann T = B den bestmöglichen Kompetitivitätsfaktor ergibt: = i +, weil dies der Worst-case für den Online-lgorithmus ist: Cost ON i + B i = = + B > Cost min, i + OPT ( i + B) i + i + = 2 > 2 i + i + B Fall: Sei i > B Wieder wählt der Gegner T = i +: Cost ON i + B = Cost min, OPT ( i + B) i = + B > B B + B B = 2 B Seite 4

7 4 Def mortisierte nalyse mortisierte nalyse: bschätzen der durchschnittlichen Kosten pro Operation für eine beliebige Folge von Operationen Versucht zu berücksichtigen, daß sich Investitionen in teure Operationen über den Gesamtverlauf amortisieren können Ziel: Realistischere bschätzung als mit einer klassischen Worst-case-nalyse, bzw robustere als verage-case-nalyse Für einen lgorithmus mit einer Sequenz von Operationen o o 2 o n gilt: ( i ) Worst-case-Kosten: wc ( o ) =max Cost Gesamtkosten: tc ( o ) i i = Cost i mortisierte Kosten: ac tc = n Seite 5

8 4 Bsp: Mieten vs Kaufen Für den im vorherigen Beispiel unter Satz vorgestellten optimalen Online-lgorithmus gilt dann: wc ON = 2 B tc ON T, wenn T B = 2B, wenn T > B ac ON, wenn T B = 2B 2B < = 2 +, wenn T > B T B B Seite 6

9 5 Oft benutzte Beweistechniken in der amortisierten nalyse 5 Bankkonto-Paradigma Idee: Für den lgorithmus wird ein Konto geführt, das anfangs leer ist Jede Operation hat einen festen Betrag von a DM zur Verfügung Wenn die Operation weniger kostet als dieser Betrag, so wird der Rest auf dem Konto gutgeschrieben Für Operationen, die mehr kosten, wird dementsprechend der fehlende Betrag vom Konto abgezogen Wenn das Konto nie negativ wird, dann ist a eine obere Grenze für die amortisierten Kosten 52 Potentialfunktion Idee: Jede Operation bringt ein gewisses Maß an Energie mit Diese wird als potentielle Energie des Gesamtsystems gespeichert und dann ausgenutzt, wenn Operationen mehr Energie verbrauchen als sie in das System einbringen Das Potential mißt dann die Fähigkeit, spätere Verzögerungen zu verursachen Formal definieren wir dazu eine Potentialfunktion Φ, die die jeweilige Konfiguration zu einer Operation auf eine reelle Zahl abbildet Weiterhin definieren wir die amortisierten Kosten einer Operation als die Summe der tatsächlichen Kosten dieser Operation plus der Erhöhung Φ des Potentials, die durch diese verursacht wurde Seite 7

10 Gegeben sei eine Sequenz von n Operationen o o 2 o n Für die Operation om, m [: n] direkt nach der usführung von o m lso ist a seien die tatsächlichen Kosten t m, die amortisierten Kosten a m und Φ m das Potential m = tm + Φ mit Φ= Φ Φ m m ußerdem sei Φ 0 das initiale Potential direkt vor der usführung von o (dh der ersten Operation) Dann gilt nach der Definition der amortisierten Kosten: n n ( ) a = t + Φ Φ = Φ Φ + t m m m m n 0 m m= m= m= Meistens werden Potentialfunktionen so gewählt, daß Φ Dann folgt: Φ n n Φ 0 0 und damit gilt: tm a n n m= m= m Φ m 0 () ist für alle m n und daß Φ 0 = 0 ist lso sind die tatsächlichen Gesamtkosten nicht größer als die totalen amortisierten Kosten Um zu beweisen, daß a m nach oben begrenzt ist, können wir zeigen, daß t Weiterhin folgt aus () direkt: t = Φ Φ + a n m 0 n m= m= n m (2) m a m Φ gilt Damit können wir dann die gesamten tatsächlichen Kosten zur usführung der Sequenz mit n Operationen nach oben abschätzen, wenn wir Φ 0 und Φ n kennen Seite 8

11 2 Selbstanordnende Listen Es soll eine Menge von Elementen verwaltet werden, denen jeweils ein eindeutiger Schlüssel zugeordnet ist (engl: dictionary problem) Dabei müssen folgende Operationen unterstützt werden: access(x): Suche das Element mit dem Schlüssel x aus der Menge heraus (Zugriff auf x) insert(x): Füge das Element mit dem Schlüssel x in die Menge ein delete(x): Lösche das Element mit Schlüssel x aus der Menge Eine einfache Datenstruktur, um dieses Problem zu lösen, ist die Liste Wir beschränken unsere Betrachtungen auf die Operation access(x) Zusätzlich lassen wir als Operationen paarweise Vertauschungen zu, durch die Elemente in der Liste an eine andere Position bewegt werden können Seite 9

12 2 Kostenmodell Wir definieren folgende Kosten: Zugriff auf das Element x, das an der i -ten Stelle der Liste steht, kostet i Direkt nach dem Zugriff auf das Element x kann dieses kostenfrei zu jeder Position näher an den Listenanfang bewegt werden Diese nennen wir kostenfreie Vertauschungen Jede andere kostet jeweils und wir bezeichnen sie mit zahlungspflichtige Vertauschungen 22 lgorithmen für selbstanordnende Listen Die ufgabe ist, einen lgorithmus zu finden, der die Gesamtkosten einer Sequenz von Operationen minimiert Drei lgorithmen sind auf dieses Ziel hin intensiv untersucht worden: Move-to-front (MF): Nach dem Zugriff oder Einfügen des Elements x wird dieses an den Listenanfang bewegt Die relative nordnung der anderen Elemente bleibt unverändert Transpose (T): Nach dem Zugriff oder Einfügen des Elements x wird dieses mit seinem Vorgänger vertauscht und dadurch um eine Position näher an den Listenanfang bewegt Die relative nordnung der anderen Elemente bleibt unverändert Frequency-count (FC): Für jedes Element der Liste wird ein Zähler verwaltet, der anfangs 0 ist Bei jedem Zugriff auf ein Element wird dessen Zähler um erhöht Nach jeder Operation wird die Liste nach absteigender Zugriffshäufigkeit sortiert Seite 0

13 23 Bsp: Vergleich von Listenanordnung und Kosten Gegeben sei eine Liste L=, 2, 3, 4, 5 und eine Folge s=,2,3,4,5,5,5,,,2,2,3,3,4,4 mit 5 Zugriffen El i von s L MF Cost MF (i) L T Cost T (i) L DF Cost DF (i) -, 2, 3, 4, 5 -, 2, 3, 4, 5 -, 2, 3, 4, 5 -, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5 2 2,, 3, 4, 5 2 2,, 3, 4, , 2,, 4, 5 3 2, 3,, 4, , 3, 2,, 5 4 2, 3, 4,, , 4, 3, 2, 5 2, 3, 4, 5, , 4, 3, 2, 2, 3, 5, 4, , 4, 3, 2, 2, 5, 3, 4, 3 5, 5, 4, 3, 2 5 2, 5, 3,, 4 5, 5, 4, 3, 2 2, 5,, 3, , 3, 2,, 5 2, 3, 4, 5, 4, 2, 3, 4, 5 4 tc MF = 4 tc T = 49 tc DF = 45 ac MF = 2,73 ac T = 3,26 ac DF = 3 Seite

14 24 nalyseergebnisse im Vergleich Worst-case Für Zugriffe auf Listen mit n Elementen gilt: wcmf = wct = wcfc = n varage-case Ist die Wahrscheinlichkeit des Zugriffs auf jedes Element bekannt, so wurde für sehr lange Sequenzen bewiesen: FC ist optimal MF ist schlechter als T Experimentell ermittelte Ergebnisse für reale Daten: T ist schlechter als FC FC und MF sind vergleichbar gut, MF aber manchmal besser Seite 2

15 25 mortisierte nalyse Satz 2: Für jeden deterministischen lgorithmus für selbstanordnende Listen und MF gilt für jede beliebige Sequenz s mit m Zugriffsoperationen, wenn beide mit identischen Listen beginnen: Cost ( s) 2 Cost ( s) + X ( s) F ( s) m MF F ( s ) sei dabei die nzahl der kostenfreien Vertauschungen und X ( s ) die nzahl der zahlungspflichtigen Vertauschungen bei usführung von s durch Dh MF ist 2-kompetitiv Seite 3

16 Bew: Gegeben seien zwei anfangs identische Listen L und L MF, wobei L durch einen beliebigen deterministischen lgorithmus und L MF von MF verwaltet wird Beide lgorithmen arbeiten dann dieselbe Sequenz s mit m Zugriffsoperationen ab Nach der usführung jeder weiteren Operation sind die beiden Listen im llgemeinen verschieden Dieses Paar von Listen charakterisiert den jeweils erreichten Bearbeitungszustand Um den Beweis zu führen, arbeiten wir mit einer Potentialfunktion wie sie vorhin 52 eingeführt wurde Dazu müssen wir einem Paar von Listen ein Potential zuordnen: Sei ( ) bal L, L :=nzahl der Inversionen von Elementen von L bezüglich L 2 2 wobei ein Paar i, j von Elementen eine Inversion in L 2 bezüglich L heißt, wenn i in L 2 vor j und i in L nach j auftritt ls Beispiel seien folgende Listen gegeben: L = 5, 4, 3, 2 und L 2 = 3, 4, 2, 5 Dann steht 3 vor 4, 3 vor 5, 4 vor 5 und 2 vor 5 in L 2, aber in L jeweils danach Somit ist bal( L L ), = 2 4 Zu einem Paar von Listen können wir immer durch Umbenennen der Elemente ein anderes Paar bilden, das die gleiche nzahl von Inversionen aufweist Insbesondere können wir dabei L immer in eine Liste der Gestalt 2,, 3,, N bringen Für das eben gegebene Beispiel also: L = 5, 2 4, 3 3, 4 2 und = 3 2 4,,, mit bal( L, L ) bal( L, L ) L = 2 2 Seite 4

17 Vor usführung der l -ten Zugriffsoperation sei der Bearbeitungsstand durch die Listen L und L MF gegeben Wie oben gezeigt können wir ohne Beschränkung der llgemeinheit annehmen, daß L eine Liste der Gestalt, 2, 3,, N ist Die l -te Operation fordert nun das Element i an und damit auch das i -te Element in L In der Liste L MF stehe dieses Element an der Position k Das Potential vor der usführung der Operation sei bal( L L ), Sei x i die nzahl der Elemente, die i in L MF vorangehen und i in L folgen Jedes dieser Elemente ist an einer Inversion beteiligt und trägt zu dem Wert von bal( L L ) vorangehen, MF bei Dann folgt, daß k x i die nzahl der Elemente ist, die i in L MF und in L MF nschaulich ergibt sich folgende Situation: L : 2 i x i L MF : i x i k N Seite 5

18 Der Zugriff auf i in L MF kostet dann tl = k MF zieht dann i an den Listenanfang vor, wodurch die neue Liste L MF entsteht Dadurch wird die nzahl der Inversionen um x i verringert und um k erhöht x i Der Zugriff auf i in L ohne Vertauschungen kostet i führt anschließend F ( i ) kostenfreie und ( i) zahlungspflichtige Vertauschungen durch, wodurch die neue Liste L entsteht X Führt kostenfreie Vertauschungen durch, so verringert sich die nzahl der Inversionen pro Vertauschung um Insgesamt können höchstens i viele kostenfreie Vertauschungen durchgeführt werden Für jede zahlungspflichtige Vertauschung gilt entsprechend, daß die nzahl der Inversionen pro Vertauschung um erhöht wird Insgesamt ergibt sich dadurch: (, ) = (, ) + ( ) F ( ) + X ( ) bal L L bal L L x k x i i MF MF i i Daraus folgen die amortisierten Kosten a l für die l -te Zugriffsoperation auf das Element i mit MF im Vergleich zu : (, ) (, ) i ( i ) F ( ) X ( ) ( k x ) F ( i) X ( i) a = t + bal L L bal L L l l MF MF = k x + k x i + i = 2 + i Seite 6

19 Da k die nzahl der Elemente ist, die i in L MF und in L vorangehen, können dies höchstens i viele x i sein Daraus folgt, daß k x i ist und damit: a i ( i) ( i) l 2 F + X i Da i die Kosten ohne Vertauschungen nach der Regel sind, folgt für die gesamte Sequenz s mit m Zugriffen: m a ( s) m ( s) ( s) l 2 Cost F + X l= Die Potentialfunktion ist anfangs gleich 0 und wird nie negativ Nach usführung der gesamten Sequenz s ergeben sich die Listen L und L MF Daraus folgt die bschätzung: ( ) Cost s a + bal( L, L ) bal( L, L ) MF m l= l MF ( ) ( ) ( ) 2 Cost s + X s F s m MF Weiterhin halten wir fest, daß F ( s) Cost ( s) m gilt, weil nach dem Zugriff auf das i -te Element dieses höchstens mit allen ( i ) vorangehenden Elementen kostenfrei vertauscht werden kann Damit ist gezeigt, daß der additive Term des Satzes größer oder gleich 0 sein muß und damit der Definition des Kompetitivitätsfaktors genügt Seite 7

20 Satz 22: Für jede Konstante c gilt: T ist nicht c-kompetitiv Bew: Wir beweisen die ussage durch die Konstruktion eines Gegenbeispiels: = 2 n n Für T sei eine Liste L x x x x L gegeben und die folgende Sequenz von Zugriffen: ( x x ) + n n Es ist sofort klar, daß T für diese Sequenz nicht kompetitiv ist, weil bei jedem Zugriff die Kosten n entstehen und c nicht nach oben begrenzt werden kann nmerkung uch für FC und DF kann man durch Konstruktion entsprechender Gegenbeispiele zeigen, daß diese nicht c-kompetitiv sind Seite 8

21 3 Paging Es soll ein Speicher verwaltet werden, der aus zwei Teilen besteht und Speicherseiten fester einheitlicher Größe (engl pages) aufnehmen kann Ein Teil ist der schnellere Speicher, genannt Cache, der n Seiten groß ist Der andere Teil kann beliebig viele Seiten umfassen und ist i größer als der Cache Jeder Zugriff auf den Speicher fordert eine Seite darin an Wenn eine Seite angefordert wird, die nicht im Cache liegt, so wird diese dort hinein kopiert Wir bezeichnen dies als einen Seitenfehler Ist dabei der Cache schon vollständig mit n Seiten belegt, so muß eine Seite daraus ausgewählt werden, die entfernt und durch die aktuell angeforderte Seite ersetzt wird Seite 9

22 3 Kostenmodell Wir definieren folgende Kosten: Ein Zugriff auf eine Seite im Cache kostet nichts Die nforderung einer Seite aus dem anderen Teil des Speichers kostet Seitenfehler 32 Paging-lgorithmen Die ufgabe ist, die nzahl der Seitenfehler (und damit die Gesamtkosten) für eine Sequenz von Seitenzugriffen zu minimieren Hier ein paar allgemein bekannte lgorithmen: Least-recently-used (LRU): Ersetze die Seite, deren letzter Zugriff am längsten her ist First-in, first-out (FIFO): Ersetze die Seite, die am längsten im Cache ist Last-in, first-out (LIFO): Ersetze die Seite, die als letzte in den Cache kopiert wurde Least-frequently-used (LFU): Ersetze die Seite, auf die am wenigsten zugegriffen wurde Longest-forward-distance (): Ersetze die Seite, deren nächster Zugriff am weitesten in der Zukunft liegt (optimaler Offline-lgorithmus) Seite 20

23 33 mortisierte nalyse Satz 3: Sei ein beliebiger deterministischer Online-lgorithmus Dann existieren beliebig lange Sequenzen s, so daß gilt: n F ( ) F ( ) s s n n + F ( s ) ist die nzahl der Seitenfehler von für s F ( s ) ist die nzahl der Seitenfehler von für s n ist die nzahl von Seiten, die insgesamt im Cache halten kann n ist die Größe von s Cache in Seiten Dabei soll gelten: n n Seite 2

24 Bew: Wir definieren eine Sequenz mit n Zugriffen, bei denen genau n Seitenfehler erzeugt, wohingegen nur n n Die ersten n + Seitenfehler macht: n + Zugriffe erfolgen auf Seiten, die weder in s noch in s Cache liegen Sei S die Menge der n + Seiten, die entweder schon vor diesen Zugriffen in s Cache lagen oder durch diese Zugriffe in s Cache aufgenommen wurden Die nächsten n Zugriffe erfolgen jeweils auf eine Seite aus S, die gerade nicht in s Cache ist uf diesen insgesamt n Zugriffen erzeugt immer einen Seitenfehler behält aber die Seiten für die letzten n Zugriffe im Cache, so daß er insgesamt nur n Seitenfehler erzeugt Diese Konstruktion kann dann beliebig oft wiederholt werden, womit der Satz folgt n + Korollar 32: Für den Kompetitivitätsfaktor bei beliebigen deterministische Online-lgorithmen gilt: c n Bew: Wir setzen in Satz 3 n = n Dann ist F ( s) n F ( s) Seite 22

25 Satz 33: Wenn der Inhalt der Caches von LRU und anfangs identisch ist, dann gilt für beliebig lange Sequenzen s : F LRU nlru ( s) F ( ) s n n + LRU F LRU ( s ) ist die nzahl der Seitenfehler von LRU für s n LRU ist die Größe von LRU s Cache F ( s ) ist die nzahl der Seitenfehler von für s n ist die Größe von s Cache Dabei soll gelten: n LRU n Seite 23

26 Bew: Gegeben sei eine Zugriffsfolge s Nach dem ersten Zugriff enthalten die Caches von LRU und mindestens eine gleiche Seite (nämlich gerade die soeben angeforderte) Sei t eine Untersequenz von s, die den ersten Zugriff nicht enthält und für die LRU f p die Seite, die direkt vor t angefordert wurde Wenn LRU während t für eine Seite q n LRU Seitenfehler erzeugt Sei p zwei Seitenfehler erzeugt, dann muß t mindestens n LRU + verschiedene Seitenanforderungen enthalten Dies gilt auch, wenn LRU während t einen Seitenfehler für p erzeugt Falls keiner dieser beiden Fälle eintritt, dann wurden die von LRU während t erzeugten Seitenfehler durch nforderung von mindestens f verschiedenen Seiten erzeugt, von denen keine die Seite p war In jedem Fall solange f n LRU ist, muß aber auf t mindestens f n + Seitenfehler erzeugen Nun zerlegen wir s in Teilfolgen s 0, s,, s k auf denen LRU jeweils genau n LRU Seitenfehler erzeugt us den Überlegungen für die Teilfolge t folgt, daß dann jeweils mindestens n Deshalb ist für jede Teilfolge s 0, s,, s k das Verhältnis von Seitenfehlern durch LRU zu Seitenfehlern von höchstens n LRU LRU n + Seitenfehler erzeugt nlru n + nmerkung Man kann zeigen, daß dieser Satz entsprechend auch für FIFO gilt Seite 24

27 Korollar 34: LRU ist ein optimaler deterministischer lgorithmus für das Paging-Problem nlru Bew: us den Sätzen 3 und 33 folgt sofort: F ( ) F ( ) LRU s = s n n + LRU Wie in Korollar 32 können wir hier n LRU = n setzen Dann ist F ( s) = n F ( s) LRU LRU Satz 35: Für jede Konstante c gilt: LIFO ist nicht c-kompetitiv Bew: Wir beweisen die ussage wieder durch die Konstruktion eines Gegenbeispiels: Für LIFO sei eine Sequenz von n LIFO verschiedenen Seitenanforderungen gegeben Dann fordern wir immer abwechselnd zwei Seiten an, auf die vorher noch nicht zugegriffen wurde Es ist sofort klar, daß LIFO für diese Sequenz nicht kompetitiv ist, weil bei jedem Zugriff ein Seitenfehler entsteht und c nicht nach oben begrenzt werden kann nmerkung uch für LFU kann man durch Konstruktion entsprechender Gegenbeispiele zeigen, daß dieser nicht c-kompetitiv ist Seite 25

(27 - Selbstanordnende lineare Listen)

(27 - Selbstanordnende lineare Listen) Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 - Selbstanordnende lineare Listen) Prof. Dr. Susanne Albers Problemstellung Gegeben sei eine Menge von Objekten (Schlüsseln), auf die mit zeitlich

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 24.01.2013 Online Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 12

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 12 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 8. März

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 8 Amortisierte Laufzeitanalysen Version vom 6. Dezember 2016 1 / 40 Vorlesung 6.

Mehr

Das Ski Problem. Das Ski Problem 1 / 38

Das Ski Problem. Das Ski Problem 1 / 38 Das Ski Problem Wir fahren in den Skiurlaub und sind vor die Entscheidung gestellt,? jeden Tag Skier für 1 Euro pro Tag zu leihen oder? für K Euro Skier zu kaufen. Leider wissen wir nicht, wie lange die

Mehr

6. Sich selbst organisierende Datenstrukturen

6. Sich selbst organisierende Datenstrukturen 6. Sich selbst organisierende Datenstrukturen 6.1 Motivation einfach, wenig Verwaltungsoverhead effizient im amortisierten Sinn EADS 6.1 Motivation 201/598 6.2 Sich selbst organisierende lineare Listen

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (16 Dynamische Tabellen) Prof. Dr. Susanne Albers Dynamische Tabellen Problem: Verwaltung einer Tabelle unter den Operationen Einfügen und Entfernen,

Mehr

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle

Mehr

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen.

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen. Linken von Bäumen: Zwei Bäume desselben Wurzel-Rangs werden unter Einhaltung der Heap-Bedingung verbunden. Sind k 1 und k 2 die Wurzeln der zwei zu linkenden Bäume, so wird ein neuer Baum aufgebaut, dessen

Mehr

Algorithm Engineering. Amortisierung. Stefan Edelkamp

Algorithm Engineering. Amortisierung. Stefan Edelkamp Algorithm Engineering Amortisierung Stefan Edelkamp Analyse von Algorithmen Best Case Worst Case Average Case Amortisierte Worst Case Was sind die durchschnittlichen Kosten einer schlechtest möglichen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Algorithmen und Datenstrukturen Teil 3 Suchen in Listen Version vom: 15. November 2016

Mehr

Amortisierte Analyse

Amortisierte Analyse Amortisierte Analyse Amortisierung Betrachte eine Folge a 1, a 2,..., a n von n Operation auf Datenstruktur D T i = Ausführungszeit von a i T = T 1 + T 2 +... + T n, Gesamtlaufzeit Oft kann die Laufzeit

Mehr

Einführung in Online-Algorithmen

Einführung in Online-Algorithmen Einführung in Online-Algorithmen Skript zur Vorlesung Effiziente Algorithmen von Berthold Vöcking, RWTH Aachen 1. Juni 2007 Hilfreiche Literatur Borodin, El-Yaniv: Online Computation and Competitive Analysis,

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 11. Randomisierte Online-Algorithmen am Beispiel des Seitenwechselproblems Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie

Mehr

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR #7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte

Mehr

Skript zur Vorlesung. Online-Algorithmen. Prof. Dr. Heiko Röglin. Institut für Informatik

Skript zur Vorlesung. Online-Algorithmen. Prof. Dr. Heiko Röglin. Institut für Informatik Skript zur Vorlesung Online-Algorithmen Prof. Dr. Heiko Röglin Institut für Informatik 9. Juli 2015 Vorwort Dieses Skript ist als Begleitmaterial für die Vorlesung Online-Algorithmen an der Universität

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 26. März

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (Swapping und Paging) Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente

Mehr

Amortisierte Analysen

Amortisierte Analysen Amortisierte Analysen 26. Mai 2016 1 Einleitung Es gibt viele Datenstrukturen, bei deren Komplexitätsanalyse das Problem auftaucht, dass die Ausführung mancher Operationen Einfluss auf die Komplexität

Mehr

Amortisierte Analyse. C. Komusiewicz 6.1 Amortisierte Analyse: Motivation 105

Amortisierte Analyse. C. Komusiewicz 6.1 Amortisierte Analyse: Motivation 105 Amortisierte Analyse C. Komusiewicz 6.1 Amortisierte Analyse: Motivation 105 C. Komusiewicz 6.1 Amortisierte Analyse: Motivation 106 Amortisierte Analyse Beobachtung: Bei Datenstrukturen ist Worst-Case-Analyse

Mehr

Algorithmische Intelligenz. Amortisierung. Stefan Edelkamp

Algorithmische Intelligenz. Amortisierung. Stefan Edelkamp Algorithmische Intelligenz Amortisierung Stefan Edelkamp Analyse von Algorithmen Best Case Worst Case Average Case Amortisierte Worst Case Was sind die durchschnittlichen Kosten einer schlechtest möglichen

Mehr

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr

Effiziente Algorithmen und Komplexitätstheorie

Effiziente Algorithmen und Komplexitätstheorie 1 Effiziente lgorithmen und Komplexitätstheorie Vorlesung Thomas Jansen 29.06.2006 2 Burrows-Wheeler-Kompression: Verbesserungen dreischrittiges Kompressionsverfahren Burrows- Wheeler- Transformation Globale

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Suchen und Amortisierte Analyse Heute: Suchen / Schreibtischtest Amortisierte Analyse Nächste

Mehr

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer Institut für Informatik Georges-Köhler-Allee Albert-Ludwigs-Universität Freiburg

Mehr

k-server-algorithmen Alexander Leider 4. Februar 2007

k-server-algorithmen Alexander Leider 4. Februar 2007 k-server-algorithmen Alexander Leider 4. Februar 2007 1 INHALTSVERZEICHNIS 2 Inhaltsverzeichnis 1 Einleitung 3 1.1 Online-Algorithmen....................... 3 1.2 Kompetitive Algorithmen....................

Mehr

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

Mehr

Algorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16

Algorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Departement Informatik 24. November 2016 Markus

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (25 Sortieren vorsortierter Daten)

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (25 Sortieren vorsortierter Daten) Vorlesung Informatik 2 Algorithmen und Datenstrukturen (25 Sortieren vorsortierter Daten) 1 Untere Schranke für allgemeine Sortierverfahren Satz Zum Sortieren einer Folge von n Schlüsseln mit einem allgemeinen

Mehr

(Cache-Schreibstrategien)

(Cache-Schreibstrategien) Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 202/3 24. Vorlesung Amortisierte Analyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Hash-Tabellen Frage: Ziel: Problem: Lösung: Wie groß macht man

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln. 4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst

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

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden? Sommersemester 009 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 05 Abgabe am 0.07.009 (Kästen D) Aufgabe : Speicherzuteilung (6++=8 Punkte) Es sei der

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

ContainerDatenstrukturen. Große Übung 4

ContainerDatenstrukturen. Große Übung 4 ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne

Mehr

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 21. Januar 2016 Definition 8.1 Eine Menge R zusammen mit zwei binären Operationen

Mehr

Lineare Kongruenzgeneratoren und Quicksort

Lineare Kongruenzgeneratoren und Quicksort Seminar Perlen der theoretischen Informatik Dozenten: Prof. Johannes Köbler und Olaf Beyersdorff Lineare Kongruenzgeneratoren und Quicksort Ausarbeitung zum Vortrag Mia Viktoria Meyer 12. November 2002

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem 20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte

Mehr

Spezialvorlesung Online-Algorithmen. Matthias Westermann Berthold Vöcking Christian Sohler

Spezialvorlesung Online-Algorithmen. Matthias Westermann Berthold Vöcking Christian Sohler Spezialvorlesung Online-Algorithmen Matthias Westermann Berthold Vöcking Christian Sohler Sommersemester 2005 Inhaltsverzeichnis 1 Einleitung 3 1.1 Grundbegriffe.............................. 4 1.2 Amortisierte

Mehr

Informatik II Skip-Lists & selbstorganisierende Listen (als Bsp. für randomisierte Algos und selbstorganisierende Datenstrukturen)

Informatik II Skip-Lists & selbstorganisierende Listen (als Bsp. für randomisierte Algos und selbstorganisierende Datenstrukturen) lausthal Informatik II Skip-Lists & selbstorganisierende Listen (als Bsp. für randomisierte Algos und selbstorganisierende Datenstrukturen). Zachmann lausthal University, ermany zach@in.tu-clausthal.de

Mehr

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

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

Mehr

Amortisierte Laufzeitanalyse

Amortisierte Laufzeitanalyse Paris-Lodron Universität Salzburg 24 Januar, 2014 Inhaltsverzeichnis 1 Einführung Definition Beispiel:Stapeloperationen Beispiel: Binärzähler (1/2) Beispiel: Binärzähler (2/2) 2 Analyse der Stack mittels

Mehr

Konvergenz, Filter und der Satz von Tychonoff

Konvergenz, Filter und der Satz von Tychonoff Abschnitt 4 Konvergenz, Filter und der Satz von Tychonoff In metrischen Räumen kann man topologische Begriffe wie Stetigkeit, Abschluss, Kompaktheit auch mit Hilfe von Konvergenz von Folgen charakterisieren.

Mehr

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. (a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

7 Weitere Baumstrukturen und Heapstrukturen

7 Weitere Baumstrukturen und Heapstrukturen 7 Weitere Baumstrukturen und Heapstrukturen Man kann kurze Suchzeiten in Baumstrukturen erreichen durch Rebalancierung bei Einfügungen und Löschungen (AVL Bäume, gewichtsbalancierte Bäume, Bruderbäume,

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener Seminar: Randomisierte Algorithmen Auswerten von Sielbäumen Nele Küsener In diesem Vortrag wird die Laufzeit von Las-Vegas-Algorithmen analysiert. Das Ergebnis ist eine obere und eine untere Schranke für

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen

Mehr

Geometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem

Geometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem Geometrische Algorithmen Einige einfache Definitionen: Punkt: im n-dimensionalen Raum ist ein n-tupel (n Koordinaten) Gerade: definiert durch zwei beliebige Punkte auf ihr Strecke: definiert durch ihre

Mehr

10. Übungsblatt zu Algorithmen I im SoSe 2016

10. Übungsblatt zu Algorithmen I im SoSe 2016 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. r. ennis ofheinz Lukas arth, Lisa Kohl 0. Übungsblatt zu lgorithmen I im SoSe 0 https://crypto.iti.kit.edu/index.php?id=algo-sose

Mehr

b liegt zwischen a und c.

b liegt zwischen a und c. 2 DIE ANORDNUNGSAXIOME 5 (2.4) a, b, c R : (a < b 0 < c) ac < bc Monotoniegesetz der Multiplikation Bezeichnungen a > b : b < a (> wird gelesen: größer als ) a b : a < b oder a = b a b : a > b oder a =

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

2.3 Prozessverwaltung

2.3 Prozessverwaltung Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären

Mehr

Konstruktion der reellen Zahlen

Konstruktion der reellen Zahlen Konstruktion der reellen Zahlen Zur Wiederholung: Eine Menge K (mit mindestens zwei Elementen) heißt Körper, wenn für beliebige Elemente x, y K eindeutig eine Summe x+y K und ein Produkt x y K definiert

Mehr

IR Seminar SoSe 2012 Martin Leinberger

IR Seminar SoSe 2012 Martin Leinberger IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite

Mehr

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9 Chr.Nelius: Zahlentheorie (SS 2007) 9 4. ggt und kgv (4.1) DEF: Eine ganze Zahl g heißt größter gemeinsamer Teiler (ggt) zweier ganzer Zahlen a und b, wenn gilt: GGT 0 ) g 0 GGT 1 ) g a und g b GGT 2 )

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

technische universität dortmund Dortmund, im Dezember 2011 Fakultät für Mathematik Prof. Dr. H. M. Möller

technische universität dortmund Dortmund, im Dezember 2011 Fakultät für Mathematik Prof. Dr. H. M. Möller technische universität dortmund Dortmund, im Dezember 2011 Fakultät für Mathematik Prof. Dr. H. M. Möller Lineare Algebra für Lehramt Gymnasien und Berufskolleg Zusammenfassung der Abschnitte 4.3 und 4.4

Mehr

Analysis 1, Woche 2. Reelle Zahlen. 2.1 Anordnung. Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität).

Analysis 1, Woche 2. Reelle Zahlen. 2.1 Anordnung. Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität). Analysis 1, Woche 2 Reelle Zahlen 2.1 Anordnung Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität). 2. Für jeden a, b K mit a b und b a gilt a = b (Antisymmetrie).

Mehr

2 Teilbarkeit in Z. (a) Aus a b folgt a b und a b und a b und a b. (b) Aus a b und b c folgt a c.

2 Teilbarkeit in Z. (a) Aus a b folgt a b und a b und a b und a b. (b) Aus a b und b c folgt a c. 2 Teilbarkeit in Z Bis auf weiteres stehen kleine Buchstaben für ganze Zahlen. Teilbarkeit. Sei a 0. Eine Zahl b heißt durch a teilbar, wenn es ein q gibt mit b = qa. Wir sagen dann auch: a teilt b (ist

Mehr

Finanzmathematik I Lösungvorschläge für Übungsblatt 1

Finanzmathematik I Lösungvorschläge für Übungsblatt 1 Finanzmathematik I Lösungvorschläge für Übungsblatt 1 J. Widenmann ufgabe 1: Zu zeigen ist, dass Q die Definition Ü.1.1.2 erfüllt. Zunächst bemerken wir, dass Q wegen der nnahme f 0 Werte in R + annimmt.

Mehr

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 13 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

F B. Abbildung 2.1: Dreieck mit Transversalen

F B. Abbildung 2.1: Dreieck mit Transversalen 2 DS DREIECK 16 2 Das Dreieck 2.1 Ein einheitliches Beweisprinzip Def. Eine Gerade, die jede Trägergerade der Seiten eines Dreiecks (in genau einem Punkt) schneidet, heißt Transversale des Dreiecks. Eine

Mehr

Algorithmische Geometrie: Schnittpunkte von Strecken

Algorithmische Geometrie: Schnittpunkte von Strecken Algorithmische Geometrie: Schnittpunkte von Strecken Nico Düvelmeyer WS 2009/2010, 3.11.2009 3 Phasen im Algorithmenentwurf 1. Konzentration auf das Hauptproblem 2. Verallgemeinerung auf entartete Eingaben

Mehr

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2015 Marc Bux, Humboldt-Universität zu Berlin Agenda Schreibtischtest zu Suchverfahren Amortisierte Analyse Max-Heaps und HeapSort 2 Agenda Schreibtischtest

Mehr

Mathematische Probleme, SS 2013 Montag $Id: dreieck.tex,v /04/22 20:37:01 hk Exp hk $

Mathematische Probleme, SS 2013 Montag $Id: dreieck.tex,v /04/22 20:37:01 hk Exp hk $ $Id: dreieck.tex,v 1.7 013/04/ 0:37:01 hk Exp hk $ 1 Dreiecke 1.5 Einige spezielle Punkte im Dreieck In der letzten Sitzung hatten wir den sogenannten Inkreis eines Dreiecks eingeführt, dies ist der Kreis

Mehr

Chr.Nelius: Zahlentheorie (WS 2006/07) ggt und kgv

Chr.Nelius: Zahlentheorie (WS 2006/07) ggt und kgv ChrNelius: Zahlentheorie (WS 2006/07) 8 3 ggt und kgv Wir erinnern uns hoffentlich an die folgenden Definitionen des ggt s und des kgv s zweier ganzer Zahlen (31) DEF: Eine ganze Zahl g heißt größter gemeinsamer

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

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

Mathematische Probleme, SS 2015 Montag $Id: dreieck.tex,v /04/27 13:26:30 hk Exp $

Mathematische Probleme, SS 2015 Montag $Id: dreieck.tex,v /04/27 13:26:30 hk Exp $ $Id: dreieck.tex,v 1.17 2015/04/27 13:26:30 hk Exp $ 1 Dreiecke 1.5 Einige spezielle Punkte im Dreieck m Ende der letzten Sitzung hatten wir eingesehen das die drei Mittelsenkrechten eines Dreiecks = sich

Mehr

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort. Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe 1 (Güte von Hashfunktionen): Untersuchen Sie, inwiefern sich die folgenden Funktionen

Mehr

r i w i (siehe (3.7)). r i v, w i = 0.

r i w i (siehe (3.7)). r i v, w i = 0. Orthogonales Komplement und Orthogonalprojektion Wir betrachten weiterhin einen euklidischen Vektorraum V,,. (6.13) Def.: Ist M V, so heißt das orthogonale Komplement von M. (6.14) Fakt. (i) M ist Untervektorraum

Mehr

Logische Datenstrukturen

Logische Datenstrukturen Lineare Listen Stapel, Warteschlangen Binärbäume Seite 1 Lineare Liste Begriffe first Funktion: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel Begriffe: first - Anker, Wurzel; Adresse

Mehr

ALP II Dynamische Datenmengen Datenabstraktion

ALP II Dynamische Datenmengen Datenabstraktion ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen

Mehr

Automaten und Coinduktion

Automaten und Coinduktion Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und

Mehr

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

Cauchy-Folgen und Kompaktheit. 1 Cauchy-Folgen und Beschränktheit

Cauchy-Folgen und Kompaktheit. 1 Cauchy-Folgen und Beschränktheit Vortrag zum Seminar zur Analysis, 10.05.2010 Michael Engeländer, Jonathan Fell Dieser Vortrag stellt als erstes einige Sätze zu Cauchy-Folgen auf allgemeinen metrischen Räumen vor. Speziell wird auch das

Mehr

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

6 Permutationen. Beispiele: a) f : R R, f(x) = x 2. b) f : R R, f(x) = e x. c) f : R 2 R, x (Projektion auf die x Achse) y

6 Permutationen. Beispiele: a) f : R R, f(x) = x 2. b) f : R R, f(x) = e x. c) f : R 2 R, x (Projektion auf die x Achse) y 6 Permutationen Seien und B Mengen. Eine bbildung von nach B ist eine Vorschrift f, die jedem Element x ein eindeutig bestimmtes Element y = f(x) B zuordnet. Schreibe f : B, x f(x) Beispiele: a) f : R

Mehr

Mathematik I. Vorlesung 14. Rang von Matrizen

Mathematik I. Vorlesung 14. Rang von Matrizen Prof Dr H Brenner Osnabrück WS 2009/2010 Mathematik I Vorlesung 14 Rang von Matrizen Definition 141 Es sei K ein Körper und sei M eine m n-matrix über K Dann nennt man die Dimension des von den Spalten

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Die Ungarische Methode für das Assignmentproblem

Die Ungarische Methode für das Assignmentproblem Die Ungarische Methode für das Assignmentproblem Seminar: Kombinatorische Optimierung SS08, Christof Schulz 11.07.2008 Hauptquellen: The Hungarian Method for the Assignment Problem von H.W. Kuhn (1955)

Mehr

1. EINFÜHRUNG INS STATE-PRICING 1

1. EINFÜHRUNG INS STATE-PRICING 1 1. EINFÜHRUNG INS STATE-PRICING 1 1. Einführung ins State-Pricing In diesem Kapitel betrachten wir eine Periode. Das heisst, wir können nur zu den Zeitpunkten 0 und 1 handeln. Im weiteren arbeiten wir

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { } Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird

Mehr

, v 3 = und v 4 =, v 2 = V 1 = { c v 1 c R }.

, v 3 = und v 4 =, v 2 = V 1 = { c v 1 c R }. 154 e Gegeben sind die Vektoren v 1 = ( 10 1, v = ( 10 1. Sei V 1 = v 1 der von v 1 aufgespannte Vektorraum in R 3. 1 Dann besteht V 1 aus allen Vielfachen von v 1, V 1 = { c v 1 c R }. ( 0 ( 01, v 3 =

Mehr

Vorlesung Mathematik I für Wirtschaftswissenschaftler. Universität Leipzig, WS 16/17

Vorlesung Mathematik I für Wirtschaftswissenschaftler. Universität Leipzig, WS 16/17 Vorlesung Mathematik I für Wirtschaftswissenschaftler Universität Leipzig, WS 16/17 Prof. Dr. Bernd Kirchheim Mathematisches Institut kirchheim@math.uni-leipzig.de 1 / 1 Kapitel 1: Grundlagen 4 / 1 Kap.1

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also

Mehr