- •§ 8. Диафантовы множества.
- •Теорема Лагранжа.
- •8.1. Разрешимость в натуральных числах.
- •Определение.
- •Определение.
- •Теорема 8.1.
- •Теорема 8.2.
- •Необходимость.
- •Достаточность.
- •8.2. Нумерация кортежей.
- •Канторова нумерация.
- •Геделево кодирование.
- •Определение.
- •Теорема 8.3.
- •Теорема 8.4.
- •Определение.
- •0.2. Машина с неограниченными регистрами (мнр) [Ктл, c.16]
- •0.3. Равнодоступные адресные машины (рам) [Ахо, с.22]
- •Типы операндов.
- •Команды.
- •0.4. Интерпретация программы как функции.
- •0.6. Вычислительная сложность рам-программ.
- •Определение.
- •Определение.
- •Определение.
- •Логарифмический критерий.
- •0.7. Модификации рам.
- •0.8. Неветвящиеся программы и равномерный весовой критерий.
- •Определение.
- •0.9. Неветвящиеся программы и логарифмический весовой критерий.
- •0.10. Ветвления.
- •0.11. Операции с двоичными векторами фиксированной длины. Определение.
- •Определение.
- •0.12. Машина Тьюринга (k-ленточная).
- •Определение.
- •Определение.
- •0.13. Связь мт и рам.
- •Теорема 0.1.
- •Утверждение 1.
- •Утверждение 2.
- •§ 1. Структуры данных. Определение.
- •1) Вставка.
- •2) Удаление.
- •1.1. Очередь и стек. Определение.
- •Определение.
- •1.2. Множества. Представление множеств.
- •1) Применение списков.
- •3) Представление в виде массивов.
- •4) Представление в виде графа.
- •Определение.
- •Определение.
- •§ 2. “Разделяй и властвуй”.
- •Теорема 2.1
- •§ 3. Динамическое программирование
- •Алгоритм 3.1.
- •§ 4. Редактирующее расстояние
- •Алгоритм 4.1.
- •Алгоритм 4.2.
- •§ 5. Порядковые статистики Определение.
- •Алгоритм 5.1
- •Теорема 5.2.
- •§ 6. Вхождение образца
- •Определение.
- •Алгоритм 6.1a.
- •Алгоритм 6.1б. Вычисление функции отказов.
- •Теорема 6.2.
- •Алгоритм 6.1.Б вычисляет f за o(n) шагов.
- •Конец пока
- •Алгоритм lz
- •Дельта – алгоритм
- •Арифметическое кодирование
Теорема 8.2.
{ Множество натуральных чисел является диафантовым }
{ Это множество натуральных чисел является множеством всех натуральных значений, принимаемых некоторым полиномом с целыми коэффициентами при натуральных ( или целочисленных) значениях переменных.}
При n = 1 рассмотрим некоторое диафантово множество.
-
Необходимость.
Докажем, что уравнение
-
D(a, x1,…, xn ) = 0
имеет решение в Xn тогда и только тогда, когда уравнение
-
(x0 + 1)(1 D2(x0, Xn )) = a + 1
имеет решение в ( x0, x1, … , xn).
а) Рассмотрим любое решение уравнения (1). Тогда в уравнении (2) при x0 = a 1 D(a, x1, … , xn) = 1, т.е. решение уравнения (1) является и решением уравнения (2).
б) Рассмотрим любое положительное значение полинома P = (x0 + 1)(1D2(x0, x1, …, xn)) 1 при натуральных значениях переменных. Оно может быть больше нуля только при D = 0., т.е. при x0 = a.
Т.е. P > 0 D = 0 x0 = a.
-
Достаточность.
Надо показать, что множество всех натуральных значений полинома есть диафантово множество.
Пусть A = {a | Q(x1,…, xn) }, A N, где Q это абстрактный полином. Чтобы показать, что A диафантово, напишем его диафантово представление:
a A Xn [ Q(Xn) a = 0 & a 0]
Так как Q(Xn) a = 0 диафантово множество, a 0 диафантово, то, по теореме 8.1, их пересечение также является диафантовым.
Определение.
Свойство P натуральных чисел является диафантовым свойством, если диафантовым является множество чисел, обладающих свойством P.
Диафантово представление свойства P: P(a) диафантово Xn [ D(a, Xn) = 0 ].
Определение.
Отношение R называется диафантовым отношением, если диафантовым является множество чисел, определяющих данное отношение.
R(a1, … , an) диафантово Xm [ D(An, Xm) = 0 ].
( Отношение есть подмножество множества кортежей. )
Определение.
Функция f называется диафантовой , если диафантовым является множество чисел, определяющих данную функцию.
a = f(b1, … , bn) диафантова Xm [ D(a, Bn, Xm) = 0 ].
Пример.
а) Свойство четности.
Even(a) x [ a = 2x ] его диафантово представление.
б) Отношение неравенства.
a b x [ x +1 = (a b)2], xN.
в) Свойство “меньше”.
a < b x [ b = a + x + 1], xN.
г) Свойство делимости.
a b x [ a = bx ] , xN.
д) Остаток от деления.
a = rem(b,c) остаток от деления b на c.
a = rem(b,c) a < c & (b a) c
е) НОД.
a = НОД(b,c) bc > 0 & ba & ca & x,y [ a = bx cy]
ж) НОК.
a = НОК(b,c) bc = a * НОД(b,c).
з) a не является степенью двойки ( т.е. нечетный сомножитель S(a)) x [ a = xb & odd(x) & x>1]
(odd(a) x [a = 2x + 1] ).
и) S(a) a является степенью двойки.
В 1970 году была установлена диафантовость всех рекурсивно перечислимых множеств.
Замечание.
Любое множество, которое можно формально описать, является диафантовым. Следовательно, любое конечное множество натуральных чисел является диафантовым.
Как это показать?
Пример.
Пусть A = { 2; 5; 7}.
Возьмем полином a[ (a2)2 (a5)2 (a-7)2=0 ] это его диафантово представление.
Любое количество натуральных чисел можно представить в виде множества значений какого-либо полинома.
P: (a+1)[1- (a2)2 (a5)2 (a-7)2] 1 (из того, что было ранее).
Здесь и переменные, и полиномы принимают натуральные значения. От натуральных значений переменных можно избавиться, а от натуральных значений полиномов нет.
Замечание.
Никакое конечное множество, содержащее более одного элемента, не может быть представлено в виде всех значений полинома при натуральных или целочисленных значениях аргумента. ( Как только мы введем переменные, у нас появится неограниченность.)
