the complexity of boolean functions 1987

469 187 0
the complexity of boolean functions 1987

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

The Complexity of Boolean Functions Ingo Wegener Johann Wolfgang Goethe-Universit¨at WARNING: This version of the book is for your perso nal use only. The material is copyrighted and may not be redistributed. Copyright c  1987 by John Wiley & Sons Ltd, and B. G. Teubner, Stuttgart. All rights reserved. No part of this bo ok may be reproduced by any means, or transmitted, or translated into a machine language without the written permission of the publisher. Library of Congress Cataloguing in Publication Data: Wegener, Ingo The complexity of boolean functions. (Wiley-Teubner series in computer science) Bibliography: p. Includes index. 1. Algebra, Boolean. 2. Computational complexity. I. Title. II. Series. AQ10.3.W44 1987 511.3’24 87 -10388 ISBN 0 471 91555 6 (Wiley) British Library Cataloguing in Publication Data: Wegener, Ingo The complexity of B oolean functions.—(Wiley-Teubner series in computer science). 1. Electronic data processing—Mathematics 2. Algebra , Bo o lean I. Title. II. Teubner, B. G. 004.01’511324 QA76.9.M3 ISBN 0 471 91555 6 CIP-Kurztitelaufnahme der Deutschen Bibliothek Wegener, Ingo The complexity of Boolean functions/Ingo Wegener.—Stuttgart: Teubner; Chich- ester; New York; Brisbane; Toronto; Singapore: Wiley, 1987 (Wiley-Teubner series in computer science) ISBN 3 519 02107 2 (Teubner) ISBN 0 471 91555 6 (Wiley) Printed and bound in Great Britain On this version of the “Blue Book” This version of “The Complexity of Boolean Functions,” for some people simply the “Blue Book” due to the col or of the cover of the orig- inal from 1987, is not a print-out of the original sources. It is rather a “facsimi le” of the original monograph typeset in L A T E X. The source fi les of the Blue Book which sti ll exist (in 1999) have been written for an old version of troff and virtually cannot be printed out anymore. This is because the (strange) standard font used for the text as well as the special fonts for math symbols seem to be nowhere to find today. Even if one could find a solution for the special sym bols, the available text fonts yield a considerably different page layout which seems to be undesi rable. Things are further complicated by the fact that the source files for the figures have been lost and would have to be redone with pic. Hence, it has been decided to translate the whole sources to L A T E X in order to be able to fi x the above problems more easily. Of course, the result can still only be an approximation to the original. The fonts are tho s e of the CM series of L A T E X and have different parameters than the original ones. For the spacing of equations, the standard mechanisms of L A T E X have been used, which are quite different from those of troff. Hence, it is near ly unavoidable that page breaks occur at different places than in the orig inal book. Nevertheless, it has been made sure that all numbered item s (theorems, equations) can be found on the same pages as in the original. You are encouraged to report typos and other errors to Ingo Wegener by e-mail: wegener@ls2.cs.uni -dortmund.de Preface When Goethe had fundamentally rewrit ten his IPHIGENIE AUF TAURIS eight years af ter its fir st publication, he stated (with resig- nation, or perhaps as an excuse or just an explanation) that, ˝Such a work is never actually finished: one has to declare i t finished when one has done all that time and circumstances will allow.˝ This is also my feeling after working on a book in a field of science whi ch is so much in flux as the complexity of Boolean functions. On the one hand it is time to set down in a m onograph the multiplicity of important new results; on the other hand new results are constantly being added. I have t ried to describe the latest state o f research concerning re- sults and m ethods. Apart from the classical circuit model and the parameters of complexity, circuit size and depth, providing the basis for sequential and for parallel computations, numerous other models have been analysed, among them monotone circuits, Boolean formu- las, synchronous circuits, probabilistic circuits, programmable (univer- sal) circuits, bounded depth circuits, para llel random access machines and branching pr ograms. Relationships between various parameters of complexity and various models are studied, and also the relationships to the theory of com plexity and uniform computation models. The book may be used as the basis for lectures and, due to the inclusion of a multitude of new findings, also for seminar purposes. Numerous exercises pr ovide the opportunity of practising the acq uired methods. The book is essentially complete in itself, requiring only basic knowledge of computer science and mathematics. This book I feel should not just be read with interest but should encourage the reader to do further research. I do hope, ther efore, to have written a book in accordance with Voltaire’s statement, ˝The most useful books are those that make the reader want to add to v vi them.˝ I should like to express my thanks to Annemarie Fellmann, who set up the manuscript, to Linda Stapleton for the careful reading of the text , and to Christa, whose complexity (in its extended definition, as the sum of all features and qualities) far exceeds the complexity of all Boolean functions. Frankfurt a.M./Bielefeld, Novemb er 1986 Ingo Wegener Contents 1. Introduction to the theory of Boolean functions and circuits 1 1.1 Introduction 1 1.2 Boolean functions, laws of computation, normal forms 3 1.3 Circuits and complexity measures 6 1.4 Circuits with bounded fan-out 10 1.5 Discussion 15 Exercises 19 2. The minimi zation of Boolean functions 22 2.1 Basic definitions 22 2.2 The computation of all prime implicants and reductions of the table of prime implica nts 25 2.3 The minimi zation method of Karnaugh 29 2.4 The minimi zation of monotone functions 31 2.5 The complexity of minimizing 33 2.6 Discussion 35 Exercises 36 3. The design of efficient circuits for some fundamental functions 39 3.1 Additio n and subtraction 39 3.2 Multiplication 51 3.3 Division 67 3.4 Symmetric functions 74 3.5 Storage access 76 3.6 Matrix product 78 3.7 Determinant 81 Exercises 83 vii viii 4. Asymptotic results and universal circuits 87 4.1 The Shannon effect 87 4.2 Circuits over complete bases 88 4.3 Formulas over complete bases 93 4.4 The depth over complete bases 96 4.5 Monotone functions 98 4.6 The weak Shannon effect 1 06 4.7 Boolean sums and quadra tic functions 107 4.8 Universal circuits 110 Exercises 117 5. Lower bounds o n circuit complexity 119 5.1 Discussion on methods 119 5.2 2 n - bounds by the elimination method 122 5.3 Lower bounds for some particular bases 125 5.4 2.5 n - bounds for symmet ric functions 127 5.5 A 3n - bound 133 5.6 Complexity theory and lower bounds on circuit complexity 138 Exercises 142 6. Monotone circuits 145 6.1 Introduction 145 6.2 Design of circui ts for sorting and threshold functi ons 148 6.3 Lower bounds for threshold functions 154 6.4 Lower bounds for sorting and merging 158 6.5 Replacement rules 160 6.6 Boolean sums 163 6.7 Boolean convolution 168 6.8 Boolean matrix product 170 6.9 A generalized Bo olean matrix product 173 6.10 Razbor ov’s method 180 6.11 An exponential lower bound for clique functions 184 6.12 Other applications of Razborov’s method 192 ix 6.13 Nega tion is powerless for slice functions 195 6.14 Hard slices of NP-complete functions 203 6.15 Set circuits - a new model for proving lower bounds 207 Exercises 214 7. Relatio ns between circuit size, formula size and depth 218 7.1 Formula size vs. depth 218 7.2 Circuit size vs. formula size and depth 221 7.3 Joint minimizatio n of depth and circuit size, trade-offs 225 7.4 A trade-off result 229 Exercises 233 8. Formula size 235 8.1 Threshold - 2 235 8.2 Design of efficient formulas for threshold - k 239 8.3 Efficient formulas for all thr eshold functions 243 8.4 The depth of symmetric functions 247 8.5 The Hodes and Specker method 249 8.6 The Fischer, Meyer and Paterson method 251 8.7 The Nechiporuk method 253 8.8 The Krapchenko method 258 Exercises 263 9. Circuits and other non uniform computation methods vs. Turing machines and other uniform computation models 267 9.1 Introduction 267 9.2 The simulation of Turing machines by circuits: time and size 271 9.3 The simulation of Turing machines by circuits: space and depth 277 9.4 The simulation of circuits by Tur ing machines with oracles 279 9.5 A characteriza tion of languages with polynomial circuits 2 82 9.6 Circuits and probabili stic Turing machines 285 x 9.7 May NP-complete problems have polynomial circuits ? 288 9.8 Uniform circuits 292 Exercises 294 10. Hierar chies, mass production and reductions 296 10.1 Hierarchies 296 10.2 Mass pro duction 301 10.3 Reductions 306 Exercises 318 11. Bounded-depth circuits 320 11.1 Introduction 320 11.2 The design of bounded-depth circuits 321 11.3 An exponential lower bound for the parity function 325 11.4 The complexi ty of symmetric functions 332 11.5 Hierarchy results 337 Exercises 338 12. Synchronous, planar and probabilistic circuits 340 12.1 Synchronous circuits 340 12.2 Planar and VLSI - circuits 344 12.3 Probabilistic circuits 352 Exercises 359 13. PRAMs and WRAMs: Parallel random access machines 361 13.1 Introduction 361 13.2 Upper bounds by simul ations 363 13.3 Lower bounds by simulations 368 13.4 The complexi ty of PRAMs 373 13.5 The complexi ty of PRAMs and WRAMs with small communication width 380 13.6 The complexi ty of WRAMs with polynom ial resources 387 13.7 Properties of complexity measures for PRAMs and WRAMs 396 Exercises 411 [...]... instead of 5 computation steps DEFINITION 3.2 : The size or complexity C(S) of a circuit S equals the number of its gates The circuit complexity of f with respect to the basis Ω , CΩ (f) , is the smallest number of gates in an Ω-circuit computing f The depth D(S) of S is the length (number of gates) of the longest path in S The depth of f with respect to Ω , DΩ (f) , is the minimal depth of an Ω-circuit... a textbook The fact that more than 40% of the relevant papers on the complexity of Boolean functions are published in the eighties is a statistical argument for the claim that the importance of this subject has increased during the last years Most of the book is self-contained Fundamental concepts of linear algebra, analysis, combinatorics, the theory of efficient algorithms (see Aho, Hopcroft and Ullman... p + 1 inner nodes Here r is the fan-out of Gi and p is the proper parameter Let S(T) be the circuit produced by the replacement of Gi by T in Si Then the weight of a node u ∈ T should be the length of the longest path in S(T) starting in u The weight of the r leaves of T is given and the weight of the inner nodes is recursively defined by w(u) = 1 + max{w(u′) | u′ is son of u} (4.5) In order to choose... summarize the conclusions drawn from the results of § 3 and § 4 1.5 Discussion It turned out that circuits build an excellent model for the computation of Boolean functions Certainly circuit complexity and depth of a Boolean function cannot be measured unambigously These complexity measures depend on – the costs and the computation time of the different types of gates – the underlying basis and 16 – the fan-out... is given by a table of length N = 2n We are looking for efficient procedures for the construction of good circuits The running time of these algorithms has to be measured in terms of their input size, namely N , the length of the table, and not n , the length of the inputs of f 23 The knowledge of circuits, especially of efficient circuits for an arbitrary function is far away from the knowledge that... = CΩ(f) and let ri be the fan-out of the i -th gate and rj+c the fan-out of xj We have to sum up all ri − 1 where ri ≥ 1 The sum of all ri (where ri ≥ 1) equals the number of wires Since the fan-in of the basis is k , the number of wires is bounded by ck As at most n parameters ri are equal to 0 the sum of all ri − 1 where ri ≥ 1 is not larger than ck − c Thus the number of new gates is bounded... particular for the hardware construction of computers The inputs of such a Boolean function f ∈ Bn m may be the outputs of another Boolean function g ∈ Bk n The properties of f are described by a table x → f(x) Since the image of g may be a proper subset of {0 1}n , f is not always defined for all a ∈ {0 1}n Such Boolean functions are called partially defined DEFINITION 1.1 : A partially defined Boolean function... other tree with p+1 nodes, r leaves and fan-out bounded by s (as shown in Fig 4.1 b) will also do the job The root is the gate that has to be simulated, and the other p nodes are identity gates The r outgoing wires can be used to simulate the r outgoing wires of the gate we simulate The number of gates behaves as in the algorithm of Johnson et al We have some influence on the increase in depth of the. .. Aho, Hopcroft and Ullman (74) or Knuth (81)) and the complexity theory (see Garey and Johnson (79) or Paul (78)) will be applied 1.2 Boolean functions, laws of computation, normal forms By Bn m we denote the set of Boolean functions f : {0 1}n → {0 1}m Bn also stands for Bn 1 Furthermore we define the most important subclass of Bn m , the class of monotone functions Mn m Again Mn = Mn 1 DEFINITION 2.1... , where fm) and f i is the function computed at yi f = (f1 It is often convenient to use the representation of a circuit by a directed acyclic graph The inputs are the sources of the graph, the vertex for the gate G(i) is labelled by the type ω i of G(i) and has n(i) numbered incoming edges from the predecessors of G(i) If ω i is commutative, we may withdraw the numbering of edges Our definition will . this version of the “Blue Book” This version of The Complexity of Boolean Functions, ” for some people simply the “Blue Book” due to the col or of the cover of the orig- inal from 1987, is not. field of science whi ch is so much in flux as the complexity of Boolean functions. On the one hand it is time to set down in a m onograph the multiplicity of important new results; on the other. ity of f with respect t o the basis Ω , C Ω (f) , is the smallest number of gates in an Ω-circuit computing f . The depth D(S) of S is the length (numb er of gates) of the longest path in S . The

Ngày đăng: 05/04/2014, 01:40

Tài liệu cùng người dùng

Tài liệu liên quan