当前位置: 首页 > 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.zskr.cn/news/79849.html

相关文章:

  • 最短路径 - Dijkstra(堆优化)中优先队列的懒删除如何理解?
  • 2025年12月注浆工程厂家推荐:安徽林固,道路注浆、空鼓注浆、公路注浆、路基注浆、地基注浆、厂房注浆、地坪注浆、矿山注浆、多场景注浆解决方案服务商
  • 解码生命蓝图,预见健康未来:北京守嘉健康基因检测业务介绍
  • day30-AgentRag应用开发
  • 116.Java深入学习之JVM二
  • 【纯干货分享】计算机毕业设计必看必学(springboot二手车租赁管理专业的系统)原创的定制软件,java、PHP、python、C#小程序、文案全套、毕设程序定制/毕设成品等等.
  • 开放式互联互通的路上,希望畅联云越走越顺
  • 吴恩达深度学习课程四:计算机视觉 第一周:卷积基础知识(二)卷积参数
  • 2025年法式高端家具TOP10榜(东莞深圳广州惠州专向版)
  • 2025年唐老狮:游戏开发教学领域的深度解析与行业影响力权威评估报告
  • 为什么会诞生流形的概念?
  • 2025年12月多光谱相机厂家推荐,多光谱成像仪、高光谱成像系统、小型多光谱相机、微型多光谱相机、机载多光谱相机、便携多光谱相机、聚焦遥感测绘领域专业解决方案
  • 2025年12月丝杆升降机标杆厂家最新推荐:德州德特机械,螺旋升降机、sjb螺旋升降机、zimm螺旋升降机、SJA螺旋升降机、联动丝杆升降机、螺旋丝杆升降机、专注精密传动新标准
  • 2025年唐老狮全面盘点:游戏开发课的行业积淀与服务价值
  • Thinkphp---配置路由访问控制器
  • 2025年唐老狮深度解析:游戏开发课的实效教学逻辑
  • day29-RAG实操
  • 2025年12月安检门厂家推荐:广东中安技术,手机安检门、贵金属安检门、探铜安检门、高精度安检门、半导体芯片安检门、多场景精准安检解决方案领航者
  • 2025短片产业“效率革命”,AI如何让编剧摆脱“无效内卷”?
  • day15-影刀对接Coze实现微信自动回复
  • 2025年热门的240KW充电桩/新能源充电桩厂家最新权威推荐排行榜
  • LMCache:基于KV缓存复用的LLM推理优化方案
  • 2025年12月冲床静音房厂家最新推荐:常州双静环保,设备静音房、测试静音房、冲床隔音房、设备隔音房、测试隔音房、解决方案新标准
  • 2025年12月塑胶跑道标杆厂家最新推荐:湖北中奥特,复合型塑胶跑道、透气型塑胶跑道、自结纹塑胶跑道、老国标塑胶跑道、全塑型塑胶跑道、施工维护一体化服务新标准
  • ee
  • 2025年12月北京园林景观公司标杆推荐:北京缘晟源,园林景观绿化养护、庭院绿化、覆盖京津冀多场景绿化服务
  • 2025年比较好的除湿机品牌高评价厂家推荐榜
  • Python 知识讲解 + 示例代码 + 讲解
  • 2025实用AI洗头机品牌推荐榜:仪美天引领智能洗护,各大品牌各展所长
  • 2025年口碑好的全屋定制衣柜灯厂家最新实力排行