Открыть сервис

Теория вычислимости

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

История

Предыстория и формализация алгоритма

До начала XX века понятие «алгоритм» использовалось в интуитивном смысле — как последовательность действий для решения конкретной арифметической или геометрической задачи. Математики, такие как Евклид (алгоритм Евклида) и Аль-Хорезми, заложили его основы, но строгого определения не существовало. Развитие математической логики в работах Д. Гильберта, А. Чёрча и С. Клини в 1920–1930-х годах привело к необходимости формализовать понятие вычислимости. Программа Гильберта по проверке непротиворечивости математики потребовала точного определения того, что значит «механически решить проблему».

Ключевые работы 1930-х годов

В 1936 году Алонзо Чёрч предложил лямбда-исчисление — формальную систему для определения вычислимых функций. Одновременно Алан Тьюринг опубликовал статью «О вычислимых числах…», где ввёл абстрактную модель — машину Тьюринга, состоящую из бесконечной ленты, головки чтения/записи и конечного набора состояний. Тьюринг доказал, что любая функция, вычислимая механически, может быть реализована на его машине.

Несколько неделями ранее Эмиль Пост независимо описал аналогичную модель (машина Поста). В том же году Гёдель сформулировал рекурсивные функции, а Черч и Клини развили их теорию. Работы Чёрча, Тьюринга и Поста привели к формулировке тезиса Чёрча–Тьюринга, согласно которому неформальное понятие алгоритма эквивалентно вычислимости на машине Тьюринга (или на любой эквивалентной модели). Этот тезис не является доказуемым в строго математическом смысле, но принят научным сообществом.

Проблема останова и неразрешимость

Тьюринг также поставил и решил одну из центральных задач теории — проблему остановки: можно ли написать алгоритм, который для любой произвольной программы и её входных данных определяет, завершится ли её выполнение (или уйдёт в бесконечный цикл)? Он доказал, что такой алгоритм невозможен: существует программа, поведение которой нельзя предсказать никакой другой универсальной машиной. Это был первый пример принципиально неразрешимой задачи.

В 1936 году Чёрч, независимо от Тьюринга, доказал неразрешимость проблемы разрешимости для логики первого порядка (Entscheidungsproblem). Эти результаты положили начало теории неразрешимых задач.

Развитие в послевоенный период

Во второй половине XX века теория вычислимости развивалась в нескольких направлениях. Появились теория рекурсии (С. Клини, Э. Пост, Д. Роджерс), изучающая иерархии неразрешимых множеств, теория сложности вычислений (С. Кук, Р. Карп, Л. Левин), отделившая вычислимые задачи от сложности их решения, и теория описательной сложности (Р. Фейн, М. Абрамский). Были введены такие понятия, как оракульные машины (машины Тьюринга с внешним источником ответов), индексные множества, степени неразрешимости, m-сводимость и тьюрингова сводимость. В 1970–1980-х годах началось активное применение идей вычислимости в анализе параллельных вычислений, квантовых вычислений и биологических моделях (например, ДНК-вычисления).

Основные модели вычислений

Машина Тьюринга

Машина Тьюринга (МТ) — абстрактное устройство, состоящее из:

МТ считается универсальной моделью: любая вычислимая функция может быть реализована на подходящей МТ.

Лямбда-исчисление

Лямбда-исчисление — формальная система, основанная на абстракции функции и применении (аппликации). Выражение в лямбда-исчислении имеет вид λx.M, обозначающее функцию от аргумента x со значением M. Основные правила — β-редукция (подстановка аргумента в тело функции) и α-конверсия (переименование связанных переменных). Система является тьюринг-полной, то есть эквивалентна по выразительной силе машине Тьюринга.

Рекурсивные функции

Теория рекурсивных функций, развитая Гёделем, Клини и Робинсоном, определяет класс всех функций, которые могут быть получены из базовых (константа zero, функция следования, функции проекции) с помощью композиции, примитивной рекурсии и минимизации (оператора μ-рекурсии). Функции, вычислимые по Тьюрингу, в точности совпадают с частично-рекурсивными функциями — наиболее широким классом.

Другие модели

Основные понятия и результаты

Вычислимые функции

Функция называется вычислимой, если существует машина Тьюринга (или любая эквивалентная модель), которая для любого входного значения из её области определения останавливается и выдаёт соответствующее выходное значение. Если функция не определена для некоторых входов, она называется частично вычислимой.

Неразрешимые задачи

Помимо проблемы остановки, к классическим неразрешимым задачам относятся:

Сводимость и степени неразрешимости

Задача A сводится к задаче B, если решение B позволяет решить A. Основные типы сводимости:

На основе T-сводимости строится иерархия степеней неразрешимости (тьюринговых степеней), частично упорядоченных множеств, где каждой задаче сопоставляется её класс эквивалентности.

Теория рекурсии

Раздел изучает свойства множества всех вычислимых функций. Важные результаты:

Классификация задач по сложности

Хотя теория вычислимости отвечает на вопрос о принципиальной разрешимости, теория сложности вычислений изучает ресурсные затраты (время, память) для решения разрешимых задач. Однако в рамках самой теории вычислимости существует иерархия неразрешимых множеств по их «степени сложности» (по тьюринговой степени).

Рекурсивно перечислимые множества

Множество A называется рекурсивно перечислимым (р.п.), если существует машина Тьюринга, перечисляющая его элементы (возможно, с повторениями). Например:

Проблема P vs NP

Строго говоря, проблема P ≠ NP относится к теории сложности, а не к вычислимости, так как P и NP — классы разрешимых задач. Тем не менее, она тесно связана: если P = NP, то многие задачи дискретной математики, традиционно считающиеся труднорешаемыми, окажутся вычислимыми за полиномиальное время.

Применение и значение

В математике

Теория вычислимости дала строгий аппарат для доказательства теорем неразрешимости в различных областях: теории групп (проблема тождества слов), теории чисел (диофантовы уравнения), математической логике (теорема Гёделя о неполноте как частный случай неразрешимости). Она также обосновала границы формальных систем.

В информатике

В философии

Теория вычислимости ставит фундаментальные вопросы о природе познания и границах человеческого разума: существуют ли задачи, которые принципиально не могут быть решены ни человеком, ни машиной? Результаты Тьюринга и Чёрча считаются эмпирическим свидетельством того, что такие задачи существуют.

Интересные факты

Критика и альтернативы

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →