Theory of Computation 2021 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Course Materials)
(не показано 48 промежуточных версии 2 участников)
Строка 1: Строка 1:
== General Information ==
+
= Classes =
 +
 +
Tuesdays 14:40–17:40, [https://ruz.hse.ru/ruz/main ruz]
  
Classes: Tuesdays, 14:40–17:40.
+
Lectures: 14:40 in room M303  [https://us02web.zoom.us/j/83533615475?pwd=WDU3cHJ5RjREOGd2YU1qdDJCVm1idz09 zoomlink 26/10]
  
== Dates and Deadlines ==
+
Seminars: 16:20 in room M302  [https://us02web.zoom.us/j/84546220686?pwd=U2dISk5UaFZpdmh3WTdFT3phRVNXZz09 zoomlink 26/10]
  
Homework 1, deadline: October 5, 14:00 <br>
+
= Dates and Deadlines =
 +
Please send your homework by e-mail to both lecturers.<br>
 +
Homework 1, deadline: October 5, 14:00; the deadline for the extra problems is November 2, 14:00<br>
 
Homework 2, deadline: November 2, 14:00 <br>
 
Homework 2, deadline: November 2, 14:00 <br>
 
Homework 3, deadline: December 7, 14:00 <br>
 
Homework 3, deadline: December 7, 14:00 <br>
 
Colloquium: December 7, 14:40–17:40
 
Colloquium: December 7, 14:40–17:40
  
== Course Materials ==
+
= Grading =
 +
Colloquium: 35%<br>
 +
Homework: 35%<br>
 +
Exam: 30%
  
The main reference is Sipser's book "Introduction to the theory of computation" Chapters 3, 7–10.
+
==Homework Grading==
 +
Some homework assignments contain extra problems. Let us call all other problems normal. The weight of each problem (whether normal or extra) in the overall homework grade is 8/''n'', where ''n'' is the total number of normal problems in all homework assignments. Partial credit is possible for some problems.
 +
 
 +
If you score at least 8 and solve some extra problems that do not contribute to this score, we will evaluate each of these extra problems on the scale [0, 1] and will add two maximal scores to your homework grade.
 +
 
 +
= Course Materials =
 +
 
 +
The main reference is Sipser's book "Introduction to the theory of computation", chapters 3, 7–10.
  
 
If you need some background in math, consider these two sources:<br>
 
If you need some background in math, consider these two sources:<br>
 
[http://www.cs.elte.hu/~lovasz/dmbook.ps Lecture notes: Discrete Mathematics], L. Lovasz, K. Vesztergombi<br>
 
[http://www.cs.elte.hu/~lovasz/dmbook.ps Lecture notes: Discrete Mathematics], L. Lovasz, K. Vesztergombi<br>
 
[http://rubtsov.su/public/DM-HSE-Draft.pdf Лекции по дискретной математике] (черновик учебника, in Russian)
 
[http://rubtsov.su/public/DM-HSE-Draft.pdf Лекции по дискретной математике] (черновик учебника, in Russian)
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Date/Movie !! Summary !! Problem list
+
! Date !! Summary !! Problem list
 
|-
 
|-
  || 07.09 || Turing machines, multitape Turing machines, connection between them. Universal Turing machine. Examples. Time and space complexity. Complexity classes P, PSPACE, EXP. ||
+
  || 07.09 || Turing machines, multitape Turing machines, connection between them. Universal Turing machine. Examples ([https://www.dropbox.com/s/wna14b7y7nmw3cq/tm.py?dl=0 one], [https://www.dropbox.com/s/wrl3mkeqslj3xtu/wsharpw.py?dl=0 two]). Time and space complexity. Complexity classes P, PSPACE, EXP. || [https://www.dropbox.com/s/37eel2qayios6b3/prob_1.pdf?dl=0 Problem set 1]
 
|-
 
|-
|| 14.09 ||  Time and space hierarchy theorem. Time and space constructible functions. ||
+
|| 14.09 ||  Time and space hierarchy theorem. Time and space constructible functions. || [https://www.dropbox.com/s/ow4m1z8u8r211qs/prob_2.pdf?dl=0 Problem set 2]
 
|-
 
|-
  || 21.09 || Circuit complexity. Examples. All functions are computed by circuits. Existence of functions with exponential circuit complexity. P is in P/poly.
+
  || 21.09 || Complexity class NP. Examples. Polynomial reductions. NP-hardness and NP-completeness.  
  ||  
+
  || [https://www.dropbox.com/s/bf68zicg4uh051x/prob_03.pdf?dl=0 Problem set 3]
 
|-
 
|-
  || 29.09 ||  Circuit complexity. Examples. All functions are computed by circuits. Existence of functions with exponential circuit complexity. P is in P/poly.  || [https://www.dropbox.com/s/51am8w6jytz9dad/prob_04.pdf?dl=0 Problem list 4]
+
  || 28.09 ||  Non-deterministic TMs. Another definition of NP. Proving NP-hardness by reduction from an NP-complete problem. Examples of NP-complete problems.  || [https://www.dropbox.com/s/g817m6v0ygb8h4n/prob_04.pdf?dl=0 Problem set 4]
 
|-
 
|-
  || 06.10 || NP-completeness: Circuit-SAT, 3-SAT, IND-SET, BIN-INT-PROG, Clique, Vertex-Cover, Exactly 1-3-SAT, NAE-3-SAT || [https://www.dropbox.com/s/jfbisdyolmhdohl/prob_05.pdf?dl=0 Problem list 5]
+
  || 05.10 || Inclusions between P, NP, and PSPACE. Circuit complexity. Examples. All functions are computed by circuits. Existence of functions with exponential circuit complexity. P is in P/poly.|| [https://www.dropbox.com/s/qkc5p4795rualwn/prob_05.pdf?dl=0 Problem set 5]
 
|-
 
|-
  || 13.10 || NP-completeness: Subset-SUM, 3COLORING. coNP, completeness of CIRC-TAUT  || [https://www.dropbox.com/s/tzqj7l8il5drhk4/prob_06.pdf?dl=0 Problem list 6]
+
  || 12.10 || Cook–Levin theorem. || [https://www.dropbox.com/s/y2y1lu29936xy9n/prob_06.pdf?dl=0 Problem set 6]
 
|-
 
|-
  || [https://zoom.us/rec/share/3LrMJXXTJDAYF2lzH0r33hv336AWBjtufpF6yKdidy4ic6uFvsYEpK7BlZEKFNyV.xYkSb0P6NBjVRsao?startTime=1603793959000 27.10] || Space complexity. Classes L, NL, PSPACE and NPSPACE. Directed Reachability is in SPACE(log<sup>2</sup> ''n''). Configuration graph. Inclusions between time and space classes. TQBF problem, its PSPACE-completeness. PSPACE = NPSPACE. NSPACE(''s''(''n'')) is in SPACE(''s''(''n'')<sup>2</sup>) for space constructible ''s''. || [https://www.dropbox.com/s/hlubofza612y6cj/prob_07.pdf?dl=0 Problem list 7]
+
  || 26.10 || Space complexity. ||
 
|-  
 
|-  
|| [https://zoom.us/rec/share/14xX_cDOu2Gr2fpFFxfmJKEclKNoDr57XCq2gyGqSGmsgilZdrTwyZihBHz6XRmO.OfTjHf0GXEA9Et4H 03.11] || [https://www.dropbox.com/s/5lt1z4qxhksgs15/WCM_def5d.mp4?dl=0 L ⊆ P]. [https://www.dropbox.com/s/rtizfkx2m2ebyec/NLsubsetP.png?dl=0 NL ⊆ P]. [https://www.dropbox.com/s/9jtajtadc8vrgby/reductions.mp4?dl=0 Log-space reductions and NL-completeness]. [https://www.dropbox.com/s/ca86r3h2fvm3q8o/WCM_09830.mp4?dl=0 Path is NL-][https://www.dropbox.com/s/3k5fld05zisqgrp/WCM_df84e.mp4?dl=0 complete] and, [https://www.dropbox.com/s/ko2zmvk31jqm0ma/WCM_03d13.mp4?dl=0 probably, outside L]. [https://www.dropbox.com/s/mhqz2n52hab37zw/WCM_695bc.mp4?dl=0 Class coNL]. [https://www.dropbox.com/s/ul739s45r3palqi/WCM_7ddbe.mp4?dl=0 NL] [https://www.dropbox.com/s/0tqcxf9uzpev711/WCM_65c40.mp4?dl=0 =] [https://www.dropbox.com/s/ecdy6tno88a1ffs/WCM_63463.mp4?dl=0 coNL]. [https://www.dropbox.com/s/hilscsxiicgr6ho/WCM_3c921.mp4?dl=0 Generalised Geography] and [https://www.dropbox.com/s/4tbu304rw7vje4q/WCM_81f5b.mp4?dl=0 Formula Game] are [https://www.dropbox.com/s/xrlz1u4ho2z1u5x/WCM_bc82a.mp4?dl=0 PSPACE-complete]. || [https://www.dropbox.com/s/2i4hj8ilp4exqr2/prob_08.pdf?dl=0 Problem list 8]
+
|| 02.11 || Oracle computation definitions. There exists an oracle ''A'' for which P<sup>''A''</sup> = NP<sup>''A''</sup>. There is an oracle B such that P<sup>''B''</sup> is not equal to NP<sup>''B''</sup>. ||
 
|-
 
|-
  || [https://zoom.us/rec/share/XqpUIS7G8bB2TjD4l0XZuGtpLOKdI5ICuyPA3PyMfaxSB0dsjO0x-U-9Yn0QAOcb.nZQA6cqTBv7ytmiP 10.11] || Oracle computation definitions. There exists an oracle ''A'' for which P<sup>''A''</sup> = NP<sup>''A''</sup>. There is an oracle ''B'' such that P<sup>''B''</sup> is not equal to NP<sup>''B''</sup>. || [https://www.dropbox.com/s/8h3a98h938162gz/prob_09.pdf?dl=0 Problem list 9]
+
  || 09.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. ||  
 
|-
 
|-
  || [https://zoom.us/rec/share/Nrq1IvUzofuo5fydjWN64LNjWt6c4Y22oC8kHFF53i3Q4SdYVjWdYjn53h4YlAwI.Py79jFGo7SUOoKV3 17.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.  
+
  || 16.11 ||  Streaming algorithms: finding the majority element, computation of the moment ''F''<sub>2</sub> in logarithmic space. ||
|| [https://www.dropbox.com/s/znj3cm1kb70o7px/prob_10.pdf?dl=0 Problem list 10]
+
 
|-
 
|-
  || [https://zoom.us/rec/share/O0FgCvpOa1UcFlcGpRsFysaVe87nE9IFfYEK1Nn84VS1IugGncjlQcU55gefVZp8.ejQ1gh2kNiGdAN45 24.11] || Streaming algorithms: finding the majority element, computation of the moment F_2 in logarithmic space.  [http://theory.stanford.edu/~tim/w15/l/l1.pdf Roughgarden's lecture notes] 
+
  || 23.11 || Finding the frequent items in streams of data: SpaceSaving and Count-Min Sketch. ||
|| [https://www.dropbox.com/s/vun7309n6qbdo17/prob_11.pdf?dl=0 Problem list 11]
+
 
|-
 
|-
  || [https://zoom.us/rec/share/6ez6JQsyBdPjS4JvLi3aAGfvfydLZGJVfD0YFhHl_B5nADRMrY3npHaoC6-MVD-T.j_BzHsk3lNiL8go3 01.12] || Lower-bound for exact and probabilistic computation of F_0 using one-shot communication complexity. Communication protocols. Functions EQ, GT, DISJ. Fooling sets. Combinatorial rectangles. Book: Kushilevitz and Nisan, Communication Complexity, 1997 [https://epdf.pub/communication-complexity.html download] 
+
  || 30.11 || Approximation algorithms. Approximate solutions for Vertex Cover, Weighted Vertex Cover, and TSP. ||
|| [https://www.dropbox.com/s/1qhktxnd95ww146/prob_12.pdf?dl=0 Problem list 12]
+
 
   
 
   
 
|-
 
|-
  || [https://zoom.us/rec/share/dEfCBunsqqsp5ETfuOtGtbcwkfWMmxiHfEjHza2e2sPOybKqR3crQ7guJaVGDdf4.y_FzqoXfKUoztXW4 08.12] || Questions from students P vs NP vs PSPACE || [https://www.dropbox.com/s/00yfmblihuahvoa/prob_13.pdf?dl=0 Problem list 13]
+
  || 07.12 || Colloquium. ||
 
|-
 
|-
  || 15-16.12 || Colloquium.
+
  || 14.12 || Complexity of clustering: an exact algorithm for maximising the inter-cluster distance and an approximate algorithm for minimising the intra-class distance.
 
  ||  
 
  ||  
<!--
 
Lower bound for randomized 1-shot communication complexity of set disjointness, see Roughgarden's [http://theory.stanford.edu/~tim/w15/l/l2.pdf lecture notes]).
 
|-
 
|| 11/12 || Linear programming is in NP, NP-completeness of Hamiltonian path, TQBF as a game, PSPACE-completeness of generalized geography. Various other NP-complete problems. || [https://www.dropbox.com/s/cifs60rf6vpfn3i/prob_14.pdf?dl=0 Problem list 14]
 
|-
 
||--->
 
 
 
|}
 
|}
  
For interested students, we give a few lectures about parameterized complexity. We follow the book [http://parameterized-algorithms.mimuw.edu.pl/parameterized-algorithms.pdf Parameterized algorithms] by Cygan, Marek, Fedor V. Fomin, Łukasz Kowalik, Daniel Lokshtanov, Dániel Marx, Marcin Pilipczuk, Michał Pilipczuk, and Saket Saurabh. Vol. 4, no. 8. Cham: Springer, 2015.
+
For interested students, there are 3 lectures in parameterized complexity.  
 +
 
 +
14 Sept: Fixed parameter tracktability and examples, [https://www.dropbox.com/s/zzzaulpmzql7x7u/parameterizedComplexity.pdf?dl=0 presentation].
 +
 
 +
21 Sept: Topics from chapters 1 and 2 in "Parameterized algorithms" by Cygan, Fomin and others, 2016.
 +
 
 +
28 Sept: The W-hierarchy, chapter 13 in the same book.
  
== Office hours ==
+
= Office hours =
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 73: Строка 82:
 
!  Person !! Monday !! Tuesday !! Wednesday !! Thursday !! Friday  
 
!  Person !! Monday !! Tuesday !! Wednesday !! Thursday !! Friday  
 
|-
 
|-
|  [https://www.hse.ru/en/staff/obiedkov Sergei Obiedkov], [https://zoom.us/j/99663354582 Zoom] ||  ||  || 16:30–18:00 || 16:30–18:00 || 
+
|  [https://www.hse.ru/en/org/persons/160550073 Bruno Bauwens], S834, [https://us02web.zoom.us/j/82300259484?pwd=NWxXekxBeE5yMm9UTmwvLzNNNGlnUT09 Zoom] ||  || ||  || || 14:00-20:00
 
|-
 
|-
|  [https://www.hse.ru/en/org/persons/160550073 Bruno Bauwens], [https://zoom.us/j/5579743402 Zoom] (email in advance) || 14h-18h || 16h15-19h || || ||  
+
|  [https://www.hse.ru/en/staff/obiedkov Sergei Obiedkov], T915, [https://zoom.us/j/99663354582?pwd=K1B5R3NXWEhWbFozR2lqMkFWYW5Ydz09 Zoom] || || || 16:30–18:00 || 16:30–18:00 ||
 
|}
 
|}

Версия 19:16, 24 октября 2021

Classes

Tuesdays 14:40–17:40, ruz

Lectures: 14:40 in room M303 zoomlink 26/10

Seminars: 16:20 in room M302 zoomlink 26/10

Dates and Deadlines

Please send your homework by e-mail to both lecturers.
Homework 1, deadline: October 5, 14:00; the deadline for the extra problems is November 2, 14:00
Homework 2, deadline: November 2, 14:00
Homework 3, deadline: December 7, 14:00
Colloquium: December 7, 14:40–17:40

Grading

Colloquium: 35%
Homework: 35%
Exam: 30%

Homework Grading

Some homework assignments contain extra problems. Let us call all other problems normal. The weight of each problem (whether normal or extra) in the overall homework grade is 8/n, where n is the total number of normal problems in all homework assignments. Partial credit is possible for some problems.

If you score at least 8 and solve some extra problems that do not contribute to this score, we will evaluate each of these extra problems on the scale [0, 1] and will add two maximal scores to your homework grade.

Course Materials

The main reference is Sipser's book "Introduction to the theory of computation", chapters 3, 7–10.

If you need some background in math, consider these two sources:
Lecture notes: Discrete Mathematics, L. Lovasz, K. Vesztergombi
Лекции по дискретной математике (черновик учебника, in Russian)

Date Summary Problem list
07.09 Turing machines, multitape Turing machines, connection between them. Universal Turing machine. Examples (one, two). Time and space complexity. Complexity classes P, PSPACE, EXP. Problem set 1
14.09 Time and space hierarchy theorem. Time and space constructible functions. Problem set 2
21.09 Complexity class NP. Examples. Polynomial reductions. NP-hardness and NP-completeness. Problem set 3
28.09 Non-deterministic TMs. Another definition of NP. Proving NP-hardness by reduction from an NP-complete problem. Examples of NP-complete problems. Problem set 4
05.10 Inclusions between P, NP, and PSPACE. Circuit complexity. Examples. All functions are computed by circuits. Existence of functions with exponential circuit complexity. P is in P/poly. Problem set 5
12.10 Cook–Levin theorem. Problem set 6
26.10 Space complexity.
02.11 Oracle computation definitions. There exists an oracle A for which PA = NPA. There is an oracle B such that PB is not equal to NPB.
09.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.
16.11 Streaming algorithms: finding the majority element, computation of the moment F2 in logarithmic space.
23.11 Finding the frequent items in streams of data: SpaceSaving and Count-Min Sketch.
30.11 Approximation algorithms. Approximate solutions for Vertex Cover, Weighted Vertex Cover, and TSP.
07.12 Colloquium.
14.12 Complexity of clustering: an exact algorithm for maximising the inter-cluster distance and an approximate algorithm for minimising the intra-class distance.

For interested students, there are 3 lectures in parameterized complexity.

14 Sept: Fixed parameter tracktability and examples, presentation.

21 Sept: Topics from chapters 1 and 2 in "Parameterized algorithms" by Cygan, Fomin and others, 2016.

28 Sept: The W-hierarchy, chapter 13 in the same book.

Office hours

Person Monday Tuesday Wednesday Thursday Friday
Bruno Bauwens, S834, Zoom 14:00-20:00
Sergei Obiedkov, T915, Zoom 16:30–18:00 16:30–18:00