Abstract

The average time of computing Boolean functions by straight-line programs with a conditional stop is considered. A straight-line program consists of operators of two types. Every operator of the first type computes a binary Boolean function whose arguments are either the values computed by preceding operators or the values of the input variables. Every operator of the second type either terminates execution of the program or commands that the next operator is executed. A measure of the complexity of such programs is the average execution time over all tuples of the input variables. The complexity of computing almost all complete Boolean functions and almost all partial Boolean functions by such programs is proved to coincide (up to a multiplicative constant) with conventional circuit complexity. Moreover, these complexities are proved to differ (up to a multiplicative constant) by a factor of n for almost all n-place Boolean functions that are equal to 1 on n c tuples. It is proved that there exist Boolean functions of n variables whose average execution time is less (up to a multiplicative constant) by a factor of (2 n / n) 1/2 than the time required to compute them by conventional straight-line programs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call