查看: 1935|回复: 6

[胡扯] 如果能有存储无限长浮点数的机器就好了

[复制链接]
梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2015-3-13 18:53:33 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 RyanBern 于 2015-3-14 21:10 编辑

人们要研究各种算法,这是为什么呢?因为人类的科技不够强大,不足以发明每秒钟能进行无穷此运算的机器。如果这一天真的来临,那么那些研究算法的人都可以下岗了(雾)。
人们要研究各种各样数值稳定的算法,这又是为什么呢?因为人类的科技不够强大,不足以发明能存储无限长浮点数的机器。(雾)

对第一个问题大家可能比较熟悉,效率低的渣算法可以让你的电脑卡机没商量。
第二个问题的印象就不那么直观了,因为浮点数总有误差,而误差的累积是致命的。

昨天做的一个题目就能很好反应这一点。

计算普通定积分In,求n=1,2,3,...,50的值:
1.png
不难证明,In有以下递推式(如果证不出来承认其是对的即可):
3.png

有了递推式,就可以写代码来算了:
[pre lang="Ruby"]x = Math.log(1.2)
(1..50).each do |i|
  x = -5 * x + 1.0 / i
  print sprintf("%d:  %f\n", i, x)
end[/pre]

结果是这样的:
4.png 5.png

感觉哪里不太对劲的样子……

实际上,n=17左右的数就已经不对了。

但是,如果换一个递推式,计算将会变得很准确:
1.png
虽然I50不取0,但是即便这样,仍然能够准确算出0~45的值!

不禁感叹要是能有存储任意长浮点数的计算机就好了。

点评

这个提的对,任意长是有限的,已经修改  发表于 2015-3-14 21:10

评分

参与人数 1星屑 +85 收起 理由
晴兰 + 85 其实任意长跟无限长还是有区别的,尤其无限.

查看全部评分

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-3-13 18:59:48 | 显示全部楼层
其实上次那个病态的线性方程组可以更好地说明这个问题

点评

有一点我忘说了,这个结果出问题的原因是算法的问题,问题本身其实不是病态的。而上次那个出问题就是因为问题本身是病态的。  发表于 2015-3-13 19:01
回复

使用道具 举报

梦石
4
星屑
4454
在线时间
6784 小时
注册时间
2014-1-6
回帖
4956

开拓者

发表于 2015-3-13 22:07:47 | 显示全部楼层
我要花多长时间才能容入你萌程序的交流呢……早知道好好学书了……

点评

好吧,我会去关注的,谢谢RyanBern建议。  发表于 2015-3-13 23:15
我的意思是,你可以帮助别人啊,也可以算作一种学习突破呢  发表于 2015-3-13 23:12
目前没有技术方面的问题,想要的效果都自行解决了,所以目前真的没有去提问区的打算。(毕竟我不是伸手党……,没有那么多要求。)  发表于 2015-3-13 23:10
在提问区回答问题并不需要等几年后啊……  发表于 2015-3-13 23:05
谢谢,不过6R现有的RM资源与现有的事件能力足够我使用,或许得等个几年后吧……  发表于 2015-3-13 22:50
回复

使用道具 举报

梦石
0
星屑
1547
在线时间
688 小时
注册时间
2009-11-11
回帖
2692
发表于 2015-3-13 22:51:37 | 显示全部楼层
虽然不知道LZ在说什么,但是感觉好厉害的样子

嘿。嘿。嘿
回复

使用道具 举报

永久原子

梦石
18
星屑
180
在线时间
2054 小时
注册时间
2010-10-25
回帖
3907

开拓者

发表于 2015-3-14 09:00:00 | 显示全部楼层
我这个数学天才都看不懂啊~~~{:2_276:}
人不在了,有事烧纸。
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-3-14 10:20:46 | 显示全部楼层
如果这一天真的来临,那么AI就可以把人类取而代之那些研究算法的人都可以下岗了

算法是个壳子吧···以后还会有新的算法呢?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
1
星屑
12006
在线时间
4535 小时
注册时间
2005-10-22
回帖
7094

开拓者贵宾

发表于 2015-3-14 19:53:56 | 显示全部楼层
开个动态BUFF区,随便存几位,只要操作系统不报警
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部