Гугология Вики
Гугология Вики
Advertisement

Функция занятого бобра(она же функция BB или сигма-функция Радо, обозначаемая или ) — отличительная быстрорастущая функция из теории вычислимости. Это наиболее известная из невычислимых функций. Она определяется как максимальное количество единиц, которые могут быть записаны (на готовую ленту) с n состояниями, двухцветной остановкой Машины Тьюринга, начиная с пустой ленты перед остановкой.[1][2] Эти машины Тьюринга называются занятыми бобрами.

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

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

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

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

Busy Beaver Turing Machines - Computerphile

Несколько разных машин Тьюринга заданного размера могут быть занятыми бобрами. Например, следующие машины с тремя состояниями и двумя символами выдают максимум шесть единиц:[3]

A B C
0 1RB 0RC 1LC
1 1RH 1RB 1LA
A B C
0 1RB 1LC 1RA
1 1RC 1RH 0LB

Неофициальное объяснение[]

Гостиница "Робот вечности"[]

Представьте себе бесконечный ряд гостиничных номеров, и в каждом номере есть лампочка и выключатель, который управляет ею. Изначально во всех комнатах темно. Робот запускается в одной из комнат и имеет возможность управлять переключателями и перемещаться в соседние комнаты.

У робота есть несколько состояний, в которых он может находиться, и каждое состояние определяет, что он должен делать, в зависимости от того, светло в текущей комнате или темно. Например, правила робота могут включать в себя следующие состояния:

  • "Напуганное" состояние:
    1. Если в комнате темно, включите свет и перейдите в комнату слева.
    2. Если в комнате светло, ничего не делайте и перейдите в "нормальное" состояние.
  • "Нормальное" состояние:
    1. Если в комнате светло, выключите свет и перейдите в комнату справа.
    2. В противном случае перейдите в состояние "напуган".

Одним из особых состояний является состояние "стоп". Когда робот оказывается в этом состоянии, процесс завершается.

Предположим, у робота есть n состояний (не включая состояние "стоп"), и он останавливается. Каково максимальное количество светлых комнат на данный момент?

Эта система является прямой аллегорией машин Тьюринга. Отель - магнитная лента, робот - машина Тьюринга, а тёмные и светлые комнаты - ячейки 0 и 1.

Пример[]

Предположим, что n = 3. Оказывается, что следующий набор правил выигрывает:

  • "Нормальное" состояние (начальное состояние):
    1. Если в комнате темно, включите свет и переместитесь вправо. Затем перейдите в состояние "осторожно".
    2. Если в комнате светло, переместитесь влево и перейдите в состояние "легкомысленный".
  • Сосотояние "осторожно":
    1. Если в комнате темно, включите свет и переместитесь влево. Затем перейдите в состояние "нормальное".
    2. Если в комнате светло, двигайтесь вправо. (Оставайтесь в состоянии "осторожно".)
  • Состояние "легкомысленное":
    1. Если в комнате темно, включите свет и переместитесь влево. Затем перейдите в состояние "осторожно".
    2. Если в комнате светло, остановитесь.

Невычислимость[]

При соблюдении правильных правил машин Тьюринга (М-нТ) могут выполнять любую вычислимую операцию, несмотря на их кажущуюся простоту. Если компьютер может вычислить это за конечное время и пространство (даже теоретически), то МТ также может сделать это за конечное (хотя, вероятно, и более длительное) время и пространство. С точки зрения вычислимости процессоры М-нТ и Intel - это одно и то же, хотя первый намного проще. Этот важный факт известен как тезис Чёрча — Тьюринга. (Некоторые эквивалентные простые устройства включают в себя теговые системы, некоторые клеточные автоматы, SKI combinator calculus и Brainfuck язык программирования.)

Легко смоделировать МТ, но гораздо сложнее предсказать поведение МТ. Это связано с тем, что некоторые М-ныТ никогда не останавливаются, и единственный способ проверить это - А) бесконечно моделировать их или Б) найти и доказать закономерность. Вариант А физически невозможен, а вариант Б сложен — как компьютер распознает произвольные шаблоны? — а также проблематично, потому что многие М-ныТ демонстрируют хаотичное поведение и не имеют простых паттернов.

Основная проблема здесь заключается в том, что компьютеры не более мощны, чем М-ныТ. Чтобы контролировать произвольные М-ныТ, нам нужно что-то более мощное, чем МТ. Но, согласно тезису Чёрча–Тьюринга, компьютеры, которыми мы располагаем сегодня, в вычислительном отношении эквивалентны М-намТ! Наблюдать за ними и, таким образом, вычислять невозможно.

Гостиница "Божество вечности"[]

Множество всех наборов правил МТ счётно бесконечно - М-ныТ могут быть сопоставлены один к одному с натуральными числами. На самом деле, давайте обозначим их МТ #1, МТ # 2, МТ # 3, ... Точное отображение, которое мы используем, не имеет значения, до тех пор, пока какая-либо МТ может восстановить набор правил по заданному номеру машины.

Обратите внимание, что каждая из М-нТ в этой последовательности может иметь любое конечное число состояний. Есть машин Тьюринга для состояний, поэтому TM # 1-64 могут быть машинами с одним состоянием, М-ныТ #65-20801 - все машины с двумя состояниями, М-ныТ #20802-16798018 - все машины с тремя состояниями и т.д.

Мы дополняем "Робота из гостиницы Вечности", добавляя в него бога. Вводятся три новых специальных состояния: "спросить", "да" и "нет". Если робот переходит в состояние "спросить", он связывается с Триакулой, Богиней Больших чисел. Затем Триакула выполняет следующие действия:

  • Она подсчитывает все светлые комнаты и называет результат "x".
  • Она имитирует МТ #x (что невозможно ни для кого, кроме божества).
  • Если МТ #x останавливается, она переводит робота в состояние "да". В противном случае она переводит его в состояние "нет".

Мы задаём тот же вопрос, что и раньше. Учитывая доступ к богу, какое максимальное количество светлых комнат возможно для остановки робота? Это функция от n, количества состояний, в которых находится робот (исключая "спросить", "да", "нет" и "остановка").

Эта новая расширенная ситуация является аллегорией для машин Тьюринга oracle. Для них существует несколько эквивалентных определений; некоторые используют дополнительную ленту для oracle, а некоторые используют другие состояния, отличные от "спросить", "да" и "нет".

Выше гостиницы "божества Вечности"[]

В истинном духе гугологии вы всегда можете пойти на шаг дальше. Мы можем ещё раз превзойти машины Тьюринга oracle, перечислив их МТ2 , МТ2 #1, МТ2 #2, МТ2 #3, ..., где МТ2 расшифровывается как "машина Тьюринга 2-го уровня" или машина Тьюринга oracle. Превзойдя "те", мы можем получить более высокие показатели машин Тьюринга: МТ3, затем МТ4, затем МТ5, ...

Что мы делаем после прохождения всех этих уровней? Мы можем создать новую "машину Тьюринга уровня ω", или МТω, которая имеет доступ ко всем этим уровням машин Тьюринга. Используйте эту таблицу:

МТ1#1 МТ1#2 МТ1#3 МТ1#4 МТ1#5
МТ2#1 МТ2#2 МТ2#3 МТ2#4 МТ2#5
МТ3#1 МТ3#2 МТ3#3 МТ3#4 МТ3#5
МТ4#1 МТ4#2 МТ4#3 МТ4#4 МТ4#5
МТ5#1 МТ5#2 МТ5#3 МТ5#4 МТ5#5

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

МТω#1 МТω#2 МТω#9 МТω#10 МТω#25
МТω#4 МТω#3 МТω#8 МТω#11 МТω#24
МТω#5 МТω#6 МТω#7 МТω#12 МТω#23
МТω#16 МТω#15 МТω#14 МТω#13 МТω#22
МТω#17 МТω#18 МТω#19 МТω#20 МТω#21

Теперь у нас есть определение МТω #n, таким образом, мы успешно превзошли все машины Тьюринга порядка n.

Кстати, максимальный выходной сигнал МТa с n состояниями равен Σa(n).

За пределами[]

Добавив oracle для TMω, мы можем продолжить с тем, что можно было бы назвать "машиной Тьюринга уровня ω+1", или TMω+1, затем, добавив другой уровень oracle, мы можем получить TMω+2 и так далее. После того, как мы определим TMω+a для всех положительных целых чисел a, мы можем использовать трюк, аналогичный тому, который использовался в предыдущем разделе, чтобы построить "машину Тьюринга уровня ω+ω", которая была бы способна решить проблему остановки для всех TMω+a.

С помощью ординалов мы можем продолжить этот метод дальше, и мы могли бы определить TMα для любого счётного ординального числа α. Однако из-за возрастающей сложности кодировок оракулов высокого порядка работать с этим становится очень непрактично, вот почему математики рассматривают различные способы расширения понятия вычислимости. Одним из них, заслуживающим упоминания, является машина Тьюринга с бесконечным временем, разработанная Джей. Д. Хэмкинсом и А. Льюисом.

Изменения ленты[]

Ниже приведены фотографии, иллюстрирующие смену ленты для занятых бобров двух, трёх и четырёх состояний и рекордсмена для пяти.

Связанные функции[]

Tree cut by beaver

Выходная запись одного или нескольких занятых бобров в Мендзыхуде, Польша.

Функция максимального сдвига[]

Другая функция, имеющая сопоставимую скорость роста, — , максимальное конечное число шагов, которое может выполнить двухцветная машина Тьюринга с n-состояниями. Некоторые авторы называют эту функцию функцией занятого бобра.[4][5] Для всех , потому что машина, которая печатает единиц, должна претерпеть как минимум столько же переходов состояний.

Аналогично, — максимальное конечное число шагов, которое может выполнить машина Тьюринга с n-состояниями и m-цветами.

Машина, производящая , не обязательно является той же самой машиной, которая производит . Например, следующий занятой бобёр с 3 состояниями и 2 символами выдаёт максимум шесть единиц, но выполняет только 14 шагов:[6]

A B C
0 1RB 0RC 1LC
1 1RH 1RB 1LA

Для сравнения, следующий занятой бобёр делает максимум 21 шаг, но выдаёт только пять единиц:[7]

A B C
0 1RB 1LB 1LC
1 1RH 0RC 1LA

— наименьшее известное значение функции максимального сдвига, которое неразрешимо в ТМЦФ, если оно непротиворечиво.[8] Первая такая построенная МТ включала 7918 состояний.[9] Таким образом, — наименьшее известное неразрешимое число в ТМЦФ, порождённое функцией максимального сдвига в том смысле, что равенство недоказуемо в ТМЦФ для любого мета-теоретического натурального числа до тех пор, пока оно непротиворечиво. Это небольшое улучшение по сравнению с ранее известным порогом .[10][11]

Тривиальные расширения[]

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

Функции занятого бобра более высокого порядка[]

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

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

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

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

Псевдокод[]

Это "алгоритм времени выхода" для нахождения нижних границ — если машина Тьюринга не останавливается после t шагов, предполагается, что она работает бесконечно. Установка бесконечности даёт верное значение BB(n), но это, очевидно, невозможно сделать на компьютере.

function BB(n, t):
    max := 0
    for each rule set r:
        simulate a Turing machine with ruleset r for t steps
        if the machine halts:
            if number of 1's printed > max:
                max := number of 1's printed
    return max

Этот метод использовался для вычисления и , а также границ для и .

Метод нахождения границ "снизу вверх" путём построения машин Тьюринга с большими выходными данными представляет собой сложную проблему. Пока что это удалось сделать только людям, а компьютерные доказательства, ограничивающие для больших , ещё предстоит изучить. Примером такой программы является программа BBprover компании Skelet.[12]

Монотонность[]

очевидно монотонна. По крайней мере, если у нас есть машина Тьюринга с -состояниями, которая останавливается на символе 0, то для машины Тьюринга с -состояниями мы можем заменить правило остановки правилом, которое переходит в состояние . В состоянии мы переходим в состояние остановки и записываем 1, записывая единиц и доказываем, что . Если у нас есть машина Тьюринга с -состояниями, которая останавливается на символе 1, мы делаем то же самое, за исключением того, что в -м состоянии головка переходит в левый или правый угол единицы, записывает 1 и останавливается.

Смотрите также[]

Примечания[]

Advertisement