アッカーマン関数 $A(m, n)$ について、$A(2, 1) = 5$ となることを、途中式を書いて示す問題です。ただし、$A(2, 0) = 3$ と $A(1, 1) = 3$ であることは使ってよいものとします。アッカーマン関数の定義は、以下の通りです。 $ A(m, n) = \begin{cases} n+1 & \text{if } m = 0 \\ A(m-1, 1) & \text{if } m > 0 \text{ and } n = 0 \\ A(m-1, A(m, n-1)) & \text{if } m > 0 \text{ and } n > 0 \end{cases} $
2025/6/24
1. 問題の内容
アッカーマン関数 について、 となることを、途中式を書いて示す問題です。ただし、 と であることは使ってよいものとします。アッカーマン関数の定義は、以下の通りです。
$ A(m, n) =
\begin{cases}
n+1 & \text{if } m = 0 \\
A(m-1, 1) & \text{if } m > 0 \text{ and } n = 0 \\
A(m-1, A(m, n-1)) & \text{if } m > 0 \text{ and } n > 0
\end{cases}
2. 解き方の手順
まず、 を計算します。アッカーマン関数の定義に従い、 かつ の場合であるため、以下の式を使用します。
したがって、
問題文より、 であるので、
次に、 を計算します。 かつ であるため、再度定義に従い、
を計算します。
問題文より、 であるので、
を計算します。 なので、 の定義を使用します。
したがって、
を計算します。 なので、 の定義を使用します。
したがって、
最後に、 であることが示されました。