高级算法 (Fall 2023): Difference between revisions
Zouzongrui (talk | contribs) No edit summary |
|||
(110 intermediate revisions by 5 users not shown) | |||
Line 34: | Line 34: | ||
|header7 = | |header7 = | ||
|label7= office | |label7= office | ||
|data7= 计算机系 | |data7= 计算机系 605 | ||
|header8 = | |header8 = | ||
|label8 = | |label8 = | ||
Line 49: | Line 49: | ||
|header12 = | |header12 = | ||
|label12 = Class meetings | |label12 = Class meetings | ||
|data12 = Tuesday, 2pm-5pm, <br> | |data12 = Tuesday, 2pm-5pm, <br>仙Ⅰ-206<br> | ||
|header13 = | |header13 = | ||
|label13 = Place | |label13 = Place | ||
Line 55: | Line 55: | ||
|header14 = | |header14 = | ||
|label14 = Office hours | |label14 = Office hours | ||
|data14 = | |data14 = Thursday, 2pm-4pm, <br>计算机系 804<br> | ||
|header15 = Textbooks | |header15 = Textbooks | ||
|label15 = | |label15 = | ||
Line 79: | Line 79: | ||
= Announcement = | = Announcement = | ||
* '''(2023/09/04)'''<font color=red size=4> | * '''(2023/09/04)'''<font color=red size=4> 上课时间通知:</font> 第一次上课时间更改为第二周周二(9月12日)14:00-17:00。 | ||
* '''(2023/11/23)''' 补课时间调查问卷链接:https://wj.qq.com/s2/13624543/2b1b/ | |||
* '''(2024/01/02)''' Final已经发布,文档密码公布于QQ群中。 | |||
= Course info = | = Course info = | ||
* '''Instructor ''': | * '''Instructor ''': | ||
:* | :* [http://tcs.nju.edu.cn/yinyt/ 尹一通]:[mailto:yinyt@nju.edu.cn <yinyt@nju.edu.cn>],计算机系 804 | ||
:* | :*[https://tcs.nju.edu.cn/shili/ 栗师]:[mailto:shili@nju.edu.cn <shili@nju.edu.cn>],计算机系 605 | ||
:* | :* [https://liuexp.github.io 刘景铖]:[mailto:liu@nju.edu.cn <liu@nju.edu.cn>],计算机系 516 | ||
* '''Teaching Assistant''': | * '''Teaching Assistant''': | ||
* '''Mailbox for Homework''': | ** 陈弘毅:[mailto:502023330006@smail.nju.edu.cn <502023330006@smail.nju.edu.cn>],计算机系 426 | ||
* '''Class meeting''': Tuesday, 2pm-5pm | ** 邹宗瑞:[mailto:zou.zongrui@smail.nju.edu.cn <zou.zongrui@smail.nju.edu.cn>],计算机系 410 | ||
* '''Mailbox for Homework''': [mailto:njuadvalg23@163.com njuadvalg23@163.com] | |||
* '''Class meeting''': Tuesday, 2pm-5pm, 仙Ⅰ-206 | |||
* '''Office hour''': | * '''Office hour''': Thursday, 2pm-4pm, 计算机系 804 | ||
* '''QQ群''': 876680440 | |||
= Syllabus = | = Syllabus = | ||
Line 101: | Line 104: | ||
=== Course materials === | === Course materials === | ||
* [[高级算法 (Fall | * [[高级算法 (Fall 2023) / Course materials|<font size=3>教材和参考书</font>]] | ||
=== 成绩 Grades === | === 成绩 Grades === | ||
Line 117: | Line 120: | ||
= Assignments = | = Assignments = | ||
*[[高级算法 (Fall 2023)/Problem Set 1|Problem Set 1]] 请在 2023/11/14 上课之前(14:00 UTC+8)提交到 [mailto:njuadvalg23@163.com njuadvalg23@163.com] (文件名为'<font color=red >学号_姓名_A1.pdf</font>'). [[高级算法 (Fall 2023)/第一次作业提交名单|第一次作业提交名单]] | |||
*[[高级算法 (Fall 2023)/Problem Set 2|Problem Set 2]] 请在 2023/12/19 上课之前(14:00 UTC+8)提交到 [mailto:njuadvalg23@163.com njuadvalg23@163.com] (文件名为'<font color=red >学号_姓名_A2.pdf</font>'). [[高级算法 (Fall 2023)/第二次作业提交名单|第二次作业提交名单]] | |||
*[[Media:Advanced algorithm 2023 Fall take home final.pdf|Take home final (2023 fall)]] 请在 <strike>2024/01/09</strike> <font color=red>2024/01/14</font> 12:00 UTC+8 提交到 [mailto:njuadvalg23@163.com njuadvalg23@163.com] (文件名为'<font color=red >学号_姓名_final.pdf</font>'). | |||
= Lecture Notes = | = Lecture Notes = | ||
# [[高级算法 (Fall 2023)/Min Cut, Max Cut, and Spectral Cut|Min Cut, Max Cut, and Spectral Cut]] ([http://tcs.nju.edu.cn/slides/aa2023/Cut.pdf slides]) | |||
#* [[高级算法 (Fall 2023)/Probability Basics|Probability basics]] | |||
# [[高级算法 (Fall 2023)/Fingerprinting| Fingerprinting]] ([http://tcs.nju.edu.cn/slides/aa2023/Fingerprinting.pdf slides]) | |||
#* [[高级算法 (Fall 2023)/Finite Field Basics|Finite field basics]] | |||
# [[高级算法 (Fall 2023)/Hashing and Sketching|Hashing and Sketching]] ([http://tcs.nju.edu.cn/slides/aa2023/Hashing.pdf slides]) | |||
#* [[高级算法 (Fall 2023)/Limited independence|Limited independence]] | |||
#* [[高级算法 (Fall 2023)/Basic deviation inequalities|Basic deviation inequalities]] | |||
# [[高级算法 (Fall 2023)/Concentration of measure|Concentration of measure]] ([http://tcs.nju.edu.cn/slides/aa2023/Concentration.pdf slides]) | |||
#* [[高级算法 (Fall 2023)/Conditional expectations|Conditional expectations]] | |||
# [[高级算法 (Fall 2023)/Dimension Reduction|Dimension Reduction]] ([http://tcs.nju.edu.cn/slides/aa2023/NNS.pdf slides]) | |||
#* [https://www.cs.princeton.edu/~hy2/teaching/fall22-cos521/notes/JL.pdf Professor Huacheng Yu's note on Johnson-Lindenstrauss Theorem] | |||
#* [http://people.csail.mit.edu/gregory/annbook/introduction.pdf An introduction of LSH] | |||
# ''Lovász'' Local Lemma ([http://tcs.nju.edu.cn/slides/aa2023/LLL.pdf slides]) | |||
#* [https://theory.stanford.edu/~jvondrak/MATH233A-2018/Math233-lec02.pdf Professor Jan Vondrák's Lecture Notes on LLL] | |||
#* [https://www.cc.gatech.edu/~vigoda/6550/Notes/Lec16.pdf Professor Eric Vigoda's Lecture Notes on Algorithmic LLL] | |||
# Spectral graph theory and Cheeger's inequality ([[Media:L8 spectral-graph-theory.pdf|slides]]) | |||
#* [https://cs.uwaterloo.ca/~lapchi/cs860/notes/04-Cheeger.pdf Chapter 4] and [https://cs.uwaterloo.ca/~lapchi/cs860/notes/05-Cheeger-generalizations.pdf Chapter 5] of Professor Lap Chi Lau's book | |||
#* See also [https://lucatrevisan.github.io/41000/lecture02.pdf Professor Luca Trevisan's note] for a different treatment of positive and negative entries in the threshold rounding step, which works even if the vector is not an eigenvector | |||
# Random Walk ([[Media:AA2023_L9_random_walk.pdf |slides]]) | |||
#* [https://cs.uwaterloo.ca/~lapchi/cs860/notes/06-random-walks.pdf Chapter 6] of Professor Lap Chi Lau's book | |||
#* See Chapter 7.1.1 of Probability and Computing for an analysis of the random walk algorithm for 2SAT | |||
#* [https://arxiv.org/pdf/0909.3346.pdf Perfect Matchings in <math>O(n \log n)</math> Time in Regular Bipartite Graphs, by Goel, Kapralov and Khanna] | |||
# Electrical networks ([[Media:L10_electrical_networks.pdf|slides]]) | |||
#* Chapter 11 and Chapter 12 of Professor Daniel A. Spielman's [http://cs-www.cs.yale.edu/homes/spielman/sagt/sagt.pdf Spectral and Algebraic Graph Theory] book | |||
#* See also Chapter 4 of Professor Nisheeth K. Vishnoi's [https://www.cs.yale.edu/homes/vishnoi/Lxb-Web.pdf <math>Lx=b</math>] monograph and Chapter 2 of [https://rdlyons.pages.iu.edu/prbtree/book_online.pdf Probability on Trees and Networks] by Lyons and Peres | |||
#* Related course note: [https://sites.google.com/g.harvard.edu/sgt/home/spring-2023/schedule-lecture-notes-and-assignments/lecture-notes/lecture-16-notes Professor Salil Vadhan's], [https://homes.cs.washington.edu/~shayan/courses/approx/adv-approx-4.pdf Professor Shayan Oveis Gharan's] | |||
#* For a reference of the Lagrange dual formulation of a constrained convex optimization problem, and the corresponding optimality (KKT) conditions, see Chapter 5.5.3 of [https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf Convex Optimization] by Boyd and Vandenberghe | |||
#* Graph connectivity is closely related to many complexity theoretic questions, see [https://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/AVI/PRAGUE/conn.pdf a survey] by Professor Avi Wigderson | |||
# Markov chain Monte Carlo and Coupling ([[Media:L11_MCMC.pdf|slides]]) | |||
# Expanders: Pseudorandomness, Coding and Constructions, guest lecture by [https://pwu.netlify.app/ Dr. Pei Wu] ([[Media:Advanced_algorithm_2023_peiwu_expander.pdf|notes]]) | |||
#* A very nice survey on Expanders by [https://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf Hoory, Linial, Wigderson] | |||
#* See also Professor Venkat Guruswami’s lecture note on [https://www.cs.cmu.edu/~venkatg/teaching/codingtheory/notes/notes8.pdf expander codes] | |||
# Greedy Algorithms and Local Search ([http://tcs.nju.edu.cn/slides/aa2023/Greedy.pdf slides], [http://tcs.nju.edu.cn/slides/aa2023/Greedy-handout.pdf handout]) | |||
#* Maximum-Weight Independent Set in Matroids | |||
#* 2-Approximation Algorithm for Vertex Cover | |||
#* <math>f</math>-Approximation for Set-Cover with Frequency <math>f</math> ([https://pages.cs.wisc.edu/~shuchi/courses/880-S07/scribe-notes/lecture03.pdf Lecture Notes from Shuchi Chawla's Course]) | |||
#* <math>(\ln n + 1)</math>-Approximation for Set-Cover (Section 1.6 of [http://www.designofapproxalgs.com WS] book) | |||
#* <math>(1 − 1/\mathrm{e})</math>-Approximation for Maximum Coverage | |||
#* <math>(1 − 1/\mathrm{e})</math>-Approximation for Submodular Maximization under a Cardinality Constraint | |||
#* 2-Approximation for Maximum-Cut via Local Search | |||
#* Local Search for Uncapacitated Facility Location (Section 9.1 of [http://www.designofapproxalgs.com WS] book) | |||
# Dynamic Programming ([http://tcs.nju.edu.cn/slides/aa2023/DynamicProgramming.pdf slides], [http://tcs.nju.edu.cn/slides/aa2023/DynamicProgramming-handout.pdf handout]) | |||
#* [http://tcs.nju.edu.cn/notes/DP.Note.pdf Vazirani book Chap. 8] | |||
# Linear Programming Rounding ([http://tcs.nju.edu.cn/slides/aa2023/LPRounding.pdf slides], [http://tcs.nju.edu.cn/slides/aa2023/LPRounding-handout.pdf handout]) | |||
#* [http://tcs.nju.edu.cn/notes/LP.Note.pdf Vazirani book Chap. 14, 16] | |||
#* [https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15859-f11/www/notes/lpsdp.pdf Notes on LP and SDP by Anupam Gupta and Ryan O’Donnell] | |||
# The Primal-Dual Schema ([http://tcs.nju.edu.cn/slides/aa2023/PrimalDual.pdf slides], [http://tcs.nju.edu.cn/slides/aa2023/PrimalDual-handout.pdf handout]) | |||
#* [http://tcs.nju.edu.cn/notes/DualityNote.pdf Vazirani book Chap. 12, 15] | |||
# SDP and Max-Cut ([http://tcs.nju.edu.cn/slides/aa2023/SDP.pdf slides], [http://tcs.nju.edu.cn/slides/aa2023/SDP-handout.pdf handout]) | |||
#* [http://tcs.nju.edu.cn/notes/SDP.Note.pdf Vazirani book Chap. 26] | |||
= Related Online Courses= | = Related Online Courses= | ||
* [https://www.cs.cmu.edu/~15850/ Advanced Algorithms] by Anupam Gupta at CMU. | |||
* [http://people.csail.mit.edu/moitra/854.html Advanced Algorithms] by Ankur Moitra at MIT. | * [http://people.csail.mit.edu/moitra/854.html Advanced Algorithms] by Ankur Moitra at MIT. | ||
* [http://courses.csail.mit.edu/6.854/current/ Advanced Algorithms] by David Karger and Aleksander Mądry at MIT. | * [http://courses.csail.mit.edu/6.854/current/ Advanced Algorithms] by David Karger and Aleksander Mądry at MIT. | ||
* [http://web.stanford.edu/class/cs168/index.html The Modern Algorithmic Toolbox] by Tim Roughgarden and Gregory Valiant at Stanford. | * [http://web.stanford.edu/class/cs168/index.html The Modern Algorithmic Toolbox] by Tim Roughgarden and Gregory Valiant at Stanford. | ||
* [https://www.cs.princeton.edu/courses/archive/ | * [https://www.cs.princeton.edu/courses/archive/fall18/cos521/ Advanced Algorithm Design] by Pravesh Kothari and Christopher Musco at Princeton. | ||
* [http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15859-f11/www/ Linear and Semidefinite Programming (Advanced Algorithms)] by Anupam Gupta and Ryan O'Donnell at CMU. | * [http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15859-f11/www/ Linear and Semidefinite Programming (Advanced Algorithms)] by Anupam Gupta and Ryan O'Donnell at CMU. | ||
* [https://www.cs.cmu.edu/~odonnell/papers/cs-theory-toolkit-lecture-notes.pdf CS Theory Toolkit] by Ryan O'Donnell at CMU. | |||
* [https://cs.uwaterloo.ca/~lapchi/cs860/index.html Eigenvalues and Polynomials] by Lap Chi Lau at University of Waterloo. | |||
* The [https://www.cs.cornell.edu/jeh/book.pdf "Foundations of Data Science" book] by Avrim Blum, John Hopcroft, and Ravindran Kannan. | * The [https://www.cs.cornell.edu/jeh/book.pdf "Foundations of Data Science" book] by Avrim Blum, John Hopcroft, and Ravindran Kannan. |
Latest revision as of 14:03, 4 November 2024
This is the webpage for the Advanced Algorithms class of fall 2023. Students who take this class should check this page periodically for content updates and new announcements.
Announcement
- (2023/09/04) 上课时间通知: 第一次上课时间更改为第二周周二(9月12日)14:00-17:00。
- (2023/11/23) 补课时间调查问卷链接:https://wj.qq.com/s2/13624543/2b1b/
- (2024/01/02) Final已经发布,文档密码公布于QQ群中。
Course info
- Instructor :
- 尹一通:<yinyt@nju.edu.cn>,计算机系 804
- 栗师:<shili@nju.edu.cn>,计算机系 605
- 刘景铖:<liu@nju.edu.cn>,计算机系 516
- Teaching Assistant:
- 陈弘毅:<502023330006@smail.nju.edu.cn>,计算机系 426
- 邹宗瑞:<zou.zongrui@smail.nju.edu.cn>,计算机系 410
- Mailbox for Homework: njuadvalg23@163.com
- Class meeting: Tuesday, 2pm-5pm, 仙Ⅰ-206
- Office hour: Thursday, 2pm-4pm, 计算机系 804
- QQ群: 876680440
Syllabus
随着计算机算法理论的不断发展,现代计算机算法的设计与分析大量地使用非初等的数学工具以及非传统的算法思想。“高级算法”这门课程就是面向计算机算法的这一发展趋势而设立的。课程将针对传统算法课程未系统涉及、却在计算机科学各领域的科研和实践中扮演重要角色的高等算法设计思想和算法分析工具进行系统讲授。
先修课程 Prerequisites
- 必须:离散数学,概率论,线性代数。
- 推荐:算法设计与分析。
Course materials
成绩 Grades
- 课程成绩:本课程将会有若干次作业和一次期末考试。最终成绩将由平时作业成绩和期末考试成绩综合得出。
- 迟交:如果有特殊的理由,无法按时完成作业,请提前联系授课老师,给出正当理由。否则迟交的作业将不被接受。
学术诚信 Academic Integrity
学术诚信是所有从事学术活动的学生和学者最基本的职业道德底线,本课程将不遗余力的维护学术诚信规范,违反这一底线的行为将不会被容忍。
作业完成的原则:署你名字的工作必须是你个人的贡献。在完成作业的过程中,允许讨论,前提是讨论的所有参与者均处于同等完成度。但关键想法的执行、以及作业文本的写作必须独立完成,并在作业中致谢(acknowledge)所有参与讨论的人。不允许其他任何形式的合作——尤其是与已经完成作业的同学“讨论”。
本课程将对剽窃行为采取零容忍的态度。在完成作业过程中,对他人工作(出版物、互联网资料、其他人的作业等)直接的文本抄袭和对关键思想、关键元素的抄袭,按照 ACM Policy on Plagiarism的解释,都将视为剽窃。剽窃者成绩将被取消。如果发现互相抄袭行为, 抄袭和被抄袭双方的成绩都将被取消。因此请主动防止自己的作业被他人抄袭。
学术诚信影响学生个人的品行,也关乎整个教育系统的正常运转。为了一点分数而做出学术不端的行为,不仅使自己沦为一个欺骗者,也使他人的诚实努力失去意义。让我们一起努力维护一个诚信的环境。
Assignments
- Problem Set 1 请在 2023/11/14 上课之前(14:00 UTC+8)提交到 njuadvalg23@163.com (文件名为'学号_姓名_A1.pdf'). 第一次作业提交名单
- Problem Set 2 请在 2023/12/19 上课之前(14:00 UTC+8)提交到 njuadvalg23@163.com (文件名为'学号_姓名_A2.pdf'). 第二次作业提交名单
- Take home final (2023 fall) 请在
2024/01/092024/01/14 12:00 UTC+8 提交到 njuadvalg23@163.com (文件名为'学号_姓名_final.pdf').
Lecture Notes
- Min Cut, Max Cut, and Spectral Cut (slides)
- Fingerprinting (slides)
- Hashing and Sketching (slides)
- Concentration of measure (slides)
- Dimension Reduction (slides)
- Lovász Local Lemma (slides)
- Spectral graph theory and Cheeger's inequality (slides)
- Chapter 4 and Chapter 5 of Professor Lap Chi Lau's book
- See also Professor Luca Trevisan's note for a different treatment of positive and negative entries in the threshold rounding step, which works even if the vector is not an eigenvector
- Random Walk (slides)
- Chapter 6 of Professor Lap Chi Lau's book
- See Chapter 7.1.1 of Probability and Computing for an analysis of the random walk algorithm for 2SAT
- Perfect Matchings in [math]\displaystyle{ O(n \log n) }[/math] Time in Regular Bipartite Graphs, by Goel, Kapralov and Khanna
- Electrical networks (slides)
- Chapter 11 and Chapter 12 of Professor Daniel A. Spielman's Spectral and Algebraic Graph Theory book
- See also Chapter 4 of Professor Nisheeth K. Vishnoi's [math]\displaystyle{ Lx=b }[/math] monograph and Chapter 2 of Probability on Trees and Networks by Lyons and Peres
- Related course note: Professor Salil Vadhan's, Professor Shayan Oveis Gharan's
- For a reference of the Lagrange dual formulation of a constrained convex optimization problem, and the corresponding optimality (KKT) conditions, see Chapter 5.5.3 of Convex Optimization by Boyd and Vandenberghe
- Graph connectivity is closely related to many complexity theoretic questions, see a survey by Professor Avi Wigderson
- Markov chain Monte Carlo and Coupling (slides)
- Expanders: Pseudorandomness, Coding and Constructions, guest lecture by Dr. Pei Wu (notes)
- A very nice survey on Expanders by Hoory, Linial, Wigderson
- See also Professor Venkat Guruswami’s lecture note on expander codes
- Greedy Algorithms and Local Search (slides, handout)
- Maximum-Weight Independent Set in Matroids
- 2-Approximation Algorithm for Vertex Cover
- [math]\displaystyle{ f }[/math]-Approximation for Set-Cover with Frequency [math]\displaystyle{ f }[/math] (Lecture Notes from Shuchi Chawla's Course)
- [math]\displaystyle{ (\ln n + 1) }[/math]-Approximation for Set-Cover (Section 1.6 of WS book)
- [math]\displaystyle{ (1 − 1/\mathrm{e}) }[/math]-Approximation for Maximum Coverage
- [math]\displaystyle{ (1 − 1/\mathrm{e}) }[/math]-Approximation for Submodular Maximization under a Cardinality Constraint
- 2-Approximation for Maximum-Cut via Local Search
- Local Search for Uncapacitated Facility Location (Section 9.1 of WS book)
- Dynamic Programming (slides, handout)
- Linear Programming Rounding (slides, handout)
- The Primal-Dual Schema (slides, handout)
- SDP and Max-Cut (slides, handout)
Related Online Courses
- Advanced Algorithms by Anupam Gupta at CMU.
- Advanced Algorithms by Ankur Moitra at MIT.
- Advanced Algorithms by David Karger and Aleksander Mądry at MIT.
- The Modern Algorithmic Toolbox by Tim Roughgarden and Gregory Valiant at Stanford.
- Advanced Algorithm Design by Pravesh Kothari and Christopher Musco at Princeton.
- Linear and Semidefinite Programming (Advanced Algorithms) by Anupam Gupta and Ryan O'Donnell at CMU.
- CS Theory Toolkit by Ryan O'Donnell at CMU.
- Eigenvalues and Polynomials by Lap Chi Lau at University of Waterloo.
- The "Foundations of Data Science" book by Avrim Blum, John Hopcroft, and Ravindran Kannan.