CSE 326: Data Structures NP Completeness

Total Page:16

File Type:pdf, Size:1020Kb

CSE 326: Data Structures NP Completeness Announcements • Benchmarking for project 3 due tonight CSE 326: Data Structures • Last homework due on Friday at beginning of class NP Completeness • Final next Thursday – Scheduled for 8:30, might be moved to 10:30 Brian Curless – Final will be closed book/notes Spring 2008 – Up to and including MSTs • Reading for this lecture: Weiss Chapter 9.7 2 Your First Task Try it with paper and pencil Your company has to inspect a set of roads between cities by driving over each of them. Driving over the roads costs money (fuel), and there are a lot of roads. Your boss wants you to figure out how to drive over each road exactly once. You get a bonus if, after inspecting the last Which of these can you draw without lifting your road, the car is back where it started. pencil, drawing each line only once? Can you start and end at the same point? 3 4 Historical Puzzle: Seven Bridges of Königsberg Graph Problem for the Bridges of Königsberg Pregel River Island of Kneiphof Want to cross all bridges but… Want to cross all bridges but… can cross each bridge only once. Can cross each bridge only once 5 6 eiπ = −1 Euler Circuits and Tours Finding Euler Circuits Given a connected, undirected graph G = (V,E), find an Euler circuit in G. • Euler tour: a path through a graph that visits each edge exactly once Euler Circuit Existence Algorithm: • Euler circuit: an Euler tour that starts and ends at the Check to see that all vertices have even degree same vertex Running time = • Named after Leonhard Euler (1707-1783), who cracked this problem and founded graph theory in Euler Circuit Algorithm: 1. Do an edge walk from a start vertex until you 1736 are back at the start vertex. Mark each edge you visit, and do not revisit marked edges. You • Some observations for undirected graphs: never get stuck because of the even degree – An Euler circuit exists iff the graph is connected and each property. vertex has even degree (= # of edges on the vertex) 2. The walk is removed leaving several components each with the even degree – An Euler tour exists iff the graph is connected and either all property. Recursively find Euler circuits for vertices have even degree or exactly two have odd degree these. 3. Splice all these circuits into an Euler circuit 7 Running time = 8 Euler Circuit Example Euler Circuit Example A A B C B C G G D E D E F F Euler(A) : Euler(A) : A B G E D G C A 9 10 Euler Circuit Example Euler Circuit Example A A B C B C B C B C G G D E D E D E D E F F F F Euler(A) : Euler(B) Euler(A) : Euler(B): A B G E D G C A A B G E D G C A B D F E C B 11 12 Euler Circuit Example Euler Tour For an Euler Tour, exactly two vertices are odd, the rest A even. Using a similar algorithm, you can find a path between the two odd vertices. B C B C A G D E D E B C D F F Euler(A) : Euler(B): A B G E D G C A B D F E C B Splice E F G A B D F E C B G E D G C A 13 14 W. R. Hamiltonian Circuits Hamilton Your Second Task (1805-1865) • Euler circuit: A cycle that goes through each edge exactly once Your boss is pleased…and assigns you a B C new task. • Hamiltonian circuit: A cycle that goes through each vertex exactly once G Your company has to send someone by car (except the first=last one) I to a set of cities. • Does graph I have: D E The primary cost is the exorbitant toll going – An Euler circuit? – A Hamiltonian circuit? into each city. B C • Does graph II have: Your boss wants you to figure out how to – An Euler circuit? G II drive to each city exactly once, returning in – A Hamiltonian circuit? the end to the city of origin. • Does the Hamiltonian circuit problem D E seem easier or harder? 15 16 Finding Hamiltonian Circuits Analysis of our Exhaustive Search Algorithm • Problem: Find a Hamiltonian circuit in a B C connected, undirected graph G. • Worst case Æ need to search G • One solution: Search through all paths to find all paths one that visits each vertex exactly once – How many paths? D E – Can use your favorite graph search algorithm • Can depict these paths as a (DFS!) to find various paths search tree • This is an exhaustive search (“brute force”) algorithm. B • Worst case Æ need to search all paths D G C – How many paths?? G E D E C G E 17 Etc. Search tree of paths from B 18 Analysis of our Exhaustive Exponential Time Search Algorithm • Let the average branching factor of 1E+60 each node in this tree be B 1E+55 B 1E+50 • |V| vertices, each with ≈ B branches 1E+45 • Total number of paths ≈ B·B·B … ·B 2^N PC, since Big Bang D G C 1E+40 = 1.2^N 1E+35 N^5 1E+30 • Worst case Æ Exponential time! G E D E C G E N^3 1E+25 Etc. 5N 1E+20 PC, 1 day 1E+15 1E+10 Search tree of paths from B 100000 1 1 10 100 1000 19 20 Polynomial vs. Exponential Time The Complexity Class P • The set P is defined as the set of all • Most of our algorithms so far have been problems that can be solved in 2 O(log N), O(N), O(N log N) or O(N ) running polynomial worst case time time for inputs of size N – Also known as the polynomial time – These are all polynomial time algorithms complexity class – Their running time is O(Nk) for some k > 0 – All problems that have some algorithm • Exponential time BN is asymptotically worse whose running time is O(Nk) for some k than any polynomial function Nk for any k • Examples of problems in P: sorting, shortest path, Euler circuit, etc. 21 22 Problem Spaces Saving your job Simplified view: if a problem is not Try as you might, every solution you come polynomial-time solvable (not in P), then it is an exponential-time problem. up with for the Hamiltonian Circuit problem runs in exponential time. Shorthand: EXPTIME – P solutions are fast You have to report back to your boss. – EXPTIME are slow • Sometimes viewed as “intractable” P 23 24 When is a problem easy? When is a problem hard? • We’ve seen some “easy” graph problems: • Almost everything we’ve seen in class has had a near linear time algorithm – Graph search • But of course, computers can’t solve every – Shortest-path problem quickly. – Minimum Spanning Tree • In fact, there are perfectly reasonable sounding • Not easy for us to come up with, but easy problems that no computer could ever solve in any reasonable amount of time (as far as we for the computer, once we know algorithm. know!). – The Hamiltonian Circuit problem is one of these (as far as we know). More later on just how hard it is… 25 26 When is a problem hopeless? A Glimmer of Hope • If the solution to a problem requires generating a result Suppose you have a problem that is at least that is exponential in size, then the algorithm must run in exponential time (even if just to print the solution!). decideable. (Many are!) • Some problems are “undecideable” – no algorithm can be given for solving them. – The Halting Problem: is it possible to specify any If the output can be checked for correctness algorithm, which, given an arbitrary program and input to that program, will always correctly determine in polynomial-time, then maybe a whether or not that program will enter an infinite loop? polynomial-time solution exists! – No! [Turing, 1936] Alan Turing • We’ll focus on problems that have (1912-1954) a glimmer of hope… 27 28 The Complexity Class NP Why NP? • Definition: NP is the set of all problems • NP stands for Nondeterministic Polynomial for which a given candidate solution can time be tested in polynomial time – Why “nondeterministic”? Corresponds to • Are the following in NP: algorithms that can guess a solution (if it – Hamiltonian circuit problem? exists) Æ the solution is then verified to be correct in polynomial time – Euler circuit problem? – Nondeterministic algorithms don’t exist – – All polynomial time algorithms? purely theoretical idea invented to understand how hard a problem could be 29 30 Your Chance to Win Problem Spaces (revisited) a Turing Award (and $$$) We can now augment our problem space to • It is generally believed that P ≠ NP, i.e. include NP as a superset of P. there are problems in NP that are not in P – But no one has been able to show even EXPTIME Whenever someone finds one such problem! a polynomial time solution – This is the fundamental open problem in NP to a problem currently theoretical computer science. believed to be in NP - P, – Nearly everyone has given up trying to it moves to P. P prove it. Instead, theoreticians prove theorems about what follows once we 31 assume P ≠ NP ! 32 P = NP? Your Third Task Perhaps instead P = NP, but that would seem to be even harder to prove… Your boss buys your story that others couldn’t solve the last problem.
Recommended publications
  • CS601 DTIME and DSPACE Lecture 5 Time and Space Functions: T, S
    CS601 DTIME and DSPACE Lecture 5 Time and Space functions: t, s : N → N+ Definition 5.1 A set A ⊆ U is in DTIME[t(n)] iff there exists a deterministic, multi-tape TM, M, and a constant c, such that, 1. A = L(M) ≡ w ∈ U M(w)=1 , and 2. ∀w ∈ U, M(w) halts within c · t(|w|) steps. Definition 5.2 A set A ⊆ U is in DSPACE[s(n)] iff there exists a deterministic, multi-tape TM, M, and a constant c, such that, 1. A = L(M), and 2. ∀w ∈ U, M(w) uses at most c · s(|w|) work-tape cells. (Input tape is “read-only” and not counted as space used.) Example: PALINDROMES ∈ DTIME[n], DSPACE[n]. In fact, PALINDROMES ∈ DSPACE[log n]. [Exercise] 1 CS601 F(DTIME) and F(DSPACE) Lecture 5 Definition 5.3 f : U → U is in F (DTIME[t(n)]) iff there exists a deterministic, multi-tape TM, M, and a constant c, such that, 1. f = M(·); 2. ∀w ∈ U, M(w) halts within c · t(|w|) steps; 3. |f(w)|≤|w|O(1), i.e., f is polynomially bounded. Definition 5.4 f : U → U is in F (DSPACE[s(n)]) iff there exists a deterministic, multi-tape TM, M, and a constant c, such that, 1. f = M(·); 2. ∀w ∈ U, M(w) uses at most c · s(|w|) work-tape cells; 3. |f(w)|≤|w|O(1), i.e., f is polynomially bounded. (Input tape is “read-only”; Output tape is “write-only”.
    [Show full text]
  • Complexity Theory Lecture 9 Co-NP Co-NP-Complete
    Complexity Theory 1 Complexity Theory 2 co-NP Complexity Theory Lecture 9 As co-NP is the collection of complements of languages in NP, and P is closed under complementation, co-NP can also be characterised as the collection of languages of the form: ′ L = x y y <p( x ) R (x, y) { |∀ | | | | → } Anuj Dawar University of Cambridge Computer Laboratory NP – the collection of languages with succinct certificates of Easter Term 2010 membership. co-NP – the collection of languages with succinct certificates of http://www.cl.cam.ac.uk/teaching/0910/Complexity/ disqualification. Anuj Dawar May 14, 2010 Anuj Dawar May 14, 2010 Complexity Theory 3 Complexity Theory 4 NP co-NP co-NP-complete P VAL – the collection of Boolean expressions that are valid is co-NP-complete. Any language L that is the complement of an NP-complete language is co-NP-complete. Any of the situations is consistent with our present state of ¯ knowledge: Any reduction of a language L1 to L2 is also a reduction of L1–the complement of L1–to L¯2–the complement of L2. P = NP = co-NP • There is an easy reduction from the complement of SAT to VAL, P = NP co-NP = NP = co-NP • ∩ namely the map that takes an expression to its negation. P = NP co-NP = NP = co-NP • ∩ VAL P P = NP = co-NP ∈ ⇒ P = NP co-NP = NP = co-NP • ∩ VAL NP NP = co-NP ∈ ⇒ Anuj Dawar May 14, 2010 Anuj Dawar May 14, 2010 Complexity Theory 5 Complexity Theory 6 Prime Numbers Primality Consider the decision problem PRIME: Another way of putting this is that Composite is in NP.
    [Show full text]
  • The Shrinking Property for NP and Conp✩
    Theoretical Computer Science 412 (2011) 853–864 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs The shrinking property for NP and coNPI Christian Glaßer a, Christian Reitwießner a,∗, Victor Selivanov b a Julius-Maximilians-Universität Würzburg, Germany b A.P. Ershov Institute of Informatics Systems, Siberian Division of the Russian Academy of Sciences, Russia article info a b s t r a c t Article history: We study the shrinking and separation properties (two notions well-known in descriptive Received 18 August 2009 set theory) for NP and coNP and show that under reasonable complexity-theoretic Received in revised form 11 November assumptions, both properties do not hold for NP and the shrinking property does not hold 2010 for coNP. In particular we obtain the following results. Accepted 15 November 2010 Communicated by A. Razborov P 1. NP and coNP do not have the shrinking property unless PH is finite. In general, Σn and P Πn do not have the shrinking property unless PH is finite. This solves an open question Keywords: posed by Selivanov (1994) [33]. Computational complexity 2. The separation property does not hold for NP unless UP ⊆ coNP. Polynomial hierarchy 3. The shrinking property does not hold for NP unless there exist NP-hard disjoint NP-pairs NP-pairs (existence of such pairs would contradict a conjecture of Even et al. (1984) [6]). P-separability Multivalued functions 4. The shrinking property does not hold for NP unless there exist complete disjoint NP- pairs. Moreover, we prove that the assumption NP 6D coNP is too weak to refute the shrinking property for NP in a relativizable way.
    [Show full text]
  • Simple Doubly-Efficient Interactive Proof Systems for Locally
    Electronic Colloquium on Computational Complexity, Revision 3 of Report No. 18 (2017) Simple doubly-efficient interactive proof systems for locally-characterizable sets Oded Goldreich∗ Guy N. Rothblumy September 8, 2017 Abstract A proof system is called doubly-efficient if the prescribed prover strategy can be implemented in polynomial-time and the verifier’s strategy can be implemented in almost-linear-time. We present direct constructions of doubly-efficient interactive proof systems for problems in P that are believed to have relatively high complexity. Specifically, such constructions are presented for t-CLIQUE and t-SUM. In addition, we present a generic construction of such proof systems for a natural class that contains both problems and is in NC (and also in SC). The proof systems presented by us are significantly simpler than the proof systems presented by Goldwasser, Kalai and Rothblum (JACM, 2015), let alone those presented by Reingold, Roth- blum, and Rothblum (STOC, 2016), and can be implemented using a smaller number of rounds. Contents 1 Introduction 1 1.1 The current work . 1 1.2 Relation to prior work . 3 1.3 Organization and conventions . 4 2 Preliminaries: The sum-check protocol 5 3 The case of t-CLIQUE 5 4 The general result 7 4.1 A natural class: locally-characterizable sets . 7 4.2 Proof of Theorem 1 . 8 4.3 Generalization: round versus computation trade-off . 9 4.4 Extension to a wider class . 10 5 The case of t-SUM 13 References 15 Appendix: An MA proof system for locally-chracterizable sets 18 ∗Department of Computer Science, Weizmann Institute of Science, Rehovot, Israel.
    [Show full text]
  • Lecture 10: Space Complexity III
    Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Lecture 10: Space Complexity III Arijit Bishnu 27.03.2010 Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Outline 1 Space Complexity Classes: NL and L 2 Reductions 3 NL-completeness 4 The Relation between NL and coNL 5 A Relation Among the Complexity Classes Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Outline 1 Space Complexity Classes: NL and L 2 Reductions 3 NL-completeness 4 The Relation between NL and coNL 5 A Relation Among the Complexity Classes Definition for Recapitulation S c NPSPACE = c>0 NSPACE(n ). The class NPSPACE is an analog of the class NP. Definition L = SPACE(log n). Definition NL = NSPACE(log n). Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Space Complexity Classes Definition for Recapitulation S c PSPACE = c>0 SPACE(n ). The class PSPACE is an analog of the class P. Definition L = SPACE(log n). Definition NL = NSPACE(log n). Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Space Complexity Classes Definition for Recapitulation S c PSPACE = c>0 SPACE(n ). The class PSPACE is an analog of the class P. Definition for Recapitulation S c NPSPACE = c>0 NSPACE(n ).
    [Show full text]
  • Spring 2020 (Provide Proofs for All Answers) (120 Points Total)
    Complexity Qual Spring 2020 (provide proofs for all answers) (120 Points Total) 1 Problem 1: Formal Languages (30 Points Total): For each of the following languages, state and prove whether: (i) the lan- guage is regular, (ii) the language is context-free but not regular, or (iii) the language is non-context-free. n n Problem 1a (10 Points): La = f0 1 jn ≥ 0g (that is, the set of all binary strings consisting of 0's and then 1's where the number of 0's and 1's are equal). ∗ Problem 1b (10 Points): Lb = fw 2 f0; 1g jw has an even number of 0's and at least two 1'sg (that is, the set of all binary strings with an even number, including zero, of 0's and at least two 1's). n 2n 3n Problem 1c (10 Points): Lc = f0 #0 #0 jn ≥ 0g (that is, the set of all strings of the form 0 repeated n times, followed by the # symbol, followed by 0 repeated 2n times, followed by the # symbol, followed by 0 repeated 3n times). Problem 2: NP-Hardness (30 Points Total): There are a set of n people who are the vertices of an undirected graph G. There's an undirected edge between two people if they are enemies. Problem 2a (15 Points): The people must be assigned to the seats around a single large circular table. There are exactly as many seats as people (both n). We would like to make sure that nobody ever sits next to one of their enemies.
    [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]
  • Subgrouping Reduces Complexity and Speeds up Learning in Recurrent Networks
    638 Zipser Subgrouping Reduces Complexity and Speeds Up Learning in Recurrent Networks David Zipser Department of Cognitive Science University of California, San Diego La Jolla, CA 92093 1 INTRODUCTION Recurrent nets are more powerful than feedforward nets because they allow simulation of dynamical systems. Everything from sine wave generators through computers to the brain are potential candidates, but to use recurrent nets to emulate dynamical systems we need learning algorithms to program them. Here I describe a new twist on an old algorithm for recurrent nets and compare it to its predecessors. 2 BPTT In the beginning there was BACKPROPAGATION THROUGH TUvffi (BPTT) which was described by Rumelhart, Williams, and Hinton (1986). The idea is to add a copy of the whole recurrent net to the top of a growing feedforward network on each update cycle. Backpropa­ gating through this stack corrects for past mistakes by adding up all the weight changes from past times. A difficulty with this method is that the feedforward net gets very big. The obvious solution is to truncate it at a fixed number of copies by killing an old copy every time a new copy is added. The truncated-BPTT algorithm is illustrated in Figure 1. It works well, more about this later. 3RTRL It turns out that it is not necessary to keep an ever growing stack of copies of the recurrent net as BPTT does. A fixed number of parameters can record all of past time. This is done in the REAL TI!\.1E RECURRENT LEARNING (RTRL) algorithm of Williams and Zipser (1989).
    [Show full text]
  • Introduction to Complexity Theory Big O Notation Review Linear Function: R(N)=O(N)
    GS019 - Lecture 1 on Complexity Theory Jarod Alper (jalper) Introduction to Complexity Theory Big O Notation Review Linear function: r(n)=O(n). Polynomial function: r(n)=2O(1) Exponential function: r(n)=2nO(1) Logarithmic function: r(n)=O(log n) Poly-log function: r(n)=logO(1) n Definition 1 (TIME) Let t : . Define the time complexity class, TIME(t(n)) to be ℵ−→ℵ TIME(t(n)) = L DTM M which decides L in time O(t(n)) . { |∃ } Definition 2 (NTIME) Let t : . Define the time complexity class, NTIME(t(n)) to be ℵ−→ℵ NTIME(t(n)) = L NDTM M which decides L in time O(t(n)) . { |∃ } Example 1 Consider the language A = 0k1k k 0 . { | ≥ } Is A TIME(n2)? Is A ∈ TIME(n log n)? Is A ∈ TIME(n)? Could∈ we potentially place A in a smaller complexity class if we consider other computational models? Theorem 1 If t(n) n, then every t(n) time multitape Turing machine has an equivalent O(t2(n)) time single-tape turing≥ machine. Proof: see Theorem 7:8 in Sipser (pg. 232) Theorem 2 If t(n) n, then every t(n) time RAM machine has an equivalent O(t3(n)) time multi-tape turing machine.≥ Proof: optional exercise Conclusion: Linear time is model specific; polynomical time is model indepedent. Definition 3 (The Class P ) k P = [ TIME(n ) k Definition 4 (The Class NP) GS019 - Lecture 1 on Complexity Theory Jarod Alper (jalper) k NP = [ NTIME(n ) k Equivalent Definition of NP NP = L L has a polynomial time verifier .
    [Show full text]
  • Is It Easier to Prove Theorems That Are Guaranteed to Be True?
    Is it Easier to Prove Theorems that are Guaranteed to be True? Rafael Pass∗ Muthuramakrishnan Venkitasubramaniamy Cornell Tech University of Rochester [email protected] [email protected] April 15, 2020 Abstract Consider the following two fundamental open problems in complexity theory: • Does a hard-on-average language in NP imply the existence of one-way functions? • Does a hard-on-average language in NP imply a hard-on-average problem in TFNP (i.e., the class of total NP search problem)? Our main result is that the answer to (at least) one of these questions is yes. Both one-way functions and problems in TFNP can be interpreted as promise-true distri- butional NP search problems|namely, distributional search problems where the sampler only samples true statements. As a direct corollary of the above result, we thus get that the existence of a hard-on-average distributional NP search problem implies a hard-on-average promise-true distributional NP search problem. In other words, It is no easier to find witnesses (a.k.a. proofs) for efficiently-sampled statements (theorems) that are guaranteed to be true. This result follows from a more general study of interactive puzzles|a generalization of average-case hardness in NP|and in particular, a novel round-collapse theorem for computationally- sound protocols, analogous to Babai-Moran's celebrated round-collapse theorem for information- theoretically sound protocols. As another consequence of this treatment, we show that the existence of O(1)-round public-coin non-trivial arguments (i.e., argument systems that are not proofs) imply the existence of a hard-on-average problem in NP=poly.
    [Show full text]
  • On Exponential-Time Completeness of the Circularity Problem for Attribute Grammars
    On Exponential-Time Completeness of the Circularity Problem for Attribute Grammars Pei-Chi Wu Department of Computer Science and Information Engineering National Penghu Institute of Technology Penghu, Taiwan, R.O.C. E-mail: [email protected] Abstract Attribute grammars (AGs) are a formal technique for defining semantics of programming languages. Existing complexity proofs on the circularity problem of AGs are based on automata theory, such as writing pushdown acceptor and alternating Turing machines. They reduced the acceptance problems of above automata, which are exponential-time (EXPTIME) complete, to the AG circularity problem. These proofs thus show that the circularity problem is EXPTIME-hard, at least as hard as the most difficult problems in EXPTIME. However, none has given a proof for the EXPTIME- completeness of the problem. This paper first presents an alternating Turing machine for the circularity problem. The alternating Turing machine requires polynomial space. Thus, the circularity problem is in EXPTIME and is then EXPTIME-complete. Categories and Subject Descriptors: D.3.1 [Programming Languages]: Formal Definitions and Theory ¾ semantics; D.3.4 [Programming Languages]: Processors ¾ compilers, translator writing systems and compiler generators; F.2.2 [Analysis of Algorithms and Problem Complexity] Nonnumerical Algorithms and Problems ¾ Computations on discrete structures; F.4.2 [Grammars and Other Rewriting Systems] decision problems Key Words: attribute grammars, alternating Turing machines, circularity problem, EXPTIME-complete. 1. INTRODUCTION Attribute grammars (AGs) [8] are a formal technique for defining semantics of programming languages. There are many AG systems (e.g., Eli [4] and Synthesizer Generator [10]) developed to assist the development of “language processors”, such as compilers, semantic checkers, language-based editors, etc.
    [Show full text]
  • 1 the Class Conp
    80240233: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall 2007 16 October 2007 Instructor: Andrej Bogdanov Notes by: Jialin Zhang and Pinyan Lu In this lecture, we introduce the complexity class coNP, the Polynomial Hierarchy and the notion of oracle. 1 The class coNP The complexity class NP contains decision problems asking this kind of question: On input x, ∃y : |y| = p(|x|) s.t.V (x, y), where p is a polynomial and V is a relation which can be computed by a polynomial time Turing Machine (TM). Some examples: SAT: given boolean formula φ, does φ have a satisfiable assignment? MATCHING: given a graph G, does it have a perfect matching? Now, consider the opposite problems of SAT and MATCHING. UNSAT: given boolean formula φ, does φ have no satisfiable assignment? UNMATCHING: given a graph G, does it have no perfect matching? This kind of problems are called coNP problems. Formally we have the following definition. Definition 1. For every L ⊆ {0, 1}∗, we say that L ∈ coNP if and only if L ∈ NP, i.e. L ∈ coNP iff there exist a polynomial-time TM A and a polynomial p, such that x ∈ L ⇔ ∀y, |y| = p(|x|) A(x, y) accepts. Then the natural question is how P, NP and coNP relate. First we have the following trivial relationships. Theorem 2. P ⊆ NP, P ⊆ coNP For instance, MATCHING ∈ coNP. And we already know that SAT ∈ NP. Is SAT ∈ coNP? If it is true, then we will have NP = coNP. This is the following theorem. Theorem 3. If SAT ∈ coNP, then NP = coNP.
    [Show full text]