Download Lecture Notes 13

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Polynomial ring wikipedia , lookup

Quartic function wikipedia , lookup

Signal-flow graph wikipedia , lookup

Elementary algebra wikipedia , lookup

Fundamental theorem of algebra wikipedia , lookup

Eisenstein's criterion wikipedia , lookup

History of algebra wikipedia , lookup

Polynomial greatest common divisor wikipedia , lookup

Factorization wikipedia , lookup

System of linear equations wikipedia , lookup

Factorization of polynomials over finite fields wikipedia , lookup

Equation wikipedia , lookup

System of polynomial equations wikipedia , lookup

Transcript
FOUNDATIONS OF COMPUTATION 2016
LECTURE NOTES 13
ISSUED 8 DECEMBER 2016
1. Computable functions
Definition 1.1. A function (map) is called partial on X if its domain D is a subset
of X,
f : D → Y.
For partial functions we sometimes write:
f :X→Y
though f may be not defined on some elements of X.
Definition 1.2. A partial function
f : Σ∗0 → Σ∗0
is called computable or recursive if there is a Turing machine M such that
• Σ∗0 is the input alphabet of M ,
• for any word w ∈ Σ∗0 , M halts on w if and only if w is in the domain of f ,
• whenever M halts on an input w, the output coincides with f (w).
We say that M computes f .
Definition 1.3. Two Turing machines are called equivalent if they compute the
same function.
2. Versions of Turing machines
•
•
•
•
TM with the tape infinite in both directions;
multi-tape TM (with each tape having its own working head);
multi-head TM (several heads on one tape);
various combinations of the above.
It can be proved (in a straightforward way) that all versions of TM are equivalent
(in the sense of the definition above). On the other hand, in different situations
different versions may be convenient to use. For example, in order to prove that if
both L and the complement to L are semidecidable then there is a TM deciding
membership to L, it is easy to model the two halting “standard” machines on
a single 2-tape TM and the argue that the latter is equivalent to a “standard”
machine.
1
2
ISSUED 8 DECEMBER 2016
3. Church-Turing thesis
An experience provides us with a good intuitive concept of the algorithm as a
deterministic procedure starting with a given word in an alphabet and developing
in a finite number of simple, elementary steps. The sequence of steps for a given
algorithm is completely determined by the input.
The following is one of the possible formulations of the famous Church (or
Church-Turing) thesis.
Any algorithm can be realized in the form of a Turing machine.
The main arguments in favor of the thesis:
• all attempts to program algorithms on Turing machines were successful,
• all various versions of TM are proved to be equivalent (see above),
• all other proposed formalizations of the concept of an algorithm (e.g., recursive functions, normal algorithms, Kolmogorov’s algorithms, etc.) are
equivalent to TM.
4. Solving linear equations
Consider all linear equations with integer coefficients in one unknown. Each such
equation is of the form aX = c, where a and c are integer numbers and X is an
unknown (or a variable). Clearly, it is a word in an alphabet. Let L be a language
of all such equations having at least one integer solution (i.e., there exists a specific
integer number x such that ax = c).
Observe that L is a semidecidable set. Indeed, consider the following algorithm applied to an input aX = c. It examines each integer number one by one:
0, 1, −1, 2, −2, 3, −3, . . . and for each of them checks whether or not the input equation is satisfied by replacing X with the tested number. If the equation is satisfied,
the the algorithm halts. Otherwise it considers the next integer number in the list.
It is clear that this algorithm halts exactly on all inputs in L which means that L
is semidecidable.
Now we notice that L is not just semidecidable but also a decidable set. Indeed,
consider another algorithm. It attempts to divide the integer number c by the
integer number a using, for example, the “long division” method. If it finds that
c is divisible by a, then the input equation has the (unique) integer solution, c/a.
Otherwise, there are no integer solutions.
This approach can be generalised to linear equation with many unknowns. Consider, for example, equations with two unknowns, aX + bY = c, where a, b, c are
integers while X and Y are unknowns. Again, the set M of all such equations
having integer solutions is semidecidable, which can be established by testing systematically all possible pairs of integers (x, y).
Moreover, M is decidable by the following algorithm. Let GCD(a, b) denote
the greatest common divisor of integers a and b. There is a theorem in arithmetic
which states that an equation aX + bY = c has an integer solution if and only if
c is divisible by GCD(a, b). The latter can be computed either by naive search
or, more efficiently, by applying Euclidean division algorithm. Then the algorithm
attempts to divide c by GCD(a, b) using the “long division”.
The algorithm for deciding M can be generalised in a straightforward way to
linear equations in many unknowns, a1 X1 + · · · + an Xn = c, where a1 , . . . , an , c are
integer numbers. Here one involves GCD(a1 , . . . , an ).
LECTURE NOTES 13
3
5. Polynomial equations in one unknown
Consider a generalization in a different direction of linear equations aX = c from
the previous section. Let f (X) denote a polynomial in one unknown X with integer
coefficients, f (X) := a0 X d + a1 xd−1 + · · · + ad−1 X + ad . Here the positive integer
number d is called the degree of polynomial f (X).
There is an algorithm which decides whether or not a polynomial equation f (X) =
0 has a solution in integer numbers. The algorithm is based on the following fact
from algebra. Any solution x of f (X) = 0 satisfies the following inequality:
a1 ad |x| ≤ 1 + + · · · + ,
a0
a0
where vertical lines stand for the absolute value of a number between them. Note
that for an input equation f (X) = 0 there is a finite number of integers x satisfying
this inequality. The algorithm checks of each such integer whether or not it satisfies
the input equation. It either finds such an integer, a solution, or concludes that it
does not exist.
6. 10th Hilbert problem
In due course we will construct a semidecidable set (a language) which is not
decidable. The description of this set will be done within the theory of Turing
machines. Assuming that such set exists, consider the following example of an
algorithmically unsolvable problem arising in mainstream mathematics.
The 10th Hilbert problem is the following computational Yes-No problem:
Input: An algebraic equation f = 0 where f is a polynomial with n variables
with integer coefficients.
Output: Yes if f = 0 has at least one solution in integer numbers, else No.
The language L associated with this problem consists of equations f = 0 having
integer solutions. This is indeed a language (semidecidable set) since there is a
Turing machine which terminates exactly on these equations. More precisely this
machine generates gradually all sequences of n integers and for each sequence evaluates f (due to Church-Turing thesis such a machine exists). M. Davis, J. Robinson
and Yu. Matiyasevich proved that the complement to L is not semidecidable.
In slightly more detail, the following theorem was proved. Let Z denote the set
of all integer numbers, Z+ denote the set of all positive integer numbers, and Zn
denote the set of all n-vectors with integer coordinates.
Theorem 6.1. For every semidecidable set S ⊂ Z+ there is a polynomial f in a
certain number of variables n such that S = f (Zn )∩Z+ . In other words, S coincides
with the set of all positive values of a multivariate polynomial whose variables can
be any integer numbers.
Corollary 6.2. There is no TM for solving 10th Hilbert problem.
Proof. Take as S a semidecidable but not decidable subset in Z+ . Let f be the
corresponding polynomial from the theorem. Suppose that our claim is wrong, and
there is a TM for the 10th problem. Then for every ℓ ∈ Z+ we would be able to
decide whether f = ℓ has a solution in integer numbers, in other words, whether
ℓ ∈ f (Zn ) ∩ Z+ = S. But such a TM does not exist by the choice of S, and we get
a contradiction. The corollary is proved.