选课类别:基础 | 教学类型:理论课 |
课程类别:研究生课程 | 开课单位:计算机科学与技术系 |
课程层次:硕士 | 学分:3.0 |
算法设计与分析是计算机科学与技术各专业硕士研究生必修的基础课。本课程主要介绍概率算法、近似算法和分布式算法基础,使学生掌握概率算法、近似算法和分布式算法设计及分析的基本方法。主要内容分为如下三个部分。
一. 概率算法,主要包括:
1.基本概念:主要介绍概率算法的特点、意义、分类、复杂性分析方法;2.数字概率算法:重点介绍π值计算、数值积分、概率计数以及其它数值算法的设计和分析;3.Sherwood算法:以选择和排序、随机预处理、有序表搜索等问题为例重点介绍Sherwood算法的概念和特点,以及算法设计和分析的方法;4.Las Vegas算法:以n-皇后、模p平方根、整数的因式分解等问题为例重点介绍Las Vegas算法的概念和特点,以及算法设计和分析的方法;5.Monte Carlo算法:重点介绍一致、有偏、精度分析等基本概念,以主元素、素性判定、矩阵相乘等问题为例,重点介绍Monte Carlo算法设计、分析和改进的方法。
二、近似算法,主要包括:
1.NP完全性理论:主要介绍图灵机等计算模型、问题变换及计算复杂性规约、P类问题、NP类问题、NP-hard和NPC问题、Cook定理等;2.基本概念:介绍优化问题的近似解分类、近似算法的绝对性能保证、相对性能保证(包括绝对性能比、渐近性能比、最佳可达性能比)、近似模式(多项式近似模式、完全多项式近似模式)、绝对近似算法之否定、相对近似算法之否定等;3.基本算法:图的顶点着色、图的边着色、多机调度、装箱、旅行商、顶点覆盖和最大独立集问题等问题的近似算法。
三、分布式算法基础,主要包括:
1.基本概念:介绍分布式系统、计算模型、复杂性度量标准等分布式计算的基本概念;2.分布式算法基础:主要介绍同步和异步网络模型,同步/异步环中的Leader选举、一般网络中的Leader选举、生成树构造、广播和敛播、广度/深度优先搜索、最短路径、最大独立集等分布式算法;介绍异步共享存储器和网络算法、重点介绍互斥和资源分配问题,介绍哲学家用餐算法、着色算法、有向无环图算法以及哲学家饮水算法等。
课程内容较与预期有所差别,主要涵盖分布式算法、概率算法和近似算法,和传统的算法设计与分析有所不同。整体难度较高,尤其是分布式算法和概率算法部分。
作业题目多为多年前的“祖传题目”,但完成作业并不能保证高分。复习时不能仅依赖往年试题,因为考试题目变化较大,复习重点要放在PPT内容上。
考试题目难度较大,与往年题目重复较少。给分较为严格,75分上下很常见,有评论提到这是“给分杀手”。虽然有些同学认为分数偏低,但也有案例显示部分同学获得了较高分数。
综合来看,汪老师部分相对较好,薛老师部分备受诟病。课程内容与传统算法设计课程有差异,准备选课的学生需认真评估自身需求和精力投入,特别是非必修课程时。
虽然助教原话说是大伙基本都75+,可是这给分,知道的几个都是卡着75给的,可是没啥办法,你只能选是这样的。别指望这门课能拉高均分,就这样。
据最新报道,有数十人不到75,这下我严重警告大伙能不选都不要选,完完全全的拖后腿课程。
一般来说,一位老师至少要在"给分好"和"讲得好"之中占一项,而薛老师是罕见的两者都不占的老师。私以为上课念ppt的reader已经是大学老师的下限,而上课把链接复制到浏览器开始念csdn的薛老师无疑是刷新了本人对大学老师的认知。
先不论考试结果,我6门考试里,算法的老师和助教是第一波为学生请命,冒“ab卷”之大不韪,提出“下学期统一期末,让大家过个安全好年”的。就冲助教和老师的态度,值得一个十分。
只能说这个《算法设计与分析》和我想象中的算法课不太一样,还以为是本科那种算法课。分布式算法听的云里雾里,后面的概率算法和近似算法薛老师上课的时候竟然直接打开csdn给大家看,真听不了一点,还是期末突击好了。
其实汪老师那部分还好,那部分本来就挺难,但考的很简单,没那么抽象,就是这助教平时都不带理人的,大家在群里要个视频还扭扭捏捏,以为自己演霸道总裁,分数低就是低,还整的自己尽力了,一个研究生课程卡那么多75,不如看看隔壁英文流算法
不是必修还是别选吧。全靠B站自学的。课件10年基本上没有更新过。。。
这门课是计算机学院所有人都强制必修的课程,必须要选,如果你不是计算机学院学生,且培养计划不强制要求这门课,请最好别选。
这门课讲的内容和想象中的算法设计与分析完全不同,主要讲解了分布式算法,概率算法和近似算法,内容和其他的算法设计与分析完全不一样,建议课程可以改个名字。
老师上课用的PPT是祖传的,看样子应该是十几年都没有改过了,B站上面有多年前上课的视频,讲的内容和现在一样。
考试复习千万别只看往年题目,今年就没出几分往年题,老老实实看PPT吧
给分。。。。也不太好的感觉
96分,回想了一下卷面,老师应该是手下留情了
如果大家课上听不懂,记住,很正常,因为感觉是比较难一点,算法细节很多,不要怀疑自己。
B站上有往年的教学视频,反复看看,自己琢磨琢磨,不要都拖到期末考试。
考试就PPT顺序读取+面向往年试卷复习,没什么说的,我是奔着75分去的,没想到会有今天,老师给分蛮好的。
PS:考试得分太高让我有一种没花时间在科研上的愧疚感,还是好好做科研吧。
给分杀手,所有课程最低分,作业基本满分,总评不到75。当时复习的时候,没有抱着考试的角度去复习,而是从头到尾总结了一边,收获还是有不少的。不过课程内容很多,加上去年网课效果不好。另外主要看往年的题没什么用。
汪老师的讲课风格是我比较喜欢的那种,就是定义,定理,证明,新定理,新证明的流程,我比较喜欢这种逻辑性较强的模式,而且抄了笔记以后回去复习也能看懂当时都干了什么。
薛老师...一言难尽,他和汪老师平均一下我给这个课7分。
考试这次没有几个往年题,这是我比较头痛的,因为我看到往年每一年的题基本上都有不少和之前重复的,所以以为这次也会有比较多的往年题,但是实际上没有,而且这门课也是我见过的卡75最严格的课程,最后有86%的人在75以上说实话对于一门必修来说比例有点过低了,我只能说我很幸运地拿了77,只能感谢助教不杀之恩了2333
上课基本没听,考前复习了不到一周,考试上有很多历年题,LPT的证明弃了还有96+,挺奶的
这门课不点名,作业都是祖传题,感觉老师也比较水,不怎么在意,整个学期需要花费的精力比较小。但一学期下来内容还是挺多的,平时划水的话期末复习压力不小,分布式算法和近似算法那给划了下重点,但概率算法那里,名为划重点,实际上就是走了个形式,助教咋不把所有内容都放ppt上呢,给的重点覆盖了所有内容,复习压力相对较大。今年的考试题目和往年题差别比较大,往年差不多选择题变化不大,今年没有重合题了。给分中规中矩吧。Anyway,大家也没得选,必修课。