Presentation is loading. Please wait.

Presentation is loading. Please wait.

东北师范大学计算机学院 形式语言与自动机第一讲 —— 从 DFA 到 TM, 从正则语言到自然语言 殷明浩

Similar presentations


Presentation on theme: "东北师范大学计算机学院 形式语言与自动机第一讲 —— 从 DFA 到 TM, 从正则语言到自然语言 殷明浩"— Presentation transcript:

1 东北师范大学计算机学院 形式语言与自动机第一讲 —— 从 DFA 到 TM, 从正则语言到自然语言 殷明浩 ymh@nenu.edu.cn http://yinmh.nenu.edu.cn/auto.htm

2 东北师范大学计算机学院 课程介绍 授课类型 Seminar & Lecture 授课时间 ( 本学期 ) Per Weds 15:30-18:00? 考核方式 笔试 + 平时成绩 授课语言 基本中文

3 东北师范大学计算机学院 Outline for this course 抽象模型变种对应语言相当于程序或算法备注 自动机不确定 NFA 正则语言 3 型 If,case,goto, 无变 量(内存)无数组 下推机不确定下推 机 前后文无关 语言, 2 型 增加: 堆栈。仍无 变量(内存)无数 组 不确定线性 界限下推机 前后文有关 语言 1 型 语 言 一定停机的 图灵机 XXX 的图灵 机 多带, 随 机,有界 递归语言族增加数组,变量, 内存 保证了不会死循环 图灵机 0 型,递归 可枚举 输入在语言外时, 可能死循环, 数学模型, 简洁,易分 析 不要程序细节,易 于分析本质

4 东北师范大学计算机学院 Outline today : 计算的意义 ? “ 算法 ” 与 “ 好的算法 ” NP 完全性 如何处理 NP 完全问题 新的计算模型与希望

5 东北师范大学计算机学院 什么是可以计算的 ? 什么是不可以 计算的 ? 算法的意义

6 东北师范大学计算机学院 例 1 :可满足性( Satisfiability )问题 布尔变量集合 – 布尔变量 和 称为文字 子句集合 – 子句 是一些文字的析取(逻辑或) 真值赋值 给定 U 和 C ,是否存在满足 C 的真值赋值? – 可满足: C 中所有的子句在 t 下为真 计算复杂度:

7 东北师范大学计算机学院 例 2 :货郎担问题 ( Traveling salesman problem) 给定 n 个城市,任意两个城市间有路相连, 一个货郎从一个城市出发,不重复的遍 历所有的城市并回到起点,求一条路程 最短的路径。 加权完全图 , , , 求 Hamilton 圈 ,使得 计算复杂度:

8 东北师范大学计算机学院 指数灾难:计算量的指数增长

9 东北师范大学计算机学院 指数灾难能否避免? SAT 问题,货郎担问题,背包问题,图 着色问题,最长路径问题, …… 是否对于每个问题都有好的算法? 什么是好的算法? 什么是算法?

10 东北师范大学计算机学院 算法的定义 为实现某个任务而构成的简单指令集 有穷的计算良过程 通过有限多次运算可以决定的过程 正确 直观,非形式

11 东北师范大学计算机学院 算法的定义 希尔伯特第十问题( 1900 ) – 设计一个算法来判断多项式是否有整数根 – 算法:通过有限多次运算可以决定的过程 Alan Turing & Alonzo Church ( 1936 ) – 图灵机程序 算法:图灵机程序 – 形式化的,精确的

12 东北师范大学计算机学院 图灵机( Turing Machine) 带子可读可写 无限长的带子 读写头可左移右移 有限状态控制器 1 1 11 110000000BBB1 ……

13 东北师范大学计算机学院

14 图灵机( Turing Machine) TM 运行由 确定 : 当前状态为 q ,所读字符为 s – ,读写头不变, , – ,读写头左移一格, s 不变, – ,读写头右移一格, s 不变, – 无定义,则停机 Church-Turing 论题:凡是可计算的过程都可用 图灵机实现;

15 东北师范大学计算机学院 其他图灵机模型 “ 实际的 ” 的图灵机模型 – 单带图灵机( 1TM ) – 多带图灵机( kTM ) – 随机存取机( RAM ) “ 实际的 ” – 单位时间内完成的工作量有一个多项式上界 所有 “ 实际的 ” 计算模型多项式时间等价

16 东北师范大学计算机学院 好的算法 —— 多项式时间算法 算法的时间复杂度 – 指数时间 – 多项式时间 为什么是多项式而不是其他函数? – 常见的组合算法大致可分以上两类 – 与计算模型无关性

17 东北师范大学计算机学院 什么是算法? 什么是好的算法? 是否对于每个问题都有好的算法?

18 东北师范大学计算机学院 P 类( Polynomial) 判定问题:只有肯定和否定两种答案 – 优化问题可以化作判定问题处理 P 类 – 具有多项式时间算法的判定问题形成的计算 复杂性类 – 猜测 TSP ( Traveling salesman problem) 不属 于 P ( J.Edmonds 1965 )

19 东北师范大学计算机学院 非确定型算法 不现实的计算 – 现实中的计算方式都是确定的 解 SAT 问题的一个非确定型算法 – 第一步:猜测一个变量的真值赋值; – 第二步:检查该赋值是否满足 非确定型算法的计算时间: – 各种可能的计算过程的最短时间

20 东北师范大学计算机学院 非确定型图灵机( NTM) 猜想阶段 验证阶段 有限状态控制器 1 1 11 110000000BBB1 …… 猜想模块

21 东北师范大学计算机学院 NTM 计算树 计算过程:从根到叶节点的路径

22 东北师范大学计算机学院

23 NP 类 (Nondeterministic Polynomial ) NP 问题: – 在非确定型图灵机上多项式时间可解的问题 – 在确定型图灵机上多项式时间可验证的问题 P 类包含于 NP 类中 NP 类问题在确定图灵机上指数时间可解 – 非确定型图灵机和确定型图灵机的计算能力相当

24 东北师范大学计算机学院 计算难度比较的标准 难易是比较而言的 – 多项式时间归约( Karp 归约 1972) 定义 – 问题 A 多项式时间内转化为问题 B 的特殊情 况,则称 A 可多项式归约于 B ,记为 转化时间为多项式 对于 A 的输入 I 的回答与其对应的 B 的输入 f(I) 一 致

25 东北师范大学计算机学院 NP 完全与 NP-hard NP 完全问题: NP-hard 问题:

26 东北师范大学计算机学院 NP 完全问题 第一个 NP 完全问题( Cook 定理 1971 ) – 可满足性问题是 NP 完全问题 六个 NP 完全问题( Karp 1972) –3SAT , 3DM , VC ,团, HC ,划分 更多的 NP 完全问题 –1979 年: 300 多个 –1998 年: 2000 多个

27 东北师范大学计算机学院 现在的估计 如果 ,则指数灾难无法避免 P=?NP ( P-NP 问题) P=NP P NPC NP

28 东北师范大学计算机学院 如何处理 NP 完全问题 实际的问题不会消失 油井勘探问题 移动通讯中的频率分配问题

29 东北师范大学计算机学院 并行计算 以硬件设备换取时间 – 存在着很多种并行计算模型 – 理想模型 PRAM 可多项式时间解 NP 完全问题 实际中效果不好 – 处理器数目是受限的 – 现实的代价:通讯,同步, …… 分布式计算

30 东北师范大学计算机学院 算法的研究 随机算法 – 判定问题: 以较大概率得到正确输出 输出正确,但计算时间不定 – 优化问题:输出解的性能不稳定 以较大概率得到性能好的解

31 东北师范大学计算机学院 算法的研究 完全算法 – 利用某些策略减少计算量 分支界限法( Branch and Bound ) – 最坏情况时间复杂度是指数的 近似算法 – 不要最优,只求较优 – 时间复杂度较低

32 东北师范大学计算机学院 算法的研究 近似算法 – 局部搜索 – 遗传算法 – 模拟退火

33 东北师范大学计算机学院 TSP 问题实验结果 ( 实验环境: PII450 双 CPU , 256M 内存, Turbo Linux 4.0 ) Instance EAX-h+ILKPattern1 名称 Pcb442 507782050778(0)57.0(0.005)2050778(0)13.11(0.10) Att532276862027686(0)36.14(0.01)2027686(0)51.52(0.026) Rat7838806208806(0)26.66(0.01)208806(0)46.32(0.019) Fl1577222492022249(0)589.1 (0.95)2022249(0)97.4(0.035) Pr2392 378032 0378161(0)624.6(0.94)0378224(0)642.0(1.65) Fl379528772028783(0)1488.2(5.2)028788 (0)1103.4(14.3)

34 东北师范大学计算机学院 新的计算模型 生物计算 –DNA 计算机 量子计算 – 量子计算机

35 东北师范大学计算机学院 DNA 计算 实验处理了 7 城市 Hamilton 路径问题 –L. Adleman 1994 可以多项式时间解所有的 NP 问题 –Lipton R J 1995 实验可以建立一个非确定型图灵机 –Smith W, Schweitzer A. 1995

36 东北师范大学计算机学院 DNA 计算的困难 操作的复杂性 – 单元操作的时间代价高 规模的限制 – 处理的问题规模较小 输入输出 纠错的问题

37 东北师范大学计算机学院 量子计算 量子计算思想的提出 –Richard Feynman 1982 量子图灵机模型 –David Deutsch 1985 Shor 算法( Peter Shor 1994 ) – 多项式时间分解大数质因子 Grover 算法( Grover L. K. 1996 ) – 无序数据库的搜索:

38 东北师范大学计算机学院 量子计算的困难 操作的复杂性 – 单元操作的时间代价高 规模的限制 测量输出 纠错的问题

39 东北师范大学计算机学院 行之有效的方法:算法研究

40 东北师范大学计算机学院 推荐阅读 计算机和难解性: NP 完全性理论导引 ( Michael R. Garey&David S. Johnson 1979 ) 可计算性与计算复杂性导引 ( 张立昂 ) 计算理论导引 计算理论基础

41 东北师范大学计算机学院 谢谢大家!


Download ppt "东北师范大学计算机学院 形式语言与自动机第一讲 —— 从 DFA 到 TM, 从正则语言到自然语言 殷明浩"

Similar presentations


Ads by Google