Reduction Episode 9 0 The operation of reduction and the relation of reducibility Examples of reductions The variety of reduction concepts and their systematization.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness
Advertisements

Lecture 19. Reduction: More Undecidable problems
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 7 part 2 By Herb I. Gross and Richard A. Medeiros next.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
L41 Lecture 2: Predicates and Quantifiers.. L42 Agenda Predicates and Quantifiers –Existential Quantifier  –Universal Quantifier 
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 22 By Herbert I. Gross and Richard A. Medeiros next.
1.2 Row Reduction and Echelon Forms
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
CHAPTER 4 Decidability Contents Decidable Languages
Section 1.3: Predicates and Quantifiers
Parallel operations Episode 8 0 Parallel conjunction and disjunction Free versus strict games The law of the excluded middle for parallel disjunction.
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 20 By Herbert I. Gross and Richard A. Medeiros next.
PSPACE-Completeness Section 8.3 Giorgi Japaridze Theory of Computability.
Copyright © Cengage Learning. All rights reserved. CHAPTER 11 ANALYSIS OF ALGORITHM EFFICIENCY ANALYSIS OF ALGORITHM EFFICIENCY.
Arithmetic of Positive Integer Exponents © Math As A Second Language All Rights Reserved next #10 Taking the Fear out of Math 2 8 × 2 4.
Adding Whole Numbers © Math As A Second Language All Rights Reserved next #5 Taking the Fear out of Math
Theoretical basis of GUHA Definition 1. A (simplified) observational predicate language L n consists of (i) (unary) predicates P 1,…,P n, and an infinite.
Computability Logic 4-Hour lecture given at Manipal University January.
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
Chapter 1 Logic Section 1-1 Statements Open your book to page 1 and read the section titled “To the Student” Now turn to page 3 where we will read the.
Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21,
1 Sections 1.5 & 3.1 Methods of Proof / Proof Strategy.
CMPF144 FUNDAMENTALS OF COMPUTING THEORY Module 5: Classical Logic.
Logic CL4 Episode 16 0 The language of CL4 The rules of CL4 CL4 as a conservative extension of classical logic The soundness and completeness of CL4 The.
LOGIC AND ONTOLOGY Both logic and ontology are important areas of philosophy covering large, diverse, and active research projects. These two areas overlap.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
Course Overview and Road Map Computability and Logic.
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
© Kenneth C. Louden, Chapter 11 - Functional Programming, Part III: Theory Programming Languages: Principles and Practice, 2nd Ed. Kenneth C. Louden.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
Hazırlayan DISCRETE COMPUTATIONAL STRUCTURES Propositional Logic PROF. DR. YUSUF OYSAL.
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 18 part 2 By Herbert I. Gross and Richard A. Medeiros next.
Measuring complexity Section 7.1 Giorgi Japaridze Theory of Computability.
Great Theoretical Ideas in Computer Science.
Manipulating the Quota in Weighted Voting Games (M. Zuckerman, P. Faliszewski, Y. Bachrach, and E. Elkind) ‏ Presented by: Sen Li Software Technologies.
Great Theoretical Ideas in Computer Science.
A two-hour tour of computability logic January 8, 2008 Giorgi Japaridze.
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 17 part 2 By Herbert I. Gross and Richard A. Medeiros next.
MA/CSSE 474 Theory of Computation Minimizing DFSMs.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Static games Episode 12 0 Some intuitive characterizations of static games Dynamic games Pure computational problems = static games Delays Definition.
The language and formal semantics of computability logic Episode 14 0 The formal language Interpretations Definitions of validity and uniform validity.
Interactive computability Episode 13 0 Hard-play machines (HPMs) Easy-play machines (EPMs) Definition of interactive computability The interactive version.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
PREDICATES AND QUANTIFIERS COSC-1321 Discrete Structures 1.
Lecture 041 Predicate Calculus Learning outcomes Students are able to: 1. Evaluate predicate 2. Translate predicate into human language and vice versa.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
1 Section 7.1 First-Order Predicate Calculus Predicate calculus studies the internal structure of sentences where subjects are applied to predicates existentially.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
Chapter 7. Propositional and Predicate Logic
Strong alternatives to weak arithmetics
Cirquent calculus Episode 15 About cirquent calculus in general
CSCE 411 Design and Analysis of Algorithms
Negation and choice operations
Chapter 7. Propositional and Predicate Logic
Episode 6 Parallel operations Parallel conjunction and disjunction
The language and formal semantics of computability logic
Episode 14 Logic CL4 The language of CL4 The rules of CL4
Episode 10 Static games Some intuitive characterizations of static games Dynamic games Pure computational problems = static games Delays Definition of.
Episode 7 Reduction The operation of reduction and the relation of reducibility Examples of reductions The variety of reduction concepts and their systematization.
Interactive computability
Presentation transcript:

Reduction Episode 9 0 The operation of reduction and the relation of reducibility Examples of reductions The variety of reduction concepts and their systematization in computability logic Mapping reducibility is properly stronger than (simply) reducibility

Reduction and reducibility 9.1 The reduction operation  is defined by A  B =  A  B. B is said to be reducible toA iff the problem A  B is computable. Intuitively, A  B is (indeed) the problem of reducing B to A: solving A  B means solving B while having A as a computational resource. Specifically, ⊤ may observe how A is being solved (by the environment), and utilize this information in its own solving B. Resources are symmetric to problems: what is a problem to solve for one player is a resource that the other player can use, and vice versa. Since A is negated in  A  B and negation means switching the roles, A appears as a resource rather than problem for ⊤ in A  B. Our copycat strategy for  Chess  Chess was an example of reducing Chess to Chess. The same strategy was underlying the example on Slide 8.12, where ⊓ x ⊔ y(y=x 2 ) was reduced to itself. ABAB antecedentconsequent

Reducing Chess to Chess 9.2   is the same as

Reducing Chess to Chess 9.2   is the same as

Reducing Chess to Chess 9.2   is the same as

Reducing Chess to Chess 9.2   is the same as

Reducing Chess to Chess 9.2   is the same as

Reducing Chess to Chess ⊓ Checkers 9.3 ⊓  1. Select Chess in the antecedent (i.e., make the move 0.0)  2. Now continue play using copycat

Reducing Go ⊔ ( Chess  Checkers) to (Go ⊔ Chess)  (Go ⊔ Checkers) 9.4   ⊔⊔  ⊔ Wait till Environment selects a game in both conjuncts of the antecedent (if this never happens, you win). The game will evolve to one of the following:   ⊔    ⊔    ⊔    ⊔  In this case select Go in the consequent, ignore the leftmost Go, and apply copycat.

Reducing Go ⊔ ( Chess  Checkers) to (Go ⊔ Chess)  (Go ⊔ Checkers) 9.4   ⊔⊔  ⊔ Wait till Environment selects a game in both conjuncts of the antecedent (if this never happens, you win). The game will evolve to one of the following:     ⊔    ⊔    ⊔  Ignore the leftmost Go, and apply copycat. In this case, again, select Go in the consequent, ignore Checkers, and apply copycat. ignore

Reducing Go ⊔ ( Chess  Checkers) to (Go ⊔ Chess)  (Go ⊔ Checkers) 9.4   ⊔⊔  ⊔ Wait till Environment selects a game in both conjuncts of the antecedent (if this never happens, you win). The game will evolve to one of the following:       ⊔    ⊔  Ignore the leftmost Go, and apply copycat. Ignore Checkers, and apply copycat. ignore

Reducing Go ⊔ ( Chess  Checkers) to (Go ⊔ Chess)  (Go ⊔ Checkers) 9.4   ⊔⊔  ⊔ Wait till Environment selects a game in both conjuncts of the antecedent (if this never happens, you win). The game will evolve to one of the following:       ⊔    ⊔  Ignore the leftmost Go, and apply copycat. Ignore Checkers, and apply copycat. Similar to the previous case. ignore

Reducing Go ⊔ ( Chess  Checkers) to (Go ⊔ Chess)  (Go ⊔ Checkers) 9.4   ⊔⊔  ⊔ Wait till Environment selects a game in both conjuncts of the antecedent (if this never happens, you win). The game will evolve to one of the following:        ⊔  Ignore the leftmost Go, and apply copycat. Ignore Checkers, and apply copycat. Similar to the previous case. ignore

Reducing Go ⊔ ( Chess  Checkers) to (Go ⊔ Chess)  (Go ⊔ Checkers) 9.4   ⊔⊔  ⊔ Wait till Environment selects a game in both conjuncts of the antecedent (if this never happens, you win). The game will evolve to one of the following:        ⊔  Ignore the leftmost Go, and apply copycat. Ignore Checkers, and apply copycat. Similar to the previous case. Select Chess  Checkers in the consequent, and apply copycat. ignore

Reducing Go ⊔ ( Chess  Checkers) to (Go ⊔ Chess)  (Go ⊔ Checkers) 9.4   ⊔⊔  ⊔ Wait till Environment selects a game in both conjuncts of the antecedent (if this never happens, you win). The game will evolve to one of the following:        Ignore the leftmost Go, and apply copycat. Ignore Checkers, and apply copycat. Similar to the previous case. Apply copycat. Generally, the principle (A ⊔ B)  (A ⊔ C)  A ⊔ (B  C) is valid. ignore

Reducing the paternal granmotherhood problem to the conjunction of the motherhood and fatherhood problems 9.5 爸爸 (x) = “x’s father”; 妈妈 (x) = “x’s mother”; 奶奶 (x) = “x’s paternal grandmother”. ⊓ x ⊔ y ( y= 爸爸 (x) ) The problem of telling any person’s father: The problem of telling any person’s mother: The problem of telling any person’s paternal grandmother: ⊓ x ⊔ y ( y= 妈妈 (x ) ) ⊓ x ⊔ y ( y= 奶奶 (x) ) ⊓ x ⊔ y ( y= 爸爸 (x) )  ⊓ x ⊔ y ( y= 妈妈 (x) )  ⊔ y ( y= 奶奶 (Tom) ) Move (question) “Who is Tom’s paternal grandmother?” brings the game down to ⊓ x ⊔ y ( y= 爸爸 (x) )  ⊓ x ⊔ y ( y= 妈妈 (x) )  ⊓ x ⊔ y ( y= 奶奶 (x) ) ⊔ y ( y= 爸爸 (Tom) )  ⊓ x ⊔ y ( y= 妈妈 (x) )  ⊔ y ( y= 奶奶 (Tom ) ) Move (counterquestion) “Who is Tom’s father?” brings the game down to John= 爸爸 (Tom)  ⊓ x ⊔ y ( y= 妈妈 (x) )  ⊔ y ( y= 奶奶 (Tom) ) Move (answer) “John is Tom’s father” brings the game down to John= 爸爸 (Tom) )  ⊔ y ( y= 妈妈 (John) )  ⊔ y ( y= 奶奶 (Tom) ) Move (another counterquestion) “Who is John’s mother?” brings the game down to John= 爸爸 (Tom)  Peggy= 妈妈 (John)  ⊔ y ( y= 奶奶 (Tom) ) Move (answer) “Peggy is John’s mother” brings the game down to John= 爸爸 (Tom)  Peggy= 妈妈 (John)  Peggy= 奶奶 (Tom) Move (answer) “Peggy is Tom’s paternal grandmother” brings the game down to Machine wins as the game hits ⊤.

Reducing the problem of computing composition to the conjunction of the problems of computing the components 9.6 The composition f ∘ g of functions f and g is the function defined by f ∘ g(x) = g ( f(x) ) Example: 爸爸∘妈妈 = 奶奶 The strategy used on the previous slide, in fact, solves any problem of the following form, no matter what particular functions f and g are: ⊓ x ⊔ y ( y=f(x) )  ⊓ x ⊔ y ( y=g(x) )  ⊓ x ⊔ y ( y=f ∘ g(x) ) This means that the above is a valid principle of computability logic.

Reducing the acceptance problem to the halting problem 9.7.a A(x,y) = “Turing machine x accepts input y”. H(x,y) = “Turing machine x halts on input y” Acceptance problem: Halting problem: ⊓ x ⊓ y (  A(x,y) ⊔ A(x,y) ) ⊓ x ⊓ y (  H(x,y) ⊔ H(x,y) ) Remember from Episode 3 that neither the acceptance problem nor the halting problem has an algorithmic solution. Yet, the former is algorithmically reducible to the latter, meaning that the following problem does have an algorithmic solution (winning strategy): ⊓ x ⊓ y (  H(x,y) ⊔ H(x,y) )  ⊓ x ⊓ y (  A(x,y) ⊔ A(x,y) ) The next slide describes such a strategy. It is based on Solution 2 from Slide 3.15.

Reducing the acceptance problem to the halting problem 9.7.b ⊓ x ⊓ y (  H(x,y) ⊔ H(x,y) )  ⊓ x ⊓ y (  A(x,y) ⊔ A(x,y) ) 1. Wait till Environment makes moves 1.m and 1.n, thus asking the question “Does machine m accept input n?”. If such moves are never made, you win. Otherwise, the moves bring the game down to ⊓ x ⊓ y (  H(x,y) ⊔ H(x,y) )   A(m,n) ⊔ A(m,n) 2. Make the moves 0.m and 0.n, thus asking the counterquestion “Does machine m halt on input n?”. Your moves bring the game down to  H(m,n) ⊔ H(m,n)   A(m,n) ⊔ A(m,n) 3. Environment will have to answer this question, or else it loses (why?) 3a. If it answers by move 0.0 (“No, m does not halt on n”), you make the move 1.0 (say “m does not accept n”). The game will be brought down to  H(m,n)   A(m,n) You win, because if m does not halt on n, then it does not accept n, either. 3b. Otherwise, if it answers by move 0.1 (“Yes, m halts on n”), start simulating m on n until m halts. If you see that m accepted n, make the move 1.1 (say “m accepts n”); otherwise make the move 1.0 (say “m does not accept n”). Of course, it is a possibility that the simulation goes on forever. But then Environment has lied when saying “m halts on n”; in other words, the antecedent is false, and you still win.

The variety of reduction concepts 9.8 There are many natural concepts of reduction, and a strong case can be made in favor of the thesis that the sort of reduction captured by  is most basic among them, with a great variety of other reasonable concepts of reduction being expressible in terms of . Among those, as we are going to see, are Turing reduction and mapping reduction, defined in Episode 3. And yet many other natural concepts of reduction expressible in terms of  may or may not have established names. Among the merits of computability logic is that it offers a formalism and deductive machinery for systematically expressing and studying computation-theoretic relations such as reducibility, decidability, etc., and all kinds of variations of such concepts. In fact, not only the above game is winnable, but also the generally harder-to-win game ⊓ x ⊓ y (  H(x,y) ⊔ H(x,y) )  ⊓ x ⊓ y (  A(x,y) ⊔ A(x,y) ) ⊓ x ⊓ y (  H(x,y) ⊔ H(x,y)   A(x,y) ⊔ A(x,y) ) It will be seen later that semantically our approach treats free variables as if they were (externally) bound by choice universal quantifier. Hence, the winnability of the above game, in turn, is the same as simply the winnability of  H(x,y) ⊔ H(x,y)   A(x,y) ⊔ A(x,y). For example, from the previous discussion it can be seen that a certain reducibility- style relation holds between the predicates A(x,y) and H(x,y) in an even stronger sense than the algorithmic winnability of

Expressing mapping reducibility 9.9 Let here A  B be an abbreviation of (A  B)  (B  A). When A and B are elementary games (=predicates),  acts as the ordinary equivalence operation of classical logic. Remember from Episode 3 that a function f is said to be a mapping reduction of a predicate q(x) to a predicate p(x) iff f is computable and, for every c, q(c)  p ( f(c) ) is true. When such an f exists, we say that q(x) is mapping reducible to p(x). The following game expresses mapping reducibility of q(x) to p(x), in the sense that the game has an algorithmic winning strategy iff q(x) is mapping reducible to p(x): ⊓ x ⊔ y ( q(x)  p(y) ) Indeed, suppose f is a mapping reduction of q(x) to p(x). Then the following strategy wins the game: “Wait till Environment makes a move m. After that compute the value n of f(m), make the move n, and celebrate victory.” And vice versa: Every effective winning strategy for ⊓ x ⊔ y ( q(x)  p(y) ) includes finding, for every m, an n such that q(m)  p(n) is true. The procedure that finds n from m is nothing but a computable function f such that q(m)  p ( f(m) ) is true. This function f is a mapping reduction of q(x) to p(x).

Is reduction reducible to mapping reduction? 9.10 While the standard approaches only allow us to talk about (a whatever sort of) reducibility as a relation between problems, in our approach reduction becomes an operation on problems, with reducibility as a relation simply meaning computability of the corresponding combination (such as ⊓ x ⊔ y ( q(x)  p(y) ) or A  B) of games. Similarly for other relations or properties such as the property of decidability. The latter becomes the operation of deciding if we define the problem of deciding a predicate (or any computational problem) p(x) as the game ⊓ x (  p(x) ⊔ p(x) ). So, now we can meaningfully ask questions such as “Is the reduction of the problem of deciding q(x) to the problem of deciding p(x) always reducible to the mapping reduction of q(x) to p(x)?”. This question would be equivalent to whether the following formula is valid in computability logic: ⊓ x ⊔ y ( q(x)  p(y) )  ( ⊓ x (  p(x) ⊔ p(x) )  ⊓ x (  q(x) ⊔ q(x) ) ) The answer turns out to be “Yes”, meaning that mapping reduction is at least as strong as reduction. The following slide presents a strategy which wins this game no matter what particular predicates p(x) and q(x) are.

Reducing reduction to mapping reduction 9.11 ⊓ x ⊔ y ( q(x)  p(y) )  ( ⊓ x (  p(x) ⊔ p(x) )  ⊓ x (  q(x) ⊔ q(x) ) ) 1. Wait till, for some m, Environment brings the game down to ⊓ x ⊔ y ( q(x)  p(y) )  ( ⊓ x (  p(x) ⊔ p(x) )   q(m) ⊔ q(m) ) 2. Bring the game down to ⊔ y ( q(m)  p(y) )  ( ⊓ x (  p(x) ⊔ p(x) )   q(m) ⊔ q(m) ) 3. Wait till, for some n, Environment brings the game down to ( q(m)  p(n) )  ( ⊓ x (  p(x) ⊔ p(x) )   q(m) ⊔ q(m) ) 4. Bring the game down to ( q(m)  p(n) )  (  p(n) ⊔ p(n)   q(m) ⊔ q(m) ) 5. Wait till Environment brings the game down to one of the following: ( q(m)  p(n) )  (  p(n)   q(m) ⊔ q(m) ) 5a. In this case, bring it down to ( q(m)  p(n) )  (  p(n)   q(m) ), and you have won. ( q(m)  p(n) )  ( p(n)   q(m) ⊔ q(m) ) 5b. In this case, bring it down to ( q(m)  p(n) )  ( p(n)  q(m) ), and you have won, again.

Is mapping reduction reducible to reduction? 9.12 We can also ask: “Is the mapping reduction of q(x) to p(x) always reducible to the reduction of the problem of deciding q(x) to the problem of deciding p(x)?”. This question would be equivalent to whether the following formula is valid: ( ⊓ x (  p(x) ⊔ p(x) )  ⊓ x (  q(x) ⊔ q(x) ) )  ⊓ x ⊔ y ( q(x)  p(y) ) The answer here turns out to be “No”, meaning that mapping reduction is properly stronger than reduction. This negative answer can be easily obtained by showing that the above formula is not provable in the deductive system CL4 that we are going to see later. CL4 is sound and complete with respect to validity. Its completeness implies that any formula which is not provable in it (such as the above formula) is not valid. ⊓ x ⊔ y ( q(x)  p(y) )  ( ⊓ x (  p(x) ⊔ p(x) )  ⊓ x (  q(x) ⊔ q(x) ) ) failed, its validity could have been easily established by finding a CL4-proof of it. And the soundness of CL4 implies that every provable formula is valid. So, had our ad hoc attempt to come up with a strategy for To summarize, computability logic offers not only a convenient language for specifying computational problems and relations or operations on them, but also a systematic tool for answering questions in the above style and beyond.