To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
How difficult could it be to find hay in a haystack?
–Howard Karloff
The probabilistic method is a powerful method to show the existence of objects (e.g., graphs, functions) with certain desirable properties. We have already seen it used in Chapter 6 to show the existence of functions with high-circuit complexity, in Chapter 19 to show the existence of good error-correcting codes, and in several other places in this book. But sometimes the mere existence of an object is not enough: We need an explicit and efficient construction. This chapter provides such constructions for two well-known (and related) families of pseudorandom objects, expanders and extractors. They are important in computer science because they can often be used to replace (or reduce) the amount of randomness needed in certain settings. This is reminiscent of derandomization, the topic of Chapter 20, and indeed we will see several connections to derandomization throughout the chapter. However, a big difference between Chapter 20 and this one is that all results proven here are unconditional, in other words do not rely on unproven assumptions. Another topic that is related to expanders is constructions of error-correcting codes and related hardness-amplification results, which we saw in Chapter 19. For a brief discussion of the many deep and fascinating connections between codes, expanders, pseudorandom generators, and extractors, see the chapter notes.
Expanders are graphs whose connectivity properties (how many edges lie between every two sets A, B of vertices) are similar to those of “random” graphs–in this sense they are “pseudorandom” or “like random.”
Is Horner's rule optimal for the evaluation of a polynomial?
–Ostrowski (1954)
The Turing machine model captures computations on bits (equivalently, integers), but many natural and useful algorithms are most naturally described as operating on uncountable sets such as the real numbers ℝ or complex numbers ℂ. A simple example is Newton's method for finding roots of a given real-valued function f. It iteratively produces a sequence of candidate solutions x0, x1, x2, …, ∈ ℝ where xi+1 = xi−f (xi)/f′ (xi). Under appropriate conditions this sequence can be shown to converge to a root of f. Likewise, a wide variety of algorithms in numerical analysis, signal processing, computational geometry, robotics, and symbolic algebra typically assume that a basic computational step involves an operation (+, ×, /) in some arbitrary field F. Such algorithms are studied in a field called computer algebra [vzGG99].
One could defensibly argue that allowing arbitrary field operations in an algorithm is unrealistic (at least for fields such as ℝ) since real-life computers can only do arithmetic using finite precision. Indeed, in practice, algorithms like Newton's method have to be carefully implemented within the constraints imposed by finite precision arithmetic. In this chapter though, we take a different approach and study models which do allow arithmetic operations on real numbers (or numbers from fields other than ℝ). Such an idealized model may not be directly implementable but it provides a useful approximation to the asymptotic behavior as computers are allowed to use more and more precision in their computations.
Core: the heart of something, the center both literal and figurative.
–Columbia Guide to Standard American English, 1993
Complexity theory studies the computational hardness of functions. In this chapter we are interested in functions that are hard to compute on the “average” instance, continuing a topic that played an important role in Chapters 9 and 18 and will do so again in Chapter 20. The special focus in this chapter is on techniques for amplifying hardness, which is useful in a host of contexts. In cryptography (see Chapter 9), hard functions are necessary to achieve secure encryption schemes of nontrivial key size. Many conjectured hard functions like factoring are only hard on a few instances, not all. Thus these functions do not suffice for some cryptographic applications, but via hardness amplification we can turn them into functions that do suffice. Another powerful application will be shown in Chapter 20–derandomization of the class BPP under worst-case complexity theoretic assumptions. Figure 19.1 contains a schematic view of this chapter's sections and the way their results are related to that result. In addition to their applications in complexity theory, the ideas covered in this chapter have had other uses, including new constructions of error-correcting codes and new algorithms in machine learning.
For simplicity we study hardness amplification in context of Boolean functions though this notion can apply to functions that are not Boolean-valued. Section 19.1 introduces the first technique for hardness amplification, namely, Yao's XOR Lemma.
The idea behind digital computers may be explained by saying that these machines are intended to carry out any operations which could be done by a human computer. The human computer is supposed to be following fixed rules; he has no authority to deviate from them in any detail. We may suppose that these rules are supplied in a book, which is altered whenever he is put on to a new job. He has also an unlimited supply of paper on which he does his calculations.
– Alan Turing, 1950
[Turing] has for the first time succeeded in giving an absolute definition of an interesting epistemological notion, i.e., one not depending on the formalism chosen.
– Kurt Gödel, 1946
The problem of mathematically modeling computation may at first seem insurmountable: Throughout history people have been solving computational tasks using a wide variety of methods, ranging from intuition and “eureka” moments to mechanical devices such as abacus or sliderules to modern computers. Besides that, other organisms and systems in nature are also faced with and solve computational tasks every day using a bewildering array of mechanisms. How can you find a simple mathematical model that captures all of these ways to compute? The problem is even further exacerbated since in this book we are interested in issues of computational efficiency. Here, at first glance, it seems that we have to be very careful about our choice of a computational model, since even a kid knows that whether or not a new video game program is “efficiently computable” depends upon his computer's hardware.
Surprisingly, the proof complexity of the pigeonhole principles essentially depends on the number of pigeons.
–Alexander Razborov, 2001
In defining NP we sought to capture the phenomenon whereby if certain statements (such as “this Boolean formula is satisfiable”) are true, then there is a short certificate to this effect. Furthermore, we introduced the conjecture NP ≠ coNP according to which certain types of statements (such as “this Boolean formula is not satisfiable”) do not have short certificates in general. In this chapter we are interested in investigating this phenomenon more carefully, especially in settings where the existence of a short certificate is not obvious.
We start in Section 15.1 with some motivating examples. In Section 15.2 we formalize the notion of a proof system using a very simple example, propositional proofs. We also prove exponential lower bounds for the resolution proof system using two methods that serve as simple examples of important techniques in proof complexity. Section 15.3 surveys some other proof systems that have been studied and lower bounds known for them. Finally, Section 15.4 presents some metamathematical ruminations about whether proof complexity can shed some light on the difficulty of resolving P versus NP. There is a related, equally interesting question of finding short certificates assuming they exist, which we will mostly ignore except in the chapter notes.
Computational complexity theory has developed rapidly in the past three decades. The list of surprising and fundamental results proved since 1990 alone could fill a book: These include new probabilistic definitions of classical complexity classes (IP = PSPACE and the PCP theorems) and their implications for the field of approximation algorithms, Shor's algorithm to factor integers using a quantum computer, an understanding of why current approaches to the famous P versus NP will not be successful, a theory of derandomization and pseudorandomness based upon computational hardness, and beautiful constructions of pseudorandom objects such as extractors and expanders.
This book aims to describe such recent achievements of complexity theory in the context of more classical results. It is intendedto serve both as a textbook and as a reference for self-study. This means it must simultaneously cater to many audiences, and it is carefully designed with that goal in mind. We assume essentially no computational background and very minimal mathematical background, which we review in Appendix A. We have also provided a Web site for this book at http://www.cs.princeton.edu/theory/complexity with related auxiliary material, including detailed teaching plans for courses based on this book, a draft of all the book's chapters, andlinks to other online resources covering related topics. Throughout the book we explain the context in which a certain notion is useful, and why things are defined in a certain way. We also illustrate key definitions with examples.
[S]ynthesizing circuits is exceedingly difficulty. It is even more difficult to show that a circuit found in this way is the most economical one to realize a function. The difficulty springs from the large number of essentially different networks available.
– Claude Shannon, 1949
We have already encountered some ways of “capturing” the essence of families of computational problems by showing that they are complete for some natural complexity class. This chapter continues this process by studying another family of natural problems (including one mentioned in Shannon's quote at the begginning of this chapter) whose essence is not captured by nondeterminism alone. The correct complexity class that captures these problems is the polynomial hierarchy, denoted PH, which is a generalization of P, NP and coNP. It consists of an infinite number of subclasses (called levels) each of which is important in its own right. These subclasses are conjectured to be distinct, and this conjecture is a stronger form of P ≠ NP. This conjecture tends to crop up (sometimes unexpectedly) in many complexity theoretic investigations, including in Chapters 6, 7, and 17 of this book.
In this chapter we provide three equivalent definitions of the polynomial hierarchy:
In Section 5.2 we define the polynomial hierarchy as the set of languages defined via polynomial-time predicates combined with a constant number of alternating forall (∀) and exists (∃) quantifiers, generalizing the definitions of NP and coNP from Chapter 2.
[M]ost problem reductions do not create or preserve such gaps.… To create such a gap in the generic reduction (cf. Cook) … also seems doubtful. The intuitive reason is that computation is an inherently unstable, non-robust mathematical object, in the the sense that it can be turned from non-accepting to accepting by changes that would be insignificant in any reasonable metric.
– Papadimitriou and Yannakakis [PY88]
The contribution of this paper is two-fold. First, a connection is shown between approximating the size of the largest clique in a graph and multiprover interactive proofs. Second, an efficient multiprover interactive proof for NP languages is constructed, where the verifier uses very few random bits and communication bits.
– Feige, Goldwasser, Lovász, Safra, and Szegedy [FGL+91]
We give a new characterization of NP: it contains exactly those languages L for which membership proofs can be verified probabilistically in polynomial time using logarithmic number of random bits, and by reading a sub logarithmic number of bits from the proof.
– Arora and Safra [AS92]
This chapter describes the PCP Theorem, a surprising discovery of complexity theory, with many implications to algorithm design. Since the discovery of NP-completeness in 1972 researchers had mulled over the issue of whether we can efficiently compute approximate solutions to NP-hard optimization problems. They failed to design such approximation algorithms for most problems (see Section 11.1 for an introduction to approximation algorithms). They then tried to show that computing approximate solutions is also hard, but apart from a few isolated successes this effort also stalled.
As long as a branch of science offers an abundance of problems, so long it is alive; a lack of problems foreshadows extinction or the cessation of independent development.
– David Hilbert, 1900
The subject of my talk is perhaps most directly indicated by simply asking two questions: first, is it harder to multiply than to add? and second, why? … I (would like to) show that there is no algorithm for multiplication computationally as simple as that for addition, and this proves something of a stumbling block.
– Alan Cobham, 1964
The notion of computation has existed in some form for thousands of years, in contexts as varied as routine account keeping and astronomy. Here are three examples of tasks that we may wish to solve using computation:
Given two integer numbers, compute their product.
Given a set of n linear equations over n variables, find a solution, if it exists.
Given a list of acquaintances and a list of all pairs among them who do not get along, find the largest set of acquaintances you can invite to a dinner party such that every two invitees get along with one another.
Throughout history people had a notion of a process of producing an output from a set of inputs in a finite number of steps, and they thought of “computation” as “a person writing numbers on a scratch pad following certain rules.”
This paper gives a shortest path algorithm for CFG (context free grammar) labeled andweighted digraphs where edge weights may be positive or negative, but negative-weight cycles are not allowed in the underlying unlabeled graph.These results build directly on an algorithm of Barrett et al. [SIAM J. Comput.30 (2000) 809–837].In addition to many other results, they gave a shortest path algorithm for CFG labeled andweighted digraphs where all edges are nonnegative. Our algorithm is based closely on Barrett et al.'s algorithm as well as Johnson's algorithmfor shortest paths in digraphs whose edges may have positive or negative weights.
We propose a new way of characterizing the complexity of online problems.Instead of measuring the degradation of the output quality caused by the ignoranceof the future we choose to quantify the amount of additional global informationneeded for an online algorithm to solve the problem optimally. In our model, thealgorithm cooperates with an oracle that can see the whole input. We definethe advice complexity of the problem to be the minimal number of bits(normalized per input request, and minimized over all algorithm-oracle pairs)communicated by the algorithm to the oracle in order to solve the problemoptimally. Hence, the advice complexity measures the amount of problem-relevantinformation contained in the input. We introduce two modes of communication between the algorithm and the oraclebased on whether the oracle offers an advice spontaneously (helper) or onrequest (answerer). We analyze the Paging and DiffServ problems in terms ofadvice complexity and deliver upper and lower bounds in both communication modes;in the case of DiffServ problem in helper mode the bounds are tight.
Labelling problems for graphs consist in building distributeddata structures, making it possible to check a given graph property or to compute a given function, the arguments of which are vertices. For an inductively computable function D, if G is a graph with n vertices and of clique-width at mostk, where k is fixed, we can associate with each vertexx of G a piece of information (bit sequence) lab(x) of lengthO(log2(n)) such that we can compute D in constanttime, using only the labels of its arguments. The preprocessing can be done in time O(h.n)where h is the height of the syntactic tree of G.We perform an inductive computation, without usingthe tools of monadic second order logic.This enables us to give an explicit labelling scheme and toavoid constants of exponential size.
We show that the inclusion problem is decidable for rational languagesof words indexed by scattered countable linear orderings. The method leans on a reduction tothe decidability of the monadic second order theory of the infinite binary tree [9].
We discuss a new direction in which the use of some methods from arithmetic combinatorics can be extended. We consider functions taking values in Euclidean space and supported on subsets of {1, 2, . . ., N}. In this context we present a proof of a natural generalization of Szemerédi's theorem. We also prove a similar generalization of a theorem of Sárkőzy using a vector-valued Fourier transform, adapting an argument of Green and obtaining effective bounds.
Belief propagation (BP) is a message-passing algorithm that computes the exact marginal distributions at every vertex of a graphical model without cycles. While BP is designed to work correctly on trees, it is routinely applied to general graphical models that may contain cycles, in which case neither convergence, nor correctness in the case of convergence is guaranteed. Nonetheless, BP has gained popularity as it seems to remain effective in many cases of interest, even when the underlying graph is ‘far’ from being a tree. However, the theoretical understanding of BP (and its new relative survey propagation) when applied to CSPs is poor.
Contributing to the rigorous understanding of BP, in this paper we relate the convergence of BP to spectral properties of the graph. This encompasses a result for random graphs with a ‘planted’ solution; thus, we obtain the first rigorous result on BP for graph colouring in the case of a complex graphical structure (as opposed to trees). In particular, the analysis shows how belief propagation breaks the symmetry between the 3! possible permutations of the colour classes.