数据与算法导论
简介
算法与数据相辅相成,利用算法分析数据,进而得到想要的问题的解决方法。
有很多问题已经解决,很多问题尚未解决,有些问题似乎无法完全解决。
尚未解决和无法解决问题的共性:
表述含混、标准不一、涉及主观、结果不确定
数学:解决问题的终极工具
在长期的发展过程中,人们把已经解决的问题逐渐表述为数学命题与模型。
尚未解决的问题,人们试图通过数学建模,采用数学工具来解决;
无法解决的问题,人们试图通过转换表述、明晰问题来部分解决。
为什么是数学?
- 数学具有清晰明确的符号描述体系;
- 严密确定的推理系统
- 但正如科学不是万能的,数学也不是万能的
有些问题天然无法明确描述(主观、价值观、意识形态、哲学问题等)
有些可明确表述的问题仍然无法解决
抽象的“计算”概念提出
基于有穷观点的能行方法
- 由有限数量的明确有限指令构成;
- 指令执行在有限步骤后终止;
- 指令每次执行都能够得到唯一结果;
- 原则上可以由人单独采用纸笔完成,而不依靠其他辅助;
- 每条指令可以机械地被精确执行,而不需要智慧和灵感。
关于计算的数学模型
20世纪30年代,几位逻辑学家各自独立地提出了几个关于计算的数学模型:
- 哥德尔和克莱尼的递归函数模型
- 丘奇的lambda演算模型
- 波斯特的Post机模型
- 图灵的图灵机模型
研究证明,这几个“基于有穷观点能行方法”的计算模型,全部都是等价的
计算机是数学家一次失败思考的产物
图灵机的概念
基本思想是用机器模拟人们用纸笔进行数学运算的过程,但比数学计算更为简单。
基本概念
- 在纸上写上或擦除某个符号
- 把注意力从纸的一个位置转向另一个位置
- 在每个阶段,要决定下一步动作依赖于:
(a)此人当前所关注的纸上某个位置的符号
(b)此人当前思维的状态基本定义
图灵机由以下几个部分组成:
1.一条无限长的分格纸带,每格可以记录一个符号
2.一个读写头,可在纸带上左右移动,能读出和擦写格子的字符
3.一个状态寄存器,记录有限状态中的一个状态
4.一系列有限的控制规则:
·某个状态,读入某个字符时
·要改写成什么字符
·要如何移动读写头
·要改变为什么移动状态
三种问题——有限的能行方法
- Why 证明问题
- What 提出问题
- How 过程问题 (主要内容)