“2015级--学期安排 (第四学期)”的版本间的差异

来自问题求解
跳转至: 导航搜索
学习周历: 4-4作业题目调整
Whf讨论 | 贡献
 
(未显示2个用户的35个中间版本)
第1行: 第1行:
 
==基本要求==
 
==基本要求==
  
* [TBD]
+
* 掌握复杂性理论的基本内容与问题规约方法。
* [TBD]
+
* 掌握解决“难”问题的主要方法,理解相关的重要理论结果。
  
 
注意:程序设计能力要求贯穿于整个课程,不再单列。
 
注意:程序设计能力要求贯穿于整个课程,不再单列。
第8行: 第8行:
 
==指定教材==
 
==指定教材==
  
 +
* '''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
 
* '''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/
 
* '''TJ''': Thomas Judson: Abstract Algebra - Theory and Applications, http://abstract.ups.edu/
 
* '''WS''': Walter Savitch: Problem Solving with C++, 7th ed. Addison Wesley, 2008
 
* '''WS''': Walter Savitch: Problem Solving with C++, 7th ed. Addison Wesley, 2008
* '''JH''': Juraj Hromkovic: Algorithmics for Hard Problems - Introduction to Combinatorial Optimization, Randomization, Approximation, and Heuristics, 2nd ed. Springer, 2004
 
* [TBD]
 
  
 
==推荐课外读物==
 
==推荐课外读物==
  
* [TBD]
+
* Richard Lipton: The P=NP Question and Gödel's Lost Letter. Springer, 2010
  
 
==学习周历==
 
==学习周历==
第62行: 第62行:
 
* TJ第4章练习1、12、21、24、32
 
* TJ第4章练习1、12、21、24、32
 
|  
 
|  
* [TBD]
+
*HDU 1042
 +
*HDU 4704
 +
*POJ 2154(*)
 +
*HDU 4790(*)
 
|-
 
|-
 
| 2017-03-06
 
| 2017-03-06
第78行: 第81行:
 
* TJ第6章练习11、12、16、21
 
* TJ第6章练习11、12、16、21
 
|
 
|
* [TBD]
+
*POJ 2369
 +
*HDU 4345
 +
*UVA 10601(*)
 +
*POJ 2888(*)
 
|-
 
|-
 
| 2017-03-13
 
| 2017-03-13
| 4-4:群同态基本定理与正规子群
+
| [[Media:计算机问题求解-2017-03-13群基本同态定理.pptx | 4-4:群同态基本定理与正规子群]]
 
|
 
|
 
* 理解抽象代数结构的基本概念
 
* 理解抽象代数结构的基本概念
* 理解群的数学性质以及抽象代数典型推导方法
+
* 理解群同态基本思想
 
|  
 
|  
 
* TJ第9、10、11章
 
* TJ第9、10、11章
第93行: 第99行:
 
* TJ第10章练习 1 (a, c, e), 12, 13
 
* TJ第10章练习 1 (a, c, e), 12, 13
 
* TJ第11章练习 2, 5, 18
 
* TJ第11章练习 2, 5, 18
 +
|
 +
* POJ 1509
 +
* POJ 1635
 +
* HDU 3926(*)
 +
* POJ 1021(*)
 +
|-
 +
| 2017-03-20
 +
| [[Media:计算机问题求解-2017-03-20-数论基础.pptx | 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
 +
| [[Media:计算机问题求解-2017-3-27-数论算法.pptx | 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
 +
| [[Media:计算机问题求解-2017-4-5-密码算法.pptx | 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
 +
| [[media:计算机问题求解-2017-4-10-代数编码.pptx | 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
 +
| [[media:计算机问题求解-2017-4-17-问题的形式化描述.pptx | 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
 +
| [[media:计算机问题求解-2017-4-24-NP完全性.pptx | 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
 +
| [[media:计算机问题求解4--串匹配.ppt|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
 +
| [[media:计算机问题求解-2017-5-8-优化问题的近似解.pptx | 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]
 
* [TBD]
 +
|-
 +
| 2017-05-15
 +
| [[media:计算机问题求解-2017-5-15-随机算法的基本概念.pptx | 4-13:随机算法的概念]]
 +
|
 +
* 理解与随机算法相关的基本概念
 +
* 理解随机算法的基本评价方法
 +
|
 +
* JH第5章第1、2节
 +
|
 +
* 正确性的概念与期望正确率的概念
 +
|
 +
* JH第5章练习5.2.2.7、5.2.2.8
 +
|
 +
* poj3318
 +
* poj2420
 +
* hdu4498
 +
* hdu5381
 +
|-
 +
| 2017-06-05
 +
| [[media:计算机问题求解-2017-6-5-启发式算法.pptx | 4-14:启发式算法]]
 +
|
 +
* 通过典型的模拟淬火算法,理解启发式算法的基本概念、其价值以及局限性
 +
* 理解遗传算法的基本思想及其适用性
 +
|
 +
* JH第6章
 +
|
 +
* 如何从自然界获得灵感,以非常简单的思路改造算法
 +
|
 +
列出这学期讨论的典型“难题”,在每个题目下列出可能采用的解法,并比较解的质量与代价。
 +
|
 +
* [TBD]
 +
|-
 +
| 2017-06-19
 +
| [[media:问题求解总复习.pptx | 4-15:问题求解课程总复习]]
 +
|
 +
* 无
 +
|
 +
* 无
 +
|
 +
* 无
 +
|
 +
* 无
 +
|
 +
* 无
 
|}
 
|}

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:问题求解课程总复习