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