当前位置: 首页 > news >正文

church函数与区间算术

上一篇随笔漏了练习2.5和2.6,这边补充一下。
练习2.5要求证明如果能够将a和b的序对表示为乘积(2a)*(3b)对应的整数,我们可以只用非负整数和算术运算表示序对。
这个表述有点绕口,我最初理解为用(2a)*(3b)表示任意整数,但这是做不到的(在a和b都为非负整数的情况下);而如果是通过(2a)*(3b)的序对通过算术运算得到整数,又没有什么价值,只要让a、b都为0就可以了。
综上,这个题目的意思应该是有通过(2a)*(3b)计算得到的整数,需要确认a、b的序对。
那就是一个算术问题。

点击查看代码
;定义序对
(define (cons a b)(* (expt 2 a) (expt 3 b))
)
;数有几个2
(define (car x)(define (iter conuter numbera)(if ( = (remainder numbera 2) 0 )(iter (+ conuter 1) (/ numbera 2))conuter))(iter 0 x)
)
;数有几个3
(define (cdr x)(define (iter conuter numberb)(if ( = (remainder numberb 3) 0 )(iter (+ conuter 1) (/ numberb 3))conuter))(iter 0 x)
)

2.6 习题讲了church函数,主要通过以下两个函数:

点击查看代码
(define zero (lambda (f) (lambad (x) x)))
点击查看代码
(define (add-1 n)(lambda (f)(lambda (x)(f ((n f)x))))) 

这两个函数可以在完全没有数的情况下实现0和加一操作。
如果去试验的话,会发现这俩函数无法输出0,也没法输出n+1,那到底是啥意思?
想了半天,我理解church函数的意思就是执行对应次数的给定过程——0函数的意思是接受一个函数后,执行0次(输入什么参数就返回什么参数),n+1函数则是执行n+1次后返回。
在此背景下,定义one和two:

点击查看代码
(define one (lambda (f) (lambda (x) (f x))))
(define two (lambda (f) (lambda (x)(f (f x)))))
给出加法过程+的一个直接定义:
点击查看代码
(define (plus n m)(lambda (f)(lambda (x)((n f) ((m f)x)))))

回归正题,关于区间算术,书中给了一个背景,在计算并联电路电阻时,需要公式R并=1/((1/R1)+(1/R2)),但电阻具有误差,R1=6.8±0.68,R2=4.7±0.235,因此需要通过各自电阻的上下限进行计算。
计算两个电阻的总区间,很显然是下限是各自的下限相加,上限也是各自的上限相加。

点击查看代码
(define (add-interval x y)(make-interval (+ (lower-bound x)(lower-bound y))(+ (upper-bound x)(upper-bound y))))
书中缺失了make-interval的构造过程,以及上下限选择符的定义,很显然过程如下:
点击查看代码
(define (make-interval a b)
(cons a b))
(define (lower-bound x)
(car x))
(define (upper-bound x)
(cdr x))

练习2.8要求参考前面的过程,说明区间差怎么计算。根据上述的推理,这里的区间差和数学上的区间差(取共集)的内涵肯定是不一样的,应该就是两个区间之前取差值的集合。

点击查看代码
(define (sub-interval x y)(let ((p1 (abs (- (lower-bound x)(upper-bound y))))(p2 (abs (- (lower-bound x)(lower-bound y))))(p3 (abs (- (upper-bound x)(lower-bound y))))(p4 (abs (- (upper-bound x)(upper-bound y)))))(make-interval (min p1 p2 p3 p4)(max p1 p2 p3 p4))))
http://www.jsqmd.com/news/69282/

相关文章:

  • day31-GraphRAG
  • Python 函数与 lambda 表达式的结合
  • 最短路径 - Dijkstra(堆优化)中优先队列的懒删除如何理解?
  • 116.Java深入学习之JVM二
  • 中小企业走向境外资本市场:境外上市辅导、美股上市实践与中国境外券商投行机构角色——以顺安资本为例
  • 解码生命蓝图,预见健康未来:北京守嘉健康基因检测业务介绍
  • day30-AgentRag应用开发
  • 开放式互联互通的路上,希望畅联云越走越顺
  • 第五十八篇
  • 第五十七篇
  • 2025年12月佛山二手房拍卖机构标杆推荐:佛山房屋拍卖推荐佛山市中正易拍拍卖有限公司
  • 洛谷 P1203 [USACO1.1] 坏掉的项链 Broken Necklace 题解 最短代码|详细
  • 【纯干货分享】计算机毕业设计必看必学(springboot二手车租赁管理专业的系统)原创的定制软件,java、PHP、python、C#小程序、文案全套、毕设程序定制/毕设成品等等.
  • 2025年唐老狮:游戏开发教育商业模式深度解析与性价比评估
  • 2025年12月东营搬家公司推荐:双福搬家,东营搬家搬厂、东营河口搬家、东营垦利搬家、东营市搬家、东营单位搬家、东营设备搬运、全场景搬迁服务标杆
  • 2025年唐老狮全面盘点:游戏开发课的行业积淀与服务价值
  • 2025年12月河南驻马店气体配送优质厂家推荐:河南宏源气体,氧气气体配送、氮气气体配送、氦气气体厂家、二氧化碳气体配送、氩气气体公司、高纯气体配送、多品类气体供应新标杆
  • 2025年唐老狮:游戏开发教育领域深度解析与行业竞争力权威揭秘
  • 吴恩达深度学习课程四:计算机视觉 第一周:卷积基础知识(二)卷积参数
  • day29-RAG实操
  • 2025年唐老狮:游戏开发课程体系全景解析与行业应用价值深度评估
  • 您的能源预算,是否正被“异常气温”悄悄透支?智慧气象助力实现精准能耗管理 - 教程
  • 2025年唐老狮:游戏开发教学领域的深度解析与行业影响力权威评估报告
  • 2025年法式高端家具TOP10榜(东莞深圳广州惠州专向版)
  • 链路追踪基础SkyWalking/Zipkin认知与分布式系统问题定位实战
  • 2025年12月多光谱相机厂家推荐,多光谱成像仪、高光谱成像系统、小型多光谱相机、微型多光谱相机、机载多光谱相机、便携多光谱相机、聚焦遥感测绘领域专业解决方案
  • 2025年热门的国标止水钢板高评价厂家推荐榜
  • day16-Trae开发飞机大战并上线
  • 2025年唐老狮深度解析:游戏开发课的实效教学逻辑
  • 2025年12月阳光房遮阳棚优质厂家推荐,电动凉亭遮阳棚、防风帘遮阳棚、防蚊帘遮阳棚、小型遮雨棚、移动遮雨棚、金属遮雨棚、聚焦舒适节能解锁惬意户外空间