Algorithms and NP

Total Page:16

File Type:pdf, Size:1020Kb

Algorithms and NP Algorithms Complexity P vs NP Algorithms and NP G. Carl Evans University of Illinois Summer 2019 Algorithms and NP Algorithms Complexity P vs NP Review Algorithms Model algorithm complexity in terms of how much the cost increases as the input/parameter size increases In characterizing algorithm computational complexity, we care about Large inputs Dominant terms p 1 log n n n n log n n2 n3 2n 3n n! Algorithms and NP Algorithms Complexity P vs NP Closest Pair 01 closestpair(p1;:::; pn) : array of 2D points) 02 best1 = p1 03 best2 = p2 04 bestdist = dist(p1,p2) 05 for i = 1 to n 06 for j = 1 to n 07 newdist = dist(pi ,pj ) 08 if (i 6= j and newdist < bestdist) 09 best1 = pi 10 best2 = pj 11 bestdist = newdist 12 return (best1, best2) Algorithms and NP Algorithms Complexity P vs NP Mergesort 01 merge(L1,L2: sorted lists of real numbers) 02 if (L1 is empty and L2 is empty) 03 return emptylist 04 else if (L2 is empty or head(L1) <= head(L2)) 05 return cons(head(L1),merge(rest(L1),L2)) 06 else 07 return cons(head(L2),merge(L1,rest(L2))) 01 mergesort(L = a1; a2;:::; an: list of real numbers) 02 if (n = 1) then return L 03 else 04 m = bn=2c 05 L1 = (a1; a2;:::; am) 06 L2 = (am+1; am+2;:::; an) 07 return merge(mergesort(L1),mergesort(L2)) Algorithms and NP Algorithms Complexity P vs NP Find End 01 findend(A: array of numbers) 02 mylen = length(A) 03 if (mylen < 2) error 04 else if (A[0] = 0) error 05 else if (A[mylen-1] 6= 0) return mylen-1 06 else return findendrec(A,0,mylen-1) 11 findendrec(A, bottom, top: positive integers) 12 if (top = bottom+1) return bottom bottom+top 13 middle = floor( 2 ) 14 if (A[middle] = 0) 15 return findendrec(A, bottom, middle) 16 else 17 return findendrec(A, middle, top) Algorithms and NP Algorithms Complexity P vs NP Fine Min 01 FindMin(a1;::: an) : list of numbers) 02 if (n=1) return a1 03 else return min(a1,findmin(a2;::: an)) Algorithms and NP Algorithms Complexity P vs NP Review Big O f (n) is O(g(n)) if the dominant terms in f (n) are equivalent or dominated by the dominant terms in g(n) f (n) is Ω(g(n)) if the dominant terms in f (n) are equivalent or dominate the dominant terms in g(n) f (n) is Θ(g(n)) if the dominant terms in f (n) are equivalent the dominant terms in g(n) Algorithms and NP Algorithms Complexity P vs NP Computational Complexity ALL AH RE R PR ELEMENTARY NEEE P-Sel NEEXP EEE EEXP EESPACE MIP_{EXP} EXPSPACE IP_{EXP} PEXP EXPH SEH NEXP^{NP} NEE EXP^{NP} AM_{EXP} NEXP/poly MA_{EXP} BPEE EXP/poly NEXP BPEXP EE +EXP EXP QRG ESPACE RG Almost-PSPACE QPSPACE PSPACE Coh PL_{infty} CH MP^{#P} AvgE P^{PP} EH PP/poly P^{#P[1]} BP.PP MP PH SF_4 Sigma_3P AmpMP QMIP QMIP_{le} QMIP_{ne} SQG Delta_3P BQP/qpoly MIP* QIP MIP RG[1] Sigma_2P BPP^{NP} BQP/mpoly NE/poly XOR-MIP*[2,1] QMA(2) QIP[2] IP RP^{NP} frIP Complexity Classes BQP/poly NP/poly QSZK QAM AM[polylog] compIP ZPP^{NP} QS_2P PP SF_3 (NP-cap-coNP)/poly BQP/qlog DQP CZK AM S_2P P^{QMA} A_0PP SF_2 P/poly BQP/mlog N.NISZK SZK QMA Delta_2P BPP_{path} APP Check BPP//log BQP/log YQP NIQSZK NISZK_h QCMA SBP MA_E P^{NP[log^2]} AWPP C_=P IC[log,poly] BPP/rlog BQP NE NISZK MA WAPP BPE P^{NP[log]} WPP BPP/mlog HeurBPP YPP N.BPP PZK AmpP-BQP RPE BPQP UE BH ModP Inherent Complexity NP/log BPP/log AVBPP FH TreeBQP ZPE BH_2 LWPP Mod_5P +P Mod_3P Nearly-P NP/one P/log BPP E US RP^{PromiseUP} SPP NT* AvgP NP RQP SUBEXP P^{FewP} NT YP compNP RBQP ZQP QP Few EP ZBQP RP EQP betaP QPLIN FewP UAP QNC ZPP Q beta_2P UP P-Close RNC HalfP NLINSPACE P NLIN polyL NC LIN SC QCFL AL NC^2 +L/poly +SAC^1 L^{DET} AC^1 NL/poly +L SAC^1 PL CSL L/poly C_=L 1NAuxPDA^p GCSL NL SPL CFL BPL LFew RL DCFL FewL LogFew FewUL FOLL UL R_HL QNC^1 L TC^0/poly NC^1 PBP QACC^0 TC^0 REG PT_1 QAC^0 MAC^0 ACC^0 (k>=5)-PBP PL_1 AC^0/poly AC^0[2] MAJORITY 4-PBP SPARSE QNC_f^0 AC^0 3-PBP TALLY QNC^0 SAC^0 +SAC^0 2-PBP NC^0 PARITY NONE https://www.math.ucdavis.edu/~greg/zoology/intro.html Algorithms and NP Algorithms Complexity P vs NP P and NP A problem is in the class P if a polynomial-time solution exists A problem is in the class NP (non-deterministic polynomial time) if if a solution can be checked in polynomial time. Algorithms and NP Algorithms Complexity P vs NP Examples 3-SAT Boolean satisfiability: Determine if any assignment of n boolean variables can satisfy a set of logical expressions 3-SAT: The formula must be in CNF with exactly 3 literals per clause. Algorithms and NP Algorithms Complexity P vs NP Examples Sorting Given a array of integers can you sort the set. Algorithms and NP Algorithms Complexity P vs NP Examples Graph Coloring Determining if the graph is n-colorable Determining if the graph is not (n+1)-colorable Algorithms and NP Algorithms Complexity P vs NP CIRCUIT-SAT and Cook-Levin theorem The circuit satisfiability problem (CIRCUIT-SAT) asks the question if there is a set of inputs to a boolean circuit such that the output is true. The Cook-Levin theorem says that this problem is NP-complete. A problem is NP-complete if it is in NP and if there is a polynomial time solution to the problem P=NP Algorithms and NP Algorithms Complexity P vs NP P = NP? Conceptually this is the question \Is it easer to check a problem then to find the solution?" Yes P 6= NP No P = NP Proof is worth $1,000,000 (Millennium Prize Problem) Algorithms and NP Algorithms Complexity P vs NP How it all fits together P NP NP-complete NP-Hard Algorithms and NP Algorithms Complexity P vs NP Things to remember Be able to analyze code for computational cost Tools: finding loops and recursive calls, using recursion trees Sometimes need to know inner-workings of a library to determine Be able to convert to big-O or big-Θ and be familiar with basic complexity terms Problems in NP can be checked in polynomial time but probably not solved in polynomial time P = NP is an open problem but most think P 6= NP. Algorithms and NP.
Recommended publications
  • The Complexity Zoo
    The Complexity Zoo Scott Aaronson www.ScottAaronson.com LATEX Translation by Chris Bourke [email protected] 417 classes and counting 1 Contents 1 About This Document 3 2 Introductory Essay 4 2.1 Recommended Further Reading ......................... 4 2.2 Other Theory Compendia ............................ 5 2.3 Errors? ....................................... 5 3 Pronunciation Guide 6 4 Complexity Classes 10 5 Special Zoo Exhibit: Classes of Quantum States and Probability Distribu- tions 110 6 Acknowledgements 116 7 Bibliography 117 2 1 About This Document What is this? Well its a PDF version of the website www.ComplexityZoo.com typeset in LATEX using the complexity package. Well, what’s that? The original Complexity Zoo is a website created by Scott Aaronson which contains a (more or less) comprehensive list of Complexity Classes studied in the area of theoretical computer science known as Computa- tional Complexity. I took on the (mostly painless, thank god for regular expressions) task of translating the Zoo’s HTML code to LATEX for two reasons. First, as a regular Zoo patron, I thought, “what better way to honor such an endeavor than to spruce up the cages a bit and typeset them all in beautiful LATEX.” Second, I thought it would be a perfect project to develop complexity, a LATEX pack- age I’ve created that defines commands to typeset (almost) all of the complexity classes you’ll find here (along with some handy options that allow you to conveniently change the fonts with a single option parameters). To get the package, visit my own home page at http://www.cse.unl.edu/~cbourke/.
    [Show full text]
  • Lecture 11 — October 16, 2012 1 Overview 2
    6.841: Advanced Complexity Theory Fall 2012 Lecture 11 | October 16, 2012 Prof. Dana Moshkovitz Scribe: Hyuk Jun Kweon 1 Overview In the previous lecture, there was a question about whether or not true randomness exists in the universe. This question is still seriously debated by many physicists and philosophers. However, even if true randomness does not exist, it is possible to use pseudorandomness for practical purposes. In any case, randomization is a powerful tool in algorithms design, sometimes leading to more elegant or faster ways of solving problems than known deterministic methods. This naturally leads one to wonder whether randomization can solve problems outside of P, de- terministic polynomial time. One way of viewing randomized algorithms is that for each possible setting of the random bits used, a different strategy is pursued by the algorithm. A property of randomized algorithms that succeed with bounded error is that the vast majority of strategies suc- ceed. With error reduction, all but exponentially many strategies will succeed. A major theme of theoretical computer science over the last 20 years has been to turn algorithms with this property into algorithms that deterministically find a winning strategy. From the outset, this seems like a daunting task { without randomness, how can one efficiently search for such strategies? As we'll see in later lectures, this is indeed possible, modulo some hardness assumptions. There are two main objectives in this lecture. The first objective is to introduce some probabilis- tic complexity classes, by bounding time or space. These classes are probabilistic analogues of deterministic complexity classes P and L.
    [Show full text]
  • User's Guide for Complexity: a LATEX Package, Version 0.80
    User’s Guide for complexity: a LATEX package, Version 0.80 Chris Bourke April 12, 2007 Contents 1 Introduction 2 1.1 What is complexity? ......................... 2 1.2 Why a complexity package? ..................... 2 2 Installation 2 3 Package Options 3 3.1 Mode Options .............................. 3 3.2 Font Options .............................. 4 3.2.1 The small Option ....................... 4 4 Using the Package 6 4.1 Overridden Commands ......................... 6 4.2 Special Commands ........................... 6 4.3 Function Commands .......................... 6 4.4 Language Commands .......................... 7 4.5 Complete List of Class Commands .................. 8 5 Customization 15 5.1 Class Commands ............................ 15 1 5.2 Language Commands .......................... 16 5.3 Function Commands .......................... 17 6 Extended Example 17 7 Feedback 18 7.1 Acknowledgements ........................... 19 1 Introduction 1.1 What is complexity? complexity is a LATEX package that typesets computational complexity classes such as P (deterministic polynomial time) and NP (nondeterministic polynomial time) as well as sets (languages) such as SAT (satisfiability). In all, over 350 commands are defined for helping you to typeset Computational Complexity con- structs. 1.2 Why a complexity package? A better question is why not? Complexity theory is a more recent, though mature area of Theoretical Computer Science. Each researcher seems to have his or her own preferences as to how to typeset Complexity Classes and has built up their own personal LATEX commands file. This can be frustrating, to say the least, when it comes to collaborations or when one has to go through an entire series of files changing commands for compatibility or to get exactly the look they want (or what may be required).
    [Show full text]
  • A Short History of Computational Complexity
    The Computational Complexity Column by Lance FORTNOW NEC Laboratories America 4 Independence Way, Princeton, NJ 08540, USA [email protected] http://www.neci.nj.nec.com/homepages/fortnow/beatcs Every third year the Conference on Computational Complexity is held in Europe and this summer the University of Aarhus (Denmark) will host the meeting July 7-10. More details at the conference web page http://www.computationalcomplexity.org This month we present a historical view of computational complexity written by Steve Homer and myself. This is a preliminary version of a chapter to be included in an upcoming North-Holland Handbook of the History of Mathematical Logic edited by Dirk van Dalen, John Dawson and Aki Kanamori. A Short History of Computational Complexity Lance Fortnow1 Steve Homer2 NEC Research Institute Computer Science Department 4 Independence Way Boston University Princeton, NJ 08540 111 Cummington Street Boston, MA 02215 1 Introduction It all started with a machine. In 1936, Turing developed his theoretical com- putational model. He based his model on how he perceived mathematicians think. As digital computers were developed in the 40's and 50's, the Turing machine proved itself as the right theoretical model for computation. Quickly though we discovered that the basic Turing machine model fails to account for the amount of time or memory needed by a computer, a critical issue today but even more so in those early days of computing. The key idea to measure time and space as a function of the length of the input came in the early 1960's by Hartmanis and Stearns.
    [Show full text]
  • Randomized Computation Eugene Santos Looked at Computability for Probabilistic TM
    Randomized Computation Eugene Santos looked at computability for Probabilistic TM. John Gill studied complexity classes defined by Probabilistic TM. 1. Eugene Santos. Probabilistic Turing Machines and Computability. Proc. American Mathematical Society, 22: 704-710, 1969. 2. Eugene Santos. Computability by Probabilistic Turing Machines. Trans. American Mathematical Society, 159: 165-184, 1971. 3. John Gill. Computational Complexity of Probabilistic Turing Machines. STOC, 91-95, 1974. 4. John Gill. Computational Complexity of Probabilistic Turing Machines. SIAM Journal Computing 6(4): 675-695, 1977. Computational Complexity, by Fu Yuxi Randomized Computation 1 / 108 Synopsis 1. Tail Distribution 2. Probabilistic Turing Machine 3. PP 4. BPP 5. ZPP 6. Random Walk and RL Computational Complexity, by Fu Yuxi Randomized Computation 2 / 108 Tail Distribution Computational Complexity, by Fu Yuxi Randomized Computation 3 / 108 Markov's Inequality For all k > 0, 1 Pr[X ≥ kE[X ]] ≤ ; k or equivalently E[X ] Pr[X ≥ v] ≤ : v I Observe that d · Pr[X ≥ d] ≤ E[X ]. I We are done by letting d = kE[X ]. Computational Complexity, by Fu Yuxi Randomized Computation 4 / 108 Moment and Variance Information about a random variable is often expressed in terms of moments. k I The k-th moment of a random variable X is E[X ]. The variance of a random variable X is Var(X ) = E[(X − E[X ])2] = E[X 2] − E[X ]2: The standard deviation of X is σ(X ) = pVar(X ): Fact. If X1;:::; Xn are pairwise independent, then n n X X Var( Xi ) = Var(Xi ): i=1 i=1 Computational Complexity, by Fu Yuxi Randomized Computation 5 / 108 Chebyshev Inequality For all k > 0, 1 Pr[jX − E[X ]j ≥ kσ] ≤ ; k2 or equivalently σ2 Pr[jX − E[X ]j ≥ k] ≤ : k2 Apply Markov's Inequality to the random variable (X − E[X ])2.
    [Show full text]
  • A Perspective for Logically Safe, Extensible, Powerful and Interactive Formal Method Tools
    Plugins for the Isabelle Platform: A Perspective for Logically Safe, Extensible, Powerful and Interactive Formal Method Tools Burkhart Wolff Université Paris-Sud (Technical Advice by: M akarius Wenzel, Université Paris-Sud) What I am not Talking About What I am not Talking About Isabelle as: “Proof - Assistent” or “Theorem Prover” What I will Talk About Isabelle as: Formal Methods Tool Framework What I will Talk About Isabelle as: Formal Methods Tool Framework “The ECLIPSE of FM - Tools” Overview ● Three Histories Overview ● Three Histories ● Evolution of the ITP Programme and Evolution of the Isabelle - Architecture ● Evolution of Isabelle - LCF - Kernels ● Evolution of Tools built upon Isabelle The ITP Research Programme and The Evolution of the Isabelle/Architecture The “Interactive Proof” Research Programme ● 1969 : Automath ● 1975 : Stanford LCF LISP based Goal-Stack, orientation vs. functional Programming, orientation vs. embedding in interactive sh. Invention: Parametric Polymorphism, Shallow Types The “Interactive Proof” Research Programme ● 1980 : Edinburgh LCF ML implementation and toplevel shell, tactic programming via conversions over goal stack, adm meta-program, Invention: thm, goal-stack transforms thms Invention: Basic Embedding Techniques The “Interactive Proof” Research Programme ● 1985 : HOL4, Isabelle, Coq Further search to more foundational and logically safe systems lead to abandon of LCF; HOL became replacement. Invention: Coq: Dependent types, executable “proofs”, proofobjects Invention: HOL: recursion embeddable,
    [Show full text]
  • The BQP-Hardness of Approximating the Jones Polynomial 2
    The BQP-hardness of approximating the Jones Polynomial Dorit Aharonov and Itai Arad ‡ Department of Computer Science and Engineering, Hebrew University, Jerusalem, Israel arXiv:quant-ph/0605181v5 19 Feb 2011 The BQP-hardness of approximating the Jones Polynomial 2 Abstract. A celebrated important result due to Freedman, Larsen and Wang [19] states that providing additive approximations of the Jones polynomial at the k’th root of unity, for constant k = 5 and k ≥ 7, is BQP-hard. Together with the algorithmic results of [18, 8], this gives perhaps the most natural BQP-complete problem known today and motivates further study of the topic. In this paper we focus on the universality proof; we extend the result of [19] to k’s that grow polynomially with the number of strands and crossings in the link, thus extending the BQP-hardness of Jones polynomial approximations to all values for which the AJL algorithm applies [8], proving that for all those values, the problems are BQP- complete. As a side benefit, we derive a fairly elementary proof of the Freedman et al. density result [19], without referring to advanced results from Lie algebra representation theory, making this important result accessible to computer science audience. We make use of two general lemmas we prove, the bridge lemma and the decoupling lemma, which provide tools for establishing density of subgroups in SU(n). Those tools seem to be of independent interest in more general contexts of proving quantum universality. Our result also implies a completely classical statement, that the multiplicative approximations of the Jones polynomial, at exactly the same values, are #P-hard, via a recent result due to Kuperberg [32].
    [Show full text]
  • Eliminating Intermediate Measurements in Space-Bounded
    Eliminating Intermediate Measurements in Space-Bounded Quantum Computation Bill Fefferman and Zachary Remscrim∗ Department of Computer Science, The University of Chicago Abstract A foundational result in the theory of quantum computation, known as the “principle of safe storage,” shows that it is always possible to take a quantum circuit and produce an equivalent circuit that makes all measurements at the end of the computation. While this procedure is time efficient, meaning that it does not introduce a large overhead in the number of gates, it uses extra ancillary qubits, and so is not generally space efficient. It is quite natural to ask whether it is possible to eliminate intermediate measurements without increasing the number of ancillary qubits. We give an affirmative answer to this question by exhibiting a procedure to eliminate all interme- diate measurements that is simultaneously space efficient and time efficient. In particular, this shows that the definition of a space-bounded quantum complexity class is robust to allowing or forbidding intermediate measurements. A key component of our approach, which may be of independent interest, involves showing that the well-conditioned versions of many standard linear-algebraic problems may be solved by a quantum computer in less space than seems possible by a classical computer. 1 Introduction Quantum computation has the potential to obtain dramatic speedups for important problems such as quantum simulation (see, e.g., [19, 29]) and integer factorization [43]. While fault-tolerant, fully scalable quantum computers may still be far from fruition, we have now entered an exciting period in which impressive but resource constrained quantum experiments are being implemented in many academic and industrial labs.
    [Show full text]
  • Solutions to Exercises
    Solutions to Exercises 1. Show that if P = NP for decision problems, then every NP search problem can be solved in polynomial time. Solution Sketch. This is similar to something done in Lecture 7. Let R be the relation that defines an NP search problem. Define the language L that contains all the pairs (x, z) such that z is the prefix of a solution zz0 such that (x, zz0) ∈ R. Under the assumption that P = NP, there is a polynomial time algorithm A that decides L. Now, given x, we can construct a solution y such that (x, y) ∈ R, if such a solution exists, one bit a time using A. (See notes of lecture 7 for more details.) 2. Generalize Theorem 3 in the Notes for Lecture 1. Say that a monotone non-decreasing function t : N → N is time-constructible if, given n, we can compute t(n) in O(t(n)) time. Show that if t(n) is a time-constructible functions then DTIME(o(t(n))) 6⊆ DTIME(O(t(n) log t(n))). Solution Sketch. Let U be the efficient universal Turing machine of Lecture 1. De- fine the language L that contains all pairs (hMi, x) such that U rejects (hMi, (hMi, x)) within t(n) steps, where n is the length of (hMi, x). Then L is solvable in time O(t(n) log t(n)). Suppose towards a contradiction that L were solvable in time o(t(n)) by a machine T . Then, U(hT i, (hT i, x)) also runs in time o(t(n)), where n is the length of (hMi, x).
    [Show full text]
  • Midterm Computational Complexity
    Midterm Computational Complexity March 23, 2009 You are not allowed to collaborate or refer to any book or online source (except possibly to look at the definitions). Due on Monday, March 30 in the class. 1. A language L is called unary if L ⊆ 1∗. Show that if a unary language is NP-complete, then P=NP. Hint: If there is a polytime reduction from SAT to a unary language, then this reduction will map a boolean formula of size n to a string 1i with i ≤ poly(n). Use this and downward self-reducibility of SAT to efficiently find a satisfying assignment. Start out with a recursive brute-force (i.e. depth-first-pruning) algorithm for finding a satisfying assignment. Modify it so that the algorithm runs in polytime. 2. For any positive integer k, show that there is a language in PH with circuit-complexity Ω(nk). In fact you can exhibit such a language in some fixed finite level of PH, say Σ5. 3. Let BPL be the class of languages accepted by a polytime randomized logspace machine with two sided error. Show that BPL ⊆ P. Hint: Construct the configuration graph for a BPL machine, with two outgoing edges from each node, representing the action taken by the machine depending upon the random bit read. The acceptance proba- bility is then the probability that a random walk from the start vertex ends in the accept vertex. How do you calculate this probability effi- ciently? Note: A randomized logspace machine has workspace of size O(log(n)) and access to poly(n) random bits.
    [Show full text]
  • 1. Randomized Reduction 2. Randomized Space-Bounded Computation
    E0 224 Computational Complexity Theory Indian Institute of Science, Bangalore Fall 2014 Department of Computer Science and Automation Lecture 21: Oct 27, 2014 Lecturer: Chandan Saha <[email protected]> Scribe: Jaiprakash 1. Randomized Reduction We have already defined randomized algorithm. Now, we are going to define the notion of randomized reduction between two languages. Definition 1. A language A ⊆ f0; 1g∗ reduces to language B ⊆ f0; 1g∗ under a randomized polynomial time reduction, denoted ∗ by A ≤r B, if there exist a probabilistic TM M such that for every x 2 f0; 1g , P r[B(M(x)) = A(x)] ≥ 2=3. It says that, if B 2 BPP and A ≤r B then A 2 BPP. Definition 2. Class BP.NP: BP.NP = f L : L ≤r 3SAT g e.g. Unique-SAT 2 BP.NP . Assignment3 1. PP If 3SAT 2 BP.NP then PH = 3 . 2. Randomized Space-Bounded Computation: We have seen the definition of space-bounded computation. Here we are extending it to the probabilistic setting. Definition 3. A PTM M has space complexity s(n) if for every input of size n and every path of computation on input x of length n, M halts using no more than s(n) cells in the work tapes. Definition 4. Class BPL A language L ⊆ f0; 1g∗ is in BPL if there is a probabilistic TM M with space complexity O(log n) such that, P r[M(x) = L(x)] ≥ 2=3. Definition 5. Class RL A language L ⊆ f0; 1g∗ is in RL if there is a probabilistic TM M with space complexity O(log n) such that, x 2 L then P r[M(x) = 1] ≥ 2=3, and x2 = L then P r[M(x) = 1] = 0.
    [Show full text]
  • Lecture 7: Nonuniformity 1 Time-Space Lower Bounds For
    CS 710: Complexity Theory 2/16/2010 Lecture 7: Nonuniformity Instructor: Dieter van Melkebeek Scribe: Mushfeq Khan & Chi Man Liu The previous lecture introduced the polynomial-time hierarchy (PH). We encountered several P P characterizations of the complexity classes Σn and Πn that make up PH, and one such characteri- zation is in terms of alternating turing machines. In the first part of this lecture, we make use of alternation to obtain simultaneous time-space lower bound results for SAT. In the second part of the lecture, we introduce the notion of nonuniform computation. Among the nonuniform models discussed are boolean circuits, branching programs, and uniform machines with advice. 1 Time-Space Lower Bounds for SAT Although it is unlikely that SAT can be solved in linear time, we have yet to rule out even this trivial lower time bound. Similarly, we have yet to rule out the possibility that SAT is in L. However, if we take time and space into consideration simultaneously, we can obtain some nontrivial lower bounds for SAT, i.e. constraining space usage will impose nontrivial lower bounds for time usage and vice versa. In what follows, t and s always denote functions from N to N, where t is assumed to be time- constructible and s space-constructible. Definition 1. DTISP(t,s) is the class of languages that can be accepted by a DTM using at most t(n) steps and s(n) space, where n is the size of the input. Note that DTISP(t,s) is not the same as DTIME(t) DSPACE(s), since if a language L is ∩ in the former, then L must be recognized by a single machine with the given time and space characteristics.
    [Show full text]