====== CMP 601: Algorithms and Theory of Computation (2020/1) ====== //Somebody once asked John Hopcroft about the problem of P and NP. He answered: "On Tuesdays, I try to prove that they are equal, on the rest of the week - that they are different." I believe that he has reduced the time to try to show that they are equal to Sunday afternoons.// ===== General information ===== **Professors:** Álvaro Freitas Moreira, Marcus Ritt\\ **Total hours:** 60 h (in 30 lectures of 2h)\\ **Credits:** 4\\ **Summary:** Theory of Computation: Models of computation. Limitation of formal systems. Complexity theory. Algorithms: Analysis of algorithms. Main techniques for designing algorithms.\\ **Time and room:** Tue/Thu 10.30, 102, [[http://mapa.ufrgs.br/index.php?verb=pan&building=44|building 43425]] (regular), on [[http://zoom.us|Zoom]] by inviation (online).\\ **Consultation hours:** Thu 13.30, room 216, [[http://mapa.ufrgs.br/index.php?verb=pan&building=44|building 43425]] (regular), by individual appointement (online).\\ **Details:** On the [[http://www.inf.ufrgs.br/ppgc/disciplinas/lista-de-disciplinas/cmp601|homepage of the course at PPGC]]. ===== News ===== * Results for quizzes. ===== Results ===== * [[:cmp601:2020-1-quiz|Quizzes]] ===== Additional material ===== * Homepage of CMP155 (Análise e Desenvolvimento de Algoritmos) in [[:cmp155:2011-1|2011/1]], [[:cmp155:2010-1|2010/1]], [[:cmp155:2008-1|2008/1]] and [[:cmp155:2007-1|2007/1]]. * Homepage of CMP601 in [[:cmp601:2019-1|2019/2]], [[:cmp601:2018-1|2018/1]], [[:cmp601:2015-1|2015/1]], [[:cmp601:2016-2|2016/2]], and [[:cmp601:2018-1|2018/1]]. * {{:cmp155:notas-10619.pdf|Lecture notes}} (in Portuguese, updated Sep 2019). ==== Lectures ==== ^ No. ^ Data ^ Topics ^ Chap. in\\ notes ^ Exercises ^ Solutions ^ Reading ^ | | | ** Algorithms ** | | | | | | 1 | 05/03 | Administrativa. Introduction. | 1 | | | 1.1 | | 2 | 10/03 | Representative problems. | | | | 1.2 | | 3 | 12/03 | Basics of algorithm analysis. | 2 | | | 2 | | | 16/03-03/04 | **No lectures (suspended)** | | | | | | ** :!: Starting here: plan for online lectures ** |||||||| | 4 | 07/04 | [[:cmp601:graphs1|Graph algorithms 1]]. | | | | 3.[123],4.4 | | 5 | 09/04 | [[:cmp601:graphs2|Graph algorithms 2]]. | | | | 3.[46] | | 6 | 14/04 | [[:cmp601:graphs3|Graph algorithms 3.]] | | | | 3.5 | | 7 | 16/04 | [[:cmp601:greedy1|Greedy algorithms 1.]] | 4 | {{q0120201.pdf|E1}} | {{sq0120201.pdf|S1}} | 4.[12] | | | 21/04 | [[wppt>Tiradentes]] | | | | | | 8 | 23/04 | [[:cmp601:greedy2|Greedy algorithms 2.]] | 4 | | | 4.5 | | 9 | 28/04 | [[:cmp601:greedy3|Greedy algorithms 3.]] | 4 | | | 4.9 | | | 30/04 | //No lecture.// | | | | | | 10 | 05/05 | [[:cmp601:divconq1|Divide-and-conquer 1.]] | 5 | {{q0220201.pdf|E2}} | {{sq0220201.pdf|S2}} | 5.[123] | List 1 due | | 11 | 07/05 | [[:cmp601:divconq2|Divide-and-conquer 2.]] | 5 | | | 5.[45] | | 12 | 12/05 | [[:cmp601:divconq3|Divide-and-conquer 3.]] | 5 | | | 5.6 | | 13 | 14/05 | [[:cmp601:dynprog1|Dynamic programming 1.]] | 6 | | | 6.[12] | | 14 | 19/05 | [[:cmp601:dynprog2|Dynamic programming 2.]] | 6 | | | 6.[45] | List 2 due | | 15 | 21/05 | [[:cmp601:dynprog3|Dynamic programming 3.]] | 6 | {{q0320201.pdf|E3}} | {{sq0320201.pdf|S3}} | 6.[67] | | | | ** Theory of computation ** | | | | | | | 26/05 | Q&A session algorithms 1 | | | | | | | 28/05 | Q&A session algorithms 2 | | | | | | 16 | 02/06 | Theory 1: Introduction -- Noncomputability | | | | | List 3 due | | 17 | 09/06 | Theory 2: Introduction -- Intractability | | | | | | | 11/06 | [[wppt>Corpus Cristi]] | | | | | | 18 | 16/06 | Theory 3: Introduction -- NP-complete problems | | {{q0420201.pdf|E4}} | {{sq0420201.pdf|S4}} | | | 19 | 18/06 | Theory 4: Turing Machines | | | | | List 4 due | | 20 | 23/06 | Theory 5: Undecidability | | | | | | 21 | 25/06 | Theory 6: Reducibility | | | | | | | 30/06 | //No lecture.// | | | | | | | 02/07 | //No lecture.// | | | | | | 22 | 07/07 | Theory 7: Time Complexity I | | | | | | 23 | 09/07 | Theory 8: Time Complexity II | | | | | | 24 | 14/07 | Theory 9: Time Complexity III | | | | | | 25 | 16/07 | Theory 10: Time Complexity IV | | | | | | 26 | 21/07 | Theory 11: Exercises | | | | | | 27 | 23/07 | Theory 12: Space Complexity I | | | | | | 28 | 28/07 | Theory 13: Intractability | | | | | | 29 | 30/07 | Theory 14: Exercises | | | | | | 30 | 04/08 | Theory 15: Exercises | | | | | | 30 | 04/08 | Theory 15: Exercises | | | | | | ** End of online lectures ** |||||||| | | 28/08 | First qualification exam | | {{exq20201aa.pdf|PA1}} | {{exq20201aas.pdf|SPA1}} | | | | 20/11 | Second qualification exam | | {{exq20201ba.pdf|PA2}} | {{exq20201bas.pdf|SPA2}} | | | | 02/12 | Official end of lecture period 2020/1. | | | | | | ** :!: Current end of suspended lectures: Dec 31 ** ||||||||| ==== Evaluation ==== See the [[http://www.inf.ufrgs.br/ppgc/disciplinas/lista-de-disciplinas/cmp601/|homepage of the course at PPGC]]. ==== Material ==== * [[http://www.inf.ufrgs.br/~mrpritt/ca/answers.tex|Template]] for exercise lists. ==== Bibliography ==== Locations of visitors to this page