Algebraische Entscheidungsbäume

Werbung
Algebraische Entscheidungsbäume
Behsaad Ramez
28. Mai 2009
1 Wiederholung
1.1 Allgemeine Sortieralgorithmen
Definition:Allgemeine Sortieralgorithmen,sind Sortieralgorithmen, die nur auf Vergleichen zwischen Elementen der Eingabefolge beruhen. Sie sind auf beliebigen linear geordneten Universen (U, ≤) definiert.
Abbildung 1: Ein Vergleichsbaum für 3 Elemente
1
Allgemeine Sortieralgorithmen sind durch einen Vergleichsbaum darstellbar. Im entsprechenden Vergleichsbaum repräsentiert jedes Blatt eine andere Permutation der n
Eingabeelemente. Die Anzahl der Blätter k ist also ≥ n! Die Anzahl der Vergleiche entspricht im schlechtesten Fall der Höhe des Baums.Es folgt:
Anzahl Vergleiche ≥ log(k) ≥ log(n!) ⇒ Anzahl Vergleiche mindestens ∈ Θ(nlog(n))
Ein vergleichsbasierte Algorithmus benötigt zum Sortieren von n Elementen Ω(nlog(n))
Vergleiche.Wobei:
f ∈ Ω(g) : ∃c > 0 ∃x0 ∀x > x0 : |f (x)| ≥ c ∗ |g(x)|
Wir haben also eine untere Schranke für das Sortieren auf beliebigen linear geordneten
Universen gefunden.
1.2 Aussicht
Wir werden nun ein Berechnungsmodell kennenlernen,in dem sich untere Schranken von
Problemen systematisch feststellen lassen.
2 Algebraische Berechnungsbäume:
2.1 Einführung
Ein Algorithmus P ist informal eine Prozedur,die eine Eingabe bestehend aus n reellen
Zahlen auf eine Ausgabe aus dem Lösungsraum S abbildet.
P : Rn → S
Ein algebraischer Berechnungsbaum T für die Eingabe s1 ...sn ist ein Binärbaum mit
folgenden Einschränkungen:
1. Blätter enthalten Elemente aus S
2. Knoten u mit einem Kind,markiert durch Z(u):
• Z(u)=A1 &A2 , & ∈ {+, −, ∗, /}
√
• Z(u)= A1
Ai ∈ {Z(u0 ), R, s1 ..sn }, u0 : Vorfahre von u
3. Knoten mit zwei Kindern ist markiert durch A ./ 0
• A ∈ {Z(u0 ), R, s1 ..sn }, u0 : Vorfahre von u
• Kanten markiert durch ≤, >
AT ist der Algorithmus der T entspricht
2
Abbildung 2: algebraischer Berechnungsbaum
2.2 Definitionen:
P : Rn → S sei ein Berechnungsproblem. P ist im algebraischen Berechnungsbaummodell
lösbar, falls ein algebraischer Berechnungsbaum T existiert, sodass:
∀(s1 , ..sn ) ∈ Rn , AT (s1 , ..sn ) = P (s1 ..sn )
Sei T ein algebraischer Berechnungsbaum.Die Zeitkomplexität von AT ist definiert als
die Höhe von T.
Sei P : Rn → S sei ein Berechnungsproblem ,dass im algebraischen Berechnungsbaummodell lösbar ist. Die Zeitkomplexität von P ist definiert als die minimale Höhe aller
algebraischen Berechnungsbäume,die P lösen.
3 Algebraische Entscheidungsbäume:
3.1 Definition
Ein Berechnungsproblem P : Rn → S wird Entscheidungsproblem genannt,falls S = {Y ES, N O}.
3
Ein Beispiel dafür ist das element uniqueness Problem,das folgendermaßen definiert
ist:
(
Y ES falls si 6= sj , ∀i 6= j
P (s1 ..sn ) =
N O, sonst
Die Betrachtung von Entscheidungsproblemen hat den Vorteil,dass sie einfacher zu
analysieren sind als Berechnungsprobleme. Da viele Berechnungsprobleme intern ein
Entscheidungsproblem lösen,kann man ihre untere Schranke über eine Reduktion eines
entsprechendes Entscheidungsproblem auf sie zeigen.
Ein Algebraischer Berechnungsbaum T wir algebraischer Entscheidungsbaum genannt,falls
die Blätter von T entweder YES oder NO beinhalten.
3.2 VP und die untere Schranke
P : Rn → {Y ES, N O} sei ein Entscheidungsproblem. Ein Punkt (s1 ..sn ) ∈ Rn wird YESInstanz genannt,falls P (s1 ..sn ) = Y ES.VP ⊂ Rn sei die Menge aller YES-Instanzen:
Beispiel element uniqueness:
VP =



(s1 , ..sn ) ∈ R :
1≤i<j≤n (si − sj )
Q


6= 0





Eine untere Schranke eines Entscheidungsproblems P kann über die topologische
Struktur von VP gefunden werden.
CC(VP ) sei die Anzahl der Zusammenhangskomponenten von VP .
Für die untere Schranke gilt dann:
• Im linearen Entscheidungsbaummodell: P ∈ Ω(log(CC(VP )))
P )−nlog(3))
• Im algebraischen Entscheidungsbaummodell:P ∈ Ω( log(CC(V
)
1+2log3
4 Lineare Entscheidungsbäume
4.1 Definition
Als Einführung in das Thema werden wir eine erst einmal eine eingeschränkte Form von
Entscheidungsbäumen betrachten.
In linearen Entscheidungsbäumen ist jeder Knoten u mit einem Kind beschriftet durch
Z(u) = A1 &A2 ,wobei:
1. & ∈ {+, −},Ai ∈ {Z(u0 ), R, s1 ..sn }, u0 : Vorfahre von u
2. & ∈ {∗, /}
4
• A1 ∈ {Z(u0 ), R, s1 ..sn }, u0 : Vorfahre von u
• A2 ∈ R
Es können also keine zwei Eingabeelemente miteinander multipliziert werden. Daraus
folgt,dass jede Variable Z(u),die während der Ausführung entsteht eine lineare Funktion
der Eingabevariablen ist.(z.b. 2 + 3s2 + 6s3 )
4.2 R(w) und Zeitkomplexität
Sei R(w) die Menge der Eingaben für die AT im Blatt w terminiert.
Seien v1 ...vk alle Knoten auf dem Weg nach w,die zwei Kinder haben. Dann ist R(w)
die Menge aller Punkte,(s1 ...sn ) ∈ Rn sodass für alle 1 ≤ i ≤ k gilt:
1. Fi (s1 ..sn ) ≤ 0 falls T auf dem Weg nach w,von vi aus zum linken Kind geht.
2. Fi (s1 ..sn ) > 0 falls T auf dem Weg nach w,von vi aus zum rechten Kind geht.
Wobei Fi (s1 ..sn ) ./ 0 eine lineare Funktion auf s1 ..sn ist.
Im linearen Entscheidungsbaummodell ist R(w) verbunden. Das heißt für p, q ∈ R(w)
existiert eine stetige Kurve in Rn zwischen p und q,die komplett in R(w) enthalten ist.
Abbildung 3: R(w) ist konvex
Daraus folgt: Seien A,B zwei verschiedene Zusammenhangskomponenten, p ∈ A, q ∈
B.
5
Die Blätter wp und wq ,in denen AT bei Eingabe p,q terminiert sind verschieden. Es gibt
mindestens so viele Blätter in T wie es Zusammenhangskomponenten in VP gibt.
Abbildung 4: p und q sind in verschiedenen Blättern von T
Da wir nun wissen,dass es mindestens so viele Blätter in T gibt ,wie Zusammenhangskomponenten in VP folgt für die Zeitkomplexität eines Entscheidungsproblems P im
linearen Entscheidungsbaummodell
P ∈ Ω(log(CC(VP )))
4.3 Beispiel element uniqueness
Als Beispiel für das Finden von unteren Schranken nehmen wir wieder das element
uniqueness Problem,mit:
VP =



(s1 , ..sn ) ∈ R :
1≤i<j≤n (si − sj )
Q


6= 0





Seien π, p zwei verschiedene Permutationen von 1..n. Dann sind zwei Punkte
p = (π(1)..π(n)), q = (p(1)..p(n)) in verschiedenen Zusammenhangskomponeten von VP .
Es gibt nämlich immer 2 Indizes i,j mit 1 ≤ i ≤ n, 1 ≤ j ≤ n so dass π(i) < π(j) und
p(i) > p(j). Wenn man nun eine Kurve von p nach q zeichnen möchte, durchquert man
immer die Hyperebene,in der xi = xj .Dieser Punkt gehört aber nicht mehr zu VP ,weshalb
p,q in verschiedenen Zusammenhangskomponenten von VP seien müssen.
⇒ CC(VP ) ≥ n! ⇒ element uniqueness ∈ Ω(nlog(n))
6
Abbildung 5: Beispiel element uniqueness
5 Allgemeine untere Schranke
Das es mindestens so viele Blätter gibt wie Zusammenhangskomponenten gilt nur für
lineare Entscheidungsbäume.Für den allgemeinen Fall müssen wir uns weitere Überlegungen machen.
7
Abbildung 6: Ein Blatt kann mehr als eine Zusammenhangskomponente beschreiben
5.1 Theorem zur Komplexität von Polynomen
Seien k, g ∈ N\{0} ,und F1 ...Fk Polynome auf n Variablen, deren Grad kleiner oder gleich
g ist:
W = {(x1 ..xn ) ∈ Rn : Fi (x1 , ..xn ) = 0, ∀1 ≤ i ≤ k}
Die Menge W hat höchstens g(2g − 1)n−1 Zusammenhangskomponenten. Dieser Satz
basiert auf einem nichttrivialen Beweis aus dem Bereich der algebraischen Topologie.
Als nächstes werden wir sehen,wie man eine Menge von polynomiellen Ungleichungen
und Gleichungen in eine Menge von polynomiellen Gleichungen umwandelt:
5.2 Umformung von Ungleichungen
a, b, c ∈ N, E1 ..Ea , N1 ..Nb , P1 ...Pc sind Polynome mit Grad ≤ 2
W ist die Menge,für die die folgenden Punkte gelten:
8
1. Ei (x1 ..xn ) = 0, ∀i : 1 ≤ i ≤ a
2. Ni (x1 ..xn ) ≤ 0, ∀i : 1 ≤ i ≤ b
3. Pi (x1 ..xn ) > 0, ∀i : 1 ≤ i ≤ c
d = CC(W ), pj ∈ Rn sei ein beliebiger Punkt aus der j-ten Zusammenhagskomponente
von W.
= min{Pi (pj ) : 1 ≤ i ≤ c, 1 ≤ j ≤ d}
W ist dann:
1. Ei (x1 ..xn ) = 0, ∀i : 1 ≤ i ≤ a
2. Ni (x1 ..xn ) ≤ 0, ∀i : 1 ≤ i ≤ b
3. Pi (x1 ..xn ) ≥ , ∀i : 1 ≤ i ≤ c
mit b+c neuen Variablen formen wir E,N,P in polynomielle Gleichungen um. W 0 sei
die Menge aller Punkte (x1 ..xn+b+c ) ∈ Rn+b+c :
1. Ei (x1 ..xn ) = 0, ∀i : 1 ≤ i ≤ a
2. Ni (x1 ..xn ) + x2n+i = 0, ∀i : 1 ≤ i ≤ b
3. Pi (x1 ..xn ) − x2n+b+i − = 0, ∀i : 1 ≤ i ≤ c
Die Projektionvon W’ auf die ersten n Koordinaten ergibt genau W
W = {(x1 ..xn ) : ∃xn+1 ..xn+b+c ∈ R, (x1 ..xn+b+c ∈ W 0 )}
Da W eine Teilmenge von W ist,folgt nach dem obigen Theorem:
CC(W ) ≤ CC(W ) ≤ CC(W 0 ) ≤ 2 ∗ 3n+b+c−1 ≤ 3n+b+c
5.3 Reduktion von Entscheidungsbäumen
u1 ..uk+1 sei ein Pfad p in T von der Wurzel u1 bis zum Blatt w=uk+1 . Man kann R(w)
√
mit k+s polynomiellen Ungleichungen darstellen. s=die Anzahl der
Zuweisungen auf
p.
Wir benutzen dafür folgende Variablen: x1 ..xn stellen die Eingabewerte s1 ..sn dar
xn+1 ..xn+k repräsentieren u1 ..uk s Gehe auf dem Pfad p von der Wurzel bis w und füge
für ui entsprechende Gleichungen und Ungleichungen hinzu. Wobei man für Knoten mit
einem Kind(Berechnungsknoten) z.b. für Z(ui ) = Z(uj ) + Z(ul ) , xn+i − xn+j − xn+l = 0
hinzufügt.
9
Abbildung 7: Ersetzungsregeln
10
Bei Knoten mit zwei Kindern fügt man die entsprechende Ungleichung hinzu,die zu
ui+1 führt.
√
Sei r nun die Anzahl der Berechnungsknoten,s die Anzahl der
Funktionen(für die
wir 2 Gleichungen brauchen) und t die Anzahl der Entscheidungen für den linken Weg
in p. Es gibt also s+t polynomielle ≤ Ungleichungen.Und k-r-t polynomielle > Ungleichungen.Da wir n+k Variablen haben folgt:
CC(R(w)) ≤ CC(W ) ≤ 3n+2k+s−r ≤ 3n+2h , da s ≤ r, k ≤ h
Da,
VP =
[
R(w)
w:YES Blatt von T
folgt:
CC(VP ) ≤
CC(R(w)) ⇒ CC(VP ) ≤ 3n+2h ∗2h ⇒ h ≥
X
w:YES Blatt von T
log(CC(VP )) − nlog(3)
1 + 2log3
6 Beispiele
Nach obigem Beweis folgt für das element uniqueness Problem:
h≥
nlog(n) − nlog(3)
⇒ h ∈ Ω(nlog(n))
1 + 2log3
Wir können nun daraus untere Schranken für folgende Probleme folgern:
• Sortieren:Sei A der Algorithmus der das Sortierproblem in T(n) löst. Der Algorithmus B sei folgendermassen definiert:Er bekommt als Eingabe n reelle Zahlen
s1 ..sn die er mit A sortiert.Nun geht B durch die sortierte Folge und vergleicht
je zwei Nachbarn auf Gleichheit.Falls keine gleichen Elemente in der Eingabe sind
11
gibt B NO zurück.Andernfalls YES.
Offensichtlich löst B das element uniquenes Problem in T(n)+O(n) Zeit.Da wir
wissen,dass element uniqueness die untere Schranke von Ω(nlog(n)) hat folgt
T (n) ∈ Ω(nlog(n))
• closest pair:
Das closest pair Problem auf einer Eingabe s1 ..sn ist folgendermassen definiert:
P (x1 ..xn ) = min(xi − xj , i 6= j, 1 ≤ i ≤ n, 1 ≤ j ≤ n)
Die untere Schranke von Ω(nlog(n)) folgt für closest pair, da P (x1 ..xn ) 6= 0 nur
wenn alle Elemente x1 ..xn verschieden sind.
• Diskriminante:
Die Diskriminante von x1 ..xn ∈ R ist definiert als:
P (x1 ..xn ) =
Y
(xi − xj )
i6=j
Da P (x1 ..xn ) 6= 0 nur wenn alle Elemente x1 ..xn verschieden sind, gilt auch hier
die untere Schranke Ω(nlog(n)) von element uniqueness.
• Set Disjointnis:
Gegeben zwei Mengen A = {x1 ..xn }, B = {y1 ..yn } Bestimme ob A B = ∅
T
W=



(x1 ..xn , y1 ..yn ) :
i,j (xi − yj )
Q
6= 0







Um CC(VP ) zu finden,geht man hier ähnlich vor wie bei element uniqueness.
Seien p1 , p2 zwei verschiedene Folgen von Zahlen von 1..2n, wobei die ersten Elemente (x1 ..xn )eine Permutation π1 der gerade Zahlen von 1..2n,und die letzten
Elemente (y1 ..yn )eine Permutation π2 der ungerade Zahlen von 1..2n sind. (Wobei
π1 6= π2 )
Es gibt nun immer zwei indizes i,j mit xi < yj in p1 und xi > yj in p2 .
Die beiden Punkte p1 und p2 liegen auf zwei verschiedenen Seiten einer Hyperebene
xi = yj , die nicht in VP enthalten ist.
Es muss also mindestens (n! ∗ (n! − 1)) viele Zusammenhangskomponenten in VP
geben.
P ∈ Ω(log(CC(VP ))) = Ω(log((n!)2 )) = Ω(nlog(n))
12
• Resultante:
Gegeben 2n reelle Zahlen x1 ..xn , y1 ..yn ∈ R
P (x1 ..xn , y1 ..yn ) =
(xi − yj )
Y
i,j
Da P (x1 ..xn , y1 ..yn ) 6= 0 nur wenn es keine Schnitte in den Mengen A = {x1 ..xn }, B =
{y1 ..yn } gilt die untere Schranke Ω(nlog(n)) von Set Disjointnis.
7 Quellen
• Geometric Spanner Networks(Giri Narashimhan,Michiel Smid)
• Lower Bounds for Algebraic Computation Trees (Micheal Ben-Or)
• Skript zu Höhere Algorithmik aus dem WS 05/06
13
Zugehörige Unterlagen
Herunterladen