reduction episode 9 0 the operation of reduction and the relation of reducibility examples of...

24
Reduction Episode 9 0 on of reduction and the relation of reducibility reductions of reduction concepts and their systematization in computabi ucibility is properly stronger than (simply) reducibility

Upload: marilynn-hart

Post on 28-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

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

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

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

Reduction and reducibility9.1

The reduction operation is defined by AB = AB.B is said to be reducible toA iff the problem AB is computable.

Intuitively, AB is (indeed) the problem of reducing B to A: solving AB 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 AB and negation means switching the roles, A appears as a resource rather than problem for ⊤ in AB.

Our copycat strategy for ChessChess was an example of reducing Chess to Chess. The same strategy was underlying the example on

Slide 8.12, where ⊓x⊔y(y=x2) was reduced to itself.

ABantecedent consequent

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

Reducing Chess to Chess9.2

is the same as

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

Reducing Chess to Chess9.2

is the same as

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

Reducing Chess to Chess9.2

is the same as

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

Reducing Chess to Chess9.2

is the same as

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

Reducing Chess to Chess9.2

is the same as

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

Reducing Chess to Chess ⊓ Checkers9.3

1. Select Chess in the antecedent (i.e., make the move 0.0)

2. Now continue play using copycat

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

Reducing Go ⊔(ChessCheckers) 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 leftmostGo, and apply copycat.

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

Reducing Go ⊔(ChessCheckers) 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 leftmostGo, and apply copycat.

In this case, again, select Go in the consequent, ignore Checkers, and apply copycat.

ignore

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

Reducing Go ⊔(ChessCheckers) 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 leftmostGo, and apply copycat.

Ignore Checkers, and apply copycat.

ignore

ignore

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

Reducing Go ⊔(ChessCheckers) 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 leftmostGo, and apply copycat.

Ignore Checkers, and apply copycat.

Similar to the previous case.

ignore

ignore

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

Reducing Go ⊔(ChessCheckers) 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 leftmostGo, and apply copycat.

Ignore Checkers, and apply copycat.

Similar to the previous case.

ignore

ignore

ignore

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

Reducing Go ⊔(ChessCheckers) 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 leftmostGo, and apply copycat.

Ignore Checkers, and apply copycat.

Similar to the previous case.

Select ChessCheckers in the consequent, and apply copycat.

ignore

ignore

ignore

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

Reducing Go ⊔(ChessCheckers) 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 leftmostGo, and apply copycat.

Ignore Checkers, and apply copycat.

Similar to the previous case.

Apply copycat.

Generally, the principle (A⊔B)(A⊔C) A⊔(BC) is valid.

ignore

ignore

ignore

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

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 ⊤.

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

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.

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

Reducing the acceptance problem to the halting problem9.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.

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

Reducing the acceptance problem to the halting problem9.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.

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

The variety of reduction concepts9.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 abovegame, 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

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

Expressing mapping reducibility9.9

Let here AB be an abbreviation of (AB)(BA). 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).

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

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 AB) 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.

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

Reducing reduction to mapping reduction9.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.

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

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 thereduction 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 properlystronger 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 ourad 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.