contact me
alsemno@ya.ru
RU
EN
Идентификаторы
PersonID 19667
Alexei Semenov
ID: semenov.alexei-l
AuthorID: 218197
Spin 2289-1720
alsemenov
0000-0002-1785-2387
S-5268-2018
AuthorID 7402499019
Alexei_Semenov
A. Semenov
AlexeySemenov
Alexei Semenov
Введение в математическую логику и теорию алгоритмов
Ступень 15. Вычислимость как теоретико-множественное понятие
Основное содержание главы в том, что в ней дается определение некоторого класса вычислимых функций в привычных для различных областей математики (и даже — математики конечных множеств) «теоретико-множественных терминах». Вычислимость всех функций этого класса не вызывает сомнений. При этом постулируется, что данный класса содержит ВСЕ вычислимые функции. Это утверждение является математическим, если мы считаем математическим введенное выше понятие вычислимой функции. Именно введенное выше понятие как правило и используется в математике и и ее приложениях при различных рассуждения о вычислимости. Однако в некоторых специальных случаях, например, в рассмотрениях сложности вычислений, оказывается желательным использовать упомянутое узкое определение вычислимости.

Раньше мы встретились с подобной ситуацией для исчислений.

Задачи здесь — это, в основном, иллюстративные упражнения.
15.1. Машины

Рассмотренные нами начальные теоремы, относящиеся к вычислимости, использовали представления о выполнении алгоритмов человеком или каким-то еще исполнителем. Можно попытаться описать возможные способы вычисления функций, используя понятия обычной математики конечных множеств. Это было сделано, в частности, английским математиком Аланом Тьюрингом в 1936 году. При этом он выбрал в качестве проверок и действий совсем простые, заведомо выполнимые человеком.
Определение 137. Машина Тьюринга, (или просто — машина) — это:

  • Алфавит машины — объединение непересекающихся основного и вспомогательного алфавитов. Во вспомогательном алфавите есть символы НАЧАЛО, СТОП и пустой символ (пробел).
  • Функция перехода машины: отображение из множества всех цепочек длины 3 в алфавит. Если первые два символа цепочки пустые, то значение функции на ней — пустой символ.
Удобно представлять себе цепочку, с которой имеет дело машина, написанной на бесконечной вправо ленте; только конечное число клеток (символов) ленты — не пустые. (Обратим внимание, что символы НАЧАЛО и СТОП занимают по одной клетке.) Объект вычисления — всегда конечная цепочка, к которой справа добавляются и заполняются пустые клетки по мере необходимости.

Машина Тьюринга задает следующий алгоритм, который мы представляем, описывая вычисления.
Определение 138. Вычисление машины:
  • на первом шаге Действие переработки состоит в том, что в клетке перед началом цепочки пишется символ НАЧАЛО;
  • на последующих шагах Действие переработки состоит в том, что одновременно к каждой тройке последовательных символов ленты применяется функция перехода, и вместо среднего символа пишется значение функции;
  • Проверка остановки — проверка того, что в цепочке есть символ СТОП, за котором могут следовать пустые символы;
  • Если цепочка заканчивается символом СТОП, действие переработки состоит в том, что стираются: этот символ, все идущие после него пустые символы и символ НАЧАЛО.
Как и для всякого алгоритма, результатом вычисления является его последний элемент.

Наше определение «вычислимости по Тьюрингу» несколько отличается от других изложений этого понятия. Честно говоря, наши машины больше похожи на одномерные клеточные автоматы. (Дальше мы еще приведем пример двухмерных клеточных автоматов.) Машины Тьюринга в первоначальном определении Тьюринга являются частным случаем таких автоматов. Но с нашим определением будет проще
работать.

В нашем определении изменения цепочки могут происходить в каждом ее символе, при принятии решения об изменении используются только два символа соседних с рассматриваемым. В исходном определении Тьюринга менялся только один символ в цепочке. Кроме того, там информация хранилась не только в символах, но и в некотором устройстве, которое могло иметь только конечно число состояний.

Термин «машина Тьюринга» мы используем потому, что принято, чтобы в курсе математической логики и теории алгоритмов были машины Тьюринга, а наше определение во многом следует определению Тьюринга.
Определение 139. Функция, вычислимая по Тьюрингу — это функция, вычислимая машиной Тьюринга.
Пример двухмерной машины. Игра «Жизнь»

  • Бесконечная клетчатая бумага.
  • Алфавит клеток: пустой символ — мертвая, 1 — живая.
  • Функция перехода: У клетки 8 соседей.
– Если у мертвой клетки есть ровно 3 живых соседа, она становится живой.
– Если у живой клетки есть ровно 2 или 3 живых соседа, она продолжает жить.
– Если у живой клетки меньше 2 или больше 3 живых соседа, она умирает.
  • Задача 258. Д. Поэкспериментировать с Игрой Жизнь, найдя в интернете какую-то визуализацию. Попытайтесь сформулировать и доказать универсальность Игры Жизнь при подходящем способе кодирования алгоритмов исходных данных и результатов.
Поразительная для своего времени гипотеза Алана Тьюринга состояла в том, что:

Любая вычислимая функция на двоичных цепочках (а значит — на натуральных числах и на любых объектах, которые можно такими цепочками кодировать) вычисляется машиной Тьюринга.
Это утверждение называется Тезисом Чёрча. 1936–1938 гг. Тьюринг провел в Принстоне, США, где общался с ведущими американскими специалистами по математической логике и теории алгоритмов, научным руководителем его диссертационного исследования был Алонзо Чёрч. В последующие годы Чёрч популяризировал тезис, предложенный Тьюрингом, и этот тезис приобрел в США и в мире имя Чёрча.

Вся последующая вычислительная практика человечества подтверждает этот тезис.

Тезис Чёрча, как и Тезис Поста, рассмотренный ранее, замечательны тем, что предлагают сведение формализуемой интеллектуальной деятельности человека по выполнению алгоритма или поиску доказательств, ходов в игре и т. д. к очень простым операциям. Тем самым становится ясным, что построение тех или иных форм искусственного интеллекта есть вопрос технологический.