<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=Theory_of_Computation_2023</id>
	<title>Theory of Computation 2023 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=Theory_of_Computation_2023"/>
	<link rel="alternate" type="text/html" href="https://wikicshse.ru/index.php?title=Theory_of_Computation_2023&amp;action=history"/>
	<updated>2026-06-06T14:36:13Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wikicshse.ru/index.php?title=Theory_of_Computation_2023&amp;diff=747&amp;oldid=prev</id>
		<title>imported&gt;Bauwens: Migrated current public revision from wiki.cs.hse.ru</title>
		<link rel="alternate" type="text/html" href="https://wikicshse.ru/index.php?title=Theory_of_Computation_2023&amp;diff=747&amp;oldid=prev"/>
		<updated>2024-03-19T14:53:22Z</updated>

		<summary type="html">&lt;p&gt;Migrated current public revision from wiki.cs.hse.ru&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Classes =&lt;br /&gt;
&lt;br /&gt;
Lectures: Tuesday 18:10 - 19:30 in Pokrovkaya N509 and in [https://us02web.zoom.us/j/82300259484?pwd=NWxXekxBeE5yMm9UTmwvLzNNNGlnUT09 zoom] by [https://www.hse.ru/en/org/persons/160550073 Bruno Bauwens] &lt;br /&gt;
&lt;br /&gt;
Seminars: Tuesday 19:40 - 21:00 in Pokrovkaya N509 and on [https://meet.google.com/ber-yzns-hxz google.meet] by [https://www.hse.ru/en/org/persons/225553845 Nikita Lukianenko]&lt;br /&gt;
&lt;br /&gt;
Telegram group for announcements and discussions [https://t.me/+foPH7ibnH1gwNjc0 invite link.] The course is similar to [http://wiki.cs.hse.ru/Theory_of_Computation_2022 last year&amp;#039;s one]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1PiivYNHnMiS9m_xeriVL82AFIcAxeDuuA85vHUMsrW8/edit?usp=sharing Results].&lt;br /&gt;
&lt;br /&gt;
Note: for PI students the course is called &amp;#039;&amp;#039;computational complexity&amp;#039;&amp;#039; and has a 2nd part in Febr--March 2024. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Course Materials =&lt;br /&gt;
&lt;br /&gt;
The main reference is Sipser&amp;#039;s book &amp;quot;Introduction to the theory of computation&amp;quot;, chapters 3, 4, 7–10.&lt;br /&gt;
&lt;br /&gt;
For students abroad: the first 5 lectures are covered in chapters 3, 4, 7 and 9.1. Other lectures will be recorded. See also recordings of [http://wiki.cs.hse.ru/Theory_of_Computation_2021 previous year].&lt;br /&gt;
&lt;br /&gt;
If you need some background in math, consider these two sources:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cs.elte.hu/~lovasz/dmbook.ps Lecture notes: Discrete Mathematics], L. Lovasz, K. Vesztergombi&amp;lt;br&amp;gt;&lt;br /&gt;
[http://rubtsov.su/public/DM-HSE-Draft.pdf Лекции по дискретной математике] (черновик учебника, in Russian)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Rec !! Summary !! Problem list&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=XcApxCiymew 05.09] || Turing machines, multitape Turing machines, connection between them. Universal Turing machine. Examples. Time and space complexity. Complexity classes P, PSPACE, EXP. || [https://www.dropbox.com/scl/fi/p4otqrkt3v646iei0olju/prob_01.pdf?rlkey=o2m60d68oqmcivsvc1d02cz8z&amp;amp;dl=0 problem list 1]&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;update 05.09&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|| [https://www.youtube.com/watch?v=tnq5BkcGfk0 12.09] ||  Time and space hierarchy theorems. Time and space constructible functions. || [https://www.dropbox.com/scl/fi/c6y2bv8ur32mc725goxih/prob_02.pdf?rlkey=j7tiw1byfoipod7oys24j9fon&amp;amp;dl=0 problem list 2]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=iwaqw60aZV0 19.09] || Complexity class NP. Examples. Non-deterministic machines and another definition of NP. Polynomial reductions. NP-hardness and NP-completeness.  || [https://www.dropbox.com/scl/fi/yz516b2b2ptptvypgl9v2/prob_03.pdf?rlkey=tljbc8bg8y44anmb7ft6j6zle&amp;amp;dl=0 problem list 3]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=sGfulQ1YoUU 26.09] ||  NP-completenes of independent set, vertex cover, dominating set, NAE-3SAT, 3colorability. || [https://www.dropbox.com/scl/fi/esjnldbdlm2fzzmro09i2/prob_04.pdf?rlkey=s2mh9i1596vrt7k27prjn0ok7&amp;amp;dl=0 problem list 4]&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;update 27.09&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=Jqy89FPbFj4 03.10] || Circuit complexity. Classes AC^i, NC^i, P/poly. All functions are computed by circuits. Existence of functions with exponential circuit complexity. NC1 = Boolean formulas of polynomial size. P is in P/poly (without proof). Addition in AC0. Multiplication is in NC1. [https://www.dropbox.com/scl/fi/ulrlsa5tw7kz1x0aj7bp1/circuits.pdf?rlkey=q3cx7akryx9hnsgc19yhvv0e3&amp;amp;dl=0 circuit_notes.pdf] || [https://www.dropbox.com/scl/fi/mo41bviu8bhn16rm4mi8c/prob_05.pdf?rlkey=kvnv7ci0d7b9f3mef37ltg1hb&amp;amp;dl=0 problem list 5]&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;update 17.10&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=NNorKIxgTGU 10.10] || Proof that P is in P/poly. Proof of Cook Levin theorem. NP-completeness of: exact 1-in-3SAT, subsetsum, Hamiltonian path. Strong NP-completeness. coNP and coNP-completeness.|| [https://www.dropbox.com/scl/fi/q2w6nkdf3fpkx7ola6xcz/prob_06.pdf?rlkey=rt75zw4nub3uuu75hsl0l76cc&amp;amp;dl=0 problem list 6]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://youtube.com/live/_xE0y_4Jb9o 17.10] ||  Directed Reachability is in SPACE(log^2 n). TQBF problem, its PSPACE-completeness. PSPACE = NPSPACE. NSPACE(s(n)) is in SPACE(s(n)^2) for space constructible s.|| [https://www.dropbox.com/scl/fi/f5hhmvwrpark6rzeh8z7x/prob_07.pdf?rlkey=rpcmtaw54clfy3roxdev5zlio&amp;amp;dl=0 problem list 7]&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;update 25.10&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|| [https://www.youtube.com/watch?v=rK5_1KPL9Ko 24.10] ||  Oracle computation definitions. There exists an oracle &amp;#039;&amp;#039;A&amp;#039;&amp;#039; for which P&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt; = NP&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;. There is an oracle B such that P&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt; is not equal to NP&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;. || [https://www.dropbox.com/scl/fi/j8soyxc3glqiwj9ukd8mj/prob_08.pdf?rlkey=w9n8h8b3sj7uujb51d8vpos4q&amp;amp;dl=0 problem list 8]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=X67F8P0dcAA 07.11] || Probabilistic computation. Probabilistic machines, the class BPP, invariance of the definition BPP for different thresholds, RP, coRP, PP, ZPP. BPP is in P/poly. Most of it is also [https://www.youtube.com/watch?v=YSMgVbOqB-8&amp;amp;list=PLm3J0oaFux3YL5vLXpzOyJiLtqLp6dCW2&amp;amp;index=23 here]|| [https://www.dropbox.com/scl/fi/n0eeakvrw2pzirctmlpq7/prob_09.pdf?rlkey=raap4pfnpwouw52qtmbytacdj&amp;amp;dl=0 problem list 9]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=f7pYWzRLflg&amp;amp;t=20s 14.11] ||  Approximation algorithms. Definition c-approximation algorithm. 2-approximation for vertex cover and greedy vertex cover is not optimal. (ln n + 1)-approximation for set cover. PTAS for the makespan problem. Based on [https://www.youtube.com/watch?v=MEz1J9wY2iM&amp;amp;pp=ygUYYXBwcm94aW1hdGlvbiBhbGdvcml0aG1z MIT lecture].&lt;br /&gt;
||  [https://www.dropbox.com/scl/fi/n6p816xwmfpugmry5x0ei/prob_10.pdf?rlkey=brvzxbz329uipvfs1i1dna61y&amp;amp;dl=0 problem list 10]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=GnPuhiQvs34 21.11] || Streaming algorithms I: finding the majority element, computing the sum of the last n numbers, computation of the number of different elements in logarithmic space. The median trick. Morris&amp;#039;es algorithm. See Chapts 6.1-6.2 in [https://home.ttic.edu/~avrim/book.pdf foundations of datascience] by Avrim Blum and others. Another nice chapter in [http://theory.stanford.edu/~tim/w15/l/l1.pdf Tim Roughgarden&amp;#039;s lecture notes] || [https://www.dropbox.com/scl/fi/7aacocyfs0ccwcvtbgfua/prob_11.pdf?rlkey=62335o4b6c6d5zasq8q83j72a&amp;amp;dl=0 problem list 11]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=6hmQhT6ndz0 28.11] || Streaming algorithms II: Again counting different elements, see theorem 1 [https://citeseerx.ist.psu.edu/document?repid=rep1&amp;amp;type=pdf&amp;amp;doi=e3497952347101a3535434bc35d378224cf87bcc here]. Lower bounds using communication complexity. See chapt 1 in [https://arxiv.org/pdf/1509.06257.pdf Roughgarden&amp;#039;s lecture notes]|| [https://www.dropbox.com/scl/fi/gb44vcykb3xq3b3z8z4eg/prob_12.pdf?rlkey=10541o0rr4r1a8pbys64a8vyi&amp;amp;dl=0 problem list 12]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://www.youtube.com/watch?v=T21r8VPD3qg 05.12] || Finishing previous lecture (bounds on communication complexity). See chapt 2 in the [https://arxiv.org/pdf/1509.06257.pdf same notes] Consultation: ask anything about the course. || [https://www.dropbox.com/scl/fi/p1w8ekm265me0w75aiz0g/prob_13.pdf?rlkey=okxdhbr5jdog62y6umsb5ng9g&amp;amp;dl=0 problem list 13]&lt;br /&gt;
|-&lt;br /&gt;
 || 12.12 || &amp;#039;&amp;#039;Colloquium&amp;#039;&amp;#039; || [https://www.dropbox.com/s/37gdsbv2it8omnm/tc-sample-exam.pdf?dl=0 Sample exam] &lt;br /&gt;
|-  &lt;br /&gt;
 || 12.19 || &amp;#039;&amp;#039;Colloquium&amp;#039;&amp;#039; (You may choose between 12-19.12) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Date !! Software engineering: parameterized complexity !! Problem list&lt;br /&gt;
|-&lt;br /&gt;
 || 05.03 || The classes FPT and XP. Kernelization. Examples for vertex cover. [https://www.dropbox.com/scl/fi/x5gwdae4ny4u3zixoy4pw/student_vc_branching.ipynb?rlkey=5oowq1u3jhy490s84ogojg1s7&amp;amp;dl=0 programming task.] [https://www.dropbox.com/s/zzzaulpmzql7x7u/parameterizedComplexity.pdf?dl=0 presentation]. || [https://www.dropbox.com/scl/fi/uijwmh01vnf5rce13ie3g/prob_p1.pdf?rlkey=0n2e5j5p7m4hpqann3pamqsrw&amp;amp;dl=0 problem list 14]&lt;br /&gt;
|-&lt;br /&gt;
 || 12.03 || techniques for obtaining FPT algorithms: branching (feedback vertex), color coding (k-path problem), dynamic programming (set cover) || [https://www.dropbox.com/scl/fi/aaj8o9iw5bszh3ri569rd/prob_p2.pdf?rlkey=glj4rte3bx36avwnuqgdelaj9&amp;amp;dl=0 problem list 15]&lt;br /&gt;
|- &lt;br /&gt;
 || 19.03 || linear programming kernel for vertex cover, tree decompositions, hardness from ETH (exponential time hypothesis) || [https://www.dropbox.com/scl/fi/pfn4pt04pko4er8mkp988/prob_p3.pdf?rlkey=ruyy67173lipbu33by31117tf&amp;amp;dl=0 problem list 16]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PL8EKo81hBCTGfNPpZlIe7USiEPpZGYDte Recordings]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project (for PI students) =&lt;br /&gt;
&lt;br /&gt;
During the 3rd module Januari till March 2024 there are projects where you need to implement algorithms from parameterized complexity. (For example, for the vertex cover algorithm and disjoint paths problems.) A grader will check whether your algorithm reaches certain time limits. &lt;br /&gt;
&lt;br /&gt;
There are 3 tasks: 2 of them about branching and kernelization, 1 task about linear programming bounds. See the table with lectures. The tasks have equal weight for the grade. &lt;br /&gt;
&lt;br /&gt;
Deadline March 31st, 23h59. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The task is to understand a theoretical paper better by either &lt;br /&gt;
&lt;br /&gt;
(Th)  Rewrite some mathematical proof of a research paper in a more accessible way using your own words. You also need to give a lecture (you are not allowed to look at the paper during the lecture). I need to work out examples. Possibly examples that I give you on the spot. &lt;br /&gt;
 &lt;br /&gt;
(Imp) Implement an algorithm (or parts of an algorithm) from a research paper and demonstrate that it works. &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Here are examples of each type concerning the vertex cover problem:&lt;br /&gt;
&lt;br /&gt;
(Th) prove lemma 4.1 of the paper https://epubs.siam.org/doi/pdf/10.1137/1.9781611973402.127 , you need to study some parameterized complexity, see below the table with course materials for references. &lt;br /&gt;
&lt;br /&gt;
(Th) prove theorem 5 from https://www.researchgate.net/profile/Lars-Jaffke/publication/329181540_What_is_known_about_Vertex_Cover_Kernelization/links/5cb319df92851c8d22ea17b6/What-is-known-about-Vertex-Cover-Kernelization.pdf&lt;br /&gt;
 &lt;br /&gt;
(Imp) implement a kernel and a simple branch and bound variant from  https://arxiv.org/pdf/1908.06795.pdf, as well as compare your algorithm with the results in the contest https://pacechallenge.org/2019/vc/vc_exact/&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
You can propose projects yourself, but it is not allowed to have a theoretical paper about software verification. (Because there are too many definitions, and during the lecture it usually turns out the student does not understand them.)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Additional reading = &lt;br /&gt;
&lt;br /&gt;
Both books below contain a lot of extra materials and describe more recent discoveries in computational complexity. The first book has a gentle and pleasant style. The second book is a rigorous textbook for students theoretical computer science at the beginning master level. &lt;br /&gt;
&lt;br /&gt;
C. Moore and S. Mertens, The nature of computation, 2011.   &lt;br /&gt;
&lt;br /&gt;
S. Arora and B. Barak, Computational Complexity: A Modern Approach, 2009. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is an advanced textbook with background on parameterized algorithms.&lt;br /&gt;
&lt;br /&gt;
M. Cygan, F. Fomin and 6 others, Parameterized algorithms, 2016&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
For AMI students:&lt;br /&gt;
&lt;br /&gt;
 Final score = 0.35 * [score homework] + 0.35 * [score colloquium] + 0.3 * [score exam] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For PI students (the course is called &amp;quot;computational complexity&amp;quot; and takes 3 modules):&lt;br /&gt;
&lt;br /&gt;
 Final score = 0.25 * [score homework] + 0.25 * [score colloquium] + 0.25 * [score exam] + 0.25 * [score project] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some homework assignments contain extra problems. Each solution of an extra problem will give 1 extra point on the final exam. There will be around 6 extra problems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rounding. Only final grades are rounded. Arithmetic rounding is used. &lt;br /&gt;
&lt;br /&gt;
Autogrades. If only 6/10 for the exam is needed to get a final score of 10/10, then this will be given automatically. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Colloquium and exam =&lt;br /&gt;
&lt;br /&gt;
Colloquium: on 12.12 or 19.12 at the time and place of the lecture+seminar, you can choose your time. &lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/scl/fi/srv4bitahhdzcrd0vm0pr/col.pdf?rlkey=25tt9v6du6wa90tg4pn0sdn0u&amp;amp;dl=0 Rules and questions.] (Update 11.12 question 1 of part 2.)&lt;br /&gt;
&lt;br /&gt;
Exam: December 27th, 10h -- 13h, room M203. Copies of Sipser&amp;#039;s book, Arora&amp;amp;Barak, Mertens&amp;amp;Moore, chapts 1 and 2 of Roughgarden will be available. (I you have these books or printed parts of them, please bring it.) Also, personal handwritten notes are allowed, but nothing else.  [https://www.dropbox.com/s/37gdsbv2it8omnm/tc-sample-exam.pdf?dl=0 Sample exam]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Homeworks =&lt;br /&gt;
&lt;br /&gt;
Deadlines: every 2 weeks, before the lecture at 17h30. Submit in pdf or fotos of handwritten text in [https://classroom.google.com/c/NjIwOTk0NTM2NzE5?cjc=l4uhnyi google classrooms], code l4uhnyi. [https://docs.google.com/spreadsheets/d/1PiivYNHnMiS9m_xeriVL82AFIcAxeDuuA85vHUMsrW8/edit?usp=sharing Results]. For questions about grading, contact [https://t.me/ivanashev Yaroslav Ivanashev].  &lt;br /&gt;
&lt;br /&gt;
Tasks are in the seminar sheets. &lt;br /&gt;
Problem lists 1 and 2 on 19.09,&lt;br /&gt;
lists 3 and 4 on 03.10, &lt;br /&gt;
lists 5 and 6 on 17.10, &lt;br /&gt;
lists 7 and 8 on 07.11, &lt;br /&gt;
lists 9 and 10 on 21.11, &lt;br /&gt;
lists 11 and 12 on 05.12.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Office hours =&lt;br /&gt;
&lt;br /&gt;
Bruno Bauwens: Wednesdays 13h00-16h30. Fridays 14h-20h. Better send me an email in advance.&lt;br /&gt;
&lt;br /&gt;
Nikita Lukianenko: Write in telegram.&lt;/div&gt;</summary>
		<author><name>imported&gt;Bauwens</name></author>
	</entry>
</feed>