Electroc Colloquum o Computatoal Complexty, Report No. 86 2011) A tghter lower boud o the crcut sze of the hardest Boolea fuctos Masak Yamamoto Abstract I [IPL2005], Fradse ad Mlterse mproved bouds o the crcut sze L) of the hardest Boolea fucto o put bts: for some costat c > 0: 1 + log c ) 2 L) 1 + 3 log + c ) 2. I ths ote, we aouce a modest mprovemet o the lower boud: for some costat c > 0 ad for ay suffcetly large ), L) 1 + 2 log c ) 2. 1 Itroducto For ay postve teger, let L) be the crcut sze of the hardest Boolea fucto o put bts. We assume that the -degree of gates of a crcut s at most two, ad hece each gate computes a bary fucto. Shao [3] proved that for ay ϵ > 0 ad for ay suffcetly large, 1 ϵ) 2 L) O1)2. Here, we ote that we ca easly mprove the lower boud to 2 / by slghtly modfyg hs proof. Lupaov [2] mproved, va a ovel represetato of a Boolea fucto, the upper boud to L) 1 + O1) ) 2. It meas that L) s essetally 2 /, that s, L) = 1 + o1))2 /. Most of researchers may regard ths boud to be tght, ad hece may regard the research o ths topc to ed wth ths result. After Lupaov s result, 2005, Fradse ad Mlterse [1] developed a ovel represetato of a crcut, ad estmated a more precse value of L) hdde by the otato o1): for some costat c > 0 ad for ay suffcetly large ), 1 + log c ) 2 L) 1 + 3 log + c ) 2. The lower boud was obtaed va ther represetato scheme for crcuts. The upper boud was obtaed by mprovg the crcut mplemetato of Lupaov represetato, ad by settg parameters optmally. Kwase-Gaku Uversty, masak.yamamoto@kwase.ac.jp 1 ISSN 1433-8092
I ths ote, we further mprove the lower boud: for some costat c > 0, L) 1 + 2 log c ) 2. Our dea Our boud s obtaed the same way as [1]: they showed a algorthm for trasformg a crcut to a sequece of structos for a stack program so that crcuts are oe-to-oe mapped to stack programs. The, they estmated the legth of descrptos of such stack programs. Ther lower boud was obtaed by comparg the umber of stack programs wth the total umber of Boolea fuctos of varables.) The dfferece from thers s the way of aalyzg the umber of stack programs: We partto the famly of crcuts of sze s to s + 1 sets, say, Ct) for 0 t s, accordg to the umber of gates of out-degree at least two. That s, Ct) s the set of crcuts of sze s where the umber of gates of out-degree at least two s t. The, we estmate the legth of descrptos of stack programs for Ct). The crucal pot s that by usg the fact that the umber of gates of out-degree at least two s t for ay crcut of Ct), 1) we ca reduce the legth of descrptos of stack programs, ad 2) we ca estmate the umber of stack programs that ca be costructed from the same crcut. Takg the maxmum of Ct) over 0 t s, we obta a mproved upper boud of the umber of stack programs, from whch we obta the desred lower boud o the crcut sze. 2 Prelmares Let F be the famly of fuctos o varables. Thus, F = 2 2.) Let C be a arbtrary crcut o put bts. For ay fucto s), let SIZEs)) be the set of fuctos of F that ca be computed by a crcut C of sze at most s). The, the defto of L) we study here s as follows: L) def = max f F m{s) : f SIZEs))}. Theorem 2.1 Fradse & Mlterse [1]). There s a costat c > 0 such that L) 2 /)1 + log / c/). They proved ths theorem by showg a algorthm for trasformg a crcut to a sequece of structos for a stack program. We brefly revew ther proof of the theorem. Let C be a arbtrary crcut of sze s = s). We assume that lettg put gates g 1,..., g, operatoal gates are labelled wth g +1,..., g +s arbtrarly, ad the output gate wth g s. Moreover, C s represeted by the set {g = g 1) op g 2) : + 1 + s}, where op s the operato of g. A stack program costructed from a crcut s a sequece of the followg types of structos: push for some 1 + s operate op for some + 1 + s Such a stack program s costructed as show Fg. 1. Itutvely, gve a crcut, the algorthm traverses the crcut starg wth the output gate the depth-frst-search maer. I dog so, t smulates the process of evaluatg a crcut value: t marks a gate, whch meas that t mplctly keeps ts gate value. 2
trasformc ) Let P be empty costructg +s ) output P costructg) f g = g for some 1, the add push to the last of P else //.e., g = g for some + 1 + s f g s marked, the add push to the last of P else //.e., g s ot marked mark g costructg 1) ) costructg 2) ) add operate op to the last of P Fgure 1: The costructo of P A stack program costructed ths way s executed as show Fg. 2. It s easy to see that P C, where P s costructed from C. Moreover, f C C, the P P, where P resp. P ) s costructed from C resp. C ). That s, crcuts are mapped to stack programs the oe-to-oe sese. Now, we estmate the legth ls) = l s) of the descrpto.e., the bary represetato) of P costructed from C of sze s. Later, we see that ths value s depedet of the structure of C.) Note here that crcuts of sze s are oe-to-oe mapped to stack programs of descrpto legth ls). From the estmato of ls), we obta the umber of possble stack programs, whch s a upper boud o the umber of crcuts of sze s.) Recall that P s a sequece of two types of structos. For each type of structos, we estmate the umber of ts occurreces P. Frst, from the costructo of P, we see that the umber of occurreces of type operate op s exactly s. Next, cosderg the executo of P, we ca estmate the umber of occurreces of type push as follows: the sze of the stack the executo of P ) creases by oe due to push whle t decreases by oe due to operate op. Thus, sce the stack s empty at the frst.e., before the executo of P ) ad ts sze s oe at the ed, the umber of occurreces of type push s oe more tha that of operate op, that s, exactly s + 1. The descrpto of P s a sequece of blocks of bts, whch are of fxed legths accordg to types of structos. Thus, we save oe bt per oe block for recogzg types ad block legths). A block for type push further eeds legth log + s) sce ca take ts value from oe to + s. A block for type operate op further eeds legth a costat sce op s a bary fucto, ad hece t ca be recogzed by a costat bts. Thus, the total legth of the descrpto of P s ls) = s + 1)1 + log + s) ) + Os), that s, ls) = s logs + ) + Os). From ths, the umber of crcuts of sze at most s s at most s 2 ls) = 2 ls)+log s = 2 l, where l = s logs + ) + Os). Thus, we eed l 2 f ay fucto of F ca be computed by a crcut of sze at most s. Therefore, the theorem s 3
P x) Let g 1,..., g ) = x 1,..., x ) Let S be the empty stack for j : 1 j P // P s the umber of structos P f P [j] s push, the push the value of g to S f P [j] s operate op, the 1. pop the top two s 1 ad s 2 from S, 2. let g = s 1 op s 2 3. push the value of g to S Output the value of the top of S Fgure 2: The executo of P proved by showg the followg for ay costat c > 0: f s = 2 /)1 + log / c/), the s logs + ) + cs < 2. Ths s checked by a elemetary calculato. 3 A tghter lower boud I the prevous secto, we see that the stack program costructed from a crcut C of sze s s descrbed by at most ls) = s log + s) + Os) bts. Thus, the umber of possble stack programs for crcuts of sze at most s s at most 2 l, where l = s log + s) + Os). I ths secto, we mprove ths upper boud, from whch we obta a mproved lower boud o L). For ay o-egatve teger t : 0 t s, let Ct) be the set of crcuts of sze s such that the umber of gates of out-degree at least two s exactly) t. Thus, [Ct) : 0 t s] s a partto of the set of crcuts of sze s.) We frst estmate Ct) for ay t : 0 t s. Lemma 3.1. Ct) 2s logt+)+os) Proof. We prove t the smlar way to the proof of Theorem 2.1: There are two dfferet thgs to estmate Ct). Oe of the two s the way of estmatg the legth eeded for the descrpto of type push : we have see that log + s) bts are eeded to descrbe the value of sce ca take ts value from oe to +s. We wll shortly see that f P s costructed from a crcut C Ct), the we ca reduce ths umber by applyg a sutable labellg: Let C Ct) be a arbtrary crcut of sze s, ad let P be the stack program costructed from C. The, we let {g +1,..., g +t } be the set of gates of out-degree at least two, ad let {g +t+1,..., g +s } be the set of the other gates. Observe that push for + 1 + s appears P f ad oly f g s of out-degree at least two. Thus, takes ts value from oe to + t, ad hece we oly eed log + t) bts for descrbg the value of. By the proof of Theorem 2.1, the legth of the descrpto of P s s + 1)1 + log + t) ) + Os), whch s s log + t) + Os). From ths, we have Ct) 2 s log+t)+os). t!. 4
The other dfferet thg s that we estmate how much we get to over-estmate Ct) f we apply the same aalyss as that the proof of Theorem 2.1. Note here that we already have Ct) 2 s log+t)+cs, whch s stll a over-estmated boud. Let C Ct) be a arbtrary crcut of sze s. Recall that {g +1,..., g +t } s the set of gates of out-degree at least two. Cosder that we arbtrarly umber {g +1,..., g +t } wth +1,..., +t, ad the other gates wth + t + 1,..., + s. I the above, we have umbered g wth for + 1 + s.) Note that there are t!s t)! such umbergs for the crcut C. Let C 1) ad C 2) be two crcuts detcal to C that have dstct umbergs. Let P 1) ad P 2) be the stack programs costructed from C 1) ad C 2), respectvely. The costructos are doe by the algorthm show Fg. 1, but, case that push for + 1 + s s added to P, we add push a to P, where g s umbered wth a. Note that push a does ot appear P for ay + t + 1 a s.) The, t s easy to see the followg clam. Clam 1. If C 1) 1 ad C 2) have dfferet umbergs o gates g +1,..., g +t, the the two descrptos of P 1) ad P 2) are dfferet. Otherwse, these two are same. Besdes ths clam, for ay two dstct crcuts of Ct), the descrptos of the two stack programs costructed are dfferet however those gates are umbered). Thus, there are exactly t! dstct) descrptos for each crcut of Ct) that are also dfferet from those for the other crcuts. Therefore, we coclude that Ct) s at most 2 s log+t)+os) /t!. From ths lemma ad usg t! t/e) t = 2 t log t t log e ), we see that the total umber of crcuts C of sze at most s s at most { } s Ct) 0 t s = s Ct) s 2 2 s logt+)+os) max 0 t s t! 0 t s 2 log s+s logt+)+os) t log t+t log max {2 e} 0 t s { 2 s log t t log t+os)}. asummg t ) max 0 t s Let t = αs for ay α = αs) : 0 α 1. We estmate the maxmum of fα) = log αs α log αs over 0 α 1. By a elemetary calculato, fα) s maxmzed at α = c 0 / log s for some c 0 : 1.44 < 1/ l 2 < c 0 < 1.5 f s s suffcetly large. Let t = c 0 s/ log s. Ths value of t s at least whe s = Ω 2 ).) Sce there are 2 2 dstct Boolea fuctos o puts, we must have s log t t log t + Os) 2. The, we derve a cotradcto to ths equalty f we assume s = 2 /)1 + 2 log / c/) for some costat c > 0: s log c 0s log s c 0s log s log c 0s log s + Os) = s log c 0s log s c 0 log s log c 0s s log s log log s + O1)) s 2 log + O1)). ) log s + O1) Applyg the above value of s wth suffcetly large costat c > 0, we have 2 1 + 2 log c ) 2 log + O1)) 2 c + O1)) < 2. 5
Refereces [1] G. S. Fradse ad P. B. Mlterse, Revewg bouds o the crcut sze of the hardest fuctos, Iformato Processg Letters 95, pp. 354-357, 2005. [2] O. B. Lupaov, The sythess of cotact crcuts, Dokl. Akad. Nauk SSSR N.S.) 119, pp. 23-26, 1958. [3] C. E. Shao, The sythess of two-termal swtchg crcuts, Bell System Tech. J. 28, pp. 59-98, 1949. 6 ECCC ISSN 1433-8092 http://eccc.hp-web.de