1.介绍

在本教程中,我们将讨论Ackermann函数和与其计算相关的问题。

我们首先将研究其定义并计算其输出以获取输入的小值。然后,我们将在迭代指数和迭代方面提供分析定义。

在本教程结束时,我们将知道Ackermann功能的定义,并了解其特殊特征的原因。

2. Ackermann函数的定义

Ackermann功能通常用\ textbf {a},这是一个众所周知的二元函数。它的两个输入术语可以假设任何非负整数值。因此定义了Ackermann函数:

QuickLatex.com呈现

这种定义在其本质上是简单的。然而,令人惊讶的是,它导致迷人和意外的行为,因为函数的输入增长了。

3. Ackermann功能用于小输入

本身的定义可能对我们来说可能不是非常有信息:因此,理解此功能的好方法是计算其一些值。在这里,我们从其输入的最低值开始。

让我们逐步创建一个包含值的表\ OperatorName {a}(m,n), 作为mN各不相同。最简单的情况是m = 0.,该函数假设值n + 1

QuickLatex.com呈现

第二个最简单的情况是\ mathbf {n = 0}在这里,函数假设对应单元格右上方的值。这是直观的,我们在我们的表格的单元格中分配给第二种定义的含义。

我们可以预结\ OperatorName {A}(m,n = 1)对于几个值m然后,然后相应地填充前两列。为简单起见,我们现在将表填充到第四行,对应m = 3.

QuickLatex.com呈现

4.递归的深度

对于更高的输入值,计算Ackermann函数变得越来越难。看看为什么这是如此,研究如何为相对较小的输入值逐步计算解决方案是有意义的

让我们在计算过程中寻找示例\ OperatorName {A}(m = 1,n = 2)。因为m> 0.n> 0.,我们落在分析定义的第三种情况下。因此,我们需要计算:

\ OperatorName {A}(1,2)= \ OperatorName {A}(0,\ OperatorName {A}(1,1))

第二项是对该功能的调用\ OperatorName {A}本身,我们需要先解决。因为\ operatorname {} (1,1)再次进入分析定义的第三种情况下,我们需要用替换它\ OperatorName {A}(0,\ OperatorName {A}(1,0))

\ OperatorName {A}(1,2)= \ OperatorName {A}(0,\ OperatorName {A}(0,\ OperatorName {A}(1,0)))

最右边的运算符现在具有与分析定义的第二种情况相对应的表单。因此它等于\ OperatorName {A}(0,1)

\ OperatorName {A}(1,2)= \ OperatorName {A}(0,\ OperatorName {A}(0,\ OperatorName {A}(0,1)))

因为最后一个运算符现在对应于定义的第一种情况,所以我们可以用其相应的值替换它\ OperatorName {A}(0,1)= 2

\ OperatorName {A}(1,2)= \ OperatorName {A}(0,\ OperatorName {A}(0,2))

最右边的运算符也是我们的,并且它评估\ OperatorName {A}(0,2)= 3

\ OperatorName {A}(1,2)= \ OperatorName {A}(0,3)

最后,我们再次申请第一个案例的定义,我们可以找到价值\ OperatorName {A}(0,3)= 4,我们分配到价值\ OperatorName {A}(1,2)= 4。如果我们将函数定义为程序,总而言之,计算\ textbf {a} \ mathbf {(1,2)},我们必须执行6个函数的调用

5.在兔子洞下

请注意,递归调用的数量\ OperatorName {A}生长很快。事实上,这是我们从桌子的第五行和向前观察到的奇怪行为的原因。这些是与之相关的值\ OperatorName {a}(m,n)什么时候m = 4.

QuickLatex.com呈现

在上表中,双箭头\ Uprarow \ Uprarow表示迭代指数,表达Knuth的表示法。请注意,来自\ OperatorName {A}(4,2)在向上,该功能总是评估到数字的数字他们不能轻易涂上。每次随后增量mm = 4.我们再次迭代迭代指数

QuickLatex.com呈现

最后,因为递归很深,所以Ackermann功能发现频繁用法编译器表现的度量标准它也是一个很好的测试基准测试内存的有效分配

6。结论

在本教程中,我们研究了Ackermann函数和与其计算相关的问题。

来宾
0.注释
内联反馈
查看所有评论