Вычислимые числа — различия между версиями
Sementry (обсуждение | вклад) (→Свойства: теорема про арифметику) |
Sementry (обсуждение | вклад) (свойства вычислимых чисел все) |
||
Строка 114: | Строка 114: | ||
Корень многочлена с вычислимыми коэффициентами вычислим. | Корень многочлена с вычислимыми коэффициентами вычислим. | ||
|proof= | |proof= | ||
+ | Пусть <tex> x </tex> {{---}} корень многочлена <tex> P(x) </tex> с вычислимыми коэффициентами. | ||
+ | |||
+ | Если <tex> x \in \mathbb Q </tex>, то его можно найти точно, перебрав все рациональные числа. | ||
+ | |||
+ | Иначе, пользуясь аксиомой выбора, подберем некоторый интервал <tex> [a; b]: x \in [a; b] </tex> (<tex> a, b </tex> {{---}} вычислимы), достаточно малый, чтобы полином <tex> P(x) </tex> был монотонным на отрезках <tex> [a; x] </tex> и <tex> [x; b] </tex>. | ||
+ | |||
+ | Заметим, что для вычислимого <tex> t </tex> значение <tex> P(t) </tex> также вычислимо, так как в процессе его вычисления используются только операции, вычислимость значений которых уже была ранее доказана. | ||
+ | |||
+ | Теперь, если полином имеет разные знаки на отрезках <tex> [a; x] </tex> и <tex> [x; b] </tex>, то для поиска <tex> x </tex> можно воспользоваться двоичным поиском для поиска нуля на <tex> [a; b] </tex>, иначе {{---}} троичным поиском для поиска минимума или максимума на <tex> [a; b] </tex>. В обоих операциях | ||
+ | |||
+ | Останавливая тот или иной алгоритм при длине текущего интервала, меньшей <tex> \varepsilon </tex>, получаем функцию <tex> a_x(\varepsilon) </tex>. | ||
}} | }} | ||
Строка 120: | Строка 131: | ||
Предел вычислимо сходящейся вычислимой последовательности вычислимых чисел вычислим. | Предел вычислимо сходящейся вычислимой последовательности вычислимых чисел вычислим. | ||
|proof= | |proof= | ||
+ | Пусть рассматриваемая последовательность {{---}} <tex> r_n </tex>, и <tex> \alpha = \lim\limits_{n \to \infty} r_n </tex>. Запишем формально данные нам условия: | ||
+ | |||
+ | <tex> \forall \overline \varepsilon_1 > 0\ \forall n > N(\varepsilon_1): |r(n) - \alpha| < \varepsilon_1 </tex> | ||
+ | |||
+ | <tex> \forall n\ \forall \varepsilon_2 > 0\ |r(n) - p_n(\varepsilon_2)| < \varepsilon_2 </tex> | ||
+ | |||
+ | Здесь функции <tex> N(\varepsilon_1) </tex>, <tex> r(n) </tex> и все <tex> p_n(\varepsilon_2) </tex> вычислимы. | ||
+ | |||
+ | Построим функцию <tex> a(\varepsilon) </tex>, которая дает приближение к <tex> \alpha </tex> с точностью до <tex> \varepsilon </tex>: | ||
+ | |||
+ | <tex> a(\varepsilon) </tex>: | ||
+ | n = <tex> N(\frac \varepsilon 2) + 1 </tex> | ||
+ | '''return''' <tex> p_n(\frac \varepsilon 2) </tex> | ||
+ | |||
+ | Так как <tex> |\alpha - p_n(\frac \varepsilon 2)| < |\alpha - r(n)| + |r(n) - p_n(\frac \varepsilon 2)| </tex>, первое слагаемое меньше <tex> \frac \varepsilon 2 </tex> по выбору <tex> n </tex>, второе {{---}} в силу вычислимости <tex> p_n </tex>, то <tex> |\alpha - p_n(\frac \varepsilon 2)| < \varepsilon </tex>, и <tex> a(\varepsilon) </tex> действительно вычисляет требуемое приближение. | ||
}} | }} | ||
Версия 21:03, 12 января 2013
В математике натуральные, целые и рациональные числа являются конструктивными объектами, поэтому их использование в теории вычислимости не требует особых уточнений. В то же время, действительные числа, которые необходимы для применения методов математического анализа, определяются неконструктивно. Предложенный далее метод позволяет построить конструктивные объекты, во многом схожие с обычными действительными числами.
Содержание
Вычислимые числа
Определение: |
Действительное число | называется вычислимым (computable number), если существует вычислимая функция , такая, что для любого рационального .
Свойства
Теорема: |
Число вычислимо тогда и только тогда, когда множество , разрешимо. |
Доказательство: |
: Построим разрешатель для :: for : if : return 1 if : return 0 : Построим функцию :Так как : for : if : return x разрешимо, и для любого проверка в условном операторе завершается за конечное время, то функция вычислима для любого рационального . |
С учетом только что доказанной теоремы, далее при проверке на принадлежность числа
множеству будем писать просто .Теорема: |
Число вычислимо тогда и только тогда, когда последовательность знаков представляющей его двоичной записи вычислима. |
Доказательство: |
: Если число — рациональное, то необходимую последовательность можно получить, воспользовавшись стандартным алгоритмом перевода числа в двоичную систему счисления. Рассмотрим случай, когда .Очевидно, двоичная запись целой части всегда вычислима (так как множество чисел, меньших , разрешимо, то можно перебрать все целые числа в порядке возрастания их абсолютных величин и найти наибольшее число, меньшее ), поэтому будем считать, что .Напишем программу, которая по числу вычисляет -ный знак числа после запятой:: l = 0, r = 1 for : if : l = m, t = 1 else: r = m, t = 0 return t Для любого рационального : , найдем , тогда в качестве значения функции можно взять часть последовательности знаков двоичной записи с знаками после запятой. |
Определение: |
Последовательность рациональных чисел | вычислимо сходится к , если существует вычислимая функция , такая, что для любого рационального выполняется .
Теорема: |
Число вычислимо тогда и только тогда, когда существует вычислимая последовательность рациональных чисел, вычислимо сходящаяся к . |
Доказательство: |
: Так как вычислимо, то, согласно предыдущей теореме, вычислима и его двоичная запись. Пусть — часть последовательности знаков двоичной записи с знаками после запятой. Данная последовательность вычислима, а также вычислимо сходится к , так как .Пусть : , тогда вычислимо по определению. |
Теорема: |
Пусть числа вычислимы. Тогда также вычислимы числа , , и . |
Доказательство: |
Заметим, что , значит, в качестве необходимых функций для и можно взять
и
соответственно. Далее, так как , где ( , очевидно, можно найти за конечное время), то. Убедимся в вычислимости числа :, где . Отсюда, . также вычислимо. |
Теорема: |
Корень многочлена с вычислимыми коэффициентами вычислим. |
Доказательство: |
Пусть — корень многочлена с вычислимыми коэффициентами.Если , то его можно найти точно, перебрав все рациональные числа.Иначе, пользуясь аксиомой выбора, подберем некоторый интервал ( — вычислимы), достаточно малый, чтобы полином был монотонным на отрезках и .Заметим, что для вычислимого значение также вычислимо, так как в процессе его вычисления используются только операции, вычислимость значений которых уже была ранее доказана.Теперь, если полином имеет разные знаки на отрезках Останавливая тот или иной алгоритм при длине текущего интервала, меньшей и , то для поиска можно воспользоваться двоичным поиском для поиска нуля на , иначе — троичным поиском для поиска минимума или максимума на . В обоих операциях , получаем функцию . |
Теорема: |
Предел вычислимо сходящейся вычислимой последовательности вычислимых чисел вычислим. |
Доказательство: |
Пусть рассматриваемая последовательность — , и . Запишем формально данные нам условия:
Здесь функции , и все вычислимы.Построим функцию , которая дает приближение к с точностью до :Так как : n = return , первое слагаемое меньше по выбору , второе — в силу вычислимости , то , и действительно вычисляет требуемое приближение. |
Перечислимые числа
Определение: |
Действительное число | называется перечислимым снизу (recursively enumerable number), если множество перечислимо.
Аналогично определяются перечислимые сверху числа.
Свойства
Теорема: |
Число перечислимо снизу тогда и только тогда, когда существует вычислимая возрастающая последовательность рациональных чисел, пределом которой является . |
Теорема: |
Число вычислимо тогда и только тогда, когда оно перечислимо сверху и снизу. |
Последовательность Шпеккера
Определение: |
Пусть | — некоторое перечислимое, но неразрешимое множество натуральных чисел. Занумеруем его элементы. Последовательностью Шпеккера называется последовательность рациональных чисел, -ный член которой определяется как .
Данная последовательность строго возрастает и ограничена числом , следовательно, по признаку Вейерштрасса, она сходится.
Теорема: |
Число перечислимо снизу, но невычислимо. |
Ссылки
- Верещагин Н. К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции — М.: МЦНМО, 1999 - С. 14
- http://en.wikipedia.org/wiki/Computable_number
- http://en.wikipedia.org/wiki/Specker_sequence