ABZÄHLPROBLEME BEI BÄUMEN HELMUT PRODINGER (WIEN) Es sei B die Familie der binären Bäme B kann drch eine formale Gleichng beschrieben werden: B = + B B Dies besagt, daß ein binärer Bam entweder ein Blatt (externer Knoten) ist, oder eine Wrzel zsammen mit einem linken nd einem rechten Teilbam, welche selbst binäre Bäme sind Diese formale Gleichng kann übersetzt werden in eine Gleichng für die erzegende Fnktion B(z): B(z) = + zb 2 (z); B(z) = 4z = 2n z n 2z n + n n 0 Binäre Bäme können verwendet werden, m arithmetische Asdrücke darzstellen: 3 + 3 ( 7 + 4 ) 7 4 Die Aswertng kann mit Hilfe von Registern erfolgen; diese werden verwendet, m Zwischenergebnisse z speichern Die Registerfnktion Reg(t) ist definiert als die minimale Anzahl von Registern zr Aswertng des Bames t nter Verwendng der optimalen Strategie
2 ABZÄHLPROBLEME BEI BÄUMEN Es gilt: Reg( ) = 0 ( ) Reg t t 2 = { + Reg(t ) falls Reg(t ) = Reg(t 2 ) max{reg(t ), Reg(t 2 )} sonst Es sei R p (S p ) die Familie der Bäme mit Registerfnktion = p ( p); R p (z) nd S p (z) seien die entsprechenden erzegenden Fnktionen Man sieht nmittelbar: R p = + + R p R p R j R p j<p R p R j j<p S p = + + S p S p B \ S p S p S p B \ S p Daher gilt: R p = zrp 2 + 2zR p R j, R 0 =, j<p S p = zs 2 p + 2zS p (B S p ), S 0 = B ; S p = Wir setzen ε := 4z = 2zB : S p = ε z zs 2 p 2zB + 2zS p S 2 p + 2 S p Wir mltiplizieren mit ε/z nd sbstitieren U p := ε/zs p : U p = U 2 p + 2U p U p + = (U p + ) 2 U p = + (U 0 + ) 2p ; U 0 = ε zb S p = ε z + +ε 2 p ε
Es ist günstig, z = /( + ) 2 z setzen: ABZÄHLPROBLEME BEI BÄUMEN 3 S p = 2 2p 2p R p = S p S p+ = 2 2p 2p+ Sei nn M n die mittlere Registerfnktion eines binären Bames mit n Knoten Es gilt: p 0 M n = p [zn ]R p (z) [z n = [zn ] p S p(z) ]B(z) [z n ]B(z) Wir stdieren den Zähler: mit v 2 (k) = k=2 p λ, p,λ E(z) = S p (z) = 2 2p p p 2p = 2 = 2 2p λ p λ v 2 (k) k k (Beachte v 2 (2n) = + v 2 (n), v 2 (2n + ) = 0) Um den Koeffizienten von z n in E(z) z finden, bedienen wir ns einer analytischen Methode Das Verhalten der Koeffizienten wird nämlich weitgehend beschrieben drch das Verhalten der erzegenden Fnktion in der Nähe der Singlaritäten am Konvergenzkreis Es liegt eine Singlarität bei = vor Mit Hilfe der Mellin Transformation findet man für t 0: nd insgesamt (z /4) k v 2 (k)e tk s Γ(s)ζ(s) Res 2 s t s ( 3 E(z) 2ε log 2 ε + 2 2 log 2 2π + γ ) + 4 ε χ k log 2 k 0 Beachtet man noch, daß [z n ]B(z) 4n π n 3/2 mit χ k = 2kπi log 2 ist, folgt nn M n log 4 n 2 γ 2 log 2 log 2 + log 2 2π + log 2 k 0 Es gilt n χ k/2 = e 2kπi log 4 n, nd somit M n log 4 n + D(log 4 n) Hier ist D(x) eine periodische Fnktion mit Periode ζ(χ k )Γ (χ k ) (χk ) nχ k /2 2
4 ABZÄHLPROBLEME BEI BÄUMEN Die Forierreihenentwicklng D(x) = k d k e 2kπix ist: d 0 = 2 γ 2 log 2 log 2 + log 2 2π, d k = log 2 ζ(χ k)γ (χ k ) (χk ), k 0, χ k = 2kπi 2 log 2 Man kann ach Motzkinbäme betrachten: M = + + M M M M kann as B drch Sbstittion gewonnen werden: Daher: M(z) = z B z ( z) 2 Die Registerfnktion von Bämen as M wird drch die folgende Erweiterng gewonnen: Reg t = Reg(t) Es gilt ach R p (M) (z) = z R z p ( z) 2 sw Deshalb ist die mittlere Registerfnktion jetzt gegeben drch Ähnlich wie vorher erhält man [z n ] [z n ] z E( ) z ( z) 2 z B( ) z ( z) 2 log 4 n + D(log 4 n)
ABZÄHLPROBLEME BEI BÄUMEN 5 F = c 0 + c + c 2 F F F Die Sitation kann noch verallgemeinert werden drch Gewichte: In einem binären Bam bezeichnen wir einen Knoten t als kritisch, falls die Registerfnktion des linken nd rechten Unterbames gleich sind Nach längerer Rechnng erhält man: die mittlere Anzahl der kritischen Knoten eines binären Bames mit n Knoten ist wo V (z) = ( + ) 2 2 [z n ]V (z) [z n ]B(z), ω(k) k ; ω(k) = i falls k = 2 m ( + 2i) k Drch ähnliche Methoden wie vorher erhält man: ngefähr n 3 Knoten sind kritisch Man kann ach explizit errechnen, daß 2n [z n ]V (z) = 2 [ ] 2n 2n 2n ω(k) 2 + n n + k n k n k k Drch partielle Smmation (zweimal drchzführen) nd Information über ω(k) n<n k n kann man das asymptotische Verhalten ach relativ elementar (dafür mühsam) errechnen Af eine ngelöste Frage im Zsammenhang mit der Registerfnktion binärer Bäme soll noch eingegangen werden: Die erzegende Fnktion der binären Bäme mit Registerfnktion < p ist B(z) S p (z) = F 2 p (z), F 2 p(z) mit F n (z) = n j ( z) j (Fibonaccipolynom) j j Die linksseitige Höhe h eines binären Bames ist definiert drch h( ) = 0 ( ) h = max{ + h(t ), h(t 2 )} t t 2
6 ABZÄHLPROBLEME BEI BÄUMEN Die erzegende Fnktion der Bäme mit h(t) < h ist F h (z) F h+ (z) Somit ist die Anzahl der binären Bäme mit n Knoten nd Registerfnktion < p gleich der Anzahl der binären Bäme mit n Knoten nd linksseitiger Höhe < 2 p Gescht ist eine geeignete Bijektion dieser Objekte Literatr NGde Brijn, DEKnth, SORice: The average height of planted plane trees, in: Graph Theory and Compting (RCRead, Ed), 5-22, Academic Press, 972 2 PFlajolet: Analyse d algorithmes de maniplation d arbres et de fichiers, Thèse Paris- Sd-Orsay, 979 3 PFlajolet, AOdlyzko: The average height of binary trees and other simple trees, JCSS 25(982), 7-23 4 PFlajolet, HProdinger: The nmber of registers to evalate nary-binary trees, SIAM J Compting 5(986), 629-640 5 PFlajolet, JCRaolt, JVillemin: The nmber of registers reqired for evalating arithmetical expressions, TCS 9(979), 99-25 6 RKemp: The average nmber of registers to evalate a binary tree optimally, Acta Inf (979), 33-372 7 HProdinger: Some recent reslts on the register fnction of a binary tree, Annals of Discrete Math 33(987), 24-260 8 HProdinger, RFTichy: Über ein zahlentheoretisches Problem as der Informatik, Sitzngsberichte der Österreichischen Akademie der Wissenschaften, Abt II, 92(983), 385-396