【问题标题】:Query on Lambda calculus查询 Lambda 演算
【发布时间】:2010-06-21 00:12:46
【问题描述】:

继续Lambda Calculus书上的练习,问题如下:

假设 λ-演算的符号 字母总是 0.5 厘米宽。写 下一个长度小于 20 的 λ 项 cm 具有标准形式,长度为 至少 (10^10)^10 光年。速度 光是 c = 3 * (10^10) 厘米/秒。

我完全不知道在这个问题上需要做什么。谁能给我一些指针来帮助理解这个问题以及这里需要做什么?请不要解决或提及最终答案。

希望得到答复。

问候, 小黑子

【问题讨论】:

  • 我认为这是一个有效的问题,因为现在 lambda 演算对编程变得越来越重要。

标签: lambda-calculus


【解决方案1】:

对 lambda 演算一无所知,我理解的问题如下:

你必须写一个小于 20 厘米的 λ 项,其中一个符号是 0.5 厘米,这意味着你可以使用少于 40 个符号。此 λ 项应扩展为长度至少为 (10^10)^10 = 10^100 光年的范式,结果为 (10^100)*2*3*(10^10)*24* 60*60 符号。基本上是一个很长的递归函数。

【讨论】:

  • 我认为你的分析做得很好,你的表现足以让编写解决方案变得容易。
  • 我有一个疑问,我如何确定我的 λ - 递归函数会超过那么多符号?我的意思是,要确保的符号太多了,不是吗?
  • 是的,测试太多了——这正是任务的重点。您需要定义一个增长极快的函数。这种函数的一个例子是Ackermann function。我不确定这在 λ-Calculus 中的应用程度。 Busy Beaver 也是这样一个功能,在所有范围内都增长得非常快。
【解决方案2】:

这里还有一个提示:在 lambda 演算中,表示整数的典型方法是使用 Church 编码,即 一元 表示。因此,如果您将距离转换为数字,可以使用一个小函数来解决问题,该函数在应用于小数字时会终止并产生一个非常大的数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 2017-07-14
    相关资源
    最近更新 更多