Вычислимая функция (или рекурсивная функция) — частично вычислимая функция, которая является полной. То есть вычислимая функция — функция, которая может быть вычислена с помощью машины Тьюринга. Функция , которая не является вычислимой, называется невычислимая.
Предположим, у нас есть двухцветная машина Тьюринга . Учитывая положительное целое число , мы устанавливаем ленту пустой, за исключением последовательных записей, крайняя левая из которых находится в положении головки TM. Мы моделируем машину Тьюринга, и происходит одно из следующих событий:
- Она останавливается с последовательностей на ленте, с головкой, расположенной на крайнем левом. В этом случае мы говорим, что результаты — -заданный ввод .
- Она останавливается, но у неё нет конфигурации, описанной выше.
- Она не останавливается.
Пусть — множество всех упорядоченных пар , для которых выводит при заданном вводе . Мы можем видеть, что является кусочной функцией с доменным пространством и кодоменом . Мы говорим, что "вычисляет" , а частично вычислимая функция (или частично рекурсивная функция) — кусочная функция, для которой существует машина Тьюринга, которая её вычисляет.
Невычислимая функция может (эфемистически) относиться к "невычислимой быстрорастущей функции". Существуют функции, которые в конечном итоге доминируют над всеми вычислимыми функциями, самым известным примером является функция занятого бобра. Такие функции неизбежно несовместимы и растут исключительно быстро. Важно отметить, что не все невычислимые функции обладают этим свойством — примером может быть функция , определённая как , если (в некотором фиксированном порядке) машина Тьюринга останавливается, и в противном случае.
Обратите внимание, что невычислимость данной функции, как правило, очень сложна. Например, учитывая невычислимую функцию , такую как , у нас обычно нет очевидного способа вычислить , но это не подразумевает её невычислимость. Например, когда задаётся как , то легко показать , и, следовательно, вычислимо.
Интуитивно понятно, что "почти все" функции над натуральными числами не поддаются вычислению — существует бесчисленное множество вычислимых функций и неисчислимое множество функций над натуральными числами.
Свойства вычислимых функций[]
Теорема: Множество вычислимых функций замкнуто по составу.
Доказательство: Учитывая вычислимые и , мы хотим показать, что вычислимо. Пусть — машина Тьюринга, которая вычисляет , а — машина Тьюринга, которая вычисляет , такая, что состояния и не пересекаются. Пусть — состояния , пусть — начальное состояние, — состояние остановки, и — функция перехода, и тому подобное для . Затем определите машину Тьюринга следующим образом:
- где заменяет все экземпляры в на .
- ⤳ для не и вычислимо. Таким образом, вся последовательность вычислима.
Поскольку эта машина Тьюринга эффективно вычисляет , а затем , связанная с ней вычислимая функция равна . Следовательно, вычислимо.
Известные невычислимые функции[]
В настоящее время большинство невычислимых быстрорастущих функций являются производными от функций занятого бобра или Райо.