Jenseits der reinen kompetitiven Analyse: Access Graphen

Größe: px
Ab Seite anzeigen:

Download "Jenseits der reinen kompetitiven Analyse: Access Graphen"

Transkript

1 Jenseits der reinen kompetitiven Analyse: Access Graphen Inhaltsangabe: 1. Einleitung 1.1. Online /Offline Algorithmus Kompetitive Analyse Paging Access Graphen Modell 2.1. Modellbeschreibung Zielsetzung Theoretische Berechenbarkeit Einheitlich kompetitver Algorithmen FiFo im Access Graph 3.1. k-phase Untere Schranke für Fifo Spezialfall: FiFo auf Knotenlinie LRU im Access Graph 4.1. Obere und untere Schranke für LRU Spezialfall: LRU auf Knotenlinie Vergleich: LRU gegen FiFo FAR im Access Graph 5.1 Obere und untere Schranke für Algorithmus FAR Algorithmus FAR: einheitlich kompetitver Algorithmus Zusammenfassung und Ausblick 6.1. FiFo, LRU, FAR Dynamischer Access Graph Algorithmus FARL Fazit

2 1. Einleitung 1.1. Online / Offline Algorithmen: Ein Offline Algorithmus kennt zu beginn alle relevanten Daten und kann diese nutzen. Im Gegensatz dazu erfolgt bei einem Online Algorithmus die Dateneingabe portionsweise. Das heißt der Online Algorithmus muss die portionsweisen Eingaben verarbeiten, ohne dass er die zukünftigen Eingaben (z.b.: Operationen / Anfragen kennt. Dies spiegelt die Probleme aus unserem täglichen Leben wieder. Z.B.: 1. Die Bewegungsplanung bei unvollständigen Informationen: Ein Roboter, der sich auf unbekannten Terrain vorwärts bewegt, muss auf ein Hindernis z.b. einem Ball der durch den Raum rollt reagieren, ohne dass er weiß, dass er als nächstes einem Menschen ausweichen muss. 2. Die Spekulation mit Aktien: Ein Aktionär weiß nicht wie sich der weitere Aktienkurs entwickeln wird und kann nur auf den soeben gefallenen oder gestiegen Aktienkurs mit kaufen oder verkaufen reagieren. 3. Das Routing im Internet: Die Suchmaschine kann immer nur die aktuell gestellte Anfrage berücksichtigen, ohne Kenntnisse darüber was der Benutzer als nächstes eingeben wird Kompetitive Analyse Eine Möglichkeit Online Algorithmen zu vergleichen ist die reine kompetitive Analyse. Aus der wir einige Begriffe benötigen, die wie folgt definiert sind: Definiton: (c-kompetitiv Sei ALG ein Online-Algorithmus. Wir nennen ALG c-kompetitiv, wenn es eine Konstante α gibt, s.d.: ALG ( I c OPT ( I + α endlichen Eingabesequenzen I Definition: (Kompetitive Komplexität von ALG Sei ALG ein Online-Algorithmus. Die kompetitive Komplexität von ALG ist das Infimum über alle c, s.d. ALG noch c-kompetitiv ist Paging (Caching Seitenaustausch Ein typisches fundamentales und praktisch wichtiges Online Problem in der Informatik ist das Paging-Problem. Es behandelt das Austauschen von Seiten zwischen schnellem (Kernspeicher / Cache und langsamen Speicher (Hintergrundspeicher / Festplatte. Sei z.b. k der Cache, der für k Seiten Platz hat und N der langsame Speicher, der N Seiten speichern kann, wobei klar ist dass N > k ist. Die N Seiten im langsamen Speicher repräsentieren den virtuellen Speicher. 2

3 Ein Paging-Algorithmus muss eine Anfragesequenz an den virtuellen Speicher bedienen. Unser Kostenmodell hierfür sieht wie folgt aus: Wird eine Seite x angefragt und ist die angefragt Seite im Cache, dann gibt es einen Treffer ( HIT und es entstehen keine Kosten. Ist die Seite nicht im Cache, gibt es einen Seitenfehler. Bei einem Seitenfehler (Miss lädt man die Seite x in den Cache, was Kosten verursacht. Bei diesem Vorgang muss der Algorithmus entscheiden, welche der k Seiten, die momentan im Cache sind er in den langsamen Speicher verdrängen will bzw. welche Seite er am sinnvollsten verdrängt im Bezug auf die zukünftigen Anfragen (die ein Online Algorithmus aber nicht kennt. Dabei sind verschiedene Strategien möglich: 1. Offline Strategie : (setzt Kenntnis der zukünftigen Anfragen voraus - LFD: (Longest- forward- distance Ersetze diejenige Seite, deren nächste Anfrage am weitesten in der Zukunft liegt. 2. Online Strategien : (unabhängig von zukünftigen Anfragen - LRU: (least- recently- used Ersetze diejenige Seite, deren letzte Anfrage am längsten zurückliegt. - FIFO: (First- in First- out Ersetze diejenige Seite, die sich am längsten im Cache befindet. - LIFO: (Last- in- first- out Ersetze diejenige Seite, die als letzte in den Cache geladen worden ist - LFU: (Least- frequently used Ersetze diejenige Seite, die, seitdem sie sich im Cache befindet, am wenigsten angefragt worden ist. - FWF: (Flush- when- Full Wenn ein Seitenfehler entsteht und der Cache voll ist leere Cache vollständig und lade Seite in den leeren Cache. Diese Strategien sind unterschiedlich vielversprechend. Wir brauchen also einen Faktor, um diese zu vergleichen. Man kann beweisen: FIFO, LRU, FWF sind k- kompetitiv und daher optimal in der reinen kompetitiven Analyse, was aber im Gegensatz zu dem steht, was man in der Praxis beobachten kann (Abb.1. 3

4 FWF ist in der Praxis ein relativ schlechter Algorithmus, obwohl die reine kompetitive Analyse sagt, dass FWF nicht schlechter als FIFO und LRU ist. Jedoch ist in der Praxis LRU wesentlich besser als FIFO und FWF. Das wirft die Frage auf: Wie kommt es zu dieser Differenz zwischen Praxis und Theorie? Abb. 1: entstanden aus empirische Forschungen Quelle: Young Um nun die Theorie der Praxis näher zu bringen führt die Theorie das Access Graphen Modell ein. 2.Access Graphen Modell 2.1. Modellbeschreibung : Definitionen und Zielsetzung Definition: (Access Graph Abb. 2: Access Graphen Sei G = ( V, E ein gerichteter oder ungerichteter N-Knoten- Graph (Abb.2, wobei die Knotenmenge die Seiten im langsamen Speicher und die Kanten die erlaubten Folgeanfragen darstellen.wir nennen G einen Access Graphen, wenn wir G zum spezifizieren von erlaubten Seitenanfragen benutzen können. Dies modelliert im Access Graphen Modell die Lokalität von Referenzen. Definition: (konsistente Anfragesequenz Die Anfragesequenz σ = r 1 r 2...r n ist konsistent mit dem Access Graphen G, wenn ( r i, r i+1 E i mit ( 1 i < n. Definition: (c-kompetitiv für Graphen Sei G = ( V, E ein Access Graph und ALG ein Paging-Algorithmus. O. B. d. A. nehmen wir an, dass alle Access Graphen zusammenhängend sind und k die Größe des Caches ist. Wir nennen ALG c- kompetitiv genau dann, wenn es eine Konstante α gibt, s.d.: ALG ( σ c OPT ( σ + α σ konsistent mit G. 4

5 Definition: (Kompetitiver Faktor eines Algorithmus Der kompetitiver Faktor von ALG auf G, i. Z.: R(ALG,G ist das Infimum über alle c, so dass ALG auf G c- kompetitiv ist. Definition: (Kompetitiver Faktor für einen Access Graphen G Wir definieren uns: R(G : = min ALG R(ALG,G Wenn nun für ein gegebenes G und für jedes k gilt: R(ALG,G = R(G, dann bezeichnen wir ALG als optimal Zielsetzung Wir suchen in den folgenden Abschnitten Algorithmen, die für bestimmte Access Graphen G eine deutlich bessere Kompetitivität als k erreichen. Dabei werden zusammenhängende, aber keine vollständigen Access Graphen betrachtet, da wir sonst bei der reinen kompetitiven Analyse bleiben könnten, wo man nach jeder Seitenanfrage jede Seite anfragen darf, was einem vollständigen Access Graphen entsprechen würde. Zur Vereinfachung setzen wir dafür die Cachegröße des Offline Algorithmus gleich der des Online Algorithmus Theoretische Berechenbarkeit Die theoretische Berechenbarkeit ist durch das Theorem 1 gegeben, das wie folgt lautet: Theorem 1: Sei G ein beliebiger N-Knoten Access Graph. Es existiert ein berechenbarer deterministischer Online Algorithmus ALG, s.d.: Beweis (Skizze : R(ALG,G = R(G ist. Sobald wir eine obere Schranke für den optimalen kompetitiven Faktor haben, kommen wir mit einem Algorithmus der nur endlich viel Speicher braucht aus. Bei einem Paging Problem mit maximal P möglichen Cache-Konfigurationen ist, wenn man z.b. k Cache-Seiten und N Seiten langsamen Speicher hat, P ( N k N k. Wir nehmen an, dass es einen c-kompetitiven Algorithmus gäbe, der dieses Problem löst. Dann benötigt man maximal (3c+2 P Speicherzustände. Da k eine obere Schranke für jeden beliebigen Access Graphen ist, beschränken wir uns auf Algorithmen mit max (3k+2^N k Speicherzuständen und mit maximal T= (3k+2^N k x N k Speicherzustand-Cache- Konfigurationspaaren. Daher verursacht jede Anfragesequenz der Länge T einen Kreis in den Zustandkonfigurationspaaren. Der Gegenspieler muss also den schlechtesten kompetitiven Faktor mit 5

6 Sequenzen der Länge T herausfinden. Somit soll der gesuchte Algorithmus den maximalen Faktor ALG (σ / OPT (σ minimieren, wobei das Maximum über alle Anfragesequenzen der Länge T genommen wird Definition: (Einheitlich kompetitive Algorithmen Ein Algorithmus wird einheitlich kompetitiv genannt, wenn es Konstanten b 1 und b 2 gibt, so dass für jeden Access Graphen G (und jede Cache Größe k gilt: R(ALG,G b 1 R(G + b 2. D.h.: Für jeden beliebigen Access Graphen ist der Algorithmus bis auf einen konstanten Faktor so gut wie der optimale oder best erreichbare Algorithmus. Wir suchen einen effizienten einheitlich kompetitiven Algorithmus. Effizienz in dem Sinne, dass jede Online Entscheidung effizient berechnet werden kann mit Rücksicht auf Rechenzeit und Speicherbedarf. Nun wollen wir aber zunächst zwei bekannte Algorithmen aus der kompetitiven Analyse untersuchen. 3. FiFo im Access Graphen Modell Wir wissen, dass FiFo für Paging in der reinen kompetitiven Analyse k-kompetitiv ist und daher optimal (!. Jetzt wollen wir zeigen, im Einklang mit dem was man in der Praxis beobachten kann, dass FiFo die Lokalitäten der Referenzen nicht angemessen ausnutzt. Wobei die Lokalitäten der Referenzen im Access Graphen dadurch ausgedrückt wird, dass zwei benachbarte Seiten mit einer Kanten verbunden sind. Im folgenden untersuchen wir die Qualität vom Algorithmus FiFo, der eine relativ große untere Schranke für den kompetitiven Faktor hat. Dafür brauchen wir noch eine Definition Definition:(k-Phase Wir teilen die Anfragesequenz σ in Phasen ein. Phase null ist die leere Sequenz. Für jedes i 1 ist Phase i die längste Sequenz die Phase i-1 folgt und höchsten k verschiedene Seitenanfragen enthält Theorem 2.: (Untere Schranke für FiFo Für jeden beliebigen zusammenhängenden N-Knoten-Graph mit N > k gilt: R( FiFo, G ( k + 1 / 2. Um das Theorem zu beweisen, brauchen wir noch folgendes Lemma. Lemma: 6

7 Sei H G ein Teilgraph von G, daraus folgt R( FiFo, G R( Fifo, H. Beweis:(durch Widerspruch: Wir nehmen an, R( FiFo, G < R( Fifo, H. Wir wählen eine Anfragesequenz σ H auf H, für die die Komplexität von FiFo auf H maximal ist. FiFo hat laut Annahme angewandt auf σ H eine schlechtere Komplexität als FiFo angewandt auf jedes σ G auf G. Somit wäre FiFo(σ H > FiFo (σ G ein Widerspruch, da auch σ H auch konsistent zu G ist. Beweis(Theorem 2: Es ist ausreichend das Theorem für einen (k+1-knoten-teilgraph H von G zu beweisen. Abb. 3: Graph G mit Teilgraph H und Artikulationspunkt w Also ist zu zeigen, dass R( FiFo, H ( k + 1 / 2. Jeder verbundene Graph H hat mindestens einen Knoten w (Abb.3, der kein Artikulationspunkt ist. Ein Artikulationspunkt ist ein Punkt, dessen Entfernung den Graphen in mehrere Teilgraphen aufspalten würde. Jeder Knoten von H, der aktuell nicht im Cache ist, bezeichnen wir als Cache-Loch. Wir können davon ausgehen, dass es exakt ein Loch gibt, weil wir k + 1 Knoten in H haben und FiFo ein Demand-Paging ist, d.h. der Algorithmus verdrängt nur auf Anforderung. Beim Beginn jeder Phase ist w die zuletzt eingelagerte Seite im Cache und das Loch ist ein Knoten v 1, der benachbart zu w ist. Wir nehmen an v 1, v 2, sei die Folge der Löcher, die während einer Phase entstehen und damit Anfrageziele des Gegners sind. Angenommen das Loch sei ein Knoten v i w. Der Gegenspieler wird dann v i anfragen und FiFo wird, seiner Definition nach, den Knoten v i+1 verdrängen, wodurch das Cache-Loch zum Knoten v i+1 springt. Wenn nun i < k ist, dann ist v i+1 w. Der Gegenspieler fragt dann die Knoten auf einem Pfad des Graphen H von v i nach v i+1 an, ohne Knoten w anzufragen. Dies ist möglich, da w kein Artikulationspunkt ist. Das Verhalten von FiFo verändert sich nicht, da die Reihenfolge, in welcher die aktuellen Seiten in den Cache geladen wurden, nicht durch das wiederholte Anfragen von Seiten entlang dieses Pfades verändert wird. Erreicht das Loch v k w (und FiFo hat k-1 Seitenfehler verursacht dann ist w die nächste Seite, die am längsten im Cache ist. Der Gegenspieler fordert v k an (k Seitenfehler und bewegt somit das Loch von v k nach w. Der letzte Fehler (k+1 Seitenfehler bei Knoten w, bringt das Loch zurück zu Knoten v 1 und macht w zu der zuletzt in den Cache eingelagerte Seite. Nun sind wir wieder am Anfang, die Sequenz, wo wir die Löcher v 1, v 2 v k w hatten, ist durchgearbeitet. Während so einer Sequenz verursacht FiFo also exakt k+1 Seitenfehler. OPT kann alle Anfragen der Sequenz mit nur 2 Seitenfehlern bearbeiten, nämlich durch Verdrängen von Knoten w um v 1 zu laden und durch Verdrängen von Knoten v 1 um w zu laden. Also ist R( FiFo, H ( k+1 / 2. 7

8 3.3. Spezialfall: FiFo auf Knotenlinie Nun betrachten wir einen Spezialfall, wo FiFo auf einem relativ einfachen Graphen bereits k-kompetitv ist. Corollar1: Sei G = L N eine N = ( k + 1 -Knoten -Linie. Dann ist R( FiFo, L N = k. Beweis: Seien k + 1 Knoten v 1, v 2, v 3, v 4... v k+1 = L N durchnummeriert und v k+1 die zuletzt in den Cache eingelagerte Seite und v 2 die zuerst gelagerte Seite. Betrachte σ = v 1 v 2...v k v k+1 Abb. 4: (k+1-knotenlinie =L N FiFo macht k Seitenfehler und OPT nur einen. Zusammen mit der allgemeinen oberen Schranke ergibt sich: R( FiFo, L N = k / 1= k 4. LRU im Access Graphen Modell LRU nutzt im Gegensatz zu FiFo, die Lokalitäten von den Referenzen besser aus. Für jeden Access Graph, der ein Baum ist, ist LRU ein optimaler Online Algorithmus. Bäume, die auch häufig in andere Datenstrukturen eingebettet sind, liegen vielen Datenstrukturen als Access Graphen zugrunde. Wenn G ein Baum ist, dann können wir eine einfache, präzise Charakterisierung von R( G herleiten. Dazu sei für jeden zusammenhängenden Graphen G: T i ( G = { T T ist ein Teilbaum von G mit i Knoten } Und für jeden Baum L ( T die Anzahl der Blätter von T Obere und untere Schranke für LRU Zuerst die allgemeine untere Schranke: Theorem 3: Sei G ein beliebiger Graph mit N ( k + 1 Knoten, dann ist : R( G max T Tk+1( G { L ( T 1 } 8

9 Beweis: Sei ALG ein beliebiger deterministischer Algorithmus. Nun wählt der Gegenspieler einen geeigneten Baum T aus. ( Abb. 5 Damit alle inneren Knoten im Cache sind, legt der Gegenspieler sein OPT -Loch auf ein Blatt von T. D.h. alle inneren Knoten von T sind im optimalen Offline- Cache vom Gegenspieler. Somit kann der böse Gegenspieler das ALG Loch anfragen, indem er auf T entlang geht. So macht ALG auf jedem Blatt einen Seitenfehler. Wohingegen OPT, pro L( T - 1 Blätter die beim benutzen der LFD Strategie angefragt werden, auf den Blättern von T maximal einen Seitenfehler macht. Abb.5: Baum T mit OPT-Loch auf Blatt Im Gegensatz zu der Ausführung von FiFo, lässt das soeben bewiesene Theorem die Möglichkeit offen, dass R( G = 1 ist, wenn wir eine Access Graphen Linie L N mit N k+1 Knoten haben. Für jeden Baum G zeigen wir, dass LRU die dichte (zum Theorem 3 obere Schranke erreicht, indem wir die folgende amortisierende Kostenanalyse ( amortized charging technique auf das Paging anwenden. Lemma 1: (Amortisierende Kostenanalyse ( Amortized charging technique Wir nehmen an, dass wir immer wenn OPT ein Fehler macht, höchstens c Token auf den Knoten von G verteilen. Falls es möglich ist, bei jedem ALG Fehler einen Token zu streichen, dann ist ALG c-kompetitiv auf G. Beweis Man sieht direkt, dass das Lemma stimmt. Der Gebrauch der Token demonstriert klar, dass es für jeden OPT Fehler maximal c ALG Fehler gibt. Jetzt zeigen wir, dass LRU auf jedem Baum die allgemeine untere Schranke erreicht. Theorem 4: Sei G irgendein Baum. Dann gilt: R( LRU, G = max T T k+1( G { L ( T 1 } Beweis: Wir wissen, dass LFD ein optimaler Offline Algorithmus ist. Abb. 6: Baum [LRU];Baum [LFD] und einsame Seiten Wir betrachten zu allen Zeitpunkten t die folgende Menge von Knoten aus G ( Abb.6 : Die der t- ten Anfrage r t und die k Seiten, die vor Erfüllung der Anfrage aktuell im Cache von LRU (bzw. von LFD sind. Diese Menge ist (einfache Induktion über t ein Teilbaum von G, den wir als Baum t [LRU] (bzw. Baum t [LFD] bezeichnen. 9

10 Macht LRU ( oder LFD einen Fehler, entsteht dieser auf einem Blatt des jeweiligen Baumes. Die jeweilige Strategie bedient diesen Fehler, indem eine Seite aus dem Cache entfernt wird, die einem Blatt des jeweiligen Baumes entspricht. Wir verteilen bei jedem Fehler maximal max T T k+1( G { L ( T 1 } Token auf die Seiten im Cache von LRU (wie Lemma 2 zeigen wird. Die verdrängte Seite besitzt bei jedem LRU Fehler (wie Lemma 3 zeigen wird einen Token, der dann zerstört wird, um den Fehler zu bezahlen. So erhalten wir die gewünschte Grenze von R ( LRU, G. Zum Beweis von Lemma 2 und 3 führen wir das Token Charging Schema ein: Token Charging Schema: Betrachte einen LFD Fehler an der t- ten Nachfrage r t. Folge für jedes Blatt v r t im Baum t [LRU] dem Pfad von v zu r t und platziere einen Token auf den ersten Knoten (=Seite im Cache von LRU welcher noch keinen Token hat. Abb.7: LFD Fehler an der t- ten Nachfrage r t Abb. 8: Nach dem LFD-Fehler In den Abbildungen 7 und 8 bezeichnen die Knoten, die innen weiß sind haben einen Token. Der Beweis Theorem4 ist fertig, wenn wir die folgenden beiden Lemmata beweisen. Lemma 2.: Bei einem LFD Fehler werden maximal L ( Baum t [LRU] - 1 Token durch das Charging Schema verteilt. Wir nehmen noch zur Kenntnis, dass das Charging Schema garantiert, dass höchstens L ( Baum t [LRU] Token verteilt werden. Vor dem Beweis von Lemma 2 brauchen wir noch einen Begriff: Einsame LRU (bzw. LFDSeite: Wir nennen u eine einsame LRU (bzw. LFD Seite, wenn der Knoten im Cache von LRU ist (bzw. von LFD aber nicht im Cache von LFD ( bzw. LRU. Siehe Abb. 6 Beweis: 1.Fall:Wenn die Nachfrage r t ein Blatt von Baum t [LRU] ist ( Abb.9, dann ist klar, dass das Lemma gilt. Abb. 9: Baum t [LRU] mit Knoten r t als Blatt und L( T -1 Blättern. 10

11 2.Fall: Jetzt brauchen wir nur noch die Fälle zu betrachten, bei denen r t ein innerer Knoten von Baum t [LRU] ist (Abb. 10. Also bleibt zu zeigen, dass es ein Blatt v von Baum t [LRU] gibt, so dass jeder Knoten auf dem Pfad von v nach r t schon einen Token besitzt. Abb. 10: Baum t [LRU] mit Knoten r t als innere Knoten Macht LFD einen Fehler an einem der Blätter r t von Baum t [LFD] und ist dies ein innerer Knoten vom Baum t [LRU] (Abb. 11, dann ist r t eine einsame LRU Seite. Dann gibt es auch einen Pfad von r t zu einem Blatt von Baum t [LRU] s.d. alle Knoten auf diesem Pfad einsam sind. Abb. 11: Baum [LRU/LFD] mit Knoten r t, der einsamen Knoten im Baum [LFD] ist. Nun reicht es durch Induktion über t zu zeigen, dass jede einsame LRU Seite einen Token besitzt. Induktionsanfang: ( t = 1 LFD und ALG haben laut Vorraussetzung vor dem ersten Schritt die selben k Seiten im Cache. Daraus folgt, wenn t = 1 ist gibt es keine einsamen LRU Seiten. Induktionsvoraussetzung: Zum Zeitpunkt t besitzt jede einsame LRU Seite einen Token. Induktionsschluss: (t t +1 Wir nehmen an die Annahme sei vor der t- ten Nachfrage erfüllt. Wir zeigen nun, dass sie nach der t- ten Nachfrage immer noch erfüllt ist. Eine Seite u im Baum t [LRU] kann nur eine einsame LRU Seite werden, wenn LFD einen Fehler an r t macht und u verdrängt um r t zu bedienen. Aber dann gibt es immer einen Pfad von r t zu irgendeinem Blatt v im Baum t [LRU], welcher durch u verläuft. Es ist möglich, dass u das Blatt ist. Dann ist v = u. Ansonsten muss auf dem Pfad von u nach v jeder Knoten u u auch einer einsamen LRU Seite entsprechen und deswegen (nach der Induktionsvoraussetzung einen Token besitzen. Das Charging Schema platziert dann einen Token auf u, außer wenn u schon einen hat. Nun beweisen wir folgendes Lemma, welches (vgl. Lemma 1 die Kompetitivität von LRU beweist, womit der Beweis von Theorem 4 fertig ist. Lemma 3: Immer wenn LRU eine Seite u verdrängt (im Baum t [LRU] um einen Fehler zu bedienen, besitzt u einen Token. Beweis: Wir betrachten den Zeitpunkt t 1 kurz bevor u von LRU verdrängt wird wo u die am längsten nicht mehr benutzte Seite wird. Wir sind fertig, wenn u zu diesem Zeitpunkt t 1 einen Token besitzt. Daher nehmen wir an, u würde keinen Token zur Zeit t 1 besitzen. 11

12 Wenn LFD gleichzeitig mit LRU einen Fehler macht oder wenn LFD vor LRU den nächsten Fehler macht, sind wir auch fertig. Da das Charging Schema zuerst einen Token auf u platziert, da u ein Blatt im Baum t1 [LRU] ist. Allerdings könnte der nächste LRU Fehler vor dem nächsten LFD Fehler an einer einsamen LFD Seite auftreten. Entfernt man die Knoten von dem Baum t1 [LRU] (außer u, so zerschneidet man G in Teilbäume. Sei T (u der Teilbaum, der u enthält. Es reicht zu zeigen das zum Zeitpunkt t 1 alle einsamen LFD Seiten in T(u sind. Dieses würde sicher stellen, dass u zu einem gewissen Zeitpunkt nach t 1 vor einer beliebigen einsamen LFD Seite angefragt wird. Dann wäre u nicht mehr die am längsten nicht benutzte Seite. Dies steht im Widerspruch zu der Annahme, dass t 1 der letzte Zeitpunkt ist, (bevor u verdrängt wird an dem u die am längsten nicht mehr benutzte Seite wird. Sei I das Zeitintervall ( t 0, t 1 ], wobei t 0 < t 1 ist und u wurde das letzte Mal im Zeitpunkt t 0 angefragt. Nun müssen auch alle Knoten außer u im Baum t1 [LRU] angefragt worden sein, damit u der am längsten nicht benutzte Knoten zum Zeitpunkt t 1 ist. Die folgenden Ungleichungen zeigen, dass alle einsamen LFD Seiten in T(u sind. ( Anzahl von LFD Seiten in T(u zum Zeitpunkt t 0 Jede einsame LRU Seite hat einen Token ( Anzahl von LRU Seiten ohne Token in T(u zum ( Zeitpunkt t 0 Anzahl der Token die auf T(u während I gesetzt wurden Keine Seite aus T(u wird zweimal angefragt = >Kein Knoten kann mehr als einen Token bekommen. ( Anzahl von LFD Fehlern während I Baum t [LRU]hat in T(u zu jedem Zeitpunkt t I ein Blatt. Weil u keinen Token erhält, muss es einen anderen Knoten auf dem Pfad von v nach u geben, der einen Token erhält. ( ( Anzahl von LFD Seiten, die während I aus T(u verdrängt wurden + ( Anzahl von LFD Seiten, die während I aus T(u verdrängt wurden + ( Anzahl von LFD Seiten nicht aus T(u die während I verdrängt wurden Anzahl von einsamen LRU Seiten zum Zeitpunkt t 1 Es gibt zum Zeitpunkt t 1 keine einsamen LRU Seiten in T(u, weil u (kein Token => nicht einsam die einzige Seite in T(u ist. Jede einsame LRU Seite zum Zeitpunkt t 1 ist im Baum t1 [LRU] und wurde während I angefordert Damit eine solche Seite einsam ist, muss LFD sie während I verdrängt haben. Also gilt: ( Anzahl von LFD Seiten in T(u zum Zeitpunkt t 0 ( Und auch: Anzahl von LFD Seiten, die während I aus T(u verdrängt wurden + ( Anzahl von einsamen LRU Seiten zum Zeitpunkt t 1 12

13 ( Anzahl von LFD Seiten in T(u zum Zeitpunkt t 0 ( Anzahl von einsamen LRU Seiten zum Zeitpunkt t 1 Daher gilt: ( Anzahl von LFD Seiten in T(u zum Zeitpunkt t 1 = ( = ( Anzahl von LFD Seiten in T(u zum Zeitpunkt t 0 Anzahl von einsamen LRU Seiten, zum Zeitpunkt t 1 - ( ( - = ( Anzahl von LFD Seiten, die während I aus T(u verdrängt wurden Anzahl von LFD Seiten, die während I aus T(u verdrängt wurden Anzahl von einsamen LFD Seiten zum Zeitpunkt t 1 Alle einsamen LFD Seiten müssen in T(u sein Spezialfall: LRU auf Knotenlinie Es ergibt sich sofort das folgende Corollar, das auch ein extremes Beispiel dafür darstellt, dass LRU viel besser als FiFo sein kann. Corollar 2.: Für jede Linie G ist R( LRU, G = R( G = 1 Beweis: O.B.d.A. sei N > k. Jeder Teilbaum mit k+1 Knoten hat bis zu 2 Blätter. Eins wenn die Wurzel am Ende der Linie liegt, ansonsten 2. Es ist ausgeschlossen, dass es mehr als 2 Blätter sind, da G dann keine Linie mehr ist. Aus der obigen Formel folgt sofort die Behauptung Vergleich: LRU gegen FiFo Des Weiteren ist LRU auf einem beliebigen Access Graphen immer mindestens so gut wie FiFo, was das folgende Theorem besagt: Theorem 5: Für einen beliebigen Access Graphen G ist (ohne Beweis R( LRU, G R( FIFO, G. 13

14 Es sei noch mal darauf hingewiesen, dass LRU auf Bäumen optimal ist, aber auf anderen Graphen deutlich schlechter abschneiden kann. Ein Beispiel wird in Theorem 6 angeführt. Theorem 6: Sei C N ein Kreis mit N = k + 1 Knoten. Dann ist: R( LRU, C N = R( FIFO, C N = k Beweis: Der Gegenspieler verlangt die Knoten von C N im (oder gegen den Uhrzeigersinn. So machen FIFO und LRU bei jeder Anfrage einen Fehler wobei LFD einen Fehler alle k Anfragen macht. (Abb. 12. Abb. 12: (k+1 Knoten Kreis 5. Algorithmus FAR Nun endlich zu einem einheitlich kompetitiven Algorithmus. Hier zunächst auf einem Kreis FAR (eingeschränkt auf einen (k + 1 Knoten Kreis C N : Nun betrachten wir den Markierungsalgorithmus FAR. Hierbei sind während einer k-phase die markierten und unmarkierten Knoten des Kreises Pfade auf dem Kreis C N, sprich Bögen. Tritt ein Seitenfehler auf, wird die Seite, die gerade in den Cache geladen wurde markiert. Die Seite, die auf dem Mittelpunkt des Pfades der jetzt unmarkierten Seiten liegt wird verdrängt. Im folgenden werden wir eine obere und untere Schranke für FAR beweisen. Obere und untere Schranke für Algorithmus FAR auf einem Kreis Theorem 7: Sei C N ein N = ( k + 1 Knoten Kreis. Für FAR gilt dann: R( FAR, C N = R( C N = log(k

15 Nun zum Beweis der oberen Schranke von FAR ( Abb. 13 auf einem Kreis. Beweis: ( Abb. 13: FAR auf einem Kreis Der Algorithmus FAR macht maximal 1+ log k Fehler in einer Phase. Zu Beginn einer Phase gibt es k unmarkierte Knoten (s. ersten Kreis von Abb. 13. Ist eine Phase zu ende, wird der erste Knoten der neuen Phase markiert und die Knoten die in der alten Phase markiert waren verlieren gleichzeitig ihre Markierung. ( s. zweiten Kreis von Abb. 13 Der Gegenspieler muss somit mindestens die Hälfte der unmarkierten Knoten anfragen und damit auch markieren, um den unmarkierten Knoten der im Cache nicht präsent ist anzufragen / aufzurufen.( s. dritter Kreis von Abb. 13. Bis der letzte unmarkierter Knoten aufgerufen wird, muss der Algorithmus FAR den eben beschriebenen Prozess (unmarkierte Knoten anfragen die im Cache sind bis unmarkierten Knoten der nicht im Cache ist erreicht wird maximal log k mal durchführen. ( s. vierter Kreis von Abb. 13 Dieser unmarkierte Knoten der nicht im Cache ist wird der erste Fehler gemeinsam mit den Beginn einer neuen Phase sein. Nun wissen wir ja schon von Theorem 3.2., dass jeder Algorithmus, also auch der optimale Algorithmus mindestens einen Fehler pro Phase machen muss. Daher ist R( FAR,C N log (k+1 Die obere Schranke von FAR motiviert uns zu einer allgemeinen unteren Schranke R(ALG, C N log (k+1. Bevor wir zum Beweis kommen sei noch mal in Erinnerung gerufen: Das k-phasen Modell bei Markierungsalgorithmen ist wohldefiniert, unabhängig davon welchen Algorithmus wir haben. Weiterhin gilt ein Knoten als markiert, wenn er während einer Phase angefragt wurde und unmarkiert, wenn er nicht angefragt wurde Beweis: Sei ALG ein beliebiger Online Algorithmus und die Situation die folgende: Zu Beginn einer Phase haben beide Algorithmen (der OPT und ALG- Algorithmus ihr Cache Loch beim selben Knoten und es gibt wie immer einen markierten Knoten und somit k unmarkierte Knoten. (Abb. 14 (Abb. 14: Beginn einer k-phase 15

16 Wenn ALG jemals einen markierten Knoten verdrängt, dann wird der Gegenspieler immer diesen Knoten entlang eines markierten- Knoten- Pfades anfragen und damit seine Kosten nicht erhöhen. Also können wir annehmen, das ALG sich auch wie ein Markierungsalgorithmus verhalten muss. Der Gegenspieler wird dann weiterhin das Cache Loch von ALG versuchen anzufragen, indem er den Pfad von C N entlang läuft, der die wenigsten unmarkierten Knoten hat, bis er auf nur einen unmarkierten Knoten gelangt. Diesen betritt der Gegenspieler dann zu Beginn einer neuen Phase. Klar ist dann, dass ALG mindestens log (k+1 Fehler pro Phase macht und OPT genau einen FAR: Ein einheitlich kompetitiver Paging-Algorithmus Den Algorithmus FAR kennen wir schon vom ( k + 1 Knoten Kreis. Dort konnten wir FAR einfach als online Approximation des optimalen Offline Algorithmus LFD ansehen. Im folgenden ist mit Lokalität von Referenzen nicht mehr die Nachbarschaft von zwei Knoten gemeint, sondern diese Knoten sind benachbart, die markierten sind. Von den unmarkierten Knoten wird der Knoten verdrängt, der graphtheoretisch von den markierten Knoten am weitesten entfernt liegt. D.h. wir approximieren zeitlich am weitesten weg (=LFD mit graphtheoretisch am weitesten weg (= FAR. Algorithmus FAR: Sei G ein beliebiger ungerichteter Graph. Sei M die Menge von markierten Knoten (zu jeder Zeit während einer k-phase einschließlich der aktuellen Anfrage. FAR verdrängt eine unmarkierte Seite u, wenn die aktuell angefragte Seite nicht im Cache ist, so dass die Distanz auf G zwischen M und u ( i.z. dist G ( M, u maximal ist. Das bedeutet, dass für jeden Knoten v der nicht markiert ist gelten muss: dist G (M, v dist G (M, u, wobei dist G (M, v := min {dist G (z, v z M}. Nun werden wir beweisen, dass FAR einheitlich kompetitiv ist, d.h.: R( FAR, G = O( R( G für jeden Access Graphen G. Sei σ eine Anfragesequenz. Wir betrachten seine k-phasen-einteilung. Eine neue Seite in einer Phase ist eine, die in der vorherigen Phase nicht angefordert wurde. Des Weiteren ist OPT( σ m i / 2 wobei m i die Anzahl der neuen Seiten in der i- ten Phase ist. Wir wollen nun zeigen, dass FAR (asymptotisch gesehen optimal in jeder Phase ist. Genauer gesagt, dass für eine Konstante c gilt: Theorem 9: Sei σ ( i die i-te Phase. Dann ist: FAR( σ ( i c R ( G m i c R ( G OPT( σ ( i und als unmittelbare Folgerung ergibt sich: FAR( σ = O ( R ( G OPT( σ. 16

17 Bevor wir dieses Theorem beweisen kommen noch ein paar Definitionen und ein Beispiel zur Rebenzerlegung sowie ein Theorem, was eine geeignete untere Schranke zum Beweis von Theorem 9 liefert. Definition: Rebenzerlegung (vine decomposition Eine Rebenzerlegung V ( H = ( T, P von einem zusammenhängenden Graph besteht aus einem Baum und einer Ansammlung von einfachen Pfaden P = (P 1, P 2,... P q. Die Knoten von H werden in diejenigen des Baumes T und in die inneren Knoten der Pfade P i aufgeteilt. Die Pfade werden Reben (vines und die Endpunkte der Pfade (im Baum Anker (anchor genannt. Sei n T die Anzahl von Blättern in T, die keine Anker sind. Definition des Wertes einer Rebe P i : val( P i = log ( Anzahl von Kanten in P i Definition des Wertes einer Rebenzerlegung V ( H : Beispiel 1 (Rebenzerlegung: val ( V ( H = i=1..q val (P i + n T 1 In diesem Bild haben wir eine Rebenzerlegung V ( H = ( T, P von einem 4 x 4 Maschenarray H. Es ist nun val ( V ( H = val( P 1 + val( P 2 + n T 1 = = 7 (Abb. 14: Die gestrichelten Linien sind die Pfade und die durchgezogenen Linien bilden den Baum. Hier zuerst eine untere Schranke, die wir durch Erweiterung des Beweises von Theorem 7 erhalten. Theorem 10: Sei G ein N-Knoten Graph und enthalte G einen Kreis mit (k + g Knoten als Teilgraphen (1 g k. Dann ist R( G log k log g / 2. Diese Schranke verknüpfen wir in Theorem 11 mit der Schranke der Anzahl von Blättern eines k+1 Knoten Teilbaumes. Theorem 11: Untere Schranke für eine Rebenzerlegung (vine decomposition: Sei G ein zusammenhängender Graph mit N ( k + 1 Knoten, H ein (k + 1 Knoten zusammenhängender Teilgraph von G mit einer Rebenzerlegung V( H. Dann ist R( G val ( V ( H. 17

18 Beweis: Sei ALG ein beliebiger Online Algorithmus. Der Gegenspieler schränkt alle Anfragen auf H ein und wird so höchstens einen Seitenfehler pro k-phase verursachen. Es bleibt zu zeigen, dass der Gegenspieler von ALG mindestens val ( V ( H Seitenfehlern pro Phase erzwingen kann. Das ALG- Loch wird vom bösen Gegenspieler so effizient wie möglich angefragt. Befindet sich das ALG- Loch auf einen Knoten im Baum, läuft der Gegenspieler auf markierten oder bauminternen Knoten zu diesem. Ist das ALG- Loch ein innerer Knoten einer Rebe, dann läuft der Gegenspieler zu diesem Knoten, indem er markierte Knoten, bauminterne Knoten, Anker und höchstens die Hälfte der unmarkierten Knoten von P i benutzt. Es ist klar, dass das Loch während einer Phase an jedem der n T nicht- Anker-Blätter auftaucht und mindestens val( P i mal an jeder Rebe P i. Wir bezeichnen val ( H = log k log g wenn H ein (k + g Knoten Kreis ist. Weiterhin definieren wir, wenn H ein zusammenhängender Graph mit k+1 Knoten ist welcher kein Kreis ist val ( H = max V(H ( val ( V ( H. Beweis von Theorem 9: Wir müssen zeigen, dass es für die i-te Phase σ ( i mit m = m i neuen Knoten einen Teilgraphen H gibt, s.d.: val ( H (δ / m FAR ( σ ( i für irgendein δ = 1 / c > 0 gilt. Somit muss H entweder ein Kreis sein oder eine geeignete Rebenzerlegung haben. Betrachte die Sequenz von Knoten, d.h. Seiten die während einer Phase verdrängt wurden und teile die Sequenz in Blöcke von m+1 aufeinander-folgenden Knoten auf. Wir nehmen an es gäbe R Blöcke und zeigen dann, dass es ein H gibt mit val ( H δ R. Wir wählen einen repräsentativen Knoten für jeden Block. Die Anzahl von Knoten die während einer Phase verdrängt und momentan außerhalb des Caches sind, ist höchstens m, da es m neue Knoten in der Phase gibt. Da es m+1 Knoten in einem Block gibt, muss mindestens ein Knoten des Blockes markiert sein bevor irgendein Knoten im nächsten Block verdrängt wird. Wir suchen uns einen solchen Knoten aus und nennen ihn rep. Die R reps werden nun in zwei Kategorien eingeteilt. So können wir die Existenz eines Teilgraphen mit Wert Ω ( R zeigen. Wir betrachten die V Knoten die während einer Phase markiert werden. Die Markierungsreihenfolge definiert einen gerichteten Baum T = ( V, E mit k Knoten. In diesem Baum existieren gerichtete Kanten < u, v >, genau dann wenn die erste Anfrage an v direkt einer Anfrage an u folgt. Der erste Knoten, der in einer Phase markiert wird, ist die Wurzel von T. Eine Kette in T ist ein gerichteter Pfad in T dessen interne Knoten alle Grad 2 in G haben (Solche Knoten nennt man Kettenknoten und dessen Endpunkte keine Kettenknoten sind. Ein nicht Kettenknoten ist entweder die Wurzel von T oder ein Blatt in T oder hat Grad 3 in G. Ketten sind gute Kandidaten für Reben in der Rebenzerlegung, die wir konstruieren wollen. Ein rep ist vom Typ 1, wenn er kein Kettenknoten ist oder wenn er einer der ersten 4 reps in einer Kette ist oder wenn er der letzte rep in einer Kette ist. Ansonsten ist er ein rep vom Typ 2. Wir benutzen folgende zwei Lemmata, um den Beweis zu vollenden. (Beweise der Lemmata siehe Anhang [1] 18

19 Lemma 4: Wenn es R 1 reps vom Typ 1 gibt, dann gibt es einen (k+1 Knoten Teilbaum T in G mit Ω ( R 1 Blättern. Daher nach Theorem 13 und 3 ist R ( G = Ω ( R 1. Lemma 5: Wenn es R 2 reps vom Typ 2 gibt, dann gibt es einen Teilgraphen H von G mit val ( H = Ω ( R 2. Nach Theorem 13 ist R ( G = Ω ( R 2. Die beiden Lemmata zeigen, dass es einen geeigneten Teilgraphen von G gibt, so dass aus der unteren Schranke eines Teilgraphen mit Rebenzerlegung die einheitliche Kompetitivität von FAR folgt. 6. Zusammenfassung und Ausblick 6.1. FiFo, LRU, FAR Wir haben gesehen, dass obwohl FiFo in der reinen kompetitiven Analyse optimal ist, FiFo in vielen Fällen schlecht abschneidet. Des weiteren haben wir gezeigt, dass LRU in vielen Fällen besser als k-kompetitiv und bei Bäumen sogar optimal ist. Als letztes wurde der Algorithmus FAR vorgestellt und wir haben bewiesen, dass er einheitlich kompetitiv ist. Allerdings setzte unsere Analyse voraus, dass der zugrundeliegende Access Graph bekannt ist. Nun werden wir eine Methode kennen lernen, Access Graphen dynamisch zu approximieren Dynamische Access Graphen Um universelle Algorithmen wie FAR auf das allgemeine Paging Problem anzuwenden, müssen wir eine gute dynamische Approximation an den Access Graphen entwickeln. Eine Art der Erstellung eines dynamischen gewichteten (ungerichteten Graphen ist folgende: Umso größer das Gewicht w einer Kante < u, v > ist, desto geringer ist die Chance, dass u (oder v die nächste angeforderte Seite nach v (oder u ist. Dieser Ansatz benutzt diese Gewichte als Distanzen, was die Idee von FAR indem Sinne erweitert, das man graphentheoretische Distanzen als Approximation von LFD hernimmt. Im folgenden eine Art, einen gewichteten Access Graphen G dynamisch zu erzeugen. Die Knoten von G entsprechen wieder den Seiten. Werden das erste Mal 2 Seiten (u und v erfolgreich hintereinander angefordert, dann erstellen wir eine Kante zwischen u und v mit dem Gewicht 1. Wird dieses Paar erfolgreich hintereinander angefragt, werden wir dessen Kantengewicht mit einem Faktor α < 1 multiplizieren. Ist das Gewicht dann noch >1, setzen wir es auf 1. Es werden periodisch, (z.b.: alle λk Anfragen alle Kanten um einen Faktor β > 1 erhöht. Dadurch berücksichtigt der Graph aktuellere Anfragen besser, da er graduell ältere Anfragen vergisst. Jeden Paging Algorithmus (z.b. FAR kann man auf einem Graphen laufen lassen der so entwickelt wird. Folgende FAR- Variation ist nach einer experimentellen Studie vielversprechend. 19

20 6.3. Algorithmus FARL FARL Algorithmus (Farthest to last request Sei G ein gewichteter Access Graph, der von vornherein bekannt sein kann oder durch einen dynamisch entwickelten Graphen entstanden sein kann. FARL verdrängt bei einem Seitenfehler die Seite u, so dass dist G (v, u maximal ist. Wobei v die zuletzt erfolgreich angefragte Seite ist. FARL ist eine sehr natürliche Approximation an LFD, jedoch kein Markieralgorithmus. Der kompetitive Faktor von FARL ist, bezogen auf den optimalen offline Algorithmus: θ(k log k. FARL ist um einiges besser als FAR, der wiederum mit der Performance von LRU zu vergleichen ist. Eine Erklärung dafür ist, dass das Markieren zwar vor worst-case-verhalten schützt, jedoch diese Markierungen eine schlechte Näherung an die in naher Zukunft gebrauchten Seiten darstellen Fazit Abschließend sei davor gewarnt, dass obwohl die kompetitive Analyse oft neue Erkenntnisse in dem wohl meiststudierten online Problem bringt, eine gute Seitenfehlerrate durch erhöhten Aufwand erkauft werden muss. In dieser Hinsicht ist LRU schon teuer und wird oft durch CLOCK approximiert. Das Modell der dynamischen Access Graphen beinhaltet nicht unwesentliche Speicher- und Rechenkosten. Literaturangaben: [1] Allan Borodin Ran El-Yaniv. Online Computation and Competitive Analysis Cambridge University Press 1998 [2] A. Borodin, S. Irani, P. Raghavan and B. Schieber Competitive paging with locality of reference. Journal of the Computer and System Sciences, 50(2: , 1995 [3] S.Irani, A. Karlin and S. Phillips. Strongly competitive algorithms for paging with locality of references. SIAM Journal on omputing, 25(3: ,1996 [4] A. Fiat and A. Karlin. Randomized and multifingers paging with locality of references. In Proceedings of the 27 th Annual ACM Symposium on Theory of Computing, pp , 1995 [5] J.A. Garay, I. S. Gopal, S. Kutten, Y. Mansour, and M. Yung. Efficient on-line call control algorithms. Journal of Algorithms, 23: , 1997 [6] M. Chrobak and J. Noga. LRU is better than FiFo. In Proceedings of the 9 th Annual ACM-SIAM Symposium on Discrete Algorithms, pp , January,

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

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

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

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

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

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

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

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:

Mehr

Pratts Primzahlzertifikate

Pratts Primzahlzertifikate Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest

Mehr

PROSEMINAR ONLINE ALGORITHMEN

PROSEMINAR ONLINE ALGORITHMEN PROSEMINAR ONLINE ALGORITHMEN im Wintersemester 2000/2001 Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans (Betreuer) Vortrag vom 15.11.2000 von Jan Schmitt Thema : Finden eines

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Steinerbäume Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Verfasser Flamur Kastrati Betreuer Prof. Dr. habil. Thomas

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

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

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden

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

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Begleitmaterial zur Vorlesung. Online-Algorithmen. Sommersemester 2007. Detlef Sieling. Universität Dortmund FB Informatik, LS 2 44221 Dortmund

Begleitmaterial zur Vorlesung. Online-Algorithmen. Sommersemester 2007. Detlef Sieling. Universität Dortmund FB Informatik, LS 2 44221 Dortmund Begleitmaterial zur Vorlesung Online-Algorithmen Sommersemester 2007 Detlef Sieling Universität Dortmund FB Informatik, LS 2 44221 Dortmund Von diesem Begleitmaterial dürfen einzelne Ausdrucke oder Kopien

Mehr

Das Falten-und-Schneiden Problem

Das Falten-und-Schneiden Problem Das Falten-und-Schneiden Problem Kristian Bredies Uttendorf, 14. Februar 2005 Inhalt Einleitung Origami Das Falten-und-Schneiden Problem Mathematische Analyse Flaches Origami Lokale Eigenschaften Faltbarkeit

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

Analysis I für Studierende der Ingenieurwissenschaften

Analysis I für Studierende der Ingenieurwissenschaften Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten?

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Ich habe diesen Sommer mein Abi gemacht und möchte zum Herbst mit dem Studium beginnen Informatik natürlich! Da es in meinem kleinen Ort keine

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

3 Quellencodierung. 3.1 Einleitung

3 Quellencodierung. 3.1 Einleitung Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im

Mehr

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Übung zur Vorlesung Algorithmische Geometrie

Übung zur Vorlesung Algorithmische Geometrie Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche

Mehr

Information Systems Engineering Seminar

Information Systems Engineering Seminar Information Systems Engineering Seminar Algorithmische Prüfung der Planarität eines Graphen Marcel Stüttgen, 22.10.2012 FH AACHEN UNIVERSITY OF APPLIED SCIENCES 1 Planarität - Definition Ein Graph heißt

Mehr

Bäume und Wälder. Bäume und Wälder 1 / 37

Bäume und Wälder. Bäume und Wälder 1 / 37 Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine einfachen Kreise enthält. Bäume und Wälder 2 / 37 Bäume

Mehr

4.7 Der Algorithmus von Dinic für maximalen Fluss

4.7 Der Algorithmus von Dinic für maximalen Fluss 4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 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 2. April

Mehr

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Kapitel 3. Natürliche Zahlen und vollständige Induktion Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

1. Einleitung wichtige Begriffe

1. Einleitung wichtige Begriffe 1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Eine Einführung in Online-Algorithmen

Eine Einführung in Online-Algorithmen Eine Einführung in Online-Algorithmen Dennis Komm Skript zur Vorlesung Approximations- und Online-Algorithmen Frühlingssemester 2015, ETH Zürich Stand: 21. Juli 2015 Kontakt: dennis.komm@inf.ethz.ch Nehmen

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

Kapitel 4: Analyse von Petrinetzen

Kapitel 4: Analyse von Petrinetzen Kapitel 4: Analyse von Petrinetzen 1. Beispiele 2. Analyseansatz 3. Markierungsgraph 4. Beschränktheit 5. State Space Explosion: Beispiel 6. Komplementbildung 7. Zusammenhängend 8. Tot, lebendig, verklemmungsfrei

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

AutoSPARQL. Let Users Query Your Knowledge Base

AutoSPARQL. Let Users Query Your Knowledge Base AutoSPARQL Let Users Query Your Knowledge Base Christian Olczak Seminar aus maschinellem Lernen WS 11/12 Fachgebiet Knowledge Engineering Dr. Heiko Paulheim / Frederik Janssen 07.02.2012 Fachbereich Informatik

Mehr

Bäume und Wälder. Bäume und Wälder 1 / 37

Bäume und Wälder. Bäume und Wälder 1 / 37 Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine Kreise enthält. Diese Graphen sind Bäume: Diese aber nicht:

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Alles zu seiner Zeit Projektplanung heute

Alles zu seiner Zeit Projektplanung heute Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

Algorithmen II Vorlesung am

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

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Bericht vom 1. Leipziger Seminar am 25. November 2006

Bericht vom 1. Leipziger Seminar am 25. November 2006 Bericht vom 1. Leipziger Seminar am 25. November 2006 Das Wythoff-Nim-Spiel Wir wollen uns ein Spiel für zwei Personen ansehen, welches sich W.A.Wythoff 1907 ausgedacht hat: Vor den Spielern liegen zwei

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Betragsgleichungen und die Methode der Fallunterscheidungen

Betragsgleichungen und die Methode der Fallunterscheidungen mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: franz.embacher@univie.ac.at

Mehr

Definition eines Spiels

Definition eines Spiels Definition eines piels 1. Einleitung 1.1 Einführung: Die mathematische pieltheorie beschäftigt sich nicht nur mit der Beschreibung und Analyse von pielen im üblichen inn, sondern allgemein mit Konfliktsituationen

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen und Datenstrukturen (WS 2007/08) 63 Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders

Mehr

24. Algorithmus der Woche Bin Packing Wie bekomme ich die Klamotten in die Kisten?

24. Algorithmus der Woche Bin Packing Wie bekomme ich die Klamotten in die Kisten? 24. Algorithmus der Woche Wie bekomme ich die Klamotten in die Kisten? Autor Prof. Dr. Friedhelm Meyer auf der Heide, Universität Paderborn Joachim Gehweiler, Universität Paderborn Ich habe diesen Sommer

Mehr

Optimalitätskriterien

Optimalitätskriterien Kapitel 4 Optimalitätskriterien Als Optimalitätskriterien bezeichnet man notwendige oder hinreichende Bedingungen dafür, dass ein x 0 Ω R n Lösung eines Optimierungsproblems ist. Diese Kriterien besitzen

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Hackenbusch und Spieltheorie

Hackenbusch und Spieltheorie Hackenbusch und Spieltheorie Was sind Spiele? Definition. Ein Spiel besteht für uns aus zwei Spielern, Positionen oder Stellungen, in welchen sich das Spiel befinden kann (insbesondere eine besondere Startposition)

Mehr

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper 32 Andreas Gathmann 3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper Wir haben bisher von den reellen Zahlen nur die Körpereigenschaften, also die Eigenschaften der vier Grundrechenarten ausgenutzt

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

Die k kürzesten Wege in gerichteten Graphen

Die k kürzesten Wege in gerichteten Graphen Die k kürzesten Wege in gerichteten Graphen Marc Benkert Wintersemester 001/00 1 Einführung 1.1 Problemstellung In einem gerichteten, gewichteten Graphen G = (V, E) sollen die k kürzesten Wege zu zwei

Mehr