Written by prominent expertsin the field, thismonograph providesthe first hensive and unified presentation of the structural, algorithmic, and applied aspects ofthe theory of Boolean fun
Trang 3Written by prominent expertsin the field, thismonograph providesthe first hensive and unified presentation of the structural, algorithmic, and applied aspects ofthe theory of Boolean functions.
compre-The book focuses on algebraic representations of Boolean functions, especially junctive and conjunctive normal form representations It presents within this frameworkthe fundamental elements of the theory (Boolean equations and satisfiability problems,prime implicants and associated short representations, dualization), an in-depth study
dis-of special classes dis-of Boolean functions (quadratic, Horn, shellable, regular, threshold,read-once functionsand their characterization by functional equations), and two fruit-ful generalizationsof the concept of Boolean functions(partially defined functionsandpseudo-Boolean functions) Several topics are presented here in book form for the firsttime
Because of the unique depth and breadth of the unified treatment that it provides anditsemphasison algorithmsand applications, thismonograph will have special appealfor researchers and graduate students in discrete mathematics, operations research,computer science, engineering, and economics
Dr YvesCrama isProfessor of OperationsResearch and Production Management andthe former Director General of the HEC Management School of the University ofLiège, Belgium He iswidely recognized asa prominent expert in the field of Booleanfunctions, combinatorial optimization, and operations research, and he has coauthoredmore than seventy papers and three books on these subjects Dr Crama is a member of
the editorial board of Discrete Applied Mathematics, Discrete Optimization, Journal
of Scheduling, and 4OR – The Quarterly Journal of the Belgian, French and Italian Operations Research Societies.
The late Peter L Hammer (1936–2006) was a Professor of Operations Research,Mathematics, Computer Science, Management Science, and Information Systems atRutgersUniversity and the Director of the RutgersUniversity Center for Operations
Research (RUTCOR) He was the founder and editor-in-chief of the journals Annals
of Operations Research, Discrete Mathematics, Discrete Applied Mathematics, crete Optimization, and Electronic Notes in Discrete Mathematics Dr Hammer was
Dis-the initiator of numerouspioneering investigationsof Dis-the use of Boolean functionsinoperations research and related areas, of the theory of pseudo-Boolean functions, and
of the logical analysisof data He published more than 240 papersand 19 booksonthese topics
Trang 4founding editor g.-c rota
Editorial Board
R Doran, P Flajolet, M Ismail, T.-Y Lam, E Lutwak
The titles below, and earlier volumes in the series, are available from booksellers or fromCambridge University Press atwww.cambridge.org
110 M.-J Lai and L L Schumaker Spline Functions on Triangulations
111 R T Curtis Symmetric Generation of Groups
112 H Salzmann et al The Classical Fields
113 S Peszat and J Zabczyk Stochastic Partial Differential Equations with Lévy Noise
114 J Beck Combinatorial Games
115 L Barreira and Y Pesin Nonuniform Hyperbolicity
116 D Z Arov and H Dym J-Contractive Matrix Valued Functions and Related Topics
117 R Glowinski, J.-L Lions, and J He Exact and Approximate Controllability for Distributed
Parameter Systems
118 A A Borovkov and K A Borovkov Asymptotic Analysis of Random Walks
119 M Deza and M Dutour Sikirié Geometry of Chemical Graphs
120 T Nishiura Absolute Measurable Spaces
121 M Prest Purity, Spectra and Localisation
122 S Khrushchev Orthogonal Polynomials and Continued Fractions
123 H Nagamochi and T Ibaraki Algorithmic Aspects of Graph Connectivity
124 F W King Hilbert Transforms I
125 F W King Hilbert Transforms II
126 O Calin and D.-C Chang Sub-Riemannian Geometry
127 M Grabisch et al Aggregation Functions
128 L W Beineke and R J Wilson (eds.) with J L Gross and T W Tucker Topics in
Topological Graph Theory
129 J Berstel, D Perrin, and C Reutenauer Codes and Automata
130 T G Faticoni Modules over Endomorphism Rings
131 H Morimoto Stochastic Control and Mathematical Modeling
132 G Schmidt Relational Mathematics
133 P Kornerup and D W Matula Finite Precision Numbers Systems and Arithmetic
134 Y Crama and P L Hammer Boolean Models and Methods in Mathematics, Computer
Science, and Engineering
135 V Berthé and M Rigo Combinatorics, Automata and Number Theory
136 A Kristály, V D Rˇadulescu, and C Varga Variational Principles in Mathematical Physics,
Geometry, and Economics
137 J Berstel and C Reutenauer Noncommutative Rational Series with Applications
138 B Courcelle Graph Structure and Monadic Second-Order Logic
139 M Fiedler Matrices and Graphs in Geometry
140 N Vakil Real Analysis through Modern Infinitesimals
141 R B Paris Hadamard Expansions and Hyperasymptotic Evaluation
Trang 6Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, São Paulo, Delhi, Tokyo, Mexico City
Cambridge University Press
32 Avenue of the Americas, New York, NY 10013-2473, USA
www.cambridge.org Information on this title: www.cambridge.org/9780521847513
© Yves Crama and PeterL Hammer2011 This publication is in copyright Subject to statutory exception and to the provisions of relevant collective licensing agreements,
no reproduction of any part may take place without the written permission of Cambridge University Press.
First published 2011 Printed in the United States of America
A catalog record for this publication is available from the British Library.
Library of Congress Cataloging in Publication Data
Crama, Yves, 1958–
Boolean functions / Yves Crama, Peter L Hammer.
p cm – (Encyclopedia of mathematics and its applications) Includes bibliographical references and index.
Contents: Theory, algorithms, and applications ISBN 978-0-521-84751-3 (hardback)
1 Algebraic functions 2 Algebra, Boolean I Hammer, P L., 1936–2006 II Title.
QA341.C73 2011 511.3 24–dc22 2011009690 ISBN 978-0-521-84751-3 Hardback Cambridge University Press has no responsibility for the persistence or accuracy of URLs for external or third-party Internet Web sites referred to in this publication and does not guarantee that
any content on such Web sites is, or will remain, accurate or appropriate.
Trang 7by way of apology for countless days spent in front of the computer.
YC
Trang 91.1 Boolean functions: Definitions and examples 3
1.8 Restrictions of functions, essential variables 28
1.11 Recognition of functional and DNF properties 401.12 Other representations of Boolean functions 44
2.2 The complexity of Boolean equations: Cook’s theorem 72
2.4 What doesit mean to “solve a Boolean equation”? 78
vii
Trang 102.7 The consensus procedure 92
2.9 Recent trendsand algorithmic performance 1032.10 More on the complexity of Boolean equations 1042.11 Generalizations of consistency testing 111
Peter L Hammer and Alexander Kogan
Yves Crama and Kazuhisa Makino
4.2 Duality propertiesof positive functions 176
4.4 Algorithmic aspects: Positive functions 189
Part II Special Classes
Bruno Simeone
5.2 Why are quadratic Boolean functionsimportant? 205
5.5 Reducibility of combinatorial problems
5.6 Efficient graph-theoretic algorithmsfor quadratic equations 230
5.9 Dualization of quadratic functions(Contributed by
Endre Boros
Trang 116.4 Horn equations 281
6.6 Propertiesof the set of prime implicants 292
Trang 1210.3 Characterizing read-once functions 456
10.4 The propertiesof P4-free graphsand cographs 463
10.7 Related topicsand applicationsof read-once functions 476
Part III Generalizations
Toshihide Ibaraki
12.2 Extensionsof pdBfsand their representations 51412.3 Extensions within given function classes 53112.4 Best-fit extensions of pdBfs containing errors 547
Trang 13B.5 Polynomial-time reductionsand NP-completeness 620
B.8 Complexity of list-generation and counting algorithms 624
Claude Benzaken and Nadia Brauner
Trang 15xiii
Trang 16Toshihide Ibaraki
Kyoto College of Graduate Studies for InformaticsKyoto, Japan
Oya Ekin Kara¸san
Department of Industrial Engineering
Trang 17Boolean functions, meaning valued functionsof a finite number of valued variables, are among the most fundamental objects investigated in pure andapplied mathematics Their importance can be explained by several interactingfactors
{0,1}-• It isreasonable to argue that a multivariate function f : A1×A2× ×A n→
A is “interesting” only if each of the sets A1,A2, ,A n , and A containsat
least two elements, since otherwise the function either depends trivially onsome of its arguments, or is constant Thus, in a sense, Boolean functions arethe “simplest interesting” multivariate functions It may even be surprising,actually, that such primitive constructs turn out to display a rich array ofpropertiesand have been investigated by variousbreedsof scientistsformore than 150 years
• When the argumentsof a Boolean function are viewed asatomic logicalpropositions, the value of the function at a 0–1 point can be interpreted asthe truth value of a sentence composed from these propositions Carrying outcalculationson Boolean functionsisthen tantamount to performing relatedlogical operations(such asinference or theorem-proving) on propositionalsentences.Therefore, Boolean functions are at the heart of propositional logic
• Many conceptsof combinatorial analysishave their natural Boolean
coun-terpart In particular, since every 0–1 point with n coordinatescan be viewed as the characteristic vector of a subset of N = {1,2, ,n}, the set
of pointsat which a Boolean function takesvalue 1 correspondsto a
col-lection of subsets of N, or a “hypergraph” on N (When all subsets have
cardinality 2, then the function corresponds exactly to a graph.) Structuralproperties relating to the transversals, stable sets, or colorings of the hyper-graph, for instance, often translate into interesting properties of the Booleanfunction
• Boolean functionsare ubiquitousin theoretical computer science, where theyprovide fundamental models for the most basic operations performed by
xv
Trang 18computerson binary digits(or bits) Turing machinesand Boolean circuitsare prime examplesillustrating thisclaim Similarly, electrical engineersrely
on the Boolean formalism for the description, synthesis, or verification ofdigital circuits
• In operations research or management science, binary variables and Booleanfunctionsare frequently used to formulate problemswhere a number of “go –
no go” decisions are to be made; these could be, for instance, investmentdecisions arising in a financial management framework, or location deci-sions in logistics, or assignment decisions for production planning In mostcases, the variables have to be fixed at values that satisfy constraints express-ible asBoolean conditionsand that optimize an appropriate real-valuedobjective function Thisleadsto – frequently difficult – Boolean equations(“satisfiability problems”) or integer programming problems
• Voting games and related systems of collective choice are frequently sented by Boolean functions, where the variables are associated with (binary)alternatives available to the decision makers, and the value of the functionindicates the outcome of the process
repre-• Variousbranchesof artificial intelligence rely on Boolean functionsto expressdeductive reasoning processes (in the above-mentioned propositional frame-work), or to model primitive cognitive and memorizing activitiesof the brain
by neural networks, or to investigate efficient learning strategies, or to devisestoring and retrieving mechanisms in databases, and so on
We could easily extend this list to speak of Boolean models arising in reliabilitytheory, in cryptography, in coding theory, in multicriteria analysis, in mathematicalbiology, in image processing, in theoretical physics, in statistics, and so on.The main objective of the present monograph is to introduce the reader to thefundamental elements of the theory of Boolean functions It focuses on algebraicrepresentations of Boolean functions, especially disjunctive or conjunctive nor-mal form expressions, and it provides a very comprehensive presentation of thestructural, algorithmic, and applied aspects of the theory in this framework.The monograph isdivided into three main parts
Part I: Foundations proposes in Chapter 1:Fundamental concepts and tions, an introduction to the major conceptsand applicationsof the theory It then
applica-successively tackles three generic classes of problems that play a central role in thetheory and in the applicationsof Boolean functions, namely, Boolean equationsand their extensions in Chapter2: Boolean equations, the generation of prime
implicantsand of optimal normal form representationsin Chapter3: Prime cants and minimal DNFs, and variousaspectsof the relation between functions
impli-and their dual in Chapter4: Duality theory.
Part II: Special Classes presents an in-depth study of several remarkable classes
of Boolean functions Each such class is investigated from both the structural andthe algorithmic pointsof view Chapter5isdevoted to Quadratic functions, Chapter
6to Horn functions, Chapter 7to Orthogonal forms and shellability, Chapter8to
Trang 19Regular functions, Chapter 9 to Threshold functions, and Chapter10to Read-once functions Chapter11: Characterizations of special classes by functional equations
providesgeneral conditionsunder which classesof functionscan be “compactly”characterized
Finally, Part III: Generalizations dealswith two fruitful extensionsof the
concept of Boolean functions Namely, Chapter12: Partially defined Boolean functions deals with functions whose domain is restricted to a subset of all pos-
sible {0,1} points, and Chapter13: Pseudo-Boolean functions proposes a brief
overview of the theory of real-valued functionsof binary variables
In view of itsemphasison algorithmsand applications, thismonograph shouldappeal to researchers and graduate students in discrete mathematics, operationsresearch, computer science, engineering, and economics Although we believethat it israther unique in itsdepth and breadth, our work hasbeen influenced invariouswaysby many other booksdealing with specialized aspectsof the field,such as threshold logic, logical inference, operations research, game theory, orreliability theory We like to mention, in particular, the classic monograph by P.L
Hammer and S Rudeanu, Boolean Methods in Operations Research and Related Areas (Springer, Berlin, 1968) Although it focuses almost exclusively on Boolean
models, rather than pseudo-Boolean ones, it can be seen as a distant follow-up tothe 1968 monograph We should also cite the influence of books by Anthony [25];Brayton, Hachtel, McMullen, and Sangiovanni-Vincentelli [153]; Brown [156];Chandru and Hooker [184]; Chang and Lee [186]; Hu [511, 512]; Jeroslow [533];Kleine, Büning, and Lettmann [571]; Knuth [575]; Mendelson [680]; Muroga[698,699]; Ramamurthy [777]; Rudeanu [795,796]; Schneeweiss [811]; Störmer[849]; Truemper [871]; Wegener [902,903]; and Winder [917], among others
As a complement to the monograph, the reader is also advised to consult the
collection of papers Boolean Models and Methods in Mathematics, Computer
Science and Engineering (Y Crama and P.L Hammer, eds., Cambridge University
Press, Cambridge, UK, 2010) Each chapter in that volume introduces the reader
to specialized Boolean modelsand applicationsinvestigated in a particular field
of science and provides a survey of important representative results
Trang 21The genesis of this book spread over many years, and over this long period, theauthors have benefited from the support and advice provided by many individuals.First and foremost, several colleagues have contributed important material tothe monograph: Endre Boros, Marty Golumbic, Vladimir Gurvich, Lisa Heller-stein, Toshi Ibaraki, Oya Ekin Kara¸san, Alex Kogan, Kaz Makino, and BrunoSimeone have coauthored several chapters and have provided input on varioussections Claude Benzaken and Nadia Brauner have developed a software pack-age formanipulating Boolean functions that serves as a useful companion to themonograph The contributions of these prominent experts of Boolean functionsgreatly enhance the appeal of the volume
Comments, reviews, and corrections have been provided at different stages bycolleagues and by RUTCOR students, including Nina Feferman, Noam Goldberg,Levent Kandiller, Shaoji Li, Tongyin Liu, Irina Lozina, Martin Milanic, DevonMorrese, David Neu, Sergiu Rudeanu, Gábor Rudolf, Jan-Georg Smaus, and MineSubasi
Special thanks are due to Endre Boros, who provided constant encouragementand tireless advice to the authors over the gestation period of the volume TerryHart provided the efficient administrative assistance that allowed the authors tokeep track of countless versions of the manuscript and endless mail exchanges.Finally, I am deeply indebted to my mentor, colleague, and friend, Peter L.Hammer, for getting us started on this ambitious project, many years ago Peterspent much of his academic career stressing the importance and relevance ofBoolean models in different fields of applied mathematics, and he was very keen
on completing this monograph It is extremely unfair that he did not live to seethe outcome of our joint effort I am sure that he would have loved it, and that hewould have been very proud of this contribution to the dissemination of the theory,algorithms, and applications of Boolean functions
Yves CramaLiège, Belgium, September2010xix
Trang 23X ≤ Y (with X,Y ∈ B n ) if and only if x i ≤ y i for i = 1,2, ,n
e k : a unit vector (0, ,0,1,0, ,0) of appropriate dimension, with 1 in kth
position
e A : the characteristic vector of A ⊆ {1,2, ,n}, that is, e A=k∈A e k ; e∅= 0
supp(X) : the support of X ∈ B n , that is, the set {i ∈ {1,2, ,n}|x i= 1}
T A,B = {X ∈ B n | x i = 1 for all i ∈ A and x j = 0 for all j ∈ B}
f ,g,h, : Boolean functions
φ,ψ,θ, : Boolean expressions
1n: the function that takesconstant value 1 on B n
0n: the function that takesconstant value 0 on B n
T (f ): the set of true points of function f
F (f ): the set of false points of function f
minT (f ): the set of minimal true points of a positive function f
maxF (f ): the set of maximal false points of a positive function f
f d : the dual of function f
|φ| : the (encoding) length, or size, of a Boolean expression φ; when φ isa DNF,
|φ| issimply the number of literalsappearing in φ
|f |: for a positive function f , |f | denotesthe size of the complete (prime irredundant) DNF φ of f , that is, |f |def= |φ|
||φ|| : the number of termsof a DNF φ
(ω1,ω2, ,ω n ,ω) : the Chow parametersof a Boolean function on B n
(π1,π2, ,π n ,π) : the modified Chow parametersof a Boolean function on B n
xxi
Trang 25Part I
Foundations
Trang 27Fundamental concepts and applications
The purpose of thisintroductory chapter isthreefold First, it containsthe maindefinitions, terminology, and notations that are used throughout the book.After theintroduction of our main feature characters– namely, Boolean functions– severalsections are devoted to a discussion of alternative representations, or expressions,
of Boolean functions Disjunctive and conjunctive normal forms, in particular, arediscussed at length in Sections1.4–1.11 These special algebraic expressions play
a very central role in our investigations, as we frequently focus on the relationbetween Boolean functionsand their normal forms Section1.12,however, alsoprovides a short description of different types of function representations, namely,representations over GF(2), pseudo-Boolean polynomial expressions, and binarydecision diagrams
A second objective of thischapter isto introduce several of the topicsto beinvestigated in more depth in subsequent chapters, namely: fundamental algorith-mic problems (Boolean equations, generation of prime implicants, dualization,orthogonalization, etc.) and special classes of Boolean functions (bounded-degreenormal forms, monotone functions, Horn functions, threshold functions, etc.).Finally, the chapter briefly presentsa variety of applicationsof Boolean functions
in such diverse fields as logic, electrical engineering, reliability theory, game ory, combinatorics, and so on These applications have often provided the primarymotivation for the study of the problems to be encountered in the next chapters
the-In a sense, this introductory chapter provides a (very) condensed digest ofwhat’s to come It can be considered a degustation: Its main purpose is to whet theappetite, so that readers will decide to embark on the full course!
1.1 Boolean functions: Definitions and examples
Thisbook isabout Boolean functions, meaning: {0,1}-valued functionsof a finitenumber of {0,1}-valued variables
3
Trang 28Definition 1.1 A Boolean function of n variables is a function on B n into B, where B is the set {0,1}, n is a positive integer, and B n denotes the n-fold carte- sian product of the set B with itself A point X∗= (x1,x2, ,x n ) ∈ B n is a true point (respectively, false point) of the Boolean function f if f (X∗) = 1 (respectively,
f (X∗) = 0) We denote by T (f ) (respectively, F (f )) the set of true
points(respec-tively, false points) of f We denote by 1 n the function that takes constant value 1
on B n and by 0 n the function that takes constant value 0 on B n
It should be stressed that, in many applications, the role of the set B is
played by another two-element set, like {Yes,No}, {True,False}, {ON,OFF},
{Success,Failure}, {−1,1} or, more generally, {a,b}, where a and b are abstract
(uninterpreted) elements In most cases, this distinction is completely irrelevant
However, it isoften convenient to view the elementsof B as numerical ties in order to perform arithmetic operationson these elementsand to manipulate algebraic expressions like 1−x, x +y −xy, and so on, where x,y are elementsof B.
quanti-As an historical aside, it is interesting to note that the ability to perform algebraiccomputations on logical symbols, in a way that is at least formally similar to what
we are used to doing for numerical quantities, was one of the driving forces behindGeorge Boole’sseminal work in logic theory Let usquote from Boole [103],Chapter V.6 (italicsare Boole’s):
[ ] any system of propositions may be expressed by equations involving symbols
x,y,z, which, whenever interpretation is possible, are subject to laws identical in form
with the laws of a system of quantitative symbols, susceptible only of the values 0 and
1 But as the formal processes of reasoning depend only upon the laws of the symbols,and not upon the nature of their interpretation, we are permitted to treat the above
symbols, x,y,z, asif they were quantitative symbolsof the kind above described We
may in fact lay aside the logical interpretation of the symbols in the given equation; convert them into quantitative symbols, susceptible only of the values 0 and 1; perform upon them as such all the requisite processes of solution; and finally restore to them their logical interpretation And thisisthe mode of procedure which will actually be
adopted [ ]
In this book, we systematically follow Boole’s prescription and adhere to the
convention that B = {0,1}, where 0 and 1 can be viewed as either abstract symbols
Trang 29Table 1.1 Truth Table for Example1.1
certain problems, such a procedure can simply be viewed as a black box oracle, of
which we can observe the output (that is, the function value) for any given input,but not the inner working (that is, the detailsof the algorithm that computestheoutput) In most applications, however, more information is available regardingthe processthat generatesthe function of interest, asillustrated by the examplesbelow (We come back to these applications in much greater detail in Section1.13and in many subsequent chapters of the book.)
Application 1.1 (Logic.) In many applications (such as those arising in artificial
intelligence), a Boolean function can be viewed as indicating the truth value of a sentence of propositional (or Boolean) logic Consider, for instance, the sentence S: “If it rains in the morning, or if the sky is cloudy, then I carry my umbrella.” Let
us denote by x1, x2, and x3, respectively, the subsentences “it rains in the morning,”
“the sky is cloudy,” and “I carry my umbrella” Then, S can be identified with the sentence
(x1OR x2) ⇒ x3
It is easy to see that the function displayed in Table 1.1 computes the truth value of
S for all possible values of x1,x2,x3, under the usual correspondence True ↔ 1,
Application 1.2 (Electrical engineering.) In electrical or in computer
engineer-ing, a switching circuit is often abstracted into the following model, called a combinational circuit The wiring of the circuit is described by an acyclic directed graph D = (V ,A) The vertices of D are the gates of the circuit The indegree of each gate is at most 2 Each gate with indegree 2 is labeled either AND or OR, and each gate with indegree 1 is labeled NOT The gates with indegree 0 are called input gates and are denoted v1,v2, ,v n Also, all gates of D have outdegree 1, except for a single gate f , called output gate, which has outdegree 0.
Trang 30Every such circuit can be viewed as representing a Boolean function
f D (x1,x2, ,x n ) First, for every (x1,x2, ,x n ) ∈ B n , the state s(v) of gate v ∈ V
is computed according to the following recursive rules:
1 For each input gate v i , s(v i ) = x i (i = 1,2, ,n).
2 For each AND-gate v ∈ V , if (u,v),(w,v) ∈ A are the arcs entering v, then s(v) = min(s(u),s(w)).
3 For each OR-gate v ∈ V , if (u,v),(w,v) ∈ A are the arcs entering v, then s(v) = max(s(u),s(w)).
4 For each NOT-gate v ∈ V , if (u,v) ∈ A is the arc entering v, then s(v) =
1 − s(u) Finally, we let f D (x1,x2, ,x n ) = s(f ).
For instance, the circuit represented in Figure 1.1 computes the function given
in Example 1.1 This can easily be verified by computing the state of the output gate (in this case, the OR-gate) for all possible 0–1 inputs For example, if (x1,x2,x3) = (0,0,0), then one successively finds that the state of each NOT-gate is 1 (= 1−0); the state of the AND-gate is 1 (= min(1,1)); and the state of the output gate is 1 (= max(1,0)).
More generally, the gates of a combinational circuit may be “primitive” Boolean functions forming another class from the {AND,OR,NOT} collection used
in our small example In all cases, the gates may be viewed as atomic units of ware, providing the building blocks for the construction of larger circuits. Historically, propositional logic and electrical engineering have been the mainnurturing fields for the development of research on Boolean functions However,because they are such fundamental mathematical objects, Boolean functions havealso been used to model a large number of applications in a variety of areas Todescribe these applications, we introduce a few more notations
hard-Given a point X ∈ B n , we denote by supp(X) the support of X, that is, supp(X) isthe set {i ∈ {1,2, ,n}|x i = 1} (Conversely, X isthe characteristic vector of
Figure 1.1 A small combinational circuit
Trang 31Application 1.3 (Game theory.) Many group decision procedures (such as those
used in legislative assemblies or in corporate stockholder meetings) can be viewed,
in abstract terms, as decision rules that associate a single dichotomous “Yes–No” outcome (for instance, adoption or rejection of a resolution) with a collection
of dichotomous “Yes–No” votes (for instance, assent or disagreement of vidual lawmakers) Such procedures have been studied in the game-theoretic literature under the name of simple games or voting games More formally, let
indi-N = {1,2, ,n} be a finite set, the elements of which are to be called players.
A simple game on N is a function v :{A | A ⊆ N} → B Clearly, from our tage point, a simple game can be equivalently modeled as a Boolean function f v
van-on B n : The variables of f v are in 1-to-1 correspondence with the players of the game (variable i takes value 1 exactly when player i votes “Yes”), and the value
of the function reflects the outcome of the vote for each point X∗∈ B n describing
a vector of individual votes:
Application 1.4 (Reliability theory.) Reliability theory investigates the
relation-ship between the operating state of a complex system S and the operating state
of its individual components, say components 1,2, ,n It is commonly assumed that the system and its components can be in either of two states: operative or failed Moreover, the state of the system is completely determined by the state of its components via a deterministic rule embodied in a Boolean function f S on B n , called the structure function of the system: For each X∗∈ B n ,
Application 1.5 (Combinatorics.) Consider a hypergraph H = (N,E), where
N = {1,2, ,n} is the set of vertices of H, and E is a collection of subsets of N, called edges of the hypergraph A subset of vertices is said to be stable if it does not contain any edge of H With H, we associate the Boolean function f H defined
as follows: For each X∗∈ B n ,
f H (X∗) =
1 if supp(X∗) is not stable,
0 otherwise.
Of course, the kinship among the models presented in Applications1.3–1.5isstriking: It is immediately apparent that we are really dealing here with a single
Trang 32class of mathematical objects, in spite of the distinct motivations that originallyjustified their investigation.
Applications of Boolean functions will be discussed more thoroughly inSection 1.13, after we have introduced some of the fundamental theoreticalconceptsthat underlie them
Before we close thissection, let usadd that, in thisbook, our view of Booleanfunctionswill be mostly combinatorial and algorithmic For algebraic or logic-oriented treatments, we refer the reader to the excellent books by Rudeanu[795, 796] or Brown [156] In these books, as in many related classical publi-cationsby other authors, Boolean functionsare actually defined more broadlythan in Definition1.1, as(special) mappingsof the form f : A n → A, where A isthe carrier of an arbitrary Boolean algebra (A,∪,∩,¬,0,1) By contrast, we
shall essentially restrict ourselves in this book to the two-element Boolean algebra
(B,∨,∧, ·,0,1), where B = {0,1} (see Section1.2) Brown [156], in particular,discusses in great detail the pros and cons of working with two-element, ratherthan more general, Boolean algebras While acknowledging the relevance of hisarguments, we feel that, at the risk of giving up some generality, our restrictedframework is already sufficiently rich to model a variety of interesting applica-tionsand to allow usto handle a host of challenging algorithmic problemsof
a combinatorial nature Also, the terminology introduced in Definition1.1hasbecome sufficiently entrenched to justify its continued use, rather than the alterna-
tive terminology switching functions or truth functions which, though less liable
to create confusion, has progressively become obsolete
1.2 Boolean expressions
Asthe above examplesillustrate, Boolean functionscan be described in many native ways In this section, we concentrate on a type of representation derived from
alter-propositional logic, namely, the representation of Boolean functions by Boolean
expressions (see, for instance, [156,680,795,848] for different presentations).Boolean expressions will be used extensively throughout the book In fact, theemphasis on Boolean expressions (rather than truth tables, circuits, oracles, etc.)can be seen as a main distinguishing feature of our approach and will motivatemany of the issues we will tackle in subsequent chapters
Our definition of Boolean expressions will be recursive, starting with threeelementary operationsasbuilding blocks
Definition 1.3 The binary operation ∨ (disjunction, Boolean OR), the binary
operation ∧ (conjunction, Boolean AND), and the unary operation ·
(comple-mentation, negation, Boolean NOT) are defined on B by the following rules:
0 ∨ 0 = 0, 0 ∨ 1 = 1, 1 ∨ 0 = 1, 1 ∨ 1 = 1;
0 ∧ 0 = 0, 0 ∧ 1 = 0, 1 ∧ 0 = 0, 1 ∧ 1 = 1;
0 = 1, 1 = 0
Trang 33For a Boolean variable x, we sometimes use the following convenient notation:
x α=
x, if α = 1,
x, if α = 0.
Keeping in line with our focuson functions, we often regard the three
elemen-tary Boolean operationsasdefining Boolean functionson B2: disj(x,y) = x ∨ y, conj(x,y) = x ∧ y, and on B: neg(x) = x When the elementsof B = {0,1} are
interpreted as integers rather than abstract symbols, these operations can be defined
by simple arithmetic expressions: For all x,y ∈ B,
x ∨ y = max{x,y} = x + y − x y,
x ∧ y = min{x,y} = x y,
x = 1 − x.
Observe that the conjunction of two elements of B isequal to their arithmetic
product By analogy with the usual convention for products, we often omit theoperator ∧ and denote conjunction by mere juxtaposition
We can extend the definitionsof all three elementary operatorsto B nby writing:
For all X,Y ∈ B n,
(10) (x ∨ y) = x y and (x y) = x ∨ y (De Morgan’slaws);
(11) x ∨ (x y) = x ∨ y and x (x ∨ y) = x y (Boolean absorption)
Trang 34Proof These identities are easily verified, for example, by exhausting all possible
Building upon Definition1.3, we are now in a position to introduce the important
notion of Boolean expression.
Definition 1.4 Given a finite collection of Boolean variables x1,x2, ,x n , a Boolean expression (or Boolean formula) in the variables x1,x2, ,x n is defined
Now, since disjunction, conjunction, and complementation can be interpreted as
Boolean functions, every Boolean expression φ(x1,x2, ,x n ) can also be viewed
asgenerating a Boolean function defined by composition
Definition 1.5 The Boolean function f φ represented (or expressed) by a Boolean expression φ(x1,x2, ,x n ) is the unique Boolean function on B n defined as fol- lows: For every point (x∗,x∗, ,x∗
n ) ∈ B n , the value of f φ (x∗,x∗, ,x∗
n ) is obtained by substituting x∗
i for x i (i = 1,2, ,n) in the expression φ and by recursively applying Definition 1.3 to compute the value of the resulting expression.
expression φ, and we simply write f = φ.
Example 1.3 Consider again the expressions defined in Example 1.2 We can compute, for instance:
fφ1(0) = 0, fφ1(1) = 1,
f φ2(0) = 0 = 1, f φ2(1) = 1 = 0,
f ψ1(0,0,0) = (((0 ∨ 0)(0 ∨ 0)) ∨ ((00)0)) = 1,
Trang 35In fact, the expression ψ1in Example 1.2 represents the function f , where
f (0,0,1) = f (1,0,0) = f (1,0,1) = 0,
f (0,0,0) = f (0,1,0) = f (0,1,1) = f (1,1,0) = f (1,1,1) = 1.
Thus, we can write
Remark So that we can get rid of parentheses when writing Boolean expressions,
we assume from now on a priority ranking of the elementary operations: Namely,
we assume that disjunction has lower priority than conjunction, which has lowerpriority than complementation When we compute the value of a parentheses-freeexpression, we always start with the operations of highest priority: First, all com-plementations; next, all conjunctions; and finally, all disjunctions (This is similar
to the convention that assigns a lower priority to addition than to multiplication, and
to multiplication than to exponentiation when evaluating an arithmetic expression
like 3x2+ 5xy.) Moreover, we also discard any parentheses that become
redun-dant as a consequence of the associativity property of disjunction and conjunction(Theorem1.1)
Example 1.4 The expression ψ1in Example 1.2 (and hence, the function f in Example 1.3) can be rewritten with fewer parentheses as f (x,y,z) = ψ1(x,y,z) = (x ∨y)(y ∨z)∨xyz Similarly, the expression ψ2in Example 1.2 can be rewritten
The relation between Boolean expressions and Boolean functions, as spelledout in Definition1.5, deserves to be carefully pondered
On one hand, it isimportant to understand that every Boolean function can
be represented by numerous Boolean expressions (see, for instance, Theorem1.4
in the next section) In fact, it is easy to see that there are “only” 22n Boolean
functionsof n variables, while there are infinitely many Boolean expressions in n
variables These remarks motivate the distinction we draw between functions andexpressions
On the other hand, since every Boolean expression φ represents a unique Boolean function f φ , we are justified in interpreting φ itself as a function, and we frequently do so The notation f = φ introduced in Definition1.5, in particular,may initially seem confusing, since it equates a function with a formal expression,but thisnotational convention isactually innocuous: It isakin to the conventionfor real-valued functions of real variables, where it is usual to assimilate a functionwith its analytical expression and to write, for instance, equalities like
Asa matter of fact, since Definition1.5impliesthat we write both f = ψ and f = φ when ψ and φ represent the same function f (compare with Equation (1.1)), italso naturally leads to the next notion
Trang 36Definition 1.6 We say that two Boolean expressions ψ and φ are equivalent
if they represent the same Boolean function When this is the case, we write
ψ = φ.
Note that any two expressions that can be deduced from each other by repeateduse of the properties listed in Theorem1.1are equivalent even though they are not
identical.
Example 1.5 The function f (x,y,z) represented by ψ1(x,y,z) = (x ∨ y)(y ∨ z)
∨ xyz (see previous examples) is also represented by the expression φ = x z ∨ y Indeed,
(x ∨ y)(y ∨ z) ∨ xyz = (xy ∨ x z ∨ yy ∨ yz) ∨ xyz (distributivity)
= xy ∨ x z ∨ y ∨ yz ∨ xyz (idempotency
and associativity)
Thus, ψ1(x,y,z) and φ(x,y,z) are equivalent, that is, ψ1(x,y,z) = φ(x,y,z)
A recurrent theme in Boolean theory concernsthe transformation of Booleanexpressions into equivalent expressions that display specific desirable proper-
ties For instance, in the previous example, the expression φ isintuitively much
“simpler” or “shorter” than ψ1, even though these two expressions represent thesame function More generally, for algorithmic purposes, it is necessary to have a
definition of the length of a Boolean expression.
Definition 1.7 The length (or size) of a Boolean expression φ is the number of
symbols used in an encoding of φ as a binary string The length of φ is denoted by
for the variables of a Boolean expression That is, if ψ(y1,y2, ,y m ) isa Boolean
expression on B m , and f1,f2, ,f m are m Boolean functionson B n, then the
Boolean function ψ(f1,f2, ,f m) can be defined in the natural way: Namely, for
Trang 37Boolean functionson B n , then the functions f ∨ g, f ∧ g, and f are defined, for all X∗∈ B n, by
(f ∨ g)(X∗) = f (X∗) ∨ g(X∗), (f ∧ g)(X∗) = f (X∗) ∧ g(X∗),
Example 1.6 Let f be the 2-variable function defined by f (0,0) = f (0,1) =
f (1,1) = 1 and f (1,0) = 0 Then the dual of f satisfies f d (0,0) = f d (1,0) =
Dual functions arise naturally in many Boolean models We only describe hereone simple occurence of this concept; more applications are discussed in Chapter4
Application 1.6 (Voting theory.) Suppose that a voting procedure is modeled by
a Boolean function f on B n , as explained in Application 1.3 Thus, when the ers’ votes are described by the Boolean point X∗∈ B n , the outcome of the voting procedure is f (X∗) What happens if all the players simultaneously change their minds and vote X∗rather than X∗? In many cases, we would expect the outcome of the procedure to be reversed as well, that is, we would expect f (X∗) = f (X∗), or equivalently, f (X∗) = f (X∗) = f d (X∗) When the property f (X) = f d (X) holds for all X ∈ B n , we say that the function f (and the voting procedure it describes) is
play-self-dual Note, however, that some common voting procedures are not self-dual,
We first list some useful properties of dualization
Theorem 1.2 If f and g are Boolean functions, then
(a) (f d ) d = f (involution: the dual of the dual is the function itself); (b) (f ) d = (f d );
(c) (f ∨ g) d = f d g d ;
(d) (fg) d = f d ∨ g d
Trang 38Proof Definition1.8immediately implies(a) and (b) For property (c), observethat
(f ∨ g) d (X) = (f ∨ g)(X)
= (f (X) ∨ g(X))
= f (X)g(X) (by de Morgan’slaws)
= f d (X)g d (X).
Observe that, in view of property (a), dualization defines a bijective dence on the space of Boolean functions
correspon-It is natural to ask how the Boolean expressions of a function relate to theexpressions of its dual To settle this question, we introduce one more definition
Definition 1.9 The dual of a Boolean expression φ is the expression φ d obtained
by exchanging the operators ∨ and ∧, as well as the constants 0 and 1, in φ.
Example 1.7 If φ(x,y,z) = (x ∨ y)(y ∨ z) ∨ xyz, then φ d (x,y,z) = (xy ∨ yz)
For our notations and terminology to be consistent, φ d should represent the
dual of the function represented by φ Thisisindeed the case.
Theorem 1.3 If the expression φ represents the Boolean function f , then the
expression φ d represents f d
Proof Let t denote the total number of conjunction, disjunction and negation operatorsin φ We prove the theorem by induction on t If t = 0, then φ iseither
a constant or a literal, and the statement is easily seen to hold
Assume now that t > 0 Then, by Definition1.4,φ takeseither the form ψ ∨ θ,
or the form ψθ, or the form ψ Assume, for instance, that φ = ψ ∨ θ (the other
cases are similar) Then, by Definition1.9, φ d = ψ d θ d Let g be the function represented by ψ and let h be the function represented by θ By induction, ψ dand
θ d represent g d and h d , respectively So, φ d represents g d h d , which isequal to f d
Duality isan important concept in Boolean theory and we shall return to thistopic many timesin subsequent chaptersof thisbook Chapter4, in particular, isfully devoted to duality
1.4 Normal forms
In this section, we discuss some classes of Boolean expressions of special
inter-est Let us adopt the following notations: If {φ k |k ∈ *} isa family of Boolean
Trang 39expressions indexed over the set * = {k1,k2, ,k m}, then we denote byk∈* φ k
the expression (φ k1∨ φ k2∨ ∨ φ k m ), and we denote by k∈* φ k the expression
(φ k1∧ φ k2∧ ∧ φ k m ) By convention, when * isempty,k∈* φ kisequivalent tothe constant 0 and k∈* φ kisequivalent to the constant 1
Definition 1.10 A literal is an expression of the form x or x, where x is a Boolean
variable An elementary conjunction (sometimes called term, or monomial, or cube) is an expression of the form
C = i∈A
x i j∈B
A disjunctive normal form (DNF) is an expression of the form
D k=
m k=1
Example 1.8 The expression φ(x,y,z) = x z ∨ y is a disjunctive normal form;
its terms are the elementary conjunctions x z and y It is easy to check that φ is equivalent to the CNF (x ∨ y)(y ∨ z) with clauses (x ∨ y) and (y ∨ z).
The expression ψ2(x1,x2,x3, x4) = x1x2 ∨ x3x4 is a DNF; it is equivalent to the CNF (x1∨ x3)(x1∨ x4)(x2∨ x3)(x2∨ x4). Bringing together the observations in Examples1.5and1.8,we see that we
have obtained three different expressions for the same Boolean function f :
Trang 40In particular, we have been able to derive both a DNF representation (1.4) and aCNF representation (1.5) of the original expression (1.3) (which isnot a normalform) Thisisnot an accident Indeed, we can now establish a fundamental property
of Boolean functions
Theorem 1.4 Every Boolean function can be represented by a disjunctive normal
form and by a conjunctive normal form.
Proof Let f be a Boolean function on B n , let T be the set of true points of f , and
consider the DNF
φ f (x1,x2, ,x n ) =
Y ∈T i|y i=1
x i j|y j=0
If we interpret φ f asa function on B n , then a point X∗∈ B n isa true point of φ f
if and only if there exists Y = (y1,y2, ,y n ) ∈ T such that
i|y i=1
x∗
i j|y j=0
Note that, alternatively, the second part of Theorem1.4can also be derivedfrom its first part by an easy duality argument Indeed, in view of Theorem1.3,
the function f isrepresented by the CNF
Let usnow illustrate Theorem1.4by an example
Example 1.9 The set of true points of the function f represented by the expression
(1.3) is T = {(0,0,0),(0,1,0),(0,1,1),(1,1,0),(1,1,1)}, and its set of false points
is F = {(1,0,0), (0,0,1),(1,0,1))} (see Example 1.3) Thus, it follows from the proof of Theorem 1.4 that f is also represented by the DNF
φf = x y z ∨ x y z ∨ x y z ∨ x y z ∨ x y z