Perlen der theoretischen Informatik: VC-Dimension und ε

Werbung
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
Zugehörige Unterlagen
Herunterladen