Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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
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.