This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: ECS 120 Lesson 19 – Reducibility Oliver Kreylos Monday, May 14th, 2001 Last time, we proved that the acceptance problem for Turing Machines, A TM , is undecidable. We showed that by using a rather involved proof based on the diagonalization method proposed by Georg Cantor and later refined by Kurt G¨ odel. Proofs of this type are usually difficult to understand, and usually even more difficult to come up with in the first place. Today we will discuss another technique of proving certain problems undecidable that is easier to apply in practice. 1 Problem Reductions Let us start by having a look at a typical software engineering task – designing an algorithm for a given problem. A typical approach to this is top-down development, where the stated problem is broken up into smaller problems, which are then solved independently, and later their results are combined to form a solution to the original problem. More generally, if there is a way to convert a solution for one problem R into a solution to another problem P , then solving problem P can be reduced to solving problem R , in symbols P-→ R . As an example, let us consider the problem of finding the median of a set of numbers X . By definition, the median is the number that would end up in the middle of the set if the set were sorted. More formally, m is the median of a set of numbers X , if and only if • m ∈ X (the median must be an element of the set), • x ∈ X x ≤ m ≥ | X | 2 , and 1 • x ∈ X x ≥ m ≥ | X | 2 . In other words, both the number of elements smaller than or equal to m and the number of elements larger than or equal to m must be at least half as large as the total number of elements in X divided by two, rounded up to the nearest integer. The problem of finding the median seems difficult at first, but it can easily be reduced to the problem of sorting set X by the following algorithm: Algorithm MEDIAN-→ SORT Given a set of numbers X , 1. Sort the set X using some sorting algorithm. 2. Return the element at position d| X | / 2 e in the sorted set. So to solve the median finding problem, we now only have to solve the sorting problem. In the terminology defined above, the problem of finding a median reduces to the problem of sorting a set. Reducing an unknown problem to a known one is a good strategy to develop an algorithm, but it cannot be applied to proving that an unknown problem is undecidable. But let us use another approach: If P is a problem known to be undecidable, and P can be reduced to another problem R , i. e., P-→ R , then R must be undecidable as well. If there would be an algorithm for R , there would also be an algorithm for P : One would just solve R first, and then apply the reduction algorithm to solve P . But this is a contradiction to the assumption that P is undecidable; therefore, R must be undecidable as well....
View Full Document
- Spring '07
- Halting problem, Turing Machines