2015级--学期安排 (第四学期)

来自问题求解
Whf讨论 | 贡献2017年9月8日 (五) 11:39的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

基本要求

  • 掌握复杂性理论的基本内容与问题规约方法。
  • 掌握解决“难”问题的主要方法,理解相关的重要理论结果。

注意:程序设计能力要求贯穿于整个课程,不再单列。

指定教材

  • CS: Cliff Stein et al.: Discrete Mathematics for Computer Scientists, 1st ed. Addison-Wesley, 2010
  • TC: Thomas Cormen: Introduction to Algorithms, 3rd ed. MIT, 2009
  • JH: Juraj Hromkovic: Algorithmics for Hard Problems - Introduction to Combinatorial Optimization, Randomization, Approximation, and Heuristics, 2nd ed. Springer, 2004
  • TJ: Thomas Judson: Abstract Algebra - Theory and Applications, http://abstract.ups.edu/
  • WS: Walter Savitch: Problem Solving with C++, 7th ed. Addison Wesley, 2008

推荐课外读物

  • Richard Lipton: The P=NP Question and Gödel's Lost Letter. Springer, 2010

学习周历

日期 论题 学习目的 阅读材料 引导要点 书面作业 编程任务
2017-02-20 4-1:线性规划
  • 掌握线性规划的基本概念,问题描述方式以及基本算法
  • TC第29章
  • 线性规划的意义与适用性
  • TC第29.1节练习4、5、6、7、9
  • TC第29.2节练习2、3、6
  • TC第29.3节练习2、3、5
  • TC第29.4节练习2
  • TC第29章问题1
  • POJ 1275
  • POJ 1273
  • HDU 5699(*)
  • POJ 1755(*)
2017-02-27 4-2:群初步
  • 理解抽象代数结构的基本概念
  • 理解群及循环子群的数学性质
  • TJ第3、4章
  • 公理化系统的思想
  • TJ第3章练习3、6、7、17、28、36、38、41、48、52
  • TJ第4章练习1、12、21、24、32
  • HDU 1042
  • HDU 4704
  • POJ 2154(*)
  • HDU 4790(*)
2017-03-06 4-3:置换群与拉格朗日定理
  • 理解抽象代数结构的基本概念
  • 理解群的数学性质以及抽象代数典型推导方法
  • TJ第5、6章
  • 置换群
  • 拉格朗日定理
  • TJ第5章练习3、5、16、27、29
  • TJ第6章练习11、12、16、21
  • POJ 2369
  • HDU 4345
  • UVA 10601(*)
  • POJ 2888(*)
2017-03-13 4-4:群同态基本定理与正规子群
  • 理解抽象代数结构的基本概念
  • 理解群同态基本思想
  • TJ第9、10、11章
  • 群同态、同构基本思想
  • TJ第9章练习 8, 11, 19, 23, 32, 46
  • TJ第10章练习 1 (a, c, e), 12, 13
  • TJ第11章练习 2, 5, 18
  • POJ 1509
  • POJ 1635
  • HDU 3926(*)
  • POJ 1021(*)
2017-03-20 4-5: 数论基础
  • 掌握数论的基础知识
  • 理解典型的数论问题及其解决思路
  • TJ第2章
  • CS第2章第2节
  • 模算术的概念与处理方法在数论中的应用
  • TJ第2章练习13、14、15、16、19、22、28、29、30、31
  • CS第2.2节问题2、4、6、8、15、16、17、19
  • LightOJ 1282
  • LightOJ 1138
  • UVA 11754(*)
  • LightOJ 1356(*)
2017-03-27 4-6:数论算法
  • 掌握数论中一些基本问题的算法

TC第31章第1、2、3、4、5、6节

  • 数论算法的问题大小度量方式的特殊性
  • TC第31.1节练习12、13
  • TC第31.2节练习4、5、6、9
  • TC第31.3节练习5
  • TC第31.4节练习2、3
  • TC第31.5节练习2、3
  • TC第31.6节练习2、3
  • POJ 2115
  • LightOJ 1370
  • POJ 1061
  • LightOJ 1341
2017-04-05 4-7:密码算法
  • 掌握公钥密码系统的基本原理
  • 理解其中核心的数论算法
  • TJ第7章
  • TC第31章第7、9节
  • 数论算法的核心作用
  • TJ第7章练习3、7、9、12
  • TC第31.7节练习1、2
  • TC第31章问题2、3
2017-04-10 4-8:代数编码
  • 理解如何能建立利于查错,纠错的编码系统
  • 理解抽象代数的应用意义
  • TJ第8章
  • 群的性质如何保证编码系统的性质
  • TJ第8章练习6、7、8、9、11、13、18、19、21、22、23
  • POJ 2159
  • HDU 4712
  • POJ 2447
  • POJ 2429
2017-04-17 & 2017-04-19 4-9:问题的形式化描述
  • 熟悉以基于集合的形式化方式描述问题以及相关的对象,为严格的算法分析打下基础
  • JH第2章第3节
  • 如何有效地理解形式化描述?
  • JH第2章练习2.3.1.7、2.3.1.8、2.3.3.8
  • POJ 3071
  • POJ 3368
  • POJ 3109
  • POJ 2778
2017-04-24 4-10:NP完全理论初步
  • 理解如何按照问题难度对问题进行分类
  • 理解NPC的证明方法
  • TC第34章
  • 归约在NPC理论中的意义
  • TC第34.1节练习2、3、5
  • TC第34.2节练习3、4、6、11
  • TC第34.3节练习2
  • TC第34.4节练习3、5、7
  • TC第34.5节练习6
  • POJ 1458
  • HDU 1074
  • POJ 2883
  • POJ 2841
2017-05-03 4-11:串匹配
  • 掌握最常用的字符串匹配算法
  • TC第32章
  • 匹配算法的原理及其适用性
  • TC第32.1节练习2、3、4
  • TC第32.2节练习1、2、3、4
  • TC第32.3节练习2、3、5
  • POJ 2752
  • POJ 3080
  • POJ 2774
  • POJ 2778
2017-05-08 2017-05-11 4-12:近似算法的基本概念
  • 理解近似算法相关的基本概念
  • 理解近似算法的基本评价方法
  • JH第4章第1、2节
  • 近似算法分类的基本参考指标以及意义
  • JH第4章练习4.2.1.4、4.2.1.5、4.2.3.3、4.2.3.4、4.2.3.5
  • [TBD]
2017-05-15 4-13:随机算法的概念
  • 理解与随机算法相关的基本概念
  • 理解随机算法的基本评价方法
  • JH第5章第1、2节
  • 正确性的概念与期望正确率的概念
  • JH第5章练习5.2.2.7、5.2.2.8
  • poj3318
  • poj2420
  • hdu4498
  • hdu5381
2017-06-05 4-14:启发式算法
  • 通过典型的模拟淬火算法,理解启发式算法的基本概念、其价值以及局限性
  • 理解遗传算法的基本思想及其适用性
  • JH第6章
  • 如何从自然界获得灵感,以非常简单的思路改造算法

列出这学期讨论的典型“难题”,在每个题目下列出可能采用的解法,并比较解的质量与代价。

  • [TBD]
2017-06-19 4-15:问题求解课程总复习