Boolean Function Complexity

Size: px
Start display at page:

Download "Boolean Function Complexity"

Transcription

1 Stasys Jukna Boolean Function Complexity Advances and Frontiers August 31, 2011 Springer

2

3 To Daiva and Indrė

4

5 Preface Go to the roots of calculations! Group the operations. Classify them according to their complexities rather than their appearances! This, I believe, is the mission of future mathematicians. Evariste Galois Computational complexity theory is the study of the inherent hardness or easiness of computational tasks. Research in this theory has two main strands. One of these strands structural complexity deals with high-level complexity questions: is space a more powerful resource than time? Does randomness enhance the power of efficient computation? Is it easier to verify a proof than to construct one? So far we do not know the answers to any of these questions; thus most results in structural complexity are conditional results that rely on various unproven assumptions, like P NP. The second strand concrete complexity or circuit complexity deals with establishing lower bounds on the computational complexity of specific problems, like multiplication of matrices or detecting large cliques in graphs. This is essentially a low-level study of computation; it typically centers around particular models of computation such as decision trees, branching programs, boolean formulas, various classes of boolean circuits, communication protocols, proof systems and the like. This line of research aims to establish unconditional lower bounds, which rely on no unproven assumptions. This book is about the life on the second strand circuit complexity with a special focus on lower bounds. It gives self-contained proofs of a wide range of unconditional lower bounds for important models of computation, covering many of the gems of the field that have been discovered over the past several decades, right up to results from the last year or two. More than twenty years have passed since the well-known books on circuit complexity by Savage (1976), Nigmatullin (1983), Wegener (1987) and Dunne (1988) as well as a famous survey paper of Boppana and Sipser (1990) were written. I feel it is time to summarize the new developments in circuit complexity during these two decades. The book is mainly devoted to mathematicians wishing to get an idea on what is actually going on in this one of the hardest, but also mathematically cleanest fields of computer science, to researchers in computer science wishing to refresh their knowledge about the state of art in circuit complexity, as well as to students wishing to try their luck in circuit complexity. vii

6 viii Preface I have highlighted some of the most important proof arguments for circuit lower bounds, without trying to be encyclopedic. To keep the length of the book within reasonable limits, I was forced to focus on classical circuit models results on their randomized or algebraic versions receive less attention here. Also, I often compromise the numerical tightness of results in favor of clarity of argument. My goal is to present the big picture of existing lower bound methods, in the hope that the reader will be motivated to find new ones. More than 40 open problems, marked as Research Problems, are mentioned along the way. Most of them are of a combinatorial or combinatorial-algebraic flavor and can be attacked by students with no knowledge in computational complexity. The book is meant to be approachable for graduate students in mathematics and computer science, and is self-contained. The text assumes a certain mathematical maturity but no special knowledge in the theory of computing. For non-mathematicians, all necessary mathematical background is collected in the appendix of the book. As in combinatorics or in number theory, the models and problems in circuit complexity are usually quite easy to state and explain, even for the layperson. Most often, their solution requires a clever insight, rather than fancy mathematical tools. I am grateful to Miklos Ajtai, Marius Damarackas, Andrew Drucker, Anna Gál, Sergey Gashkov, Dmitry Gavinsky, Jonathan Katz, Michal Koucky, Matthias Krause, Andreas Krebs, Alexander Kulikov, Meena Mahajan, Igor Sergeev, Hans Ulrich Simon, György Turán, and Sundar Vishwanathan for comments and corrections on the draft versions of the book. Sergey Gashkov and Igor Sergeev also informed me about numerous results available only in Russian. I am especially thankful to Andrew Drucker, William Gasarch, Jonathan Katz, Massimo Lauria, Troy Lee, Matthew Smedberg, Ross Snider, Marcos Villagra, and Ryan Williams for proofreading parts of the book and giving very useful suggestions concerning the contents. Their help was crucial when putting the finishing touches to the manuscript. The strong commitment of Andrew Drucker in organizing these final touches and proofreading more than a half of the book by himself cannot be acknowledged well enough. All remaining errors are entirely my fault. My sincere thanks to Georg Schnitger for his support during my stay in Frankfurt. Finally, I would like to acknowledge the German Research Foundation (Deutsche Forschungsgemeinschaft) for giving an opportunity to finish the book while working within the grant SCHN 503/5-1. My deepest thanks to my wife, Daiva, and my daughter, Indrė, for their patience. Frankfurt am Main/Vilnius S. J. August 2011

7 Contents Part I The Basics 1 Our Adversary: The Circuit Boolean functions Circuits Branching programs Almost all functions are complex So where are the complex functions? A 3n lower bound for circuits Graph complexity A constant factor away from P NP? Exercises Analysis of Boolean Functions Boolean functions as polynomials Real degree of boolean functions The Fourier transform Boolean 0/1 versus Fourier ±1 representation Approximating the values 0 and Approximation by low-degree polynomials Sign-approximation Sensitivity and influences Exercises Part II Communication Complexity 3 Games on Relations Communication protocols and rectangles Protocols and tiling Games and circuit depth Exercises ix

8 x Contents 4 Games on 0-1 Matrices Deterministic communication Nondeterministic communication P = NP co-np for fixed-partition games Clique vs. independent set game Communication and rank The log-rank conjecture Communication with restricted advice P NP co-np for best-partition games Randomized communication Lower bound for the disjointness function Unbounded error communication and sign-rank Private vs. public randomness Exercises Multi-Party Games The number-in-hand model The approximate set packing problem Application: streaming algorithms The number-on-forehead model The discrepancy bound Generalized inner product Matrix multiplication Best-partition k-party communication Exercises Part III Circuit Complexity 6 Formulas Size versus depth A quadratic lower bound for universal functions The effect of random restrictions A cubic lower bound Nechiporuk s theorem Lower bounds for symmetric functions Formulas and rectangles Khrapchenko s theorem Complexity is not convex Complexity is not submodular The drag-along principle Bounds based on graph measures Lower bounds via graph entropy Formula size, rank and affine dimension Exercises

9 Contents xi 7 Monotone Formulas The rank argument Lower bounds for quadratic functions A super-polynomial size lower bound A log 2 n depth lower bound for connectivity An n 1/6 depth lower bound for clique function An n 1/2 depth lower bound for matching Exercises Span Programs The model The power of span programs Power of monotone span programs Threshold functions The weakness of monotone span programs Self-avoiding families Characterization of span program size Monotone span programs and secret sharing Exercises Monotone Circuits Large cliques are hard to detect Very large cliques are easy to detect The monotone switching lemma The lower-bounds criterion Explicit lower bounds Circuits with real-valued gates Criterion for graph properties Clique-like problems What about circuits with NOT gates? Razborov s method of approximations A lower bound for perfect matching Exercises The Mystery of Negations When are NOT gates useless? Markov s theorem Formulas require exponentially more NOT gates Fischer s theorem How many negations are enough to prove P NP? Exercises Part IV Bounded Depth Circuits

10 xii Contents 11 Depth-three Circuits Why is depth three interesting? An easy lower bound for Parity The method of finite limits A lower bound for Majority NP co-np for depth-3 circuits Graph theoretic lower bounds Depth-2 circuits and Ramsey graphs Depth-3 circuits and signum rank Depth-3 circuits with parity gates Threshold circuits Exercises Large-Depth Circuits Håstad s switching lemma Razborov s proof of the switching lemma Parity and Majority are not in AC Constant-depth circuits and average sensitivity Circuits with parity gates Circuits with modular gates Circuits with symmetric gates Rigid matrices require large circuits Exercises Circuits with Arbitrary Gates Entropy and the number of wires Entropy and depth-two circuits Matrix product is hard in depth two Larger-depth circuits Linear circuits for linear operators Circuits with OR gates: rectifier networks Non-linear circuits for linear operators Relation to circuits of logarithmic depth Exercises Part V Branching Programs 14 Decision Trees Adversary arguments P = NP co-np for decision tree depth Certificates, sensitivity and block sensitivity Sensitivity and subgraphs of the n-cube Evasive boolean functions Decision trees for search problems Linear decision trees

11 Contents xiii 14.8 Element distinctness and Turán s theorem P NP co-np for decision tree size Exercises General Branching Programs Nechiporuk s lower bounds Branching programs over large domains Counting versus nondeterminism A surprise: Barrington s theorem Oblivious branching programs Exercises Bounded Replication Read-once programs: no replications P NP co-np for read-once programs Branching programs without null-paths Parity branching programs Linear codes require large replication Expanders require almost maximal replication Exercises Bounded Time The rectangle lemma A lower bound for code functions Proof of the rectangle lemma Exercises Part VI Fragments of Proof Complexity 18 Resolution Resolution refutation proofs Resolution and branching programs Lower bounds for tree-like resolution Tree-like versus regular resolution Lower bounds for general resolution Size versus width Tseitin formulas Expanders force large width Matching principles for graphs Exercises Cutting Plane Proofs Cutting planes as proofs Cutting planes and resolution Lower bounds for tree-like CP proofs Lower bounds for general CP proofs

12 xiv Contents 19.5 Chvátal rank Rank versus depth of CP proofs Lower bounds on Chvátal rank General CP proofs cannot be balanced Integrality gaps Exercises Epilogue Pseudo-random generators Natural proofs The fusion method Indirect proofs A Mathematical Background References Index

13 Part I The Basics

14

15 1. Our Adversary: The Circuit Boolean or switching functions map each sequence of bits to a single bit 0 or 1. Bit 0 is usually interpreted as false, and bit 1 as true. Simplest of such functions are the product x y, sum x y mod 2, non-exclusive Or x y, negation x = 1 x. The central problem of boolean function complexity the lower bounds problem is: Given a boolean function, how many of these simplest operations do we need to compute the function on all input vectors? The difficulty in proving that a given boolean function has high complexity lies in the nature of our adversary: the circuit. Small circuits may work in a counterintuitive fashion, using deep, devious, and fiendishly clever ideas. How can one prove that there is no clever way to quickly compute the function? This is the main issue confronting complexity theorists. The problem lies on the border between mathematics and computer science: lower bounds are of great importance for computer science, but their proofs require techniques from combinatorics, algebra, analysis, and other branches of mathematics. 1.1 Boolean functions We first recall some most basic concepts concerning boolean functions. The name boolean function comes from the boolean logic invented by George Boole ( ), an English mathematician and philosopher. As this logic is now the basis of modern digital computers, Boole is regarded in hindsight as a forefather of the field of computer science. Boolean values (or bits) are numbers 0 and 1. A boolean function f(x) = f(x 1,..., x n ) of n variables is a mapping f : {0, 1} n {0, 1}. One says that f accepts a vector a {0, 1} n if f(a) = 1, and rejects it if f(a) = 0. A boolean function f(x 1,..., x n ) need not to depend on all its variables. One says that f depends on its i-th variable x i if there exist constants 3

16 4 1 Our Adversary: The Circuit a 1,..., a i 1, a i+1,..., a n in {0, 1} such that f(a 1,..., a i 1, 0, a i+1,..., a n ) f(a 1,..., a i 1, 1, a i+1,..., a n ). Since we have 2 n vectors in {0, 1} n, the total number of boolean functions f : {0, 1} n {0, 1} is doubly-exponential in n, is 2 2n. A boolean function f is symmetric if it depends only on the number of ones in the input, and not on positions in which these ones actually reside. We thus have only 2 n+1 such functions of n variables. Examples of symmetric boolean functions are: Threshold functions Th n k(x) = 1 iff x x n k. Majority function Maj n (x) = 1 iff x x n n/2. Parity function n (x) = 1 iff x x n 1 mod 2. Modular functions MOD k = 1 iff x x n 0 mod k. Besides these, there are many other interesting boolean functions. Actually, any property (which may or may not hold) can be encoded as a boolean function. For example, the property to be a prime number corresponds to a boolean function PRIME such that PRIME(x) = 1 iff n i=1 x i2 i 1 is a prime number. It was a long-standing problem whether this function can be computed using a polynomial in n number of elementary boolean operations. This problem was finally solved affirmatively by Agrawal, Kayal and Saxena (2004). To encode properties of graphs on the set of vertices [n] = {1,..., n}, we may associate a boolean variable x ij with each potential edge. Then any 0-1 vector x of length ( n 2) gives us a graph Gx, where two vertices i and j are adjacent iff x ij = 1. We can then define f(x) = 1 iff G x has a particular property. A prominent example of a hard-to-compute graph property is the clique function CLIQUE(n, k): it accepts an input vector x iff the graph G x has a k-clique, that is, a complete subgraph on k vertices. The problem of whether this function can also be computed using a polynomial number of operations remains wide open. A negative answer would immediately imply that P NP. Informally, the P vs. NP problem asks whether there exist mathematical theorems whose proofs are much harder to find than verify. Roughly speaking, one of the goals of circuit complexity is, for example, to understand why the first of the following two problems is easy whereas the second is (apparently) very hard to solve: 1. Does a given graph contain at least ( k 2) edges? 2. Does a given graph contain a clique with ( k 2) edges? The first problem is a threshold function, whereas the second is the clique function CLIQUE(n, k). We stress that the goal of circuit complexity is not just to give an evidence (via some indirect argument) that clique is much harder than majority, but to understand why this is so. A boolean matrix or a 0-1 matrix is a matrix whose entries are 0s and 1s. If f(x, y) is a boolean function of 2n variables, then it can be viewed as a

17 1.1 Boolean functions 5 x y x y x y x y x y x x Fig. 1.1 Truth tables of basic boolean operations. boolean 2 n 2 n matrix A whose rows and columns are labeled by vector in {0, 1} n, and A[x, y] = f(x, y). We can obtain new boolean functions (or matrices) by applying boolean operations to the simplest ones. Basic boolean operations are: NOT (negation) x = 1 x; also denoted as x. AND (conjunction) x y = x y. OR (disjunction) x y = 1 (1 x)(1 y). XOR (parity) x y = x(1 y) + y(1 x) = (x + y) mod 2. Implication x y = x y. If these operators are applied to boolean vectors or boolean matrices, then they are usually performed componentwise. Negation acts on ANDs and ORs via DeMorgan rules: (x y) = x y and (x y) = x y. The operations AND and OR themselves enjoy the distributivity rules: x (y z) = (x y) (x z) and x (y z) = (x y) (x z). Binary cube The set {0, 1} n of all boolean (or binary) vectors is usually called the binary n-cube. A subcube of dimension d is a set of the form A = A 1 A 2 A n, where each A i is one of three sets {0}, {1} and {0, 1}, and where A i = {0, 1} for exactly d of the i s. Note that each subcube of dimension d can be uniquely specified by a vector a {0, 1, } n with d stars, by letting to attain any of two values 0 and 1. For example, a subcube A = {0} {0, 1} {1} {0, 1} of the binary 4-cube of dimension d = 2 is specified by a = (0,, 1, ). Usually, the binary n-cube is considered as a graph Q n whose vertices are vectors in {0, 1} n, and two vectors are adjacent iff they differ in exactly one position (see Fig. 1.2). This graph is sometimes called the n-dimensional binary hypercube. This is a regular graph of degree n with 2 n vertices and n2 n 1 edges. Moreover, the graph is bipartite: we can put all vectors with an odd number of ones on one side, and the rest on the other; no edge of Q n can join two vectors on the same side. Every boolean function f : {0, 1} n {0, 1} is just a coloring of vertices of Q n in two colors. The bipartite subgraph G f of Q n, obtained by removing

18 6 1 Our Adversary: The Circuit Fig. 1.2 The 3-cube and its Hasse-type representation (each level contains binary strings with the same number of 1s). There is an edge between two strings if and only if they differ in exactly one position all edges joining the vertices in the same color class, accumulates useful information about the circuit complexity of f. If, for example, d a denotes the average degree in G f of vertices in the color-class f 1 (a), a = 0, 1, then the product d 0 d 1 is a lower bound on the length of any formula expressing f using connectives, and (see Khrapchenko s theorem in Section 6.8). CNFs and DNFs A trivial way to represent a boolean function f(x 1,..., x n ) is to give the entire truth table, that is, to list all 2 n pairs (a, f(a)) for a {0, 1} n. More compact representations are obtained by giving a covering of f 1 (0) or of f 1 (1) by not necessarily disjoint subsets, each of which has some simple structure. This leads to the notions of CNFs and DNFs. A literal is a boolean variable or its negation. For literals the following notation is often used: x 1 i stands for x i, and x 0 i stands for x i = 1 x i. Thus, for every binary string a = (a 1,..., a n ) in {0, 1} n, x 1 i (a) = { 1 if a i = 1 0 if a i = 0 and x 0 i (a) = { 0 if a i = 1 1 if a i = 0. A monomial is an AND of literals, and a clause is an OR of literals. A monomial (or clause) is consistent if it does not contain a contradicting pair of literals x i and x i of the same variable. We will often view monomials and clauses as sets of literals. It is not difficult to see that the set of all vectors accepted by a monomial consisting of k (out of n) literals forms a binary n-cube of dimension n k (so many bits are not specified). For example, a monomial x 1 x 3 defines the cube of dimension n 2 specified by a = (0,, 1,,..., ). Similarly, the set of all vectors rejected by a clause consisting of k (out of n) literals also forms a binary n-cube of dimension n k. For example, a clause x 1 x 3 rejects a vector a iff a 1 = 1 and a 3 = 0. A DNF (disjunctive normal form) is an OR of monomials, and a CNF (conjunctive normal form) is an AND of clauses. Every boolean function f(x) of n variables can be written both as a DNF D(x) and as a CNF C(x):

19 1.1 Boolean functions 7 D(x) = n a:f(a)=1 i=1 x ai i C(x) = n b:f(b)=0 i=1 x 1 bi i. Indeed, D(x) accepts a vector x iff x coincides with at least one vector a accepted by f, and C(x) rejects a vector x iff x coincides with at least one vector b rejected by f. A DNF is a k-dnf if each of its monomials has at most k literals; similarly, a CNF is a k-cnf if each of its clauses has at most k literals. DNFs (and CNFs) are the simplest models for computing boolean functions. The size of a DNF is the total number of monomials in it. It is clear that every boolean function of n variables can be represented by a DNF of size at most f 1 (1) 2 n : just take one monomial for each accepted vector. This can also be seen via the following recurrence: f(x 1,..., x n+1 ) = x n+1 f(x 1,..., x n, 1) x n+1 f(x 1,..., x n, 0). (1.1) It is not difficult to see that some functions require DNFs of exponential size. Take, for example, the parity function f(x 1,..., x n ) = x 1 x 2 x n. This function accepts an input vector iff the number of 1s in it is odd. Every monomial in a DNF for f must contain n literals, for otherwise the DNF would be forced to accept a vector in f 1 (0). Since any such monomial can accept only one vector, f 1 (1) = 2 n 1 monomials are necessary. Thus the lower bounds problem for this model is trivial. Boolean functions as set systems By identifying subsets S of [n] = {1,..., n} with their characteristic 0-1 vectors v S, where v S (i) = 1 iff i S, we can consider boolean functions as set-theoretic predicates f : 2 [n] {0, 1}. We will often go back and forth between these notations. One can identify a boolean function f : 2 [n] {0, 1} with the family F f = {S f(s) = 1} of subsets of [n]. That is, there is a 1-to-1 correspondence between boolean functions and families of subsets of [n]: boolean functions of n variables = families of subsets of {1,..., n}. Minterms and maxterms A 1-term (resp., 0-term) of a boolean function is a smallest subset of its variables such that the function can be made the constant 1 (resp., constant 0) function by fixing these variables to constants 0 and 1 is some way. Thus after the setting, the obtained function does not depend on the remaining variables. Minterms (maxterms) are 1-terms (0-terms) which are minimal under the set-theoretic inclusion. Note that one and the same set of variables may be a 1-term and a 0-term at the same time. If, for example, f(x 1, x 2, x 3 ) = 1 iff x 1 + x 2 + x 3 2, then {x 1, x 2 } is a 1-term of f because f(1, 1, x 3 ) 1, and is a 0-term of f because f(0, 0, x 3 ) 0. If all minterms of a boolean function f have length at most k then f can be written as a k-dnf: just take the OR of all these minterms. But the

20 8 1 Our Adversary: The Circuit converse does not hold! Namely, there are boolean functions f such that f can be written as a k-dnf even though some of its minterms are much longer than k (see Exercise 1.7). Duality The dual of a boolean function f(x 1,..., x n ) is the boolean function f defined by: f (x 1,..., x n ) := f( x 1,..., x n ). For example, if f = x y then f = ( x y) = x y. The dual of every threshold function Th n k (x) is the threshold function Thn n k+1 (x). A function f is self-dual if f (x) = f(x) holds for all x {0, 1} n. For example, the threshold-k function f(x) = Th 2k 1 k (x) of 2k 1 variables is self-dual. Hence, if the number n of variables is odd, then the majority function Maj n is also self-dual. In set-theoretic terms, if S = [n] \ S denotes the complement of S, then the values of the dual of f are obtained by: f (S) = 1 f(s). Thus a boolean function f is self-dual if and only if f(s) + f(s) = 1 for all S [n]. Monotone functions For two vectors x, y {0, 1} n we write x y if x i y i for all positions i. A boolean function f(x) is monotone, if x y implies f(x) f(y). If we view f as a set-theoretic predicate f : 2 [n] {0, 1}, then f is monotone iff f(s) = 1 and S T implies f(t ) = 1. Examples of monotone boolean functions are AND, OR, threshold functions Th n k(x), clique functions CLIQUE(n, k), etc. On the other hand, such functions as the parity function n (x) or counting functions Mod n k(x) are not monotone. Monotone functions have many nice properties not shared by other functions. First of all, their minterms as well as maxterms are just subsets of variables (no negated variable occurs in them). In set-theoretic terms, a subset S [n] is a minterm of a monotone function f if and is a maxterm of f if f(s) = 1 but f(s \ {i}) = 0 for all i S, f(s) = 0 but f(s \ {i}) = 1 for all i S. Let Min(f) and Max(f) denote the set of all minterms and the set of all maxterms of f. Then we have the following cross-intersection property: S T for all S Min(f) and all T Max(f). Indeed, if S and T were disjoint, then for the vectors x with x i = 1 for all i S, and x i = 0 for all i S, we would have f(x) = 1 (because S is a minterm) and at the same time f(x) = 0 (because T S is a maxterm of f). The next important property of monotone boolean functions is that every such function f has a unique representation as a DNF as well as a CNF:

Algorithms and Combinatorics

Algorithms and Combinatorics Algorithms and Combinatorics Volume 27 Editorial Board William J. Cook Ronald Graham Bernhard Korte LászlóLovász Avi Wigderson Günter M. Ziegler For further volumes: http://www.springer.com/series/13 Stasys

More information

Book Introduction by the Authors

Book Introduction by the Authors Book Introduction by the Authors Invited by Kazuo Iwama iwama@kuis.kyoto-u.ac.jp Bulletin Editor Kyoto University, Japan 215 BEATCS no 113 Boolean Function Complexity Advances and Frontiers Stasys Jukna

More information

Lecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition.

Lecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. Lecture #14: 0.0.1 NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. 0.0.2 Preliminaries: Definition 1 n abstract problem Q is a binary relations on a set I of

More information

Show that the following problems are NP-complete

Show that the following problems are NP-complete Show that the following problems are NP-complete April 7, 2018 Below is a list of 30 exercises in which you are asked to prove that some problem is NP-complete. The goal is to better understand the theory

More information

1 Computational Complexity of Graphs

1 Computational Complexity of Graphs 1 1 Computational Complexity of Graphs Stasys Jukna 1 Computational complexity of graphs is the smallest number of union and intersection operations required to generate them when starting from simplest

More information

Min-Rank Conjecture for Log-Depth Circuits

Min-Rank Conjecture for Log-Depth Circuits Min-Rank Conjecture for Log-Depth Circuits Stasys Jukna a,,1, Georg Schnitger b,1 a Institute of Mathematics and Computer Science, Akademijos 4, LT-80663 Vilnius, Lithuania b University of Frankfurt, Institut

More information

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 4 1 Circuit Complexity Circuits are directed, acyclic graphs where nodes are called gates and edges are called

More information

1.1 P, NP, and NP-complete

1.1 P, NP, and NP-complete CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Introduction to NP-complete Problems Date: 11/01/2008 Lecturer: Lap Chi Lau Scribe: Jerry Jilin Le This lecture gives a general introduction

More information

Breaking the Rectangle Bound Barrier against Formula Size Lower Bounds

Breaking the Rectangle Bound Barrier against Formula Size Lower Bounds Breaking the Rectangle Bound Barrier against Formula Size Lower Bounds Kenya Ueno The Young Researcher Development Center and Graduate School of Informatics, Kyoto University kenya@kuis.kyoto-u.ac.jp Abstract.

More information

NP-completeness. Chapter 34. Sergey Bereg

NP-completeness. Chapter 34. Sergey Bereg NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems

More information

Computability and Complexity Theory: An Introduction

Computability and Complexity Theory: An Introduction Computability and Complexity Theory: An Introduction meena@imsc.res.in http://www.imsc.res.in/ meena IMI-IISc, 20 July 2006 p. 1 Understanding Computation Kinds of questions we seek answers to: Is a given

More information

On Graph Complexity S. J U K N A

On Graph Complexity S. J U K N A On Graph Complexity S. J U K N A Universität Frankfurt, Institut für Informatik Robert-Mayer-Str. 11-15, D-60054 Frankfurt, Germany jukna@thi.informatik.uni-frankfurt.de and Institute of Mathematics and

More information

Graphs and Circuits: Some Further Remarks

Graphs and Circuits: Some Further Remarks Graphs and Circuits: Some Further Remarks S. Jukna Institute of Mathematics Akademijos 4 LT-08663 Vilnius, Lithuania Abstract We consider the power of single level circuits in the context of graph complexity.

More information

Notes on Computer Theory Last updated: November, Circuits

Notes on Computer Theory Last updated: November, Circuits Notes on Computer Theory Last updated: November, 2015 Circuits Notes by Jonathan Katz, lightly edited by Dov Gordon. 1 Circuits Boolean circuits offer an alternate model of computation: a non-uniform one

More information

Lecture 5: February 21, 2017

Lecture 5: February 21, 2017 COMS 6998: Advanced Complexity Spring 2017 Lecture 5: February 21, 2017 Lecturer: Rocco Servedio Scribe: Diana Yin 1 Introduction 1.1 Last Time 1. Established the exact correspondence between communication

More information

18.5 Crossings and incidences

18.5 Crossings and incidences 18.5 Crossings and incidences 257 The celebrated theorem due to P. Turán (1941) states: if a graph G has n vertices and has no k-clique then it has at most (1 1/(k 1)) n 2 /2 edges (see Theorem 4.8). Its

More information

Lecture 16: Communication Complexity

Lecture 16: Communication Complexity CSE 531: Computational Complexity I Winter 2016 Lecture 16: Communication Complexity Mar 2, 2016 Lecturer: Paul Beame Scribe: Paul Beame 1 Communication Complexity In (two-party) communication complexity

More information

Solutions to Sample Problems for Midterm

Solutions to Sample Problems for Midterm Solutions to Sample Problems for Midterm Problem 1. The dual of a proposition is defined for which contains only,,. It is For a compound proposition that only uses,, as operators, we obtained the dual

More information

6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch

6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch 6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch Today: More Complexity Theory Polynomial-time reducibility, NP-completeness, and the Satisfiability (SAT) problem Topics: Introduction

More information

1 Primals and Duals: Zero Sum Games

1 Primals and Duals: Zero Sum Games CS 124 Section #11 Zero Sum Games; NP Completeness 4/15/17 1 Primals and Duals: Zero Sum Games We can represent various situations of conflict in life in terms of matrix games. For example, the game shown

More information

CS6840: Advanced Complexity Theory Mar 29, Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K.

CS6840: Advanced Complexity Theory Mar 29, Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. CS684: Advanced Complexity Theory Mar 29, 22 Lecture 46 : Size lower bounds for AC circuits computing Parity Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. Theme: Circuit Complexity Lecture Plan: Proof

More information

Part V. Intractable Problems

Part V. Intractable Problems Part V Intractable Problems 507 Chapter 16 N P-Completeness Up to now, we have focused on developing efficient algorithms for solving problems. The word efficient is somewhat subjective, and the degree

More information

Tecniche di Verifica. Introduction to Propositional Logic

Tecniche di Verifica. Introduction to Propositional Logic Tecniche di Verifica Introduction to Propositional Logic 1 Logic A formal logic is defined by its syntax and semantics. Syntax An alphabet is a set of symbols. A finite sequence of these symbols is called

More information

Approximation norms and duality for communication complexity lower bounds

Approximation norms and duality for communication complexity lower bounds Approximation norms and duality for communication complexity lower bounds Troy Lee Columbia University Adi Shraibman Weizmann Institute From min to max The cost of a best algorithm is naturally phrased

More information

CSC 2429 Approaches to the P vs. NP Question and Related Complexity Questions Lecture 2: Switching Lemma, AC 0 Circuit Lower Bounds

CSC 2429 Approaches to the P vs. NP Question and Related Complexity Questions Lecture 2: Switching Lemma, AC 0 Circuit Lower Bounds CSC 2429 Approaches to the P vs. NP Question and Related Complexity Questions Lecture 2: Switching Lemma, AC 0 Circuit Lower Bounds Lecturer: Toniann Pitassi Scribe: Robert Robere Winter 2014 1 Switching

More information

CS 5114: Theory of Algorithms

CS 5114: Theory of Algorithms CS 5114: Theory of Algorithms Clifford A. Shaffer Department of Computer Science Virginia Tech Blacksburg, Virginia Spring 2014 Copyright c 2014 by Clifford A. Shaffer CS 5114: Theory of Algorithms Spring

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

1 AC 0 and Håstad Switching Lemma

1 AC 0 and Håstad Switching Lemma princeton university cos 522: computational complexity Lecture 19: Circuit complexity Lecturer: Sanjeev Arora Scribe:Tony Wirth Complexity theory s Waterloo As we saw in an earlier lecture, if PH Σ P 2

More information

On extracting computations from propositional proofs (a survey)

On extracting computations from propositional proofs (a survey) On extracting computations from propositional proofs (a survey) Pavel Pudlák September 16, 2010 Abstract This paper describes a project that aims at showing that propositional proofs of certain tautologies

More information

Notes on Complexity Theory Last updated: October, Lecture 6

Notes on Complexity Theory Last updated: October, Lecture 6 Notes on Complexity Theory Last updated: October, 2015 Lecture 6 Notes by Jonathan Katz, lightly edited by Dov Gordon 1 PSPACE and PSPACE-Completeness As in our previous study of N P, it is useful to identify

More information

Boolean Algebra and Digital Logic

Boolean Algebra and Digital Logic All modern digital computers are dependent on circuits that implement Boolean functions. We shall discuss two classes of such circuits: Combinational and Sequential. The difference between the two types

More information

P, NP, NP-Complete, and NPhard

P, NP, NP-Complete, and NPhard P, NP, NP-Complete, and NPhard Problems Zhenjiang Li 21/09/2011 Outline Algorithm time complicity P and NP problems NP-Complete and NP-Hard problems Algorithm time complicity Outline What is this course

More information

CMSC 858F: Algorithmic Lower Bounds Fall SAT and NP-Hardness

CMSC 858F: Algorithmic Lower Bounds Fall SAT and NP-Hardness CMSC 858F: Algorithmic Lower Bounds Fall 2014 3-SAT and NP-Hardness Instructor: Mohammad T. Hajiaghayi Scribe: Philip Dasler September 23, 2014 The most important NP-Complete (logic) problem family! 1

More information

Sensitivity, Block Sensitivity and Certificate Complexity of Boolean Functions (Master s Thesis)

Sensitivity, Block Sensitivity and Certificate Complexity of Boolean Functions (Master s Thesis) Sensitivity, Block Sensitivity and Certificate Complexity of Boolean Functions (Master s Thesis) Sourav Chakraborty Thesis Advisor: László Babai February, 2005 Abstract We discuss several complexity measures

More information

Limitations of Algorithm Power

Limitations of Algorithm Power Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying

More information

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity 1 CS 350 Algorithms and Complexity Fall 2015 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower

More information

Classes of Boolean Functions

Classes of Boolean Functions Classes of Boolean Functions Nader H. Bshouty Eyal Kushilevitz Abstract Here we give classes of Boolean functions that considered in COLT. Classes of Functions Here we introduce the basic classes of functions

More information

On Multi-Partition Communication Complexity

On Multi-Partition Communication Complexity On Multi-Partition Communication Complexity Pavol Ďuriš Juraj Hromkovič Stasys Jukna Martin Sauerhoff Georg Schnitger Abstract. We study k-partition communication protocols, an extension of the standard

More information

The Class NP. NP is the problems that can be solved in polynomial time by a nondeterministic machine.

The Class NP. NP is the problems that can be solved in polynomial time by a nondeterministic machine. The Class NP NP is the problems that can be solved in polynomial time by a nondeterministic machine. NP The time taken by nondeterministic TM is the length of the longest branch. The collection of all

More information

Lecture 18: P & NP. Revised, May 1, CLRS, pp

Lecture 18: P & NP. Revised, May 1, CLRS, pp Lecture 18: P & NP Revised, May 1, 2003 CLRS, pp.966-982 The course so far: techniques for designing efficient algorithms, e.g., divide-and-conquer, dynamic-programming, greedy-algorithms. What happens

More information

CS Introduction to Complexity Theory. Lecture #11: Dec 8th, 2015

CS Introduction to Complexity Theory. Lecture #11: Dec 8th, 2015 CS 2401 - Introduction to Complexity Theory Lecture #11: Dec 8th, 2015 Lecturer: Toniann Pitassi Scribe Notes by: Xu Zhao 1 Communication Complexity Applications Communication Complexity (CC) has many

More information

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA. Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA NP Completeness Susmita Sur-Kolay Advanced Computing and Microelectronics Unit

More information

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity CS 350 Algorithms and Complexity Winter 2019 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower

More information

Boolean circuits. Lecture Definitions

Boolean circuits. Lecture Definitions Lecture 20 Boolean circuits In this lecture we will discuss the Boolean circuit model of computation and its connection to the Turing machine model. Although the Boolean circuit model is fundamentally

More information

Non-Deterministic Time

Non-Deterministic Time Non-Deterministic Time Master Informatique 2016 1 Non-Deterministic Time Complexity Classes Reminder on DTM vs NDTM [Turing 1936] (q 0, x 0 ) (q 1, x 1 ) Deterministic (q n, x n ) Non-Deterministic (q

More information

On the P versus NP intersected with co-np question in communication complexity

On the P versus NP intersected with co-np question in communication complexity On the P versus NP intersected with co-np question in communication complexity Stasys Jukna Abstract We consider the analog of the P versus NP co-np question for the classical two-party communication protocols

More information

NP Completeness and Approximation Algorithms

NP Completeness and Approximation Algorithms Winter School on Optimization Techniques December 15-20, 2016 Organized by ACMU, ISI and IEEE CEDA NP Completeness and Approximation Algorithms Susmita Sur-Kolay Advanced Computing and Microelectronic

More information

Lecture 3: AC 0, the switching lemma

Lecture 3: AC 0, the switching lemma Lecture 3: AC 0, the switching lemma Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: Meng Li, Abdul Basit 1 Pseudorandom sets We start by proving

More information

ON SENSITIVITY OF k-uniform HYPERGRAPH PROPERTIES

ON SENSITIVITY OF k-uniform HYPERGRAPH PROPERTIES ON SENSITIVITY OF k-uniform HYPERGRAPH PROPERTIES JOSHUA BIDERMAN, KEVIN CUDDY, ANG LI, MIN JAE SONG Abstract. In this paper we present a graph property with sensitivity Θ( n), where n = ( v 2) is the

More information

Geometric Steiner Trees

Geometric Steiner Trees Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 3: Computational Complexity and the Steiner Tree Problem Marcus Brazil 2015

More information

On the Structure and the Number of Prime Implicants of 2-CNFs

On the Structure and the Number of Prime Implicants of 2-CNFs On the Structure and the Number of Prime Implicants of 2-CNFs Navid Talebanfard Department of Mathematical and Computing Sciences, Tokyo Institute of Technology, Meguro-ku Ookayama 2-12-1, Japan 152-8552

More information

CS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014

CS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014 Department of Computer Science Virginia Tech Blacksburg, Virginia Copyright c 2014 by Clifford A. Shaffer : Theory of Algorithms Title page : Theory of Algorithms Clifford A. Shaffer Spring 2014 Clifford

More information

NP-Complete problems

NP-Complete problems NP-Complete problems NP-complete problems (NPC): A subset of NP. If any NP-complete problem can be solved in polynomial time, then every problem in NP has a polynomial time solution. NP-complete languages

More information

3 Boolean Algebra 3.1 BOOLEAN ALGEBRA

3 Boolean Algebra 3.1 BOOLEAN ALGEBRA 3 Boolean Algebra 3.1 BOOLEAN ALGEBRA In 1854, George Boole introduced the following formalism which eventually became Boolean Algebra. Definition. An algebraic system consisting of a set B of elements

More information

Critical Reading of Optimization Methods for Logical Inference [1]

Critical Reading of Optimization Methods for Logical Inference [1] Critical Reading of Optimization Methods for Logical Inference [1] Undergraduate Research Internship Department of Management Sciences Fall 2007 Supervisor: Dr. Miguel Anjos UNIVERSITY OF WATERLOO Rajesh

More information

CS Communication Complexity: Applications and New Directions

CS Communication Complexity: Applications and New Directions CS 2429 - Communication Complexity: Applications and New Directions Lecturer: Toniann Pitassi 1 Introduction In this course we will define the basic two-party model of communication, as introduced in the

More information

Notes for Lecture 3... x 4

Notes for Lecture 3... x 4 Stanford University CS254: Computational Complexity Notes 3 Luca Trevisan January 14, 2014 Notes for Lecture 3 In this lecture we introduce the computational model of boolean circuits and prove that polynomial

More information

1 Propositional Logic

1 Propositional Logic CS 2800, Logic and Computation Propositional Logic Lectures Pete Manolios Version: 384 Spring 2011 1 Propositional Logic The study of logic was initiated by the ancient Greeks, who were concerned with

More information

3. Abstract Boolean Algebras

3. Abstract Boolean Algebras 3. ABSTRACT BOOLEAN ALGEBRAS 123 3. Abstract Boolean Algebras 3.1. Abstract Boolean Algebra. Definition 3.1.1. An abstract Boolean algebra is defined as a set B containing two distinct elements 0 and 1,

More information

Introduction. Pvs.NPExample

Introduction. Pvs.NPExample Introduction Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 09 NP-Completeness (Chapter 34) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu I

More information

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds

More information

COMPUTATIONAL COMPLEXITY

COMPUTATIONAL COMPLEXITY COMPUTATIONAL COMPLEXITY A Modern Approach SANJEEV ARORA Princeton University BOAZ BARAK Princeton University {Щ CAMBRIDGE Щ0 UNIVERSITY PRESS Contents About this book Acknowledgments Introduction page

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. Overview Part 1 Gate

More information

Propositional Logic Basics Propositional Equivalences Normal forms Boolean functions and digital circuits. Propositional Logic.

Propositional Logic Basics Propositional Equivalences Normal forms Boolean functions and digital circuits. Propositional Logic. Propositional Logic Winter 2012 Propositional Logic: Section 1.1 Proposition A proposition is a declarative sentence that is either true or false. Which ones of the following sentences are propositions?

More information

Upper and Lower Bounds for Tree-like. Cutting Planes Proofs. Abstract. In this paper we study the complexity of Cutting Planes (CP) refutations, and

Upper and Lower Bounds for Tree-like. Cutting Planes Proofs. Abstract. In this paper we study the complexity of Cutting Planes (CP) refutations, and Upper and Lower Bounds for Tree-like Cutting Planes Proofs Russell Impagliazzo Toniann Pitassi y Alasdair Urquhart z UCSD UCSD and U. of Pittsburgh University of Toronto Abstract In this paper we study

More information

Comp487/587 - Boolean Formulas

Comp487/587 - Boolean Formulas Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested

More information

Chapter 2: Switching Algebra and Logic Circuits

Chapter 2: Switching Algebra and Logic Circuits Chapter 2: Switching Algebra and Logic Circuits Formal Foundation of Digital Design In 1854 George Boole published An investigation into the Laws of Thoughts Algebraic system with two values 0 and 1 Used

More information

A An Overview of Complexity Theory for the Algorithm Designer

A An Overview of Complexity Theory for the Algorithm Designer A An Overview of Complexity Theory for the Algorithm Designer A.1 Certificates and the class NP A decision problem is one whose answer is either yes or no. Two examples are: SAT: Given a Boolean formula

More information

On the Sensitivity of Cyclically-Invariant Boolean Functions

On the Sensitivity of Cyclically-Invariant Boolean Functions On the Sensitivity of Cyclically-Invariant Boolean Functions Sourav Charaborty University of Chicago sourav@csuchicagoedu Abstract In this paper we construct a cyclically invariant Boolean function whose

More information

RESOLUTION OVER LINEAR EQUATIONS AND MULTILINEAR PROOFS

RESOLUTION OVER LINEAR EQUATIONS AND MULTILINEAR PROOFS RESOLUTION OVER LINEAR EQUATIONS AND MULTILINEAR PROOFS RAN RAZ AND IDDO TZAMERET Abstract. We develop and study the complexity of propositional proof systems of varying strength extending resolution by

More information

COMP Analysis of Algorithms & Data Structures

COMP Analysis of Algorithms & Data Structures COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Computational Complexity CLRS 34.1-34.4 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 50 Polynomial

More information

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof T-79.5103 / Autumn 2006 NP-complete problems 1 NP-COMPLETE PROBLEMS Characterizing NP Variants of satisfiability Graph-theoretic problems Coloring problems Sets and numbers Pseudopolynomial algorithms

More information

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK

More information

COS597D: Information Theory in Computer Science October 5, Lecture 6

COS597D: Information Theory in Computer Science October 5, Lecture 6 COS597D: Information Theory in Computer Science October 5, 2011 Lecture 6 Lecturer: Mark Braverman Scribe: Yonatan Naamad 1 A lower bound for perfect hash families. In the previous lecture, we saw that

More information

Preliminaries and Complexity Theory

Preliminaries and Complexity Theory Preliminaries and Complexity Theory Oleksandr Romanko CAS 746 - Advanced Topics in Combinatorial Optimization McMaster University, January 16, 2006 Introduction Book structure: 2 Part I Linear Algebra

More information

DISPROVING THE SINGLE LEVEL CONJECTURE

DISPROVING THE SINGLE LEVEL CONJECTURE DISPROVING THE SINGLE LEVEL CONJECTURE STASYS JUKNA Abstract. We consider the size of monotone circuits for quadratic boolean functions, that is, disjunctions of length-2 monomials. Our motivation is that

More information

CHAPTER 12 Boolean Algebra

CHAPTER 12 Boolean Algebra 318 Chapter 12 Boolean Algebra CHAPTER 12 Boolean Algebra SECTION 12.1 Boolean Functions 2. a) Since x 1 = x, the only solution is x = 0. b) Since 0 + 0 = 0 and 1 + 1 = 1, the only solution is x = 0. c)

More information

On the correlation of parity and small-depth circuits

On the correlation of parity and small-depth circuits Electronic Colloquium on Computational Complexity, Report No. 137 (2012) On the correlation of parity and small-depth circuits Johan Håstad KTH - Royal Institute of Technology November 1, 2012 Abstract

More information

On the Gap Between ess(f) and cnf size(f) (Extended Abstract)

On the Gap Between ess(f) and cnf size(f) (Extended Abstract) On the Gap Between and (Extended Abstract) Lisa Hellerstein and Devorah Kletenik Polytechnic Institute of NYU, 6 Metrotech Center, Brooklyn, N.Y., 11201 Abstract Given a Boolean function f, denotes the

More information

Week 3: Reductions and Completeness

Week 3: Reductions and Completeness Computational Complexity Theory Summer HSSP 2018 Week 3: Reductions and Completeness Dylan Hendrickson MIT Educational Studies Program 3.1 Reductions Suppose I know how to solve some problem quickly. How

More information

Digital Circuit And Logic Design I. Lecture 3

Digital Circuit And Logic Design I. Lecture 3 Digital Circuit And Logic Design I Lecture 3 Outline Combinational Logic Design Principles (). Introduction 2. Switching algebra 3. Combinational-circuit analysis 4. Combinational-circuit synthesis Panupong

More information

Packet #1: Logic & Proofs. Applied Discrete Mathematics

Packet #1: Logic & Proofs. Applied Discrete Mathematics Packet #1: Logic & Proofs Applied Discrete Mathematics Table of Contents Course Objectives Page 2 Propositional Calculus Information Pages 3-13 Course Objectives At the conclusion of this course, you should

More information

USING SAT FOR COMBINATIONAL IMPLEMENTATION CHECKING. Liudmila Cheremisinova, Dmitry Novikov

USING SAT FOR COMBINATIONAL IMPLEMENTATION CHECKING. Liudmila Cheremisinova, Dmitry Novikov International Book Series "Information Science and Computing" 203 USING SAT FOR COMBINATIONAL IMPLEMENTATION CHECKING Liudmila Cheremisinova, Dmitry Novikov Abstract. The problem of checking whether a

More information

CMSC 858F: Algorithmic Lower Bounds Fall SAT and NP-Hardness

CMSC 858F: Algorithmic Lower Bounds Fall SAT and NP-Hardness CMSC 858F: Algorithmic Lower Bounds Fall 2014 3-SAT and NP-Hardness Instructor: Mohammad T. Hajiaghayi September 23, 2014 The most important NP-Complete (logic) problem family! 1 SAT = Satisfiability The

More information

Yet Harder Knapsack Problems

Yet Harder Knapsack Problems Yet Harder Knapsack Problems Stasys Jukna,1 Georg Schnitger University of Frankfurt, Institut of Computer Science, D-60054 Frankfurt, Germany. Abstract Already 30 years ago, Chvátal has shown that some

More information

CS Foundations of Communication Complexity

CS Foundations of Communication Complexity CS 49 - Foundations of Communication Complexity Lecturer: Toniann Pitassi 1 The Discrepancy Method Cont d In the previous lecture we ve outlined the discrepancy method, which is a method for getting lower

More information

Lecture 22: Counting

Lecture 22: Counting CS 710: Complexity Theory 4/8/2010 Lecture 22: Counting Instructor: Dieter van Melkebeek Scribe: Phil Rydzewski & Chi Man Liu Last time we introduced extractors and discussed two methods to construct them.

More information

Boolean Algebra CHAPTER 15

Boolean Algebra CHAPTER 15 CHAPTER 15 Boolean Algebra 15.1 INTRODUCTION Both sets and propositions satisfy similar laws, which are listed in Tables 1-1 and 4-1 (in Chapters 1 and 4, respectively). These laws are used to define an

More information

Complexity, P and NP

Complexity, P and NP Complexity, P and NP EECS 477 Lecture 21, 11/26/2002 Last week Lower bound arguments Information theoretic (12.2) Decision trees (sorting) Adversary arguments (12.3) Maximum of an array Graph connectivity

More information

Where do pseudo-random generators come from?

Where do pseudo-random generators come from? Computer Science 2426F Fall, 2018 St. George Campus University of Toronto Notes #6 (for Lecture 9) Where do pseudo-random generators come from? Later we will define One-way Functions: functions that are

More information

REVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms

REVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms REVIEW QUESTIONS Chapter 1: Foundations: Sets, Logic, and Algorithms 1. Why can t a Venn diagram be used to prove a statement about sets? 2. Suppose S is a set with n elements. Explain why the power set

More information

Generalized Lowness and Highness and Probabilistic Complexity Classes

Generalized Lowness and Highness and Probabilistic Complexity Classes Generalized Lowness and Highness and Probabilistic Complexity Classes Andrew Klapper University of Manitoba Abstract We introduce generalized notions of low and high complexity classes and study their

More information

Lecture 29: Computational Learning Theory

Lecture 29: Computational Learning Theory CS 710: Complexity Theory 5/4/2010 Lecture 29: Computational Learning Theory Instructor: Dieter van Melkebeek Scribe: Dmitri Svetlov and Jake Rosin Today we will provide a brief introduction to computational

More information

Lecture 15: A Brief Look at PCP

Lecture 15: A Brief Look at PCP IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 15: A Brief Look at PCP David Mix Barrington and Alexis Maciel August 4, 2000 1. Overview

More information

1 Computational problems

1 Computational problems 80240233: Computational Complexity Lecture 1 ITCS, Tsinghua Univesity, Fall 2007 9 October 2007 Instructor: Andrej Bogdanov Notes by: Andrej Bogdanov The aim of computational complexity theory is to study

More information

Lecture 7: The Polynomial-Time Hierarchy. 1 Nondeterministic Space is Closed under Complement

Lecture 7: The Polynomial-Time Hierarchy. 1 Nondeterministic Space is Closed under Complement CS 710: Complexity Theory 9/29/2011 Lecture 7: The Polynomial-Time Hierarchy Instructor: Dieter van Melkebeek Scribe: Xi Wu In this lecture we first finish the discussion of space-bounded nondeterminism

More information

Lecture 14 - P v.s. NP 1

Lecture 14 - P v.s. NP 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 27, 2018 Lecture 14 - P v.s. NP 1 In this lecture we start Unit 3 on NP-hardness and approximation

More information

SAT, NP, NP-Completeness

SAT, NP, NP-Completeness CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)

More information