Reduction of one problem to another#
We are very interested in relations between problems. Here is the main definition that we will use.
Definition
Let \(S\) and \(T\) be well-defined sets of mathematical objects, and let \(A\subseteq S\) and \(B\subseteq T\) be problems. We do not assume that \(S\) or \(T\) is decidable. We write
and say that \(B\) is at least as hard as \(A\), or that \(A\) is reducible to \(B\) if there is an intuitively computable \(t: S\to T\) such that for all \(x\),
We sometimes call \(t\) the translation map.
We are going to see a few examples of this soon. But first, here is the result that shows why we are interested in this definition in the first place.
Proposition 2
If \(A\leq B\) and \(B\) is intuitively decidable, then \(A\) is also intuitively decidable.
If \(A\leq B\) and \(A\) is intuitively undecidable, then \(B\) is also intuitively undecidable.
Proof. For the first part: given \(x\), to see if \(x\in A\) or not, apply the intuitively computable translation \(t\), and then see if \(t(x)\in B\) or not. The answer must be the same!
The second assertion follows from the first.
Incidentally, we read \(A\leq B\) as \(B\) is at least as hard as \(A\). However, there are situations where \(A\leq B\) according to our definition but where most people would say that \(A\) is much harder to decide.
Exercise 9
Let \(S\) and \(T\) be the set of natural numbers, let \(A\) be the set of prime numbers, and let \(B = \set{1,2,3}\). Show that according to our definitions \(A\leq B\). However, \(A\) and \(B\) are both intuitively decidable, and most people who know about such things would agree that \(A\) is harder than \(B\).
The moral of the story is that our English rendering of \(A\leq B\) is only good for comparisons of decidable vs. undecidable problems.
Why does \(t\) have to be intuitively computable?#
Similarly, we can now say why our definition of \(A \leq B\) requires the translation function \(t: S\to T\) to be intuitively computable. If we took away this restriction, Proposition 2 would be false in general: consider the case when \(A\) is undecidable and \(B\) is decidable, and \(t\) is a constant function.
Exercises#
Here are some exercises to help you get catch on. Some of these will be quite tricky, and the trickiness is due to two things: first, the definition of the translation function \(t\) often requires ingenuity and cleverness. Your first attempt might not be correct. That is, you might not be able to prove the required ‘if and only if’ statement; this itself might require a tricky argument.
Observation
In showing that \(t: S\to T\) works, the hard direction is often the one that “goes backwards”, saying: “if \(t(x)\in B\), then \(x\in A\).”
Tiling#
Exercise 11
The one-row tiling problem* is the problem of deciding whether a tile set can tile the “positive \(x\)-axis” part of the quadrant (the bottom infinite row). Show that this problem is decidable by reducing to the problem of whether a finite graph has a cycle.
Exercise 12
The two-row tiling problem is the same problem, but we want to tile the bottom-most two infinite rows. Is this problem decidable or undecidable?
What about the two-column tiling problem?
Roots of polynomials#
Exercise 13
Let \(X\) be the set of multi-variable polynomials \(p(x_1, \ldots, x_n)\) with integer coefficients which have a root consisting of positive integers, and let \(Y\) be the polynomials with integer coefficients which have a root consisting of negative integers. Show that \(X \leq Y\) and \(Y\leq X\).
Exercise 14
We presented an example of how \(A \leq A_4\) could work, but we didn’t really define a function that does this. Your task is to do this.
PCP#
Exercise 15
Assuming that \(PCP\) is undecidable, show that it is undecidable even if the alphabet has only two letters.
Matrix mortality#
Exercise 16
Let \(P_3\) be the matrix mortality problem for \(3\times 3\) matrices. Let \(P_2\) and \(P_4\) be defined similarly, for the \(2\times 2\) and \(4\times 4\) matrices. Show that \(P_2 \leq P_3 \leq P_4\). This is a straightforward algebraic argument.
Later we will see that \(P_4 \leq P_3\), but the argument will not be not as easy.
Here is an exercise pertaining to the matrix mortality problem. Although it looks long, we are presenting it as result in outlined form. All you have to do is to fill in the steps. This result will be used in our later work on the undecidability of matrix mortality.
Exercise 17
Let \(M_{1,1}\) be the set of finite sets of \(3\times 3\) integer matrices which have some finite product which equals \(0\). Let \(M_{0}\) be the set of finite sets of \(3\times 3\) integer matrices which have some finite product with \(0\) in the upper-left corner. In this exercise, we show that \(M_{1,1} \leq M_0\).
Let \(A\) be the \(3\times 3\) matrix
There are two key features of \(A\):
Let \(Q\) be the set of finite sets of \(3\times 3\) integer matrices.
Here is a computable function \(t: Q \to Q\):
Our goal is to prove the following fact:
Let \(S\) be a finite set of \(3\times 3\) matrices.
Show that if \(S \in M_{1,1}\), then \(t(S) \in M_0\). [This is easy given the facts above.]
In the other direction, suppose that \(t(S) \in M_0\). Take a finite sequence from \(t(S)\) whose product has a zero in the upper-left corner. Let us assume that the sequence both begins and ends with \(A\). Write the product as
where the \(B^i_j\) matrices belong to \(S\).
Divide the product above into \(k+1\) groups:
And then multiply it group-by-group:
Figure out what each \(a^i\) represents in terms of the groups of matrices above.
Evaluate the upper-left corner of the product, and check that one of the groups \( B^i_1 B^i_2 \cdots B^i_{n_i}\) must multiply to give a matrix with \(0\) in the upper-left corner.
Credits
The source for the reduction involving \(3\times 3\) matrices is
Vesa Halava and Tero Harju, (2001). Mortality in Matrix Semigroups. The American Mathematical Monthly, 108(7), 649–653.