Busy beaver
Поиск усердных бобров(англ. busy beaver) — известная задача в теории вычислимости. Под усердным бобром в теории вычислимости понимают машину Тьюринга с заданным числом состояний конечного автомата, которая будучи запущенной на пустой ленте, записывает на нее максимальное количество ненулевых символов и останавливается.
В данном конспекте будет рассмотрена функция, которая используется в этой задаче для подсчета числа шагов для завершения программы при определенном числе состояний.
Определение: |
(англ. busy beaver fuction) — функция от натурального аргумента (busy beaver fuction), равная максимальному числу шагов, которое может совершить программа длиной символов и затем остановиться. |
Утверждение: |
вычислимой функции , то есть для всех кроме конечного числа выполнено растет быстрее любой всюду определенной неубывающей |
Пусть представлена своим кодом. Для каждого определим программы вида:
:
k = {десятичная запись числа n};
f = f(k);
for i = 1 to f + 1 do
/* шаг программы */;
Каждая такая программа делает как минимум Длина шагов. будет равна , где — длина кода без десятичной записи . Пусть — решение уравнения . Тогда для всех натуральных , в силу неубывания , будет выполнено: . Так как конечно, то утверждение доказано. |
Вывод: доказав предыдущее утверждение, мы проверили, что максимальное число шагов, которое может совершить программа и при этом остановиться, на самом деле растет с большей скоростью, чем любая вычислимая функция. Отсюда следует, что
невычислима.См. также
Источники информации
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)
- Английская Википедия — Busy_beaver
- Федотов П.В., Царев Ф.Н., Шалыто А.А. — Задача поиска усердных бобров и ее решения