Perlen der theoretischen Informatik: VC-Dimension und ε-Netze Martin Ozimek 19. Januar 2003 0. Einleitung Zu einer Hyperebene H im Rn , der Nullstellenmenge eines nichtkonstanten linearen Polynoms f wollen wir das Problem untersuchen, zu berechnen, auf welcher Seite von H ein ξ ∈ Rn liegt, d.h. welches Vorzeichen f (ξ) hat. Dabei wollen wir eine stark idealisierte, algebraische Komplexität des Problems betrachten, indem wir annehmen, dass Addition, Subtraktion, Multiplikation, Division und Vergleich zweier reller Zahlen konstante Zeit benötigt. Das einfachste Verfahren besteht darin, f (ξ) auszurechnen, was O(n) Zeit benötigt. Wollen wir simultan berechnen, auf welcher Seite von H1 , . . . , Hm ein ξ liegt, so können wir das mit dieser Methode in O(mn) tun. Allerdings hat in interessanten Anwendungen, unter anderem in geometrischen Formulierungen N P -vollständiger Probleme, m exponentielle Größe in n, weshalb diese Laufzeit meistens nicht akzeptabel ist. Um die Laufzeit zu verbessern, nehmen wir im folgenden an, dass die Hyperebenen H1 , . . . , Hm fest vorgegeben sind, d.h. wir betrachten sie nicht als Teil der Eingabe. Das bedeutet, dass der Algorithmus, dessen Existenz wir beweisen wollen, eine endliche Anzahl von Informationen über H1 , . . . , Hm ohne Berechnungsaufwand verwenden darf. Mit diesen Einschränkungen finden wir einen Algorithmus mit Laufzeit O(n4 log2 n log m). Den Aufwand, diesen Algorithmus zu finden bzw. zu konstruieren, werden wir dabei außer Acht lassen. Die Existenz des Algorithmus basiert auf dem Konzept der VC-Dimension von Bereichsräumen, das von Vapnik und Chervonenkis eingeführt wurde, und in Abschnitt 1 besprochen wird. Haussler und Welzl haben gezeigt, dass in jedem Raum endlicher VC-Dimension konstant große ε-Netze existieren. Dies werden wir in Abschnitt 2 besprechen. In Abschnitt 3 wird präzisiert, was wir eigentlich berechnen wollen, und es werden einige weitere geometrische Begriffe festgelegt. In Abschnitt 4 betrachten wir schließlich 1 den Bereichsraum, der für den Algorithmus entscheidend ist, und schätzen seine VC-Dimension ab. Mit diesem Ergebnis können wir dank der Existenz konstanter ε-Netze einen rekursiven Algorithmus angeben, der bei jedem Rekursionsaufruf die Anzahl der zu betrachtenden Hyperebenen halbiert, wobei jeder Rekursionsschritt eine Laufzeit besitzt, die nicht von der Anzahl der Hyperebenen abhängt. Schließlich wenden wir diesen Algorithmus auf zwei N P -vollständige Probleme an, die wir damit zumindest nichtuniform polynomiell lösen können. Im folgenden werden folgende Bezeichnungen benutzt: N = {1, 2, . . .}, N0 = N ∪ {0}, [n] = {1, . . . , n}. log bezeichnet den Logarithmus zur Basis 2. 1. VC-Dimension Die VC-Dimension ist eine Zahl, die die kombinatorische Komplexität einer Familie R von Teilmengen einer Ausgangsmenge X misst. Obwohl die VCDimension erstaunlich einfach definiert und oft recht einfach zu berechnen ist, lässt sich zu festem A ⊆ X die Anzahl der Mengen, die Schnitt von A mit einer Menge in R sind, explizit mit einer Zahl beschränken, die nur von der VC-Dimension und der Mächtigkeit von A abhängt. Definition 1 Ein Bereichsraum ist ein Paar (X, R), falls X eine Menge ist, und ∅ 6= R ⊆ 2X . Elemente von X nennen wir Punkte, die Elemente von R nennen wir Bereiche. Für A ⊆ X definieren wir ΠR (A) := {A ∩ r : r ∈ R} und sagen, R zerlegt A, falls ΠR (A) = 2A . Da ∅ von R zerlegt wird, ist Z := {|A| : A ⊆ X endlich, R zerlegt A} nicht leer, und wir setzen VCdim(X, R) := sup Z ∈ N0 ∪ {∞}. Beispiele 2 • VCdim(X, R) = 0 genau dann, wenn |R| = 1. • VCdim(R, {[a, ∞[ : a ∈ R}) = 1. • VCdim(R, {[a, ∞[ : a ∈ R} ∪ {]∞, a] : a ∈ R}) = 2. • VCdim(R2 , {H : H abgeschlossene Halbebene im R2 }) = 3. • VCdim(R2 , {[a, b] × [c, d] : a, b, c, d ∈ R mit a 6 b und c 6 d}) = 4. 2 • VCdim(R2 , {P : P konvexes Polygon im R2 }) = ∞. • VCdim(Rn , {H : H abgeschlossener Halbraum im Rn }) = n + 1. Q • VCdim(Rn , { ni=1 [ai , bi ] : ai 6 bi }) = 2n. Definition 3 Für d, m ∈ N0 sei Φd (m) := Pd ¡m¢ i=0 i . Φ ist monoton steigend in beiden Variablen, und es gilt die Rekursionsformel Φd (0) = Φ0 (m) = 1 und für d, m > 1 Φd (m) = Φd (m − 1) + Φd−1 (m − 1). Außerdem gilt Φd (m) = 2m , falls d > m, und Φd (m) < 2m , falls d < m. Für d, m > 2 gilt die Abschätzung Φd (m) 6 md . Lemma 4 (Vapnik und Chervonenkis) Ist (X, R) mit endlichem X ein Bereichsraum der VC-Dimension 6 d, so gilt |R| 6 Φd (|X|). Ohne Beweis. Folgerung 5 Sei (X, R) ein Bereichsraum der VC-Dimension d. Für alle endlichen A ⊆ X gilt dann |ΠR (A)| 6 Φd (|A|). Beweis: (A, ΠR (A)) ist ein Bereichsraum mit VC-Dimension höchstens d, also folgt die Behauptung aus Lemma 4. 2. ε-Netze In diesem Abschnitt zeigen wir die Existenz einer Teilmenge N einer vorgegebenen Menge A von Punkten, die A überdeckt in dem Sinn, dass jeder Bereich, der zu einem genügend großen Anteil mit A übereinstimmt, bereits einen Punkt aus N enthält. Erstaunlicherweise hängt die Größe von N nicht von A ab, was fundamental für die Anwendungen in Abschnitt 4 sein wird. Definition 6 Sei (X, R) ein Bereichsraum, ∅ 6= A ⊆ X endlich und 0 < ε < 1. Wir setzen ½ ¾ |A ∩ r| RA,ε := r ∈ R : >ε . |A| N ⊆ A heißt ε-Netz von A in (X, R), falls r ∩ N 6= ∅ für alle r ∈ RA,ε . Theorem 7 (Haussler und Welzl) Seien (X, R) ein Bereichsraum endlicher VC-Dimension d > 0, 0 < δ, ε < 1, ∅ 6= A ⊆ X endlich. Weiter sei m > max(4ε−1 log(2δ −1 ), 8dε−1 log(8dε−1 )). 3 Sei N die Menge aller Punkte, die in m unabhängigen Wahlen von Punkten in A ausgewählt werden, wobei A gleichverteilt sei (für jedes a ∈ A ist |A|−1 die Wahrscheinlichkeit, dass a gezogen wird). Dann ist N ein ε-Netz mit einer Wahrscheinlichkeit von mindestens 1 − δ. Insbesondere existiert ein ε-Netz N von A mit |N | 6 d8dε−1 log(8dε−1 )e = O(dε−1 log(dε−1 )). Wie diese explizite Abschätzung zeigt, hängt die Größe von N tatsächlich nur von d und ε ab, nicht aber von |A|. Das bedeutet z.B., angewandt auf das dritte Beispiel in 2, das zu jeder Menge A von Punkten im R2 eine Teilmenge N von A mit höchstens 1898 Elementen existiert, sodass jede abgeschlossene Halbebene, die mindestens 1/10 der Punkte in A enthält, bereits einen Punkt mit N gemeinsam hat. Den Beweis führen wir mit der probabilistischen Methode, die vor allem Paul Erdös ihre Bekanntheit verdankt. Die Idee ist simpel: Um die Existenz einer Entität zu beweisen, zeigt man, dass sie in einem gewissen Wahrscheinlichkeitsraum positive Wahrscheinlichkeit hat. Daher rührt auch die probabilistische Formulierung der Aussage. Dadurch ist der Beweis natürlich nichtkonstruktiv, also im Grunde eine reine Existenzaussage. Immerhin liefert er aber einen probabilistischen Algorithmus, das gesuchte zu berechnen. Hier ermöglicht er zudem eine Abwägung zwischen der Größe von N und der Wahrscheinlichkeit, zu scheitern. Beweis von Therem 7: Im folgenden bezeichne P die gleichverteilte Wahrscheinlichkeit auf dem jeweils zugrundeliegenden Raum. Sei Q die Menge aller Vektoren x = (x1 , . . . , xm ) ∈ Am , deren Menge der Einträge kein ε-Netz von A ist, d.h. Q = {(x1 , . . . , xm ) ∈ Am | ∃ r ∈ RA,ε : {x1 , . . . , xm } ∩ r = ∅} Da die Gleichverteilung auf Am der Verteilung von m unabhängigen gleichverteilten Wahlen aus A entspricht, ist die Behauptung äquivalent zu P(Q) 6 δ. Dies werden wir zeigen. Zu r ∈ RA,ε sei Ur die Zufallsvariable definiert durch Ur : Am → N0 , (x1 , . . . , xm ) ½ | {i : xi ∈ r} | = m X 1A∩r (xi ). i=1 Ur ist die Summe von m gleichverteilten unabhängigen Zufallsvariablen mit Werten 0 und 1, ist also binomialverteilt mit Parametern m und 4 ¡ ¢ p := P(x1 ∈ r) = |r ∩ A|/|A| > ε, d.h. P(Ur = j) = mj pj (1 − p)m−j . Für den Erwartungswert und die Varianz der Binomialverteilung gilt E(Ur ) = pm und Var(Ur ) = p(1 − p)m. Behauptung 1 P(Ur 6 εm/2) < 1/2. Die Wahrscheinlichkeit auf der linken Seite aufgefasst als Funktion mit der Veränderlichen p ist monoton fallend. Wegen ε 6 p < 1 wird sie in p = ε maximiert, es genügt also, die Behauptung für p = ε zu zeigen. Für diesen Fall gilt E(Ur ) = εm und Var(Ur ) = ε(1 − ε)m. Für jede Zufallsvariable X mit existierender Varianz gilt die Chebyshev’sche Ungleichung P(|X − E(X)| > η) 6 η −2 Var(X) für alle η > 0. Wegen P(Ur 6 εm/2) 6 P(|Ur − εm| > εm/2) folgt µ ¶2 2 4 4 1 P(Ur 6 εm/2) 6 Var(Ur ) = 2 2 ε(1 − ε)m < 6 , εm εm εm 2 wobei die letzte Ungleichung benutzt, dass m mindestens 8ε−1 beträgt. Somit ist Behauptung 1 bewiesen. Betrachten wir nun das Ereignis J := {(x, y) ∈ Am × Am | ∃ r ∈ R : {x1 , . . . , xm } ∩ r = ∅ und Ur (y) > εm/2} . Da die Komponenten eines gleichverteilten Produktraums unabhängig sind, folgt P(J) = P ({x ∈ Am | ∃ r ∈ R : {x1 , . . . , xm } ∩ r = ∅}) · P(Ur > εm/2) = P(Q)(1 − P(Ur 6 εm/2)) > P(Q) 1 2 nach Behauptung 1, also gilt P(Q) 6 2 P(J). Nun werden wir P(J) abschätzen. Die symmetrische Gruppe S2m operiert auf natürliche Weise auf A2m mittels ¡ ¢ π (x1 , x2 , . . . , x2m ) = xπ−1 (1) , xπ−1 (2) , . . . , xπ−1 (2m) , der Permutation der Kompenenten entsprechend π. Wir setzen M := {(π 0 , z 0 ) ∈ S2m × A2m : π 0 z 0 ∈ J}, und zu π ∈ S2m und z ∈ A2m M π := {z 0 ∈ A2m : πz 0 ∈ J} = π −1 (J), 5 Mz := {π 0 ∈ S2m : π 0 z ∈ J}. Wir erhalten nun |S2m ||J| = X |M π | = |M | = π∈S2m X |Mz | 6 |A2m | max |Mz |, 2m z∈A2m z∈A also P(J) 6 maxz∈A2m |Mz |/(2m)!. Behauptung 2 Für alle z ∈ A2m gilt |Mz |/(2m)! 6 Φd (2m)2−εm/2 . Sei z = (z1 , . . . , z2m ) ∈ A2m und S := {z1 , . . . , z2m } ⊆ A. Ist π ∈ Mz , so existiert r ∈ ΠR (S), sodass πz = (x, y) ∈ Am × Am mit {x1 , . . . , xm } ∩ r = ∅ und Ur (y) > εm/2. Nach Folgerung 5 hat {S ∩r : r ∈ R} = ΠR (S) höchstens Φd (2m) Elemente. Somit genügt es zu zeigen, dass für ein festes r ∈ ΠR (S) T := {π ∈ S2m : πz = (x, y), {x1 , . . . , xm } ∩ r = ∅ und Ur (y) > εm/2} höchstens (2m)!2−εm/2 Elemente besitzt. Sei I := {i ∈ [2m] : zi ∈ r} und l := |I|. Wir dürfen ohne Einschränkung εm/2 < l 6 m annehmen, da sonst T leer ist. Nun gilt für π ∈ S2m π ∈ T ⇐⇒ π(I) ⊆ {m + 1, . . . , 2m}. ¡m¢ l!(2m − l)! und es folgt schließlich l ¡m¢ |T | m(m − 1) · · · (m − l + 1) l ¢= = ¡2m 6 2−l < 2−εm/2 , (2m)! 2m(2m − 1) · · · (2m − l + 1) l Also gilt |T | = womit Behauptung 2 gezeigt ist. Insgesamt haben wir gezeigt: P(Q) 6 2Φd (2m)2−εm/2 . Für d > 1 gilt Φd (2m) 6 (2m)d . Desweiteren benutzen wir die allgemeine Ungleichung a log n 6 n für a > 4, n > 2a log a, die 4dε−1 log(2m) 6 m impliziert wegen m > 8dε−1 log(8dε−1 ). Weiter gilt wegen m > 4ε−1 log(2δ −1 ) 4dε−1 log(2m) 6 2m − m 6 2m − 4ε−1 log(2δ −1 ). Umstellen der Ungleichung nach δ liefert δ > 2(2m)d 2−εm/2 , also folgt P(Q) 6 δ, was zu zeigen war. Für d = 1 lässt sich die gesuchte Ungleichung ebenfalls herleiten. 6 3. Geometrische Begriffe Eine Hyperebene im Rn sei eine Teilmenge des Rn von der Form b + U mit b ∈ Rn , U Unterraum von Rn mit dim U = n − 1. Äquivalent ist eine Hyperebene {f = 0} := {(x1 , . . . , xn ) ∈ Rn : f (x1 , . . . , xn ) = 0}, wobei Pn f ein nichtkonstantes Polynom vom Grad 1 ist, d.h. f (x1 , . . . , xn ) = ( i=1 ai xi ) + c mit ai , c ∈ R, (a1 , . . . , an ) 6= 0. Einer Hyperebene ordnen wir zwei abgeschlossene Halbräume {f 6 0}, {f > 0} und zwei offene Halbräume {f < 0}, {f > 0} zu. Unter offenen/abgeschlossenen Halbräumen verstehen wir immer Mengen dieser Form. Ist H eine Hyperebene, so wählen wir einen der zugehörigen offenen Halbräume, und bezeichnen ihn als den positiven Halbraum H + . Den anderen bezeichnen wir als den negativen Halbraum H − . Außerdem setzen wir H 0 := H. Sei H = {H1 , . . . , Hm } eine endliche Menge von Hyperebenen. Zu ξ ∈ Rn sei der Lagevektor pv(ξ) ∈ {−, 0, +}m von ξ bezüglich H definiert durch pv(ξ)i := σ gdw. ξ ∈ Hiσ . Die Anordnung A(H) von H sei die Partition von Rn in die Fasern (Urbilder einpunktiger Mengen) der Abbildung pv : Rn → {−, 0, +}m , ξ ½ pv(ξ). Diese Fasern heißen Seiten von A(H). Eine Seite mit Lagevektor in {−, +}m heißtSZelle. Die Zellen bilden gerade die Zusammenhangskomponenten von Rn \ m i=1 Hi . Anordnung dreier Geraden in der Ebene, 19 Seiten, 7 Zellen. Ein (konvexes) Polytop P ⊆ Rn ist ein beschränkter, nichtleerer Durchschnitt abgeschlossener Halbräume. Wir sagen dann, dass die Hyperebenen, zu denen die Halbräume gehören, P begrenzen. Äquivalent ist P die konvexe Hülle n endlich vieler Punkte Menge M ist o definiert nP im R (die konvexe Hülle einer P k k als conv(M ) = i=1 λi = 1 ). dim P i=1 λi xi : k ∈ N, xi ∈ M, λ ∈ [0, 1], ist definiert als die Dimension der affinen Hülle von P (oder einfacher: der linearen Hülle von P − x mit x ∈ P beliebig). Ist P = conv {x1 , . . . , xl }, 7 so ist die Dimension von P gleich der Dimension der linearen Hülle von {x2 − x1 , x3 − x1 , . . . , xl − x1 }. Eine Hyperebene H trägt P , falls P enthalten ist in einem der beiden abgeschlossenen Halbräume von H. Insbesondere wird P von H getragen, falls P ⊆ H oder P ∩ H = ∅. H schneidet P , falls P nicht von H getragen wird, d.h. falls P mit beiden offenen Halbräumen von H nichtleeren Durchschnitt hat. Ein Polytop F heißt Seite von P , falls eine Hyperebene H existiert, die P trägt, mit F = P ∩ H. Eine Seite F von P heißt Facette, falls dim F = dim P − 1; F heißt Ecke, falls dim F = 0, d.h. F enthält genau einen Punkt. Die Vereinigung der Ecken von P bezeichnen wir mit vert(P ). Es gilt P = conv(vert P ), und jede Menge C mit conv C = P enthält vert P . Es gilt |vert(P )| > dim P + 1. Das relative Innere relint(P )Svon P sei das Innere von P in seiner affinen Hülle. Es gilt relint(P ) = P \ F ∈F F , wenn F die Menge aller Seiten von P mit kleinerer Dimension als P ist. Ein d-Simplex ist ein d-dimensionales Polytop mit d + 1 Ecken, also der kleinstmöglichen Anzahl. 4. Anwendungen Definition 8 Zu n ∈ N sei Hn+ die Menge aller offenen Halbräume im Rn . Zu ξ ∈ Rn sei ξ + die Menge aller offenen Halbräume, die ξ enthalten, und Rn := {ξ + : ξ ∈ Rn } Lemma 9 VCdim(Hn+ , Rn ) = n. © ª + Beweis: Sei A = H1+ , . . . , Hm eine endliche Menge von offenen Halbräumen im Rn . Ist© H + ∈ Hn+ und ξ ∈ Rn , so gilt H + ∈ ξ + gdw. ξ ∈ H + . Somit ª ist A ∩ ξ + = Hi+ :Tξ ∈ Hi+ ,S also ist |ΠRn (A)| gleich der Anzahl nichtleerer + + Mengen der Form i∈I Hi \ i∈I / Hi mit I ⊆ [m], die höchstens Φn (m) be+ trägt. Für m > n ist Φn (m) < 2m = |2A |, also folgt VCdim(H n , Rn ) 6 n. © ª Setzen wir andererseits Hi+ := {xi > 0} für 1 6 i 6 n, so wird H1+ , . . . , Hn+ von Rn zerlegt, also folgt die Behauptung. Definition 10 Zu n ∈ N sei Hn die Menge aller Hyperebenen im Rn . Ist S ⊆ Rn ein Simplex, so bezeichne HS die Menge aller Hyperebenen, die S schneiden. Wir setzen Sn := {HS : S ⊆ Rn Simplex}. Lemma 11 VCdim(Hn , Sn ) 6 4n(n + 1) log(2n(n + 1)) = O(n2 log n). Beweis: H1 entspricht R, und jedes Element aus S1 entspricht einem offenen Intervall, also ist VCdim(H1 , S1 ) = 2, womit die Behauptung für n = 1 gezeigt ist. Sei also n > 1. Wir wählen für jede Hyperebene H ∈ Hn eine Orientierung und bezeichnen mit H + und H − den zugehörigen positiven bzw. 8 negativen offenen Halbraum. Sei S ⊆ Rn ein t-dimensionales Simplex mit den Ecken s0 , . . . , st , t 6 n. Dann gilt [ ¡© ª © ª¢ H ∈ Hn : si ∈ H + ∩ H ∈ Hn : sj ∈ H − (1) HS = i6=j © ª + Sei A = {H1 , . . . , Hm } ⊆ Hn , A+ := H1+ , . . . , Hm . Zu σ ∈ {−, +} setzen wir Πσ := {A ∩ {H ∈ Hn : s ∈ H σ } : s ∈ Rn } . Πσ und {A+ ∩ {H + ∈ Hn+ : s ∈ H + } : s ∈ Rn } haben die gleiche Anzahl von Elementen. Die letzte Menge ist aber gerade ΠRn (A) im Bereichsraum (Hn+ , Rn ), der Dimension n besitzt, Πσ hat also höchstens Φn (m) Elemente. Für jedes Simplex S ergibt sich A ∩ HS nach (1) durch die Wahl von t + 1 Elementen aus Π+ und t + 1 Elementen aus Π− . Da diese Mengen bei festem t nicht von S abhängen, folgt |ΠSn (A)| = | {A ∩ HS : S Simplex} | 6 n X Φn (m)2(t+1) 6 nm2n(n+1) , t=1 wobei t = 0 ausgelassen werden konnte, da einpunktige Mengen von keiner Hyperebene geschnitten werden. Wegen nm2n(n+1) < 2m = |2A | für m > 4n(n + 1) log(2n(n + 1)) folgt die Behauptung. Im folgenden wird die Zerlegung von Polytopen in einfachste Polytope, nämlich Simplizes, nützlich sein. Definition 12 Eine Triangulierung eines d-dimensionalen Polytops P ist eine Familie T von d-dimensionalen Simplizes mit [ [ S = P, vert(S) = vert(P ) S∈T 0 S∈T 0 und für alle S, S ∈ T ist S ∩ S leer oder eine Seite von S (und S 0 ). Jedes Polytop besitzt eine Triangulierung, die folgendermaßen rekursiv berechnet werden kann: Ist dim P 6 1, so ist {P } eine Triangulierung von P . Andernfalls sei p ∈ vert(P ) beliebig, F die Menge der Facetten von P , die nicht p enthalten. Zu jedem F ∈ F berechnen wir rekursiv eine Triangulierung TF von F . Dann ist [ {conv({p} ∪ S) : S ∈ TF } , F ∈F eine Triangulierung von P , die wir mit TP bezeichnen. p nennen wir den Referenzpunkt dieser Triangulierung. 9 Lemma 13 Sei P ⊆ Rn ein Polynom mit m Facetten. Dann gibt es einen Algorithmus, der für jeden Punkt ξ ∈ P ein S ∈ TP berechnet mit ξ ∈ S in Laufzeit O(mn2 ). Beweis: Sei p der Referenzpunkt einer Triangulierung TP . In Zeit O(n) entscheiden wir, ob ξ = p. Falls ξ = p, dann tut es jedes Simplex S ∈ TP . Andernfalls sei g die Halbgerade, die in p beginnt, und durch ξ geht. Sei η der Punkt, der am weitesten von p entfernt ist unter allen Punkten in g ∩ P . Äquivalent ist η der nächste Punkt zu p unter allen Schnittpunkten von g mit den affinen Hüllen der Facetten von P , die p nicht enthalten. Da der Schnittpunkt einer Halbgeraden mit einer Hyperebene in O(n) berechnet werden kann, kann η in O(mn) berechnet werden. Wenden wir das Verfahren rekursiv auf η und eine Facette von P , die η enthält, an, erhalten wir als Gesamtlaufzeit O(mn2 ). Theorem 14 (Clarkson) Sei H eine endliche Menge von Hyperebenen im Rn und 0 < ε < 1. Dann existiert N ⊆ H mit |N | = O(n2 ε−1 log2 (nε−1 )), sodass für jedes Simplex S ⊆ Rn gilt: Ist die Anzahl von Hyperebenen in H, die S schneiden, größer als ε|H|, dann wird S bereits von einer Hyperebene in N geschnittten. Beweis: Nach Lemma 11 gilt d := dim(Hn , Sn ) 6 O(n2 log(n)). Daher gibt es nach Theorem 7 ein ε-Netz N von H der Größe |N | 6 O(dε−1 log(dε−1 )) = ˙ 2 ε−1 log n)) = O(n2 ε−1 log2 (nε−1 )), das gerade die geO(n2 ε−1 log(n)log(n suchte Menge ist. Theorem 15 (Clarkson, Meiser) Sei H eine endliche Menge von Hyperebenen im Rn . Dann gibt es einen Algorithmus, der zu jedem ξ ∈ Rn den Lagevektor pv(ξ) bezüglich H berechnet in O(n4 log2 n log m). Beweis: Sei zunächst ξ ∈ [−1, 1]n . Sei C die Menge der 2n Hyperebenen, die [−1, 1]n begrenzen. Sei N ⊆ H mit |N | = O(n2 log2 n), wie in Theorem 14 mit ε = 1/2. Im ersten Schritt berechnen wir die Seite F der Anordnung A(N ∪ C), die ξ enthält, durch einsetzen in die Polynome in O(|N ∪ C|n) = O(n3 log2 n). F ist beschränkt, daher ist der Abschluss F von F ein Polytop mit dim F 6 n. Jede Hyperebene in N ∪ C trägt F , also auch jede Seite von F , was wir im dritten Schritt benötigen werden. Im zweiten Schritt berechnen wir ein Simplex S ∈ TF mit ξ ∈ S, wie in Lemma 13 beschrieben, in O(|N ∪ C|n2 ) = O(n4 log2 n), da F von Hyperebenen in N ∪ C begrenzt wird, also höchstens |N ∪ C| Facetten besitzt. Im dritten Schritt berechnen wir die Seite S 0 von S mit ξ ∈ relint(S 0 ), indem wir alle Facetten von S bestimmen, die ξ enthalten, da S 0 der Schnitt dieser Facetten ist. Da S ein 10 Simplex ist, besitzt es höchstens n + 1 Facetten, der dritte Schritt benötigt also O(n2 ). Sei HS 0 := {H ∈ H : H schneidet S 0 } . Da S 0 von jeder Hyperebene in N getragen wird und N ein 1/2-Netz von H ist, gilt |HS 0 | 6 |H|/2. Jede H ∈ H \ HS 0 trägt S 0 , also ist relint(S 0 ) ganz enthalten in einer der Mengen H, H − oder H + , d.h. alle Punkte in relint(S 0 ) haben die gleiche Lage bezüglich H. Es gibt nur endlich viele Simplizes, die im dritten Schritt als S 0 berechnet werden können, sodass wir HS 0 und die Lage von relint(S 0 ) bezüglich H \ HS 0 im voraus berechnen können. Es bleibt also nur noch noch die Lage von ξ bezüglich HS 0 zu berechnen, was wir rekursiv tun, bis wir die Lage von ξ bezüglich nur einer Hyperebene berechnen müssen, was wir in O(n) können. Da die Anzahl der Hyperebenen in jedem Rekursionsaufruf mindestens halbiert wird, beträgt die Rekursionstiefe O(log m). Da der zweite Schritt am längsten dauert, erhalten wir als Gesamtlaufzeit O(n4 log2 n log m). Sei nun ξ = (ξ1 , . . . , ξn ) ∈ / [−1, 1]n , H = {H1 , . . . , Hm }, Hi die Nullstellenmenge von αi0 + αi1 x1 + · · · + αin xn . Sei ξ0 := 1, und durch evtl. Umnummerieren ohne Einschränkung |ξn | = max {|ξi | : 1 6 i 6 n}. Wir berechnen ξ˜i := ξi /|ξn | für 0 6 i < n und ε := ξn /|ξn | ∈ {−1, 1}. wir n Nun berechnen o n die Lage von ξ˜ := (ξ˜0 , . . . , ξ˜n−1 ) ∈ [−1, 1] bezüglich H̃1 , . . . , H̃m , wobei H̃i die Nullstellenmenge von αi0 x0 + · · · + αi,n−1 xn−1 ist. Diese ist auch die Lage von ξ bezüglich H. Betrachten wir nun ein analoges Problem, das mit Turingmaschinen modellierbar ist. Sei H eine endliche Menge von Hyperebenen definiert durch Polynome mit rationalen Koeffizienten und ξ ∈ Qn , wobei wir rationale Zahlen durch die Binärdarstellung ihres Zählers und Nenners codieren. Unser Algorithmus zur Lagebestimmung führt arithmetische Operationen nur aus, um die Lage eines Punktes bezüglich einer Hyperebene und den Schnittpunkt einer Halbgeraden mit einer Hyperebene zu berechnen. Mit diesen Beobachtungen läßt sich zeigen, dass der Algorithmus polynomiell in der Codierungslänge von ξ arbeitet. Mit dem Lagebestimmungsalgorithmus lassen sich bekannte schwierige Probleme partiell lösen, wenn sie sich als boolsche Kombination von Hyperebenen oder Halbräumen darstellen lassen. Zwei Beispiele sollen dies demonstrieren. Definition 16 Das n-dimensionale reelle SubsetSum-Problem ist das Pro11 blem zu entscheiden, ob ein Punkt im Rn in der Menge ( ) X SSSn := x ∈ Rn | ∃S ⊆ [n] : xi = 1 i∈S liegt. Die Einschränkung des Problems auf Eingaben im Qn heißt n-dimensionales klassisches SubSetSum-Problem. Folgerung 17 (Meyer auf der Heide) Es gibt einen Algorithmus, der das n-dimensionale SubsetSum-Problem in O(n5 log2 n) löst. Das n-dimensionale klassische SubsetSum-Problem ist polynomiell lösbar in der Codierungslänge der Eingabe. Beweis: SSSn ist die Vereinigung von 2n Hyperebenen. Also liegt ξ ∈ Rn in Sn genau dann, wenn einer der Einträge des Lagevektors 0 ist. Wir können nach Theorem 15 den Lagevektor von ξ in O(n4 log2 n log(2n )) = O(n5 log2 (n)) berechnen, woraus die Behauptung folgt. Bemerkung 18 Sei H+ eine endliche Menge offener Halbräume im Rn , B S T ein Element der von H+ erzeugten boolschen Algebra, d.h. B = i j Hij mit Hij ∈ H+ oder Rn \ Hij ∈ H+ . Dann ist B die Vereinigung von Seiten der Anordnung A(H), wenn H die Menge der Hyperebenen bezeichnet, zu denen die Halbräume in H+ gehören. Nach Theorem 15 können wir also in O(n4 log2 n log m) entscheiden, ob ein Punkt in einer Menge liegt, die durch Schnitt, Vereinigung und Komplementbildung aus m Hyperebenen im Rn hervorgeht. Definition 19 Das n-dimensionale reelle Traveling-Salesman-Problem ist das Problem zu entscheiden, ob es zu einer n × n-Matrix (xij ) von Distanzen zwischen Städten und einer Zahl y eine Rundreise durch alle Städte gibt der 2 Länge höchstens y gibt. Es ist also das Problem, ob ein Punkt im Rn × R in (à n−1 ! ) [ X T Sn := {xij > 0 : 1 6 i, j 6 n} ∩ xπ(i)π(i+1) + xπ(n)π(1) 6 y π∈Sn i=1 liegt. Die Einschränkung des Problems auf Eingaben mit rationalen Komponenten heißt n-dimensionales klassisches Traveling-Salesman-Problem. Folgerung 20 (Meyer auf der Heide) Das n-dimensionale reelle TravelingSalesman-Problem ist algorithmisch lösbar in O(n9 log3 n). Das n-dimensionale klassische Taveling-Salesman-Problem ist polynomiell entscheidbar in der Codierungslänge von ξ. 12 Beweis: Sei H die Menge der Hyperebenen, die zu den Ungleichungen in der Definition von T Sn gehören. Es gilt |H| = n2 +n!, also log |H| = O(log(n!)) = O(log(nn )) = O(n log n), sodass die Behauptung aus der Bemerkung und Theorem 15 folgt. Auf den ersten Blick mag es so erscheinen, als hätten wir diese beiden N P vollständigen in polynomieller Zeit gelöst, denn die Laufzeit ist polynomiell in n und der Codierungslänge des Eingabevektors. Dies ist aber nicht der Fall. Wir haben n nämlich nicht als Teil der Eingabe betrachtet, sondern als fest vorausgesetzt, und zu jedem n ist der Algorithmus ein anderer, d.h. wir haben eine Folge (An ) polynomieller Algorithmen, was üblicherweise als nichtuniformer polynomieller Algorithmus bezeichnet wird. Da es keinen Hinweis darauf gibt, dass wir jeden Algorithmus An in Polynomialzeit berechnen können, liefert unser Algorithmus keine Antwort auf P vs. N P . Literaturverzeichnis Peter Bürgisser, Michael Clausen und M. Amin Shokrollahi: Algebraic complexity theory, Springer Verlag, 1997. Noga Alon und Joel H. Spencer: The probabilistic method, Wiley-Interscience, zweite Auflage, 2000. 13