算法设计与分析(黄刘生,汪炀)

算法设计与分析是计算机科学与技术各专业硕士研究生必修的基础课。本课程主要介绍概率算法、近似算法和分布式算法基础,使学生掌握概率算法、近似算法和分布式算法设计及分析的基本方法。主要内容分为如下三个部分。

一.概率算法,主要包括:

1.基本概念:主要介绍概率算法的特点、意义、分类、复杂性分析方法;2.数字概率算法:重点介绍π值计算、数值积分、概率计数以及其它数值算法的设计和分析;3.Sherwood算法:以选择和排序、随机预处理、有序表搜索等问题为例重点介绍Sherwood算法的概念和特点,以及算法设计和分析的方法;4.LasVegas算法:以n-皇后、模p平方根、整数的因式分解等问题为例重点介绍LasVegas算法的概念和特点,以及算法设计和分析的方法;5.MonteCarlo算法:重点介绍一致、有偏、精度分析等基本概念,以主元素、素性判定、矩阵相乘等问题为例,重点介绍MonteCarlo算法设计、分析和改进的方法。

二、近似算法,主要包括:

1.NP完全性理论:主要介绍图灵机等计算模型、问题变换及计算复杂性规约、P类问题、NP类问题、NP-hard和NPC问题、Cook定理等;2.基本概念:介绍优化问题的近似解分类、近似算法的绝对性能保证、相对性能保证(包括绝对性能比、渐近性能比、最佳可达性能比)、近似模式(多项式近似模式、完全多项式近似模式)、绝对近似算法之否定、相对近似算法之否定等;3.基本算法:图的顶点着色、图的边着色、多机调度、装箱、旅行商、顶点覆盖和最大独立集问题等问题的近似算法。

三、分布式算法基础,主要包括:

1.基本概念:介绍分布式系统、计算模型、复杂性度量标准等分布式计算的基本概念;2.分布式算法基础:主要介绍同步和异步网络模型,同步/异步环中的Leader选举、一般网络中的Leader选举、生成树构造、广播和敛播、广度/深度优先搜索、最短路径、最大独立集等分布式算法;介绍异步共享存储器和网络算法、重点介绍互斥和资源分配问题,介绍哲学家用餐算法、着色算法、有向无环图算法以及哲学家饮水算法等。

《算法设计与分析》课程包括概率算法、近似算法和分布式算法三部分。黄刘生老师负责概率算法和近似算法,汪炀老师负责分布式算法。总体而言,这三部分内容都有其独特的重要性和实用性。

黄刘生老师的讲课被认为比较细致、认真,特别是概率算法部分。然而,部分同学在近似算法部分表示难以理解。汪炀老师的讲课风格存在两级分化,有同学认为他讲得抽象,板书字迹过小且不耐烦,但也有同学觉得他的讲课很细致,能有效配合画图帮助理解。

课程作业只有两次,第一次是编程题,第二次是证明题。作业内容多年未变,基本上都是往年的题目,且答案可以自行搜索。

考试为开卷形式,近年来试卷题型有所变动。过去的考试包括选择题、简答题和算法设计题,选择题多为历年原题。近年来,考试题型全为大题,考试内容大多基于PPT,需要对PPT上的内容进行深入分析与理解。2022年的考试内容包括同步环选举算法修改、匿名环不存在选举算法的证明、MC算法的运行次数计算、归约最大团问题等题目。

总体来说,课程给分较好,大部分同学的成绩都在90分以上,尤其是近年来给分偏高,调整幅度大。特别是黄刘生老师的部分,给分相对较宽容。然而,也有个别同学表示受题型变化的困扰,导致考试成绩不理想。

课程内容较抽象,尤其是分布式算法部分,部分同学表示跟不上课程进度,需要依赖课下自学和参考书籍如陈国良院士的《并行算法设计与分析》。网络课堂的教学视频也是良好的补充资源。总体上,黄刘生老师的部分得到较高评价,而汪炀老师部分评价较为分化。课程助教的存在感较低,仅在必要时发布作业提交情况和通知,互动较少。

《算法设计与分析》是一门进阶课程,虽然内容较难,但通过认真听课和利用网络课堂视频,还是可以应付考试的。对于教学质量和给分,大多数同学持肯定态度,特别是黄刘生老师部分。然而,部分同学对汪炀老师的讲课风格和课程助教的参与度表示不满。总体来看,这门课程有助于提升算法设计与分析的能力,是计算机科学与技术专业硕士生必须掌握的基础课。

课程由分布式算法和随机算法两部分组成。

分布式算法PPT:

随机算法PPT:

只有两次作业。第一次作业是编程题,第二次作业是证明题。

这个课程的分布式算法部分比较抽象,但是挺有用的。

分布式算法部分建议参考陈国良院士的《并行算法设计与分析》(第二学期的并行算法课程也要用,算法设计与分析这门课的分布式算法都是从这本书上摘出来的,书上讲得更清楚)。

黄老师挑染真帅(

我感觉老师们讲的都不错,就是稍微跑点神就听不懂了,今年是全网课,所以会稍微好一点。

感觉三个方向的算法都有其意义和重要性,学后或多或少有收获吧,绝对不算是没有用的课。

推测往后卷子基本就是个55开,一半真题出现过,讲过,留过作业,另一半为需要基于ppt内容自行分析解答的新题。

估计结课后就用不了了

自己整理的复习资料+历年真题+22回忆真题

有用留个赞吧~

2022.7.26更新

这门课是2020新版培养方案中计算机科学与技术专业硕士生唯一一门必修的学科基础课,也是许多其他学院培养方案中列出的基础课。由于今年扩招,选课人数达到了460人,因此开了3个班。

课程的内容包括概率算法、近似算法和分布式算法三部分(具体内容在上面的课程简介中已经写得很清楚了),由黄刘生老师和汪炀老师共同讲授。黄刘生老师负责概率算法和近似算法,汪炀老师负责分布式算法的部分,两位老师的实验室都是在苏州,每周来合肥上课。(据说黄老师明年退休,所以2021级算法课应该是他带的最后一届了)

课程没有指定教材,所以都是靠用了十几年的PPT,两位老师基本上都是照着PPT讲,也很少会拓展一些东西。课程考核包括作业+最后的期末考试,平时没有点名。作业就是PPT上面的题目,每年都不会变。期末考试好像是黄老师一个人负责吧,每年都有很多重题,特别是概率算法和分布式算法的部分。但是这两年黄老师特别喜欢考近似算法(包括简答+算法设计),所以这两年的新题都出自近似算法的部分。所以大家复习的时候只要把PPT消化,看好往年卷子应该就没问题了。

这里吐槽一下,这门课的10位助教几乎没什么存在感,除了发布一下作业提交情况和一些通知。有时候同学们在群里问一些问题也不能及时解答,私聊有时候也不会。最后只安排了一次习题课,三位助教千辛万苦从苏州过来只讲了20分钟。但是今年给分超好,大部分同学都有90+。

综合来看,黄老师的部分可以给8分,汪老师的部分只能给6分,助教-1分,给分好+1分。所以我觉得这门课可以给到8分。

2022考题有:

选择题(和往年重复题目很多,或者说一模一样,20分

简答题:

1,同步环选举算法,怎样修改使得一个阶段允许k个消息同时传输(10

2,匿名环不存在选举算法证明,O(n^2)算法复杂度分析,O(nlgn)算法描述与复杂性分析(15

3,给定错误率,MC算法运行次数计算(10

4,归约最大团问题(10

算法题:

1,(作业)sherwood算法搜索有序表,分析复杂度(15分

2,设计最小点覆盖的近似算法,近似比不大于2(20分)

---------------------------------

近似算法的ppt感觉写的不是很好,逻辑比较混乱,很多东西光看ppt感觉也没有解释的很清楚。尤其是今年作业里的一道证明题(多机调度的证明),建议直接去找文献。

今年考试题目画风突变,选择题小于等于10分==全是大题。第一题是为什么问题之间可以相互规约但是有无近似算法的情况不一样;第二题是为什么scaling性质的渐进和绝对是一致的;第三题是最短路径的规约问题;第四题是构造一个TSP问题的近似比是2的情况构造;第五题是flooding算法;第七题是LV算法;第八题是setcover的规约问题

以上题目仅供参考,顺序和题目可能因为记忆问题出现错乱,但是大概是这些题目。最后给分也还行,虽然也不是很高,但是研究生已经不太在乎绩点了,超过75就行,开摆。

今年试卷题型变动,没有选择题了

基本没有往年原题了

老师说:选择题不超过十分

然后卷子上一条选择题没有

那确实是不超过十分

PPT和作业多年没变

先打个八分吧,目前成绩没出来不好评价

难度、作业什么的之前同学也说了,这里简单介绍下22年春考试的范围吧(过了几天有的记不清了)

首先这次考试有20分的选择题,这些选择题大约6、7题都是历年的原题。

今年全是大题,近似算法占了极大比例。

给分,看群里大部分人应该都还不错(exceptme)。综上,个人体验不佳(仅代表个人)

两位老师的上课体验都还不错。今年是汪老师先讲的,个人觉得讲的很细致;黄老师也讲的很好,但到近似算法那里还是接受不了。复习的时候觉得自己作为非计科的,为什么要看这些东西。艰难的过程后,把PPT上的东西都搞懂了,考试题自认为答得不错,最后3.3。以后试卷都不出往年题的话,这门课还是有难度的。

自认为算学的认真的。直到考试。。

题型变化太大了,往年题压根没考,运气很不好,题型改革过渡期给人带来了太大的痛苦!!!(谁也没想到怎么全是大题)

考前:充分复习了两遍,往年题都做了也争取搞懂了

考时:这都啥啊。尤其是本来就抽象的近似算法部分,怎么考了这么多???

特意来感谢黄老师不杀之恩!黄老师yyds!

计院必修课,对于其他学院的同学,还是快逃吧!内容很难,委婉的说是没什么用,复习的时候很崩溃!我觉得如果不是最后调分把总评调的高很多,这课的评价要低很多。及格分是考虑到黄老师的辛苦教学,汪老师的教学态度我觉得是负分,板书字写得那么小,同学们提意见,态度很不耐烦也没有改变。

过程很艰难,结果挺好,做题家表示可以

总体推荐。(不过这门课是计院必修,没法选

上课风格:

作业:全是往年题。答案可以自行搜索。

考试:今年概率算法的比例与近似算法相当,少部分是分布式算法。往年题有一定价值,选择和简答有大量往年题。(不过明年hls不教了,情况可能有变

给分:很好。75+有95%,不及格率在1%左右。(选课四百多人,群里共486人)

THE END
1.算法设计与分析第一讲初识算法(下)[35] 第一讲 动态规划算法与矩阵连乘问题 1338播放 07:11 [36] 第一讲 动态规划算法与矩阵连乘问题 1466播放 07:47 [37] 第一讲 动态规划算法与矩阵连乘问题 1194播放 07:47 [38] 第一讲 动态规划算法与矩阵连乘问题 1427播放 07:27 [39] 第一讲 动态规划算法与矩阵连乘问题 https://open.163.com/newview/movie/free?pid=QHL5ISTBT&mid=CHL5ITI49
2.算法设计与分析屈婉玲教授—课程笔记算法北京大学网盘网课地址与课件 B站:【北大公开课】 算法设计与分析 屈婉玲教授 (76p) 课件:来源于评论区小伙伴分享(百度云) 提取码:1111 笔记 课程知识框架 算法设计思想 设计思想:尽量选复杂度低的算法 算法实现依赖于数据结构,要选择合适的数据结构 实际问题中综合考虑:时空权衡、实现成本权衡,… https://blog.csdn.net/qq_52361699/article/details/127591475
3.4.7(50个评分)10k名学生已注册算法设计与分析 Design and Analysis of Algorithms 免费注册 于Dec 2 开始 关于 单元 推荐 评价 审阅 What will I get if I purchase the Certificate? When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certifihttps://zh.coursera.org/learn/algorithms
4.国家高等教育智慧教育平台本课程是算法课程的基础部分,主要涉及算法的设计、分析与改进途径,其他有关计算复杂性的内容将在后续课程"算法设计与分析(高级)"中加以介绍。 课程的内容分成两大部分:算法的基础知识和通用算法设计技术与分析方法。 算法基础知识部分主要介绍算法相关的基本概念和数学基础。比如,什么是算法的伪码描述?什么是算法最坏https://www.chinaooc.com.cn/search?keyword=%E8%92%8B%E5%A9%B7
5.算法设计与分析学习强国课程主要内容涉及:面对实际问题建立数学模型、设计正确的求解算法、算法的效率估计、改进算法的途径、问题计算复杂度的估计、难解问题的确定和应对策略等等。本课程是算法课程的基础部分,主要涉及算法的设计、分析与改进途径,其他有关计算复杂性的内容将在后续课程"算法设计与分析(高级)"中加以介绍。课程的内容分成两大https://www.xuexi.cn/a4edc5d029baae7a340612de2f102f0a/9b0f04ec6509904be734f5f609a3604a.html
6.中国大学MOOC算法设计与分析(包翠竹)网课答案超星尔雅学习通的文章中国大学MOOC算法设计与分析(包翠竹)网课答案 下表给出【图片】组【图片】和【图片】函数,【图片】使得【图片】成立的组号(从小到大排列)是:(请直接填写数字序号,例如顺序为【图片】,则填写"【图片】") 【图片】与【图片】之间的渐近关系是? 下表给出【图片】组【图片】和【图片】函数,【图片】使得【图片】https://www.bokee.net/blogmodule/weblogcomment_viewEntry/40708694.html
7.算法设计与分析(豆瓣)本书讲授算法设计与分析的基础知识。首先介绍计算模型的基本概念;其次围绕遍历、分治、贪心、动态规划这四个经典算法设计策略,讲解了排序、选择、查找、图遍历、小生成树、短路径等经典算法问题;后介绍了计算复杂性的基础知识。本书主要面向计算机专业本科生,以及其他需要学习计算机科学基础知识与了解计算机程序设计背后原理https://book.douban.com/subject/27107107/