首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

sicp每日一题[1.45]

编程知识
2024年09月05日 13:03

Exercise 1.45

We saw in Section 1.3.3 that attempting to compute square roots by naively finding a fixed point of y->x/y does not converge, and that this can be fixed by average damping. The same method works for finding cube roots as fixed points of the average-dampedy x/y^2. Unfortunately, the process does not work for fourth roots—a single average damp is not enough to make a fixed-point search for y->x/y3 converge. On the other hand, if we average damp twice (i.e., use the average damp of the average damp of y->x/y3) the fixed-point search does converge. Do some experiments to determine how many average damps are required to compute nth roots as a fixed point search based upon repeated average damping of y->x/y^(n-1). Use this to implement a simple procedure for computing nth roots using fixed-point, average-damp,and the repeated procedure of Exercise1.43. Assume that any arithmetic operations you need are available as primitives.


这道题难度太难了,我最后也没能靠自己做出来。一个是怎么找到要执行几次average-damp,我一开始以为是 n-2,试了几个发现明显不是,又猜测是不是 n/2,结果还是不对,最后上网搜了一下才知道是 log 2(n),感兴趣的可以参考知乎的这个回答;知道了重复执行的次数,在编写代码的时候再次遇到了问题,我对于“把一个过程作为另一个过程的返回值”这个概念理解的还是不到位,没有理解(repeated average-damp n)之后还要给它传一个过程作为 average-damp 的参数,最后上网看了别人的答案才明白过来。下面是我的答案:

; 求 x 和 f(x) 的平均值
(define (average-damp f)
  (lambda (x) (average x (f x))))

; 对于任意正整数 n,求使得 2^k < n 的最大 k 值
(define (max-expt n)
  (define (iter k pre)
    (if (< n pre)
        (- k 1)
        (iter (+ k 1) (* 2 pre))))
  (iter 1 2))

(define (nth-root x n)
  (fixed-point ((repeated average-damp (max-expt n))
                (lambda (y) (/ x (expt y (- n 1)))))
               1.0))


(display (nth-root 2 2))
(newline)
(display (nth-root 32 5))
(newline)

; 结果
1.4142135623746899
2.000001512995761
From:https://www.cnblogs.com/think2times/p/18398300
本文地址: http://www.shuzixingkong.net/article/1762
0评论
提交 加载更多评论
其他文章 RuleLinKClient - 再也不担心表达引擎宕机了
原来有这么多时间 六月的那么一天,天气比以往时候都更凉爽,媳妇边收拾桌子,边漫不经心的对我说:你最近好像都没怎么阅读了。 正刷着新闻我,如同被一记响亮的晴空霹雳击中一般,不知所措。是了,最近几月诸事凑一起,加之两大项目接踵而至,确实有些许糟心,于是总是在空闲的时间泡在新闻里聊以解忧,再回首,隐隐有些
RuleLinKClient  - 再也不担心表达引擎宕机了 RuleLinKClient  - 再也不担心表达引擎宕机了 RuleLinKClient  - 再也不担心表达引擎宕机了
本来没有什么事情,删了服务器上一个文件夹,导致忙了快两个星期
我不在的大半年,大数据服务基本没问题,只过来维护过一两次 2024年大半年,大数据服务都比较稳定,我也只过来维护过一两次。8月份我又过来了,交接完离职同事的工作,本来没什么事情。 StatHub页面服务状态不刷新 StatHub是一个集群管理/应用编排/进程守护工具,可以用来高效的管理服务集群。具有
在stable diffussion中控制生成图片的光线
在摄影中,光线起着至关重要的作用,它对图像的整体质量和氛围有着显著的影响。您可以使用光线来增强主题,创造深度和维度,传达情感,以及突出重要细节。在这篇文章中,我会告诉你如何在stable diffussion中控制生成图片的光线。
在stable diffussion中控制生成图片的光线 在stable diffussion中控制生成图片的光线 在stable diffussion中控制生成图片的光线
开源文档管理系统 MinDoc 安装和使用教程
说到文档管理,很多团队的文档管理都是一团糟,每个员工在自己本地写了各种 Word 文档、Excel 表格、甚至还有手写的便签,到处都是,找起来就像大海捞针。有些聪明的团队开始用飞书来管理团队文档,但是并不适合所有团队,有的团队可能更倾向于使用开源的方案。今天就给大家介绍一款开源的文档管理系统 - M
开源文档管理系统 MinDoc 安装和使用教程 开源文档管理系统 MinDoc 安装和使用教程 开源文档管理系统 MinDoc 安装和使用教程
Gaussdb: CN修复失败对openssl版本依赖问题处理
1.问题背景 GaussDB轻量化分布式集群安装完成后,进行openssh和openssl升级,现有环境openssh-8.2p1-9.p03.ky10.x86_64和openssl-1.1.1f-2.ky10.x86_64版本,可以安装数据库,然后升级这两个版本到openssh-8.2p1-9.p
Gaussdb: CN修复失败对openssl版本依赖问题处理 Gaussdb: CN修复失败对openssl版本依赖问题处理 Gaussdb: CN修复失败对openssl版本依赖问题处理
40岁大龄失业程序猿,未来该何去何从
再过半年就40岁了,人到中年的我,正在经历着职业生涯中最大的一次坎坷,我失业了。24年的3月份,我上了公司的裁员名单,经过一个月的拉扯,在4月初,我收拾收拾东西,离开了公司,正式进入了失业大军。距离现在已经半年多了,在这半年里,我有很多的尝试,也有很多的感受,就和大家聊一聊吧。
Dash 2.18版本新特性介绍
本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffery/dash-master 大家好我是费老师,几个小时前Dash发布了其2.18.0版本,执行下面的
Dash 2.18版本新特性介绍 Dash 2.18版本新特性介绍 Dash 2.18版本新特性介绍
通过DashScope API调用将多种模态转换为向量
​ 本文介绍如何通过模型服务灵积DashScope进行多模态向量生成,并入库至向量检索服务DashVector中进行向量检索。
通过DashScope API调用将多种模态转换为向量