lamda运算学习笔记

lamda运算学习笔记lamda->Llamda演算至少从表面上看,有着这样一种企图:将所有运算操作,以及自然数都抽象成“函数”(再一次见识到函数这个概念的伟大)。下面简单的介绍下lamda演算。lamda演算的原始定义看起来比较无聊:(Lx.[fx])a=fa上式用熟悉的概念翻译,就是自变量为x的函数f(x),代入x=a,得f(a)但是这里有

大家好,又见面了,我是你们的朋友全栈君。

lamda -> L

lamda演算至少从表面上看,有着这样一种企图:
将所有运算操作,以及自然数都抽象成“函数”(再一次见识到函数这个概念的伟大)。下面简单的介绍下lamda演算

lamda演算的原始定义看起来比较无聊:

(Lx. [fx]) a = fa

上式用熟悉的概念翻译,就是自变量为x的函数f(x),代入x=a,得f(a)

但是这里有一个扩展:不仅f本身是函数,而且x和a也是函数!而且f也可以作为自变量,即

(Lf. [fx]) g = gx

至此,可以看出,“L”后面至“.”前面的符号其实就是自变量

接下来我们可以看看如何用这种定义表示自然数:

考虑复合函数的表示:

(Lf. [f(fx)]) g = g(gx)

如果做的更彻底一些,把x也当做自变量(没错,这就是二元函数的表示):

Lf. [Lx. [f(fx)]]

将上式缩写为

Lfx. [f(fx)]

并且将“2”的“函数”表达形式,定义为:

2 = Lfx. [f(fx)] (此时,”2″是一个函数而不仅仅是一个数字)

于是,我们有这么一个结论:2重复合函数表示“2”

类似地,我们得到其他自然数的定义:

3 = Lfx. [f(f(fx))]

4 = Lfx. [f(f(f(fx)))]

1 = Lfx. [fx]

0 = Lfx. [x]

… …

接下来,lamda演算的神奇之处在此展开:

考虑函数S = Labc. [b((ab)c)] 的用处,将3代入函数:

S 3 

= Labc. [b((ab)c)] 3

= Lbc. [b((3 b)c)] (实际上即代入a = 3)

= Lbc. [b(b(b(bc)))]

= 4

可见,S的作用就是“+1”操作

上述函数S的神奇之处在于,运用完全抽象的函数运算,取代具体的算术运算。

【写于2012年11月】


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138797.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webservice配置_webService

    webservice配置_webService今天看了一下webService,写了一个测试,在测试的途中遇到一些问题。记录一下。。。Service端的代码packagecom.test.ws;importjavax.jws.WebMethod;importjavax.jws.WebService;@WebServicepublicinterfaceHelloWS{ @WebMethod publicStringsayHell…

    2022年9月13日
    4
  • LeetCode :: Validate Binary Search Tree[具体分析]

    LeetCode :: Validate Binary Search Tree[具体分析]

    2022年1月3日
    51
  • Linux yum安装与卸载

    Linux yum安装与卸载yum安装与卸载背景由于某种原因删了/usr/share中的yum-plugins、yum-cli文件夹,导致了yum命令失效,后发现之后,从其他虚拟机中导入了这两个文件夹,但是还是缺少了配置文件,导致yum命令一直不能使用,从avro,telnet一直忍到了,安装mysql,实在找不到其他的方法了,然后就想到了卸载重装yum.错误如下把错误的原因在网上搜了一下,几乎所有的博客,都指向了不能联网

    2022年5月17日
    130
  • 脑电独立成分分析(independent component analysis)「建议收藏」

    脑电独立成分分析(independent component analysis)「建议收藏」相比其它成像方法,EEG更为便捷低价,无论是拿erp成分还是做时频分析,提高信噪比始终是EEG分析的重点。将ICA应用在EEG分析中,可以较好的识别并去掉眼动和其它噪音(heartbeat,linenoise,musclenoise)。但对ICA分析前的预处理和后期成分的识别,缺少详细的说明。以下的分析方法主要参考EEGLAB给的非官方说明,tutorial的第九章和第十章,BoyLu…

    2022年5月17日
    34
  • ldap统一用户认证php,Docker搭建OpenLDAP+phpLDAPadmin统一用户认证的方法「建议收藏」

    一、背景使用LDAP对运维相关用户名密码做统一管理。可以实现一个帐号登录多个不同系统。手动部署都是各种问题,后来采用Docker部署,参考了好多教程文档总结如以下内容亲测可用二、部署Docker搭建LDAP#拉取镜像dockerpullosixia/openldap:1.3.0#创建并进入映射目录mkdir-p/usr/local/ldap&&cd/usr/…

    2022年4月11日
    46
  • idhttp的socket error # 10054 错误的处理办法

    idhttp的socket error # 10054 错误的处理办法在通过http实现restful数据通讯时,死活出现:socketerror#10054导致这种情况的原因很复杂。同样的程序,在不同的环境中出现不同结果。通过观察,发现登录后获取toke

    2022年7月3日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号