Явное му-рекурсивное выражение для функции Аккермана

15

Не могли бы вы указать, как построить функцию Аккермана (на самом деле меня интересует версия, предложенная Роузой Петером и Рафаэлем Робинсоном) с помощью стандартных мюрекурсивных операторов? Я пробовал оригинальные статьи Петера и Робинсона, но в работе Петера используется язык, отличный от английского, и работы Робинсона «Рекурсия и двойная рекурсия» и «Примитивные рекурсивные функции» также не помогают: первая из них кажется более актуальной, но использует ее так называется двойной операцией рекурсии для определения функции Аккермана, поэтому в этом случае ищется явное определение оператора в мюррекурсивных терминах.

Наиболее близко к ответу идет П. Смит в «Введение в теоремы Годеля» (CUP, 2007) (29.4 Функция Аккерманна-Петера µ-рекурсивна), но он приходит к следующему: «сделать аргумент водонепроницаемым довольно утомительно, хотя и не сложно. Изучать детали здесь нечего, поэтому мы не будем.

Я также попробовал книгу Рожи Петера «Рекурсивные функции» (1967, Academic Press). Существует множество вариантов операторов рекурсии. Обычно одно сводится к другому. Я считаю, что есть тип оператора рекурсии, который подходит для определения функции Аккермана и последовательности шагов, которые сводят ее к примитивным операторам перенаправления и минимизации, но я оказался не в состоянии исследовать весь путь вниз.

Артем Пеленицын
источник
1
На самом деле это не так сложно, как может показаться на первый взгляд. Хитрость заключается в том, чтобы позволить оператору найти вычисление функции Аккермана, то есть таблицу значений до входных данных, а затем проверить, что таблица соответствует определению функции. Требуется кодирование / декодирование конечных последовательностей и проверка таблицы. Кодирование / декодирование явно определены во многих учебниках, проверка может быть выполнена с помощью ограниченного универсального квантификатора по простому отношению между записями таблицы. Ограниченный универсальный квантификатор можно выразить как ограниченное умножение,μ
Kaveh
и явное определение ограниченного умножения в терминах рекурсии также можно найти в учебниках. μ
Каве
@Kaveh да, та же идея реализована в «Введение в теоремы Годеля» П. Смита. Там приведены кодировки и применение оператора минимизации. Сложность в том, как создать «таблицу», как вы ее называете. Смит пропустил это. Так что, похоже, мне придется подумать над этим сложнее, чем ждать здесь решений;) По крайней мере, спасибо за ваше одобрение общего подхода.
Артем Пеленицын
Таблица - это просто конечная последовательность, где записи индексируются в результате функции сопряжения. , где Р ( с , х , у )μс:Икс<LеN(с)Y,Z<Икс,Икс= <Y,Z> →с<Y,Z>знак равнор(с,Икс,Y)р(с,Икс,Y)является правой частью уравнения для . AсК(Икс,Y)
Каве

Ответы:

13

Разбить функцию Аккермана до элементарных операторов было бы довольно долго, но вот набросок:

Обратите внимание, что при вычислении рекурсивно, в любой точке вычисления вы имеете дело с выражением вида A ( m 1 , A ( m 2 , , A ( m kA(м,Икс) . биективная функция сопряжения p с обратным ( π 1 , π 2 ) , мы можем закодировать это состояние как p ( z , p ( k)A(m1,A(m2,,A(mk,z))p(π1,π2) (просто p ( z , 0 ) в случае k = 0 ). Затем мы можем определить одношаговую функцию оценки, учитывая состояние:p(z,p(k,p(mk,,p(m2,m1))p(z,0)k=0

;e(p(z,0))=p(z,0)

;e(p(z,p(k,p(0,c))))=p(z+1,p(k1,c))

;e(p(0,p(k,p(m+1,c))))=p(1,p(k,p(m,c)))

.е(п(Z+1,п(К,п(м+1,с))))знак равноп(Z,п(К+1,п(м+1,п(м,с))))

Затем вы получаете n-шаговую функцию оценки, используя примитивную рекурсию:

иЕ(0,м,Икс)знак равноп(Икс,п(1,м)) .E(n+1,m,x)=e(E(n,m,x))

Наконец, оберните рекурсию вокруг EμE чтобы найти точку, в которой мы до состояния вида - z будет A ( m , x ) .p(z,0)zA(m,x)

Клаус Дрегер
источник
Благодарность! Еще один вопрос (может быть, довольно наивный, извините): определения, подобные сопоставлению с образцом (f (0) = ..., f (n + 1) = ...), широко используемые, но я сомневаюсь, что они действительно ослаблены определение му-рекурсивной функции. Они?
Артем Пеленицын
Такое различие в регистре (например, определение через f ( 0 , y ) = g ( y ) и f ( x + 1 , y ) = hf(x,y)f(0,y)=g(y) ) является лишь частным случаем примитивной рекурсии, которая на самом деле не использует предыдущее значение. При вычислении A ( x , y ) , вы бы дополнительно использовали вспомогательные функции и обратные πf(x+1,y)=h(x,y)A(x,y) совсем немного, если вы хотите разбить это на основной набор операций. π1,π2
Клаус Дрегер
Например, вы можете перевести определение как e ( s ) = f 1 ( π 1 ( s ) , π 2 ( s ) ) , где f 1 ( z , 0 ) = p ( z , 0 ) и f 1 ( z , m + 1 ) = f 2 ( z , π 1eе(s)знак равное1(π1(s),π2(s))е1(Z,0)знак равноп(Z,0) , где f 2 ... вы понимаете. е1(Z,м+1)знак равное2(Z,π1(м+1),π2(м+1))е2...
Клаус Дрегер
7

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

Ключевым фактом является то, что график функции Аккермана примитивно рекурсивен. Нетрудно найти очень грубую примитивную рекурсивную границу в коде для таблицы значений Аккермана, необходимых для проверки того, что A ( m , n ) = w . Не пытайтесь получить четкие границы - чем тяжелее, тем легче! Что-то вроде B ( m , n , w ) = 2 m w wВ(м,N,вес)A(м,N)знак равновесВ(м,N,вес)знак равно2мвесвесдолжно быть достаточно хорошо, но это зависит от вашего выбора схемы кодирования. Поскольку проверка значений таблицы может быть описана ограниченной формулой, она является примитивно-рекурсивной.

Если у вас есть примитивно-рекурсивное определение для графа функции Аккермана, просто определите A ( m , n ) = µ wграмм(м,N,вес) .A(м,N)знак равноμвесграмм(м,N,вес)

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

Франсуа Г. Дорайс
источник
1
Привет Франсуа. Приятно видеть вас на истории.
Каве
Привет каве Приятно наконец получить что-то ответить здесь!
Франсуа Г. Дорайс