1 Ein Approximationsalgorithmus zum MAXIMUM INDEPENDENT SET (MIS) Eine Ausarbeitung von Massud Salehi ([email protected]) bzgl. des Artikels "Algorithms for Graphs Embeddable with few Crossings per Edge" von den Autoren Alexander Grigoriev & Hans L. Bodlaender Einführung: Bekanntlich gibt es ja sehr viele Probleme in der Informatik, welche nicht effizient lösbar sind. Um solche Probleme genauer zu untersuchen, wurden u.a. aber insbesondere Begriffe wie "Klasse NP", "NP-Vollständigkeit" etc. eingeführt. Diese Begriffe haben natürlich eigene mathematisch sehr genaue Definitionen, auf welche wir hier aber nicht genauer eingehen werden, da sie in dieser Ausarbeitung nicht wirklich relevant sind (das Gleiche gilt auch für manche andere Begriffe, die weiter unten erwähnt werden). Der Einfachheit halber werden wir uns an dieser Stelle also damit begnügen, dass NP-vollständige Probleme diejenigen sind, welche sich mit exakten Algorithmen nicht effizient lösen lassen. Für solche Probleme kann es sinnvoll sein, wenigstens eine Lösung zu finden, die einer optimalen Lösung möglichst nahe kommt. Statt einer exakten Lösungsalgorithmus (welcher zu Zeitaufwendig ist) kann man sich also mit sog. Approximationsalgorithmen begnügen. Diese haben dann (wie der Name es schon erahnen lässt) zwar den Nachteil, dass sie i.a. keine exakten Lösungen liefern, aber dafür eben effizient(er) sind. Es stellt sich also die Frage wie ungenau bzw. genau diese Näherungslösungen am Ende dann wirklich sind. In dieser Ausarbeitung konzentrieren wir uns auf das Problem MAXIMUM INDEPENDENT SET (MIS), oder auch STABILE MENGE genannt. Wie der Name es schon fast sagt, geht es bei diesem Problem darum, eine maximale Knotenmenge M in einem Graphen G zu bestimmen, so dass keine dieser Knoten unter einander benachbart sind, also E(G(M)) = Ø. Wir werden wie üblich zunächst einige Definitionen einführen um dann einen Approximationsalgorithmus zu MIS angeben zu können. Danach werden wir in einem LEMMA eine Aussage bzgl. des Algorithmus beweisen und zum Schluss ein THEOREM über dessen Genauigkeit. 1 2 Definitionen & Konventionen: Def: Ein Graph ist ein Tupel G = (V, E), wobei V = {v1, ..., vn} eine endliche Menge ist und E Teilmenge V×V. Bem: An dieser Stelle muss wirklich darauf hingewiesen werden, dass eine grafische Darstellung (z.B. eine Zeichnung) eines Graphen streng genommen kein Graph ist, sondern nur eine von mehreren Möglichkeiten G darzustellen. Tatsächlich ist ein Graph also "ein Modell zur Beschreibung von Objekten, die untereinander in gewisser Beziehung stehen. Die Objekte werden als Knoten, die Beziehungen als Kanten (Verbindungslinien zwischen den Knoten) dargestellt. Knoten haben Namen und können Träger von Werten, Eigenschaften, etc. sein." Insb. heißt das, dass wir darauf achten müssen, auf was für ein Objekt (bzw. Oberfläche) wir einen Graphen darstellen oder besser gesagt "einbetten". Eine Oberfläche kann eine (glatte) Ebene, eine Kugel, ein Torus usw. sein. Das bringt uns zu dem Begriff "Genus" (bzw. Geschlecht). In der Literatur wird dieser Begriff immer wieder auf verschiede Weisen verwendet, was verwirrend sein kann. Mal taucht die Formulierung "... Genus eines Graphen... " auf, mal "...der Graph auf einer Fläche der Genus g..." usw. Die Idee basiert im Grunde darauf eine minimale Zahl für Kantenkreuzungen eines Graphen auf einer Oberfläche anzugeben. Wir einigen uns auf folgende Der Genus bzw. das Geschlecht einer Oberfläche sei die Anzahl der Henkel, die sie besitzt und der Genus bzw. das Geschlecht eines Graphen G sei die minimale (natürliche) Zahl n, so dass G auf einer Oberfläche mit n Henkeln Kreuzungsfrei eingebettet werden kann. Def(Gute Einbettung): Wir nennen eine Einbettung von G auf K gut, falls gilt: 1. Alle Knoten v aus V sind eindeutig auf S 2. Jede Kantenkreuzung in G ist eindeutig auf S (das soll heißen, dass auf S keine zwei Kreuzungen in ein und dem selben Punkt positioniert sind) 3. Für jede Kante e = (u,v) aus E gilt: e ist ausschließlich nur mit u und v benachbart (Eine Einbettung hat natürlich auch eine eigene mathematische Definition. Darauf einzugehen wäre aber an dieser Stelle nicht wirklich sinnvoll. Es reicht, wenn wir uns darunter das vorstellen, wofür der Begriff offensichtlich auch steht.) 2 3 Def: Seien • • • wieder G = (V, E) ein Graph K eine Oberfläche des Geschlechts g Für eine bel. Einbettung von G auf K und jedes e aus E sei λ(e) := Anzahl der Kreuzungen von e auf K (bzgl. der Einbettung), also die Anz. der Kanten, die e auf K überschneiden Wir setzen φ = φ(G):= minüber alle mögl. guten Einbettungen von G auf K (maxe aus E λ(e)) und bezeichnen φ als den Kreuzungsparameter von G (auf K). Def: Ein Graph G heißt planar, falls er den Kreuzungsparameter null besitzt, also Genus(G) = φ(G) = 0. Genus null und den Erläuterungen zu φ: (solche Erläuterungen, die im Folgenden immer wieder auftauchen, sollen in erster Linie zum besseren Verständnis des Sachverhalts beitragen. Inbs. sind sie i.d.R. eher locker und weniger mathematisch formuliert. Das kann dazu führen, dass sie hin und wieder streng genommen mathematisch nicht ganz richtig sind) • • • • Sei G in q verschiedene Weisen Einbettbar Bestimme für jede Einbettung i=1,...,q die Kante e mit der größten Kreuzungszahl mi := λ(e) D.h. jetzt haben wir q (nicht unbedingt verschiedene) Zahlen m1,...,mq Bestimme jetzt φ := min{m1,...,mq} (ist G planar, so ist mind. ein mi = 0 und somit φ(G) = min{m1,...,mq} = mi = 0) Ab jetzt werden wir von folgenden Annahmen ausgehen: • G=(V,E) ein Graph • Es liegt immer eine gute Einbettung von G auf K vor (bel. aber feste) • Sowohl der Genus g als auch φ seien beschränkt (durch irgendwelche • Konstanten) Zwei Kanten in G können sich evtl. auch mehrmals kreuzen Jetzt eine Definition, die auf dem ersten Blick unter Umständen sehr verwirrend sein kann, nämlich die sog. "Baum-Dekomposition". Deshalb schon vorher eine kurze Bem: Ziel ist es eigentlich etwas Kompliziertes (zB. einen sehr dichten Graphen) durch eine einfachere Struktur (ZB. Bäume) zu präsentieren. Def: Seien • I eine endl. Indexmenge aus N (mit p:=|I|) • Xi Teilmengen aus V, wobei i aus I ~> X := {Xi aus V : i aus I} • T := (I,F) (~> verwirrend, aber unten folgt eine Erläuterung) Das Tupel BD(G) := (X,T) nennen wir dann Baum-Dekomposition oder auch Baumzerlegung, falls: a) T ist ein Baum b) Ui aus I Xi = V c) Zu jeder (u,v) aus E ex. ein i aus I sd u und v in Xi sind d) Für jedes v aus V induziert Tv := {i aus I : v aus Xi) ein Unterbaum von T (Die Xi's werden auch "bags" bzw. "Taschen" genannt) 3 4 Erläuterungen: • Wie gesagt, soll ja aus G irgendwie so etwas wie Baum entstehen. • Aber wie soll das gehen, wenn X eine Menge von Mengen ist und T so komisch definiert ist? • Die Knoten von T werden mit den Zahlen 1,2,...,p aus I beschrieben, die wiederum in Wirklichkeit Knotenmengen aus V sind. • Zusätzlich muss man beachten, das die Xi's i.a. nicht disjunkt sind. Deshalb auch die Aussage in c): o Alle Xi's, die zB. den Knoten v enthalten, müssen einen Unterbaum Tv von T ergeben. o Dh. Für jedes v aus V muss gelten: die Xi's, welche v enthalten, müssen in T wieder einen Unterbaum Tv induzieren (dh. wenn man also diese Xi's nur über die Kanten von T mit einander verbindet). Insb. sollte Tv dann zusammenhängend und kreisfrei sein! • Wie kommen jetzt überhaupt die Kanten von T zustande? • Die Antwort verbirgt sich in Aussage d): • für i≠j haben die Knoten Xi und Xj eine gemeinsame Kante, gdw sie einen gemeinsamen Knoten besitzen; sind sie also disjunkt, so gibt es keine Kante zwischen ihnen. Dabei können Xi und Xj natürlich höchstens eine gemeinsame Kante haben, egal wie viele Knoten sie gemeinsam haben. Def: Die Weite eines Baum-Dekomposition (X,T) ist der Wert maxiaus I |Xi|-1. Die Baumweite eines Graphen G ist dann das Minimum aller Weiten über alle Baum-Dekompositionen von G. Def: Ein Teilgraph H von G heißt Minor von G, wenn er durch eine oder mehrere der folgenden Operationen entsteht: 1. das Löschen einer Kante 2. das Löschen eines Knoten (und somit auch seine benachbarten Kanten) 3. Kontraktion einer Kante Offenbar gilt Aussage: H Minor (oder Teilgraph) von G => 4 Baumweite(H) ≤ Baumweite(G) 5 Der Approximations-Algorithmus A Wir geben jetzt einen Näherungs-Algorithmus (PTAS polynomial time algorithmus scheme) für das Maximum Independent Set (MIS) an. Sei G eingebettet auf einer Oberfläche K des Geschlechts g. Input: • Graph G • Kreuzungsparameter φ von G auf K • Ein k aus N mit k ≥ φ + 2 Beginn -------------------------------------------------------------------1. Sei d die Anzahl aller Kantenkreuzungen in G auf K. Konstruiere aus G den Graph G'=(V',E') dadurch, dass man jede Kantenkreuzung durch neue Knoten u1,...,ud ersetzt. 2. Führe eine Breitensuche auf G' aus (mit einem bel. Knoten aus V' als Wurzel), so dass dann ein Baum T aus G' entsteht. 3. Für jedes i=0,1,...,k-1 gehe wie folgt vor: 3.1. Lösche in G' die Levels von T, welche kongruent zu i (mod k) sind und zwar zusammen mit ihren φ folgenden Levels. Dies führt dazu, dass aus G' nun Untergraphen H1,...,Hr entstehen, so dass jeder Ht = (Wt, Ft) durch (k-(φ+1)) > 0 aufeinander folgenden Levels in T induziert ist. 3.2. Betr. jetzt die Untergraphen G1,...,Gr in G, welche durch die Knotenmenge Vt:= (Wt geschnitten V) induziert sind; also Gt=(Vt, Et), wobei Et:= E(Vt) (also Ft c Et c E) Beachte den Unterschied zwischen den Ht's und den Gt's : • während die (evtl.) Kreuzungsknoten u1,...,ud in Wt platziert waren, werden sie in Vt nicht mehr berücksichtigt. (Das ist ja auch • sinnvoll, da wir unser MIS nicht in G', sondern in G suchen) Außerdem werden die Kanten, die nicht in Ft berücksichtigt worden waren, deren Endknoten sich aber in Vt befinden, jetzt in den Gt's wieder berücksichtigt. (Insb. verlieren die Gt's i.a. ihre Baumeigenschaften, was aber nicht schlimm ist) (*): Viel wichtiger ist, dass es durch die Vorgehensweise in (3.1) (also "Lösche ... die Levels ... i ... und zwar zusammen mit ihren φ folgenden Levels"). Da jede Kante maximal φ Kreuzungen hat, existiert keine Kante mehr aus E, dessen Endknoten in verschiedenen Gt's bzw. Vt's liegen!!! D.h. in G gilt: für i≠j ist kein Knoten in Vi mit einem Knoten aus Vj benachbart! 3.3. Zusätzlich gilt für jedes t=1,...,r : Baumweite(Gt)= O(k) (Beweis später). Daraus folgt, dass wir in jedem Gt eine MIS in Zeit n·2O(k) (also nicht mehr n·2n) finden können. Sei also Si ein MIS über alle G1,...,Gr. (die Schleife mit i ist jetzt hier zu Ende) 4. Bestimme jetzt unter S1,...,Sk-1 die Menge Si mit |Si| maximal. Setze S := Si End-----------------------------------------------------------------------Output: S 5 6 Erläuterungen: • Bei der Wahl von k kann man sich fragen: was ist denn, wenn k > Höhe(T) ist? Dann kommt man doch früher oder später für irgendein i in die Situation, in der ein Gt = G ist und wir dann ein Si in G (also ein MIS) suchen müssen. Das ist richtig, aber in solchen Fällen lautet das Gegenargument: k ist in erster Linie fest (bzw. beschränkt). Wenn die Höhe des Baumes T kleiner ist und wir somit in eine Situation wie oben kommen, dann kann man sagen, dass das Problem so "einfach" ist, dass man es quasi "per Hand" lösen könnte. Und da man geneigt ist Probleme (wie zB. MIS) immer so allgemein wie möglich zu behandeln, ist es so, dass wir von sehr großen Graphen ausgehen; so groß, dass i.a. k < Höhe(T) ist. Für kleine Beispiele, um sich die Arbeitsweise von A klar zu machen, ist es am besten, wenn man k so klein wie möglich, also k= φ+2 wählt. • Im Schritt 3.2. muss beachtet werden, dass wir diese Gt's wirklich für jedes i =0,...,k-1 separat erzeugen müssen. Insb. haben wir am Ende ja S1,...,Sk-1. • Was besagt die Aussage (*)? Oder genauer: Warum müssen wir denn φ+1 Levels löschen, damit keine Kante mehr aus E existiert, dessen Endknoten in verschiedenen Gt's liegen? • In erster Linie dürfen wir im Eifer des Gefechts nicht vergessen, dass wir ein MIS suchen. Locker formuliert, soll dies dadurch erreicht werden, dass wir (nach den obigen Regeln) immer so viele Knoten entfernen, so dass wir irgendwann mit Sicherheit sagen können unser S bildet ein MIS. Hier ein besonders vereinfachtes Algorithmus A verständlich zu machen: Bsp. um die Grundidee von Seien a,b,c aus V, sd. wir in G bzw. in T den Pfad (a-b-c) haben (a und b nicht benachbart). Was macht dann A? Falls φ = 0: • G' ist dann identisch mit G • Während der i-Schleife müssen wir auf jeden Fall einmal den Knoten b löschen und da dann a und c in den verschieden Untergraphen Gt und Gt+1 wären, wäre eine mögliche Wahl von S zB. {a,c,...} Diese Möglichkeit soll aber immer noch bestehen, wenn φ ≠ 0 ist und zB. die Kante (a,b) φ-mal von anderen Kanten überkreuzt wird! Was macht also A in diesem Fall? • zunächst einmal G' konstruieren, wobei diesmal natürlich G'≠ G ist. • erhalten jetzt also den um φ verlängerten Pfad (a-u1-...-uφ-b-c) • Des weiteren soll unsere Tiefensuche im Schritt 3. OE so sein, dass alle Knoten von (a-u1-...-uφ-b-c) in verschiedenen Levels platziert sind. • Oben im Fall φ = 0 bzw. (a-b-c) reichte es nur b zu löschen, um unsere gewünschten Ergebnisse zu erreichen. • Jetzt aber müssen wir wohl die Knoten u1,...uφ UND b (also φ+1 Knoten) löschen um die selben Ergebnisse (nämlich S={a,c,...}) zu erhalten. • So viel zur Grundidee. (Wie schon oben erklärt war dies nur ein sehr einfaches Bsp. Hätte man sämtliche mögliche Fälle, die A abdeckt mit einem Bsp. klären wollen, hätte man dementsprechend ein viel komplizierteres Bsp. angeben müssen, wobei dann die Übersicht verloren gegangen wäre.) 6 7 LEMMA: • Sei Gt ein bel. Subgraph, der in A im Schritt 3.2. konstruiert wird und k wie oben. Dann gilt: Baumweite(Gt) = O(k) Bew.: Schon mal vorab: Wir werden jetzt nicht auf die Definition der O-Notation eingehen. Stattdessen werden wir gewisse Voraussetzungen schaffen, damit wir ein Ergebnis aus Bakers Forschungen anwenden können. Da G auf einer Oberfläche K des Geschlechts g (i.a. mit Kreuzungen) eingebettet ist und G' aus G so konstruiert wird, das man die Kantenkreuzungen in G auf K durch Knoten ersetzt, besitzt G' auch das Geschlecht (höchstens) g. Betr. wir jetzt, wie im 3.1. erklärt, einen der Subgraphen Ht von G' in T. Darauf basierend wollen wir einen Minor M von G' konstruieren, worauf wir dann Bakers Ergebnisse anwenden werden: Ht ist ja durch s:= (k-φ-1)>0 Levels von T induziert. Sei das Level q+1 in T das erste Level in Ht und das Level q+s in T das letzte Level in Ht (also (q+s)-q = s). Betr. jetzt den Minor M von G', der dadurch entsteht, dass man alle Knoten in T, welche sich auf den ersten q Levels von T befinden zu einem (Wurzel-) Knoten w kontrahiert und alle Knoten, die sich in T auf den Levels echt größer q+s befinden, löscht. M ist also insb. ein Baum, der Ht enthält, die Höhe s = k-φ-1 (wobei Höhe(w)=0) und den Genus g hat. Zusätzlich hat der längste Weg zwischen zwei Knoten in M dann maximal die Länge (bzw. den sog. Diameter) 2(k-φ-1). Und so ein Minor hat laut Baker maximal die Baumweite O(g·k). Da Ht ein Subgraph von M ist, hat auch er höchstens die Baumweite O(g·k). Es ist O(g·k) = O(k), da g ja (durchgehend in dieser Ausarbeitung) als beschränkt vorausgesetzt wird. Zu zeigen war aber Baumweite(Gt) = O(k). Dh. wir müssen jetzt genauer auf die Beziehung zwischen Gt und Ht eingehen. Plan: • Wir konstruieren aus Ht einen Graphen H't • Wir zeigen: o Baumweite von H't ist auch beschränkt mit O(k) o Gt ist ein Minor von H't • Damit wäre die Baumweite von Gt dann auch O(k) Zu der Konstruktion von H't aus Ht: Locker formuliert, wollen wir in erster Linie darauf hinaus, dass es zu jeder Kante (a,b) in Gt (i.a. mit Kantenkreuzungen) einen Pfad P(a,b) von a nach b gibt. Zusätzlich wollen wir es noch so machen, dass alle Pfade Knotendisjunkt sind: • Betr. alle Kreuzungsknoten v (welche wir in A im Schritt 1. hinzugefügt haben) in Ht • Ersetze v durch zwei neue Knoten v1 und v2 und der zugehörigen neuen Kante (v1,v2) ~> Wie soll das gehen? 7 8 • • • • • • Betr. wir dazu eine einfache Kreuzung zweier Kanten (a,b) und (c,d) in Gt. Schritt 1. in A: ersetze diese Kreuzung durch v. Haben jetzt also die Pfade (a-v-b) und (c-v-d), welche nicht disjunkt sind, da sie den Knoten v gemeinsam haben. ziehe diese zwei Pfade jetzt so auseinander (lockere Formulierung!), so dass aus v die Kante (v1,v2) entsteht. Jetzt haben wir die Pfade (a-v1-b) und (c-v2-d), welche jetzt Knotendisjunkt sind, aber durch die Kante (v1,v2) miteinander verbunden sind. Um die Eigenschaft "disjunkt" zu erreichen, haben wir also die Dimension quasi (um eins) erhöht. Ist jetzt d die Baumweite von Ht, so kann die Baumweite von H't, aufgrund der oben beschrieben Konstruktion bzw. wenn wir jeden Kreuzungsknoten (in der selben "Tasche Xi") durch zwei neue ersetzen, dann nicht größer sein als 2d+1. Also ist die Baumweite von H't ebenso beschränkt (bzw. O(k)). Noch zu zeigen: Gt ist ein Minor von H't Um dies zu zeigen können wir nicht einfach rückwärts die obige Konstruktion durchgehen. Dennoch ist die Vorgehensweise ziemlich einfach: Lösche alle Kanten, welche bei der Konstruktion von H't zustande kamen und durch die die Knotendisjunkten Pfade verbunden waren. Î Jetzt sind die Pfade komplett unabhängig von einander Î Kontrahiere jetzt alle Kanten der Pfade, so dass von jedem Pfad am Ende nur noch eine einzige Kante übrig bleibt. Î Diese Übriggebliebenen Kanten entsprechen jetzt jenen Kanten in Gt, ganz am Anfang. Also ist Gt ein Minor von H't. Î Baumweite(Gt) = O(k). q.e.d. 8 9 THEOREM: Seien • G ein Graph (mit g, φ beschränkt) • M eine beliebige maximal unabhängige Menge (MIS) in G Dann gilt: Algorithmus A liefert in k·n·2O(k) Schritten als Output eine unabhängige Knotenmenge S (in G) mit: (k-φ-1)/k · |M| ≤ |S| ≤ |M| (Insb. ist S i.a. also nicht maximal im Sinne einer MIS) Bew.: Da wir im Algorithmus A (in Schritt 3.3) für jedes i aus {0,...,k-1} eine unabhängige Menge Si erhalten und am Ende S:= max Si setzen, wissen wir, dass wir als Output auf jeden Fall eine unabhängige Menge erhalten. Wieder werden wir an dieser Stelle eine Aussage aus Bakers Ergebnissen bzgl. unser Algorithmus A zu Hilfe nehmen. Baker (*): Während der i-Schleife im Algorithmus A, existiert mind. ein i aus {0,...k-1}, so dass maximal (φ+1)/k der Knoten von M (also einer optimalen Lösung in G) sich auf den Levels (von T), welche kongruent zu i, i+1,...,i+φ (mod k) sind, befinden. Bezeichne diese Levels jetzt mit i-Levels. (Diese i-Levels sind genau die Levels, welche im Schritt 3.1. gelöscht werden!) Î Erläuterung: • Bestimme für jedes i aus {0,...k-1} die i-Levels: i,i+1,...,i+φ UND auch die, welche zu diesen bzgl. k kongruent sind. • Setze q:= (φ+1)/k · |M| (es ist q < |M|, da (φ+1)<k bzw. (φ+1)/k < 1) • • (*) besagt jetzt: Es gibt mind. ein i, so dass höchstens q Knoten aus M sich auf die oben bestimmten i-Levels in T befinden! Die Idee dabei ist: • Mindestens wie viele Knoten einer MIS können durch Algorithmus A am Ende in S landen? • Andersrum gefragt: Wie viele Knoten einer MIS werden am Ende in S höchstens ausgelassen? • (*) basiert eben auf diese zweite Formulierung. • Sie besagt (mehr oder weniger): höchstens (φ+1)/k Knoten einer MIS werden ausgelassen. • Daraus folgt: Mindestens 1 - (φ+1)/k = (k-φ-1)/k Knoten aus einer MIS landen am Ende (doch) in S. Î Also: (k-φ-1)/k · |M| ≤ |S| ≤ |M|. Zu "k·n·2O(k)": Im Algorithmus A ist Schritt 3, dort wo die Gt's und die jeweiligen Si's bestimmt werden, der aufwendigste. Wir haben aber schon gezeigt, dass die Baumweiten der Gt's durch O(k) beschränkt sind. 9 10 Somit kann man für jedes i die gesuchten Mengen in Schritten finden. Wegen i=0,...,k-1 folgt also k·n·2O(k) und damit die Beh. höchstens n·2O(k) q.e.d. Die obige Laufzeit kann man auch so ausdrücken, dass die Auswirkung bzw. der Einfluss von g und φ deutlich wird. Dazu betr. wir ein ε > 0 und sprechen dann von einer sog. (1-ε)-Approximation. Unseren k (als Input bei A) müssen wir dann so wählen, dass k ≥ (φ+1)/ε ≥ φ/ε ist. Damit hätten wir dann die Baumweite O(g·φ/ε) (statt O(k)) und bei der Laufzeit (φ/ε)·n·2O(g·φ/ε) (statt k·n·2O(k)). Bem: Der erste Gedanke bei der Wahl von ε wäre wohl, dass man ihn so klein wie möglich wählt (damit 1-ε ja quasi zu 1 wird). Wegen "(φ/ε)·n·2O(g·φ/ε)" müssten wir aber dann eine viel höhere Laufzeit in Kauf nehmen. Kurz gesagt: Je mehr man eine höhere Genauigkeit möchte, umso mehr muss man eine höhere Laufzeit in Kauf nehmen. 10