会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
躺柒
博客园
首页
新随笔
联系
订阅
管理
随笔 - 788
文章 - 0
评论 - 17
阅读 -
49126
读改变未来的九大算法笔记08_并非万能的算法
合集 - 读改变未来的九大算法(10)
1.
读改变未来的九大算法笔记
10_读后总结与感想
2023-06-12
2.
读改变未来的九大算法笔记
01_数据压缩
2023-06-02
3.
读改变未来的九大算法笔记
02_数据库
2023-06-03
4.
读改变未来的九大算法笔记
03_纠错码
2023-06-04
5.
读改变未来的九大算法笔记
04_公钥加密
2023-06-05
6.
读改变未来的九大算法笔记
05_数字签名
2023-06-06
7.
读改变未来的九大算法笔记
06_图形识别
2023-06-08
8.
读改变未来的九大算法笔记
07_搜索引擎
2023-06-09
9.
读改变未来的九大算法笔记
08_并非万能的算法
2023-06-10
10.
读改变未来的九大算法笔记
09_指尖的精灵
2023-06-11
1. 有些问题根本不可能通过计算机解决,不管计算机有多强大或人类程序员有多聪明
2. 不可计算问题
2.1. 20世纪30年代末
2.1.1. 美国人阿隆佐·邱奇
2.1.1.1. Alonzo Church
2.1.1.2. 在计算理论上的突破性工作至今仍是计算机科学许多方面的基础
2.1.1.3. 单独发现了不可判定问题的存在
2.1.1.3.1. 比图灵早几个月发表了自己的成果
2.1.1.3.2. 邱奇的公式更为抽象,且并未详尽地提及由机器执行的计算
2.1.2. 英国人阿兰·图灵
3. 计算机软件的可靠性
3.1. 通常的情况
3.1.1. 即便高质量、编写良好的软件都会做些偏离其原有目的的事
3.2. 糟糕的情况
3.2.1. 软件崩溃,你丢失了正在处理的数据或文件
4. 可以证明不可能
4.1. 可以证明不可能存在一个能侦测所有计算机程序中所有潜在崩溃的自动化软件检查器
4.2. 反证法(Proof by Contradiction)
4.2.1. 假设怀疑某个声明S为假,但你想确信无疑地证明其为假。你先假设S为真
4.2.2. 你先假设S为真
4.2.3. 通过进行一些推理,你得出某个声明T也必须为真
4.2.4. 如果已知T为假,就出现了矛盾
4.2.5. 这能证明你的原始假设(S)也必为假
4.2.6. S导出T,但T为假,因此S为假
4.3. 实验前提
4.3.1. 任何程序可以将任何文件作为输入运行,但输出结果通常为乱码,除非输入文件本该配合由你选择运行的程序
4.3.2. 计算机程序作为文件被存储在计算机磁盘上,因此一个程序可以用另一个程序作为其输入文件运行
4.3.3. 计算机程序能将其自身文件作为输入运行
5. 发现崩溃的不可能性
5.1. 图
5.2. 假设名为CanCrash.exe的程序能分析其他程序并判定它们是否会崩溃
5.2.1. 作为输入的程序会在某种情况下崩溃,CanCrash.exe就会输出“yes”并结束
5.2.2. 如果输入程序永不会崩溃,CanCrash.exe就会输出“no”并结束
5.3. 让CanCrash.exe崩溃
5.3.1. 改变后的程序为CanCrashWeird.exe
5.3.1.1. 如果输入会崩溃,那么CanCrashWeird.exe这个程序也会故意崩溃
5.3.1.2. 如果输入永不会崩溃,则CanCrashWeird.exe会输出“no”
5.4. 转换成一个更模糊的程序称为CrashOnSelf.exe
5.4.1. 只关注程序在将自身作为输入时运行的表现
5.4.1.1. 会检测其输入程序,如果输入程序能在自身上运行,则CrashOnSelf.exe会故意崩溃
5.4.1.2. 反之,CrashOnSelf.exe会输出“no”
5.5. 转换成AntiCrashOnSelf.exe
5.5.1. 如果其输入在自身上运行时崩溃,AntiCrashOnSelf.exe就会输出“yes”
5.5.2. 如果输入在自身上运行时不崩溃,AntiCrashOnSelf.exe就会故意崩溃
5.6. 矛盾
5.6.1. AntiCrashOnSelf.exe将自己作为输入运行时会输出什么?
5.6.1.1. 如果输入崩溃,AntiCrashOnSelf.exe就会输出“yes”
5.6.1.2. 因为如果AntiCrashOnSelf.exe已经崩溃,它就不能成功地输出“yes”并结束
5.6.1.3. 如果输入不崩溃,则AntiCrashOnSelf.exe应崩溃
5.6.1.4. 排除了AntiCrashOnSelf.exe两种可能的行为,这也意味着AntiCrashOnSelf.exe一开始就不可能存在
5.6.2. 假设CanCrash.exe存在必为假
6. 停机问题和不可判定性
6.1. 停机问题(The Halting Problem)
6.1.1. 已有计算机程序最终是否会结束或“停止”的问题
6.2. 不可判定问题
6.2.1. 不能通过编写计算机程序解决的问题
6.2.2. 你不能编写一个名为AlwaysHalts.exe,输入永远停止时输出“yes”,反之输出“no”的计算机程序
6.3. 不可判定性对计算机使用的实际影响
6.3.1. 不可判定性只关注计算机程序能否生成答案,并不考虑我们需要等答案多久
6.3.2. 许多可判定任务还没有高效算法
6.3.2.1. 著名的要数旅行商问题(Traveling Salesman Problem),简称为TSP
6.3.2.1.1. 假设你必须飞往很多城市,你应该采用哪种顺序访问城市才能让飞行费用最少
6.3.2.2. 问题可判定这一事实并不意味着我们可以在实践中解决它
6.3.3. 大部分时间里都能很好地解决不可判定问题
6.3.3.1. 通常能为不可判定问题找到非常有用的部分解决方案
6.3.3.2. 软件可靠性提升部分得益于崩溃发现程序的进步
7. 人脑
7.1. 如果你相信人脑在原则上能被计算机模拟,那么人脑就会和计算机受相同的限制
7.1.1. 会存在人脑无法解决的问题——不管这个人脑有多聪明或经过多么良好的训练
7.2. 从科学观点来看,人脑和计算机之间似乎没有什么基本壁垒,因为化学和电子信号在人脑中传输的低级细节很好理解
7.3. 多种哲学论据暗示,人脑创造“理智”的物理过程在性质上与计算机能模拟的任何物理系统有所不同
合集:
读改变未来的九大算法
好文要顶
关注我
收藏该文
微信分享
躺柒
粉丝 -
50
关注 -
0
+加关注
0
0
升级成为会员
«
上一篇:
读改变未来的九大算法笔记07_搜索引擎
»
下一篇:
读改变未来的九大算法笔记09_指尖的精灵
posted @
2023-06-10 07:32
躺柒
阅读(
45
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
登录后才能查看或发表评论,立即
登录
或者
逛逛
博客园首页
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
相关博文:
·
读AI新生:破解人机共存密码笔记04计算的极限
·
读改变未来的九大算法笔记09_指尖的精灵
·
《计算机 : 一部历史》 - 书摘
·
阿兰图灵如何证明计算机无法解决一切问题
·
从图灵机到量子计算机,计算机可以解决所有问题吗?
阅读排行:
·
【.NET】调用本地 Deepseek 模型
·
CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
·
DeepSeek “源神”启动!「GitHub 热点速览」
·
我与微信审核的“相爱相杀”看个人小程序副业
·
Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
公告
昵称:
躺柒
园龄:
2年1个月
粉丝:
50
关注:
0
+加关注
<
2025年2月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
合集
学信息系统项目管理师第4版(35)
学系统集成项目管理工程师(中项)(43)
读高性能MySQL(第4版)(21)
读发布!设计与部署稳定的分布式系统(第2版)(34)
随笔及总结(26)
读改变未来的九大算法(10)
读数据压缩入门(11)
读C#代码整洁之道(8)
读编程与类型系统(12)
读函数式编程思维(6)
读Java8函数式编程(9)
读Java实战(第二版)(20)
读Java性能权威指南(第2版)(31)
读SQL进阶教程(17)
选读SQL经典实例(23)
读SQL学习指南(第3版)(13)
读图数据库实战(11)
读程序员的制胜技(15)
读像火箭科学家一样思考(16)
读程序员的README(19)
读算法霸权(13)
读元宇宙改变一切(14)
读AI3.0(10)
读千脑智能(13)
读十堂极简人工智能课(9)
读人工不智能:计算机如何误解世界(10)
读算法的陷阱:超级平台、算法垄断与场景欺骗(20)
读所罗门的密码(21)
读天才与算法:人脑与AI的数学思维(26)
读人工智能时代与人类未来(19)
读AI未来进行式(12)
读AI新生:破解人机共存密码(18)
读人工智能全传(16)
读写给大家的AI极简史(7)
读零信任网络:在不可信网络中构建安全系统(21)
读软件开发安全之道:概念、设计与实施(17)
读软件设计的要素(7)
读构建可扩展分布式系统:方法与实践(16)
读数据湖仓(9)
读数据工程之道:设计和构建健壮的数据系统(34)
读数据质量管理:数据可靠性与数据质量问题解决之道(20)
读数据保护:工作负载的可恢复性(31)
读量子霸权(18)
读算法简史:从美索不达米亚到人工智能时代(15)
读当我点击时,算法在想什么?(7)
读DAMA数据管理知识体系指南(4)
更多
随笔档案
2025年2月(25)
2025年1月(31)
2024年12月(31)
2024年11月(30)
2024年10月(31)
2024年9月(30)
2024年8月(31)
2024年7月(31)
2024年6月(30)
2024年5月(31)
2024年4月(30)
2024年3月(31)
2024年2月(29)
2024年1月(31)
2023年12月(31)
2023年11月(30)
2023年10月(31)
2023年9月(30)
2023年8月(31)
2023年7月(31)
2023年6月(30)
2023年5月(31)
2023年4月(31)
2023年3月(36)
2023年2月(28)
2023年1月(26)
阅读排行榜
1. C#代码整洁之道读后总结与感想(599)
2. 选读SQL经典实例笔记01_检索和排序(369)
3. 读C#代码整洁之道笔记01_C#的编码标准和原则(311)
4. 读C#代码整洁之道笔记04_重构C#代码识别代码坏味道(309)
5. 学信息系统项目管理师第4版系列02_法律法规(268)
评论排行榜
1. 2023年1月随笔(11)
2. 2023年10月随笔之婚宴趣事多(2)
3. 读高性能MySQL(第4版)笔记12_查询性能优化(下)(2)
4. 读Java性能权威指南(第2版)笔记18_垃圾回收E(2)
推荐排行榜
1. 读高性能MySQL(第4版)笔记01_MySQL架构(上)(2)
2. 选读SQL经典实例笔记01_检索和排序(2)
3. 读软件设计的要素01概念(1)
4. 读AI未来进行式笔记01深度学习(1)
5. 读所罗门的密码笔记01_当人类遇见机器(1)
最新评论
1. Re:2023年10月随笔之婚宴趣事多
@gz4621 wondershare mindmaster...
--躺柒
2. Re:2023年10月随笔之婚宴趣事多
大神 思维导图用的什么软件制作的?
--gz4621
3. Re:读高性能MySQL(第4版)笔记12_查询性能优化(下)
@东围居士 建议读新版。...
--躺柒
4. Re:读高性能MySQL(第4版)笔记12_查询性能优化(下)
第4版相比第3版好像缩减了好多内容?楼主推荐第3版还是第4版
--东围居士
5. Re:读Java性能权威指南(第2版)笔记18_垃圾回收E
@屠炉 没有用第三方工具,手动的。 有几个平台直接支持markdown导入,只是要调整一下图片上传即可。...
--躺柒
点击右上角即可分享
支持DeepSeek的编程助手
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库