<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Antongnatenko</id>
	<title>Wiki - Факультет компьютерных наук - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Antongnatenko"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Antongnatenko"/>
	<updated>2026-09-22T03:26:10Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57250</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57250"/>
		<updated>2021-09-04T11:29:43Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Прямая ссылка на эту страницу: [https://tinyurl.com/logicomp tinyurl.com/logicomp]&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%22_(%D0%92%D0%B5%D1%81%D0%BD%D0%B0_2021) Факультатив &amp;quot;Теория вычислений&amp;quot;, весна 2021]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57249</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57249"/>
		<updated>2021-09-04T11:29:11Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Прямая ссылка на эту страницу: [tinyurl.com/logicomp tinyurl.com/logicomp]&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%22_(%D0%92%D0%B5%D1%81%D0%BD%D0%B0_2021) Факультатив &amp;quot;Теория вычислений&amp;quot;, весна 2021]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57248</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57248"/>
		<updated>2021-09-04T11:28:58Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Прямая ссылка на эту страницу: [tinyurl.com/logicomp]&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%22_(%D0%92%D0%B5%D1%81%D0%BD%D0%B0_2021) Факультатив &amp;quot;Теория вычислений&amp;quot;, весна 2021]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57247</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57247"/>
		<updated>2021-09-04T11:28:38Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Прямая ссылка на эту страницу: tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%22_(%D0%92%D0%B5%D1%81%D0%BD%D0%B0_2021) Факультатив &amp;quot;Теория вычислений&amp;quot;, весна 2021]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57246</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57246"/>
		<updated>2021-09-04T11:27:16Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: Всё заархивировано&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%22_(%D0%92%D0%B5%D1%81%D0%BD%D0%B0_2021) Факультатив &amp;quot;Теория вычислений&amp;quot;, весна 2021]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57245</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=57245"/>
		<updated>2021-09-04T11:26:39Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: Добавлен пункт архива&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 мая 2021. Занятие 12.&#039;&#039;&#039; Коммуникационная сложность. Метод прямоугольников и метод ранга.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/eYLibOyBVsE&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась четвёртая порция задач.&#039;&#039;&#039; Дедлайн - конец курса. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;31 мая 2021. Занятие 13.&#039;&#039;&#039; Коммуникационная сложность. Покрытия и недетерминизм.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/5RfQGRykPyA&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 июня 2021. Разбор некоторых задач.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/n_SOjIzfxyw&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1Gx7b7ahd36j2gIkYrOWZ39o__djINtG7/view?usp=sharing Четвёртая порция задач: коммуникационная сложность]. Дедлайн: конец курса.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%22_(%D0%92%D0%B5%D1%81%D0%BD%D0%B0_2021) Факультатив &amp;quot;Теория вычислений&amp;quot;, весна 2021]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%22_(%D0%92%D0%B5%D1%81%D0%BD%D0%B0_2021)&amp;diff=57244</id>
		<title>Факультатив &quot;Теория вычислений&quot; (Весна 2021)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%22_(%D0%92%D0%B5%D1%81%D0%BD%D0%B0_2021)&amp;diff=57244"/>
		<updated>2021-09-04T11:25:38Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: Архивная страница создана&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 мая 2021. Занятие 12.&#039;&#039;&#039; Коммуникационная сложность. Метод прямоугольников и метод ранга.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/eYLibOyBVsE&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась четвёртая порция задач.&#039;&#039;&#039; Дедлайн - конец курса. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;31 мая 2021. Занятие 13.&#039;&#039;&#039; Коммуникационная сложность. Покрытия и недетерминизм.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/5RfQGRykPyA&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 июня 2021. Разбор некоторых задач.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/n_SOjIzfxyw&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1Gx7b7ahd36j2gIkYrOWZ39o__djINtG7/view?usp=sharing Четвёртая порция задач: коммуникационная сложность]. Дедлайн: конец курса.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=55475</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=55475"/>
		<updated>2021-06-27T21:25:01Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Разбор задач&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 мая 2021. Занятие 12.&#039;&#039;&#039; Коммуникационная сложность. Метод прямоугольников и метод ранга.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/eYLibOyBVsE&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась четвёртая порция задач.&#039;&#039;&#039; Дедлайн - конец курса. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;31 мая 2021. Занятие 13.&#039;&#039;&#039; Коммуникационная сложность. Покрытия и недетерминизм.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/5RfQGRykPyA&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 июня 2021. Разбор некоторых задач.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/n_SOjIzfxyw&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1Gx7b7ahd36j2gIkYrOWZ39o__djINtG7/view?usp=sharing Четвёртая порция задач: коммуникационная сложность]. Дедлайн: конец курса.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=55204</id>
		<title>DM1-SE-2020-21</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=55204"/>
		<updated>2021-06-17T12:57:10Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Сроки сдачи домашних заданий */ 206 дз 9&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
== Контрольные работы ==&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 1 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 1 состоится &#039;&#039;&#039;1-го декабря с 1810 до 2010 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Контрольная состоит из 8 заданий. За каждое можно получить 0, 1/2 или 1 балл. Оценка за контрольную равна сумме баллов за решенные задачи, деленной на 8 (без округления; для ясности можно еще умножить на 10 -- формально это делается лишь с итоговой оценкой за семестр).&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму для загргузки работы (ссылка на задание -- в форме):&lt;br /&gt;
https://docs.google.com/forms/d/e/1FAIpQLSfOwQ23H-BqaMzOrnCh16VBegXmYTiYs9DiCgHe4kAVNIC0Pw/viewform?usp=sf_link&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 2 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 2 состоится &#039;&#039;&#039;19-го декабря с 1300 до 1500 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму: https://docs.google.com/forms/d/e/1FAIpQLSfbbVYjxm3OatSsqa-L0-gIfSjGKhrLUwx2fi0KOcNJyMW6ig/viewform?usp=sf_link. Ссылка на задание: https://drive.google.com/file/d/1vsVjVPzPps8_R7vgcEREuVUP7esNNX4U/view?usp=sharing.&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 3 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 3 состоится &#039;&#039;&#039;5-го апреля с 16:20 до 18:40 МСК&#039;&#039;&#039;. Контрольная пройдет в очном формате, распределение по аудиториям можно узнать [https://docs.google.com/spreadsheets/d/1O3mNmi43Lh-Mipb-VP-hb7GdfL8i2OxsWGjRbtvmsk8/edit#gid=1112772367 в данной таблице].&lt;br /&gt;
&lt;br /&gt;
Пишущим оффлайн разрешается использовать любые бумажные материалы и запрещаются любые электронные.&lt;br /&gt;
&lt;br /&gt;
Пишущие через Zoom могут пользоваться оффлайн материалами под надзором проктора. Использование интернет-ресурсов помимо Zoom и чата курса в Telegram запрещается.&lt;br /&gt;
&lt;br /&gt;
Ссылки для пишущих онлайн:&lt;br /&gt;
* Zoom 1: https://zoom.us/j/97765870179&lt;br /&gt;
* Zoom 2: https://zoom.us/j/96548397846&lt;br /&gt;
&lt;br /&gt;
=== Экзамен ===&lt;br /&gt;
&lt;br /&gt;
Экзамен состоится &#039;&#039;&#039;29-го декабря с 1100 до 1300 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
== Записи занятий ==&lt;br /&gt;
Начиная со второго модуля ведется регулярная запись заочных лекций и семинаров.&lt;br /&gt;
&lt;br /&gt;
=== Лекции ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/FeHKd8FSJhc Лекция 8.] Расширенный алгортим Евклида; решение линейного уравнения с двумя неизвестными в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/oj6RNUKKCZY Лекция 9.] Решение линейного сравнения; китайская теорема об остатках; практическое решение системы линейных сравнений.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/xvU3EDJwHO8 Лекция 10.] Множества: аксиоматический подход; отношение принадлежности; аксиома основания; включение и равенство множеств; аксиома равенства; &amp;quot;принцип замены&amp;quot;; построение новых множеств: группировка нескольких множеств; синглетоны; выделение подмножества; пустое множество; множество-степень; объединение двух множеств (и более общий случай); пересечение и разность двух множеств.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/iGfNt3Q8IC0 Лекция 11.] Замена включения на равенство; тождества алгебры множеств и примеры их применения; упорядоченная пара (по Куратовскому); критерий равенства пар; декартово произведение множеств; декартова степень.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yQF9PwmYFF4 Лекция 12.] Бинарные отношения между множествами; области определения и значений, поле отношения; диаграмма отношения; отношение на множестве; тождественное отношение; обратное отношение; обращения обращения и объединения; композиция отношений; ассоциативность композиции; обращение композиции; композиция с тождественным отношением; образ и прообраз множества под действием отношения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/kQDy3mfWzHI Лекция 13.] Функциональные, инъективные, тотальные и сюръективные отношения; обращение и композиция отношений с такими свойствами; функции и их значения; композиция функций; критерий равенства функций; инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/dGtm4T_YI9U Лекция 14.] Критерий биективности отношения; &amp;quot;парадокс&amp;quot; Галилея; равномощные множества; \N^2 равномощно \N; теорема Кантора.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nueQ-K4FZz4 Лекция 15.] Тождества для декартовых произведений и степеней; индикаторные (характеристические) функции и их применения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yO5o_Ys-erI Лекция 16.] Упорядоченные наборы и функции с конечной областью определения; вложения; теорема Кантора--Шрёдера--Бернштейна и ее применения; континуум-гипотеза.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/ZHQG0KKY8oY Лекция 17.] Конечные, бесконечные и счетные множества; приницип Дирихле и его следствия; мощность конечного множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/9c85OX7QkM0 Доп. лекция 1.] Замыкание множества булевых функций и его свойства; критерий Поста.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Семинары Е. В. Дашкова ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/zx3yBDq7IlY Семинар № 11.] Множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/6rMR5OSG49w Семинар № 12.] Тождества алгебры множеств. Декартово произведение.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/RjFAU3Y-TmA Семинар № 13.] Бинарные отношения. Композиция, обращение и операции алгебры множеств. Образ множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/3FpyaPZ2GmY Семинар № 14.] Образ и прообраз. Свойства функциональности, инъективности, тотальности и сюръективности.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/Z96oZ4Uh-z8 Семинар № 15.] Функции, инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/fRQAxwCUZEE Семинар № 16.] Продолжение предыдущего.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/rZn8qkTZZ4s Семинар № 17.] Индикаторные функции. Теорема Кантора--Шрёдера--Бернштейна.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yMYCvx8rNOU Семинар № 18.] Теорема Кантора--Шрёдера--Бернштейна. Счетные множества.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
[https://youtu.be/ZsdkO3d8Su8 Практическое решение] линейного уравнения в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nEaekzoVZJg Если число] кратно нескольким попарно взаимно простым числам, то кратно и их произведению (очень подробное скучное доказательство); практическое решение системы сравнений --- применение алгоритма из доказательства китайской теоремы об остатках; подсчет числа решений линейного сравнения на примере.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/gEp_mQTEZQA Варианты определения] упорядоченной пары множеств; возведение числа в степень по модулю.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/8lU0F_SXTGY Формула] для семестровой оценки; разные задачи арифметики.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/edylFiIfKgs Приложения] задачи Муавра и формулы включений-исключений.&lt;br /&gt;
&lt;br /&gt;
== Текущая успеваемость ==&lt;br /&gt;
Таблица с результатами проверки домашних заданий, самостоятельных работ и т.д. [https://docs.google.com/spreadsheets/d/1O3mNmi43Lh-Mipb-VP-hb7GdfL8i2OxsWGjRbtvmsk8/edit?usp=sharing Ведомость]&lt;br /&gt;
&lt;br /&gt;
== Сроки сдачи домашних заданий ==&lt;br /&gt;
&#039;&#039;&#039;For Group 201 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 15.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-10) — 25.10, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 11-15) — 5.11, 22:00&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 16,17, 21,22) - 12.11, 22:00.&lt;br /&gt;
* HW 7 (второй домашний лист, задачи 18-20) - 19.11, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 9 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 11 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 15 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
* HW 16 (шестой домашний лист, весь!) - 20.03, 00:00&lt;br /&gt;
* HW 17 (седьмой домашний лист, задачи 1-4, 6, 8) - 5.04, 00:00&lt;br /&gt;
* HW 18 (седьмой домашний лист, задачи 5,7, 9-14) - 17.04, 00:00&lt;br /&gt;
* HW 19 (восьмой домашний лист, задачи 1-4) - 23.05, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 210: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 18.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-7 и 9-12) — 8.11, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 8, 13-17, 21,22) - 15.11, 22:00.&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 18-20) - 21.11, 22:00&lt;br /&gt;
* HW 7 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 9 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 11 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
* HW 15 (шестой домашний лист, весь!) - 20.03, 00:00&lt;br /&gt;
* HW 16 (седьмой домашний лист, задачи 1-4, 6, 8) - 5.04, 00:00&lt;br /&gt;
* HW 17 (седьмой домашний лист, задачи 5,7, 9-14) - 17.04, 00:00&lt;br /&gt;
* HW 18 (восьмой домашний лист, задачи 1-4) - 23.05, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; БПИ 202 &#039;&#039;&#039;&lt;br /&gt;
* 3 октября — ДЗ1&lt;br /&gt;
* 21 ноября — ДЗ2&lt;br /&gt;
* 18 декабря — ДЗ3&lt;br /&gt;
* 5 февраля — ДЗ4&lt;br /&gt;
* 12 марта — ДЗ5&lt;br /&gt;
* 22 марта — ДЗ6&lt;br /&gt;
* 25 апреля — ДЗ7&lt;br /&gt;
* 28 мая — ДЗ8&lt;br /&gt;
* 20 июня — ДЗ9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 203,204:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* HW 1 (задачи 1-6) -- 24.09, до начала семинара&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;БПИ 206:&#039;&#039;&#039;&lt;br /&gt;
* HW1 5 октября, 23:59 ([https://vk.com/away.php?to=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLScKY8amB1e0R8lLjBNeC3p_l8F3L6UYx3RpWuz_akYwdO3s9g%2Fviewform%3Fusp%3Dsf_link Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW2 20 ноября, 23:59 ([https://forms.gle/s7xYYVtDYBRKvfiP9 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW3 18 декабря, 23:59 ([https://forms.gle/mcJwfkb5AP8w9udDA Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW4 10 февраля, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW5 10 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW6 28 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW7 30 апреля, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW8 31 мая, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW9 20 июня, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
== Материалы курса ==&lt;br /&gt;
&lt;br /&gt;
Различные материалы, включая конспекты, можно найти [https://drive.google.com/drive/folders/1vJQkWLMxA-3_T9pb3EelOCd_3wsUvcXC?usp=sharing здесь].&lt;br /&gt;
&lt;br /&gt;
=== Наборы задач ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Задачи для семинаров || Домашние задания&lt;br /&gt;
|-&lt;br /&gt;
 ||  [https://drive.google.com/file/d/19da3AHNlChr937bT-f1YxuzIzHzv3mA1/view?usp=sharing С 1] ||  [https://drive.google.com/file/d/10QacqgKwC9ecCvLgJGebNb1DQETNobu2/view?usp=sharing ДЗ 1]&lt;br /&gt;
|- &lt;br /&gt;
 ||  [https://drive.google.com/file/d/1zSdte9Y4mtlHSS561C8Fb7l5IjJA9Ltd/view?usp=sharing С 2] ||  [https://drive.google.com/file/d/1aaEE2Z-PlzX_gVK2q77IKrG2E_g_4BKH/view?usp=sharing ДЗ 2]   &lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FkSSImQIQ2JA8UppbfETB2huipmP1J3E/view?usp=sharing С 3] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1Xe0jE1V9RwRg2Ur_QOwTbzKayDvyqkwF/view?usp=sharing С 4] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FejzUUPYxKzkdvjsUHPKD4C6qmyyDYBu/view?usp=sharing С 5] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1mluHqwEKDDHWbd2G3nKl38B6WZNWC_wU/view?usp=sharing С 6] || [https://drive.google.com/file/d/133C1bmtE4qR03plJkuhnLz7axFqkP39W/view?usp=sharing ДЗ 3]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/16AQmnu-HXsUb8lPJjiEmeTY3RAD146Km/view?usp=sharing С 7] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1SRfnZ30ydIfqoMRQ3YkJidGdTKDpF4aC/view?usp=sharing С 8] || [https://drive.google.com/file/d/1UHaD7MNG7rUSSYFtKTkDGJheyA7kETJL/view?usp=sharing ДЗ 4]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1-EmLktTlL8BqI_qvR-S5jkE7k4v0bOwD/view?usp=sharing С 9] || [https://drive.google.com/file/d/1fQwWDrgxDGTplk4LFVKpxwKyiYQ9EIuX/view?usp=sharing ДЗ 5]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1RaHJTUIJaJwt2j6L8bPNF-uepFQ-XHwZ/view?usp=sharing С 10] || [https://drive.google.com/file/d/1pHXSa_-tJ-glD1kwgo_raScaUTRwTvzt/view?usp=sharing ДЗ 6]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1teV4wC8wioRFFNrFsTWi62UQxt88KSpx/view?usp=sharing С 11] || [https://drive.google.com/file/d/1PgZZBWelhs3gxhqkbpL_zUA76mEqLVjB/view?usp=sharing ДЗ 7]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1BUV8FfFpu1f3wozfo4K_i-4uIG7xDOgN/view?usp=sharing C 12] || [https://drive.google.com/file/d/1ZkKt1ftJ8XSL3nmMFyjxq0qzu_alAKRr/view?usp=sharing ДЗ 8]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1MhIuUcw3YWKieNBZfwceM1mAn18oifo7/view?usp=sharing С 13] || [https://drive.google.com/file/d/1RQ0P4CFCZTh4d0gcN0QVmkYU9eGnGAQ8/view?usp=sharing ДЗ 9]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Прочие  ==&lt;br /&gt;
&lt;br /&gt;
* НАСТОЯТЕЛЬНО советуем примкнуть к нашей [https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg группе в Телеграме].&lt;br /&gt;
&lt;br /&gt;
* У нас есть [https://meet.edashkov.net сервер] для видео-конференция.&lt;br /&gt;
&lt;br /&gt;
* Если вы студент 201 или 210 группы, пожалуйста, присоединитесь к [https://classroom.google.com Google Classroom] к своей группе для сдачи домашнего задания. Используйте следующие коды и обязательно своё настоящее имя:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Group 201 || Group 210 &lt;br /&gt;
|-&lt;br /&gt;
|| llytf2w || jidg2qh&lt;br /&gt;
  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Преподаватели ==&lt;br /&gt;
&lt;br /&gt;
=== Лектор ===&lt;br /&gt;
&lt;br /&gt;
Евгений Владимирович Дашков. Мои контакты: edashkov@gmail.com, ТГ: @edashkov, [https://vk.com/evgeny.v.dashkov ВК].&lt;br /&gt;
&lt;br /&gt;
=== Семинаристы ===&lt;br /&gt;
БПИ201, БПИ2010 - [https://www.hse.ru/org/persons/14300157 Анастасия Трофимова], почта: [mailto:atrofimova@hse.ru atrofimova@hse.ru], телеграм: [https://t.me/AnastasiiaTrofimova @AnastasiiaTrofimova].&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Евгений Владимирович Дашков, почта: [mailto:edashkov@gmail.com edashkov@gmail.com], телеграм: [https://t.me/edashkov @edashkov].&lt;br /&gt;
&lt;br /&gt;
БПИ203, БПИ204 - [https://www.hse.ru/org/persons/64944 Дмитрий (Александрович) Шварц], почта: [mailto:dshvarts@mail.ru dshvarts@mail.ru], телеграм: [https://t.me/dshvarts @dshvarts].&lt;br /&gt;
&lt;br /&gt;
БПИ205 - [https://www.hse.ru/org/persons/310667694 Артем Максаев], почта: [mailto:artmak95@mail.ru artmak95@mail.ru].&lt;br /&gt;
&lt;br /&gt;
БПИ206 - [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko].&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Никита Лукьяненко, почта: [mailto:nickita.zangezi@yandex.ru nickita.zangezi@yandex.ru], телеграм: [https://t.me/vaulty @vaulty].&lt;br /&gt;
&lt;br /&gt;
БПИ208, БПИ209 - Михаил Хрыстик, почта: [mailto:mihailkhrystik@gmail.com mihailkhrystik@gmail.com].&lt;br /&gt;
&lt;br /&gt;
=== Учебные ассистенты ===&lt;br /&gt;
БПИ201 - Дмитрий Калмыков [https://vk.com/de.kalmykov Вк] [https://t.me/DimaPI196 Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Агроскин Александр [https://vk.com/avagrthefirst Вк] [http://t.me/McAvagr Telegram] avagroskin@edu.hse.ru &lt;br /&gt;
&lt;br /&gt;
БПИ203 - Михаил Кузнецов [https://vk.com/rokymiel Вк] [https://t.me/rokymiel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ204 - Максим Савинов [https://vk.com/id139918569 Вк] [https://t.me/Orlett Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ205 - Илья Снимщиков [https://vk.com/snimshchikov Вк] [https://t.me/snimshchikov Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ206 - Дмитрий Лямзин [https://vk.com/entifier Вк] [https://t.me/entifier Telegram] dslyamzin@edu.hse.ru&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Владислав Масельскас [https://vk.com/maselskas Вк] [https://t.me/VladPobeda Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ208 - Павел Нижегородов [https://vk.com/admiralpavel Вк] [https://t.me/AdmiralPavel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ209 - Дарья Ерёмина [https://vk.com/dariaeremina Вк] [https://t.me/darrria_e Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ2010 - Игорь Попов [https://vk.com/rlnddschn Вк] [https://t.me/dtrlnddschn Telegram]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
Наш курс опирается на разые источники. Вот некоторые полезные издания:&lt;br /&gt;
&lt;br /&gt;
#      Верещагин Н. К., Шень А. Лекции по математической логике и теории алгоритмов. Части 1--3.  5-е изд., М: МЦНМО, 2017.&lt;br /&gt;
#      Виноградов И. М. Основы теории чисел. 9-е изд., М.: Наука, 1981.&lt;br /&gt;
#      [http://rubtsov.su/public/DM-HSE-Draft.pdf  Вялый М., Подольский В., Рубцов А., Шварц Д., Шень А. Лекции по дискретной математике.]&lt;br /&gt;
#      Гаврилов Г. П., Сапоженко А. А. Задачи и упражнения по дискретной математике. 3-е изд., М.: ФИЗМАТЛИТ, 2004.&lt;br /&gt;
#      [https://drive.google.com/file/d/1RM6KX_reBFwUXesWGUEu0sFn2NCaBgvz/view?usp=sharing Дашков Е. В. Введение в математическую логику. Множества и отношения. М.: МФТИ, 2019.]&lt;br /&gt;
#      Зубков А. М., Севастьянов Б. А., Чистяков В. П. Сборник задач по теории вероятностей. 2-е изд., М.: Наука, 1989.&lt;br /&gt;
#      Ландо С. К., Лекции о производящих функциях. 3-е изд, М.: МЦНМО, 2007.&lt;br /&gt;
#      Мельников О. И. Теория графов в занимательных задачах. 5-е изд., М.: Книжный дом &amp;quot;ЛИБРОКОМ&amp;quot;, 2013.&lt;br /&gt;
#      [http://www.mccme.ru/free-books/shen/shen-induction.pdf Шень А., Математическая индукция. 5-е изд, М.: МЦНМО, 2016.]&lt;br /&gt;
&lt;br /&gt;
== Аттестация и оценки ==&lt;br /&gt;
&lt;br /&gt;
Во 2-ом модуле производится промежуточная аттестация за осенний&lt;br /&gt;
семестр.&lt;br /&gt;
&lt;br /&gt;
В осеннем семестре проводятся две контрольные работы (КР1 и&lt;br /&gt;
КР2); выдается и проверяется домашнее задание (ДЗ2). Оценка за&lt;br /&gt;
контрольную работу выставляется в долях единицы без округления (т.е. с&lt;br /&gt;
максимальной доступной используемым вычислительным средствам&lt;br /&gt;
точностью). Оценка ДЗ2 также выставляется в долях единицы без&lt;br /&gt;
округления. Оценка ДЗ2 может быть больше единицы за счет &amp;quot;бонусных&lt;br /&gt;
баллов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК2 за осенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК2&#039; = 10 * min (1, 0.35 * КР1 + 0.35 * КР2 + 0.3 * ДЗ2)&lt;br /&gt;
&lt;br /&gt;
НК2 = ОКРУГЛ (НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
Здесь и далее ОКРУГЛение производится к ближайшему целому числу, причем&lt;br /&gt;
полуцелые числа округляются вверх.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;gt;= 4, то промежуточная оценка за осенний семестр Э2 = НК2.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК2, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
промежуточная оценка за осенний семестр&lt;br /&gt;
&lt;br /&gt;
Э2 = ОКРУГЛ (0.7 * ИК2 + 0.3 * НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре проводятся две контрольные работы (КР3 и&lt;br /&gt;
КР4); выдается и проверяется домашнее задание (ДЗ4). Оценки&lt;br /&gt;
выставляются так же, как и в осеннем семестре.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК4 за весенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК4&#039; = 10 * min (1, 0.35 * КР3 + 0.35 * КР4 + 0.3 * ДЗ4)&lt;br /&gt;
&lt;br /&gt;
НК4 = ОКРУГЛ (НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;gt;= 4, то итоговая оценка за весенний семестр Э4 = НК4.&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК4, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
итоговая оценка за весенний семестр&lt;br /&gt;
&lt;br /&gt;
Э4 = ОКРУГЛ (0.7 * ИК4 + 0.3 * НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка Р по дисциплине выставляется по десятибалльной&lt;br /&gt;
шкале согласно формуле&lt;br /&gt;
&lt;br /&gt;
Р = ОКРУГЛ (0.5 * Э2 + 0.5 * Э4).&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54716</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54716"/>
		<updated>2021-06-02T11:04:23Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Занятие 13&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 мая 2021. Занятие 12.&#039;&#039;&#039; Коммуникационная сложность. Метод прямоугольников и метод ранга.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/eYLibOyBVsE&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась четвёртая порция задач.&#039;&#039;&#039; Дедлайн - конец курса. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;31 мая 2021. Занятие 13.&#039;&#039;&#039; Коммуникационная сложность. Покрытия и недетерминизм.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/5RfQGRykPyA&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1Gx7b7ahd36j2gIkYrOWZ39o__djINtG7/view?usp=sharing Четвёртая порция задач: коммуникационная сложность]. Дедлайн: конец курса.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54524</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54524"/>
		<updated>2021-05-26T22:52:18Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ четвёртая порция задач&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 мая 2021. Занятие 12.&#039;&#039;&#039; Коммуникационная сложность. Метод прямоугольников и метод ранга.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/eYLibOyBVsE&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась четвёртая порция задач.&#039;&#039;&#039; Дедлайн - конец курса. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1Gx7b7ahd36j2gIkYrOWZ39o__djINtG7/view?usp=sharing Четвёртая порция задач: коммуникационная сложность]. Дедлайн: конец курса.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54523</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54523"/>
		<updated>2021-05-26T22:51:17Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: Четвёртая порция задач: коммуникационная сложность&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 мая 2021. Занятие 12.&#039;&#039;&#039; Коммуникационная сложность. Метод прямоугольников и метод ранга.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/eYLibOyBVsE&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1Gx7b7ahd36j2gIkYrOWZ39o__djINtG7/view?usp=sharing Четвёртая порция задач: коммуникационная сложность]. Дедлайн: конец курса.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54462</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54462"/>
		<updated>2021-05-24T16:23:24Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ поправлена ссылка&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 мая 2021. Занятие 12.&#039;&#039;&#039; Коммуникационная сложность. Метод прямоугольников и метод ранга.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/eYLibOyBVsE&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54461</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54461"/>
		<updated>2021-05-24T16:23:00Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Занятие 12&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24 мая 2021. Занятие 12.&#039;&#039;&#039; Коммуникационная сложность. Метод прямоугольников и метод ранга.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=54422</id>
		<title>DM1-SE-2020-21</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=54422"/>
		<updated>2021-05-22T19:54:41Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Сроки сдачи домашних заданий */ Дз8 в группе 206&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
== Контрольные работы ==&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 1 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 1 состоится &#039;&#039;&#039;1-го декабря с 1810 до 2010 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Контрольная состоит из 8 заданий. За каждое можно получить 0, 1/2 или 1 балл. Оценка за контрольную равна сумме баллов за решенные задачи, деленной на 8 (без округления; для ясности можно еще умножить на 10 -- формально это делается лишь с итоговой оценкой за семестр).&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму для загргузки работы (ссылка на задание -- в форме):&lt;br /&gt;
https://docs.google.com/forms/d/e/1FAIpQLSfOwQ23H-BqaMzOrnCh16VBegXmYTiYs9DiCgHe4kAVNIC0Pw/viewform?usp=sf_link&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 2 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 2 состоится &#039;&#039;&#039;19-го декабря с 1300 до 1500 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму: https://docs.google.com/forms/d/e/1FAIpQLSfbbVYjxm3OatSsqa-L0-gIfSjGKhrLUwx2fi0KOcNJyMW6ig/viewform?usp=sf_link. Ссылка на задание: https://drive.google.com/file/d/1vsVjVPzPps8_R7vgcEREuVUP7esNNX4U/view?usp=sharing.&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 3 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 3 состоится &#039;&#039;&#039;5-го апреля с 16:20 до 18:40 МСК&#039;&#039;&#039;. Контрольная пройдет в очном формате, распределение по аудиториям можно узнать [https://docs.google.com/spreadsheets/d/1O3mNmi43Lh-Mipb-VP-hb7GdfL8i2OxsWGjRbtvmsk8/edit#gid=1112772367 в данной таблице].&lt;br /&gt;
&lt;br /&gt;
Пишущим оффлайн разрешается использовать любые бумажные материалы и запрещаются любые электронные.&lt;br /&gt;
&lt;br /&gt;
Пишущие через Zoom могут пользоваться оффлайн материалами под надзором проктора. Использование интернет-ресурсов помимо Zoom и чата курса в Telegram запрещается.&lt;br /&gt;
&lt;br /&gt;
Ссылки для пишущих онлайн:&lt;br /&gt;
* Zoom 1: https://zoom.us/j/97765870179&lt;br /&gt;
* Zoom 2: https://zoom.us/j/96548397846&lt;br /&gt;
&lt;br /&gt;
=== Экзамен ===&lt;br /&gt;
&lt;br /&gt;
Экзамен состоится &#039;&#039;&#039;29-го декабря с 1100 до 1300 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
== Записи занятий ==&lt;br /&gt;
Начиная со второго модуля ведется регулярная запись заочных лекций и семинаров.&lt;br /&gt;
&lt;br /&gt;
=== Лекции ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/FeHKd8FSJhc Лекция 8.] Расширенный алгортим Евклида; решение линейного уравнения с двумя неизвестными в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/oj6RNUKKCZY Лекция 9.] Решение линейного сравнения; китайская теорема об остатках; практическое решение системы линейных сравнений.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/xvU3EDJwHO8 Лекция 10.] Множества: аксиоматический подход; отношение принадлежности; аксиома основания; включение и равенство множеств; аксиома равенства; &amp;quot;принцип замены&amp;quot;; построение новых множеств: группировка нескольких множеств; синглетоны; выделение подмножества; пустое множество; множество-степень; объединение двух множеств (и более общий случай); пересечение и разность двух множеств.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/iGfNt3Q8IC0 Лекция 11.] Замена включения на равенство; тождества алгебры множеств и примеры их применения; упорядоченная пара (по Куратовскому); критерий равенства пар; декартово произведение множеств; декартова степень.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yQF9PwmYFF4 Лекция 12.] Бинарные отношения между множествами; области определения и значений, поле отношения; диаграмма отношения; отношение на множестве; тождественное отношение; обратное отношение; обращения обращения и объединения; композиция отношений; ассоциативность композиции; обращение композиции; композиция с тождественным отношением; образ и прообраз множества под действием отношения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/kQDy3mfWzHI Лекция 13.] Функциональные, инъективные, тотальные и сюръективные отношения; обращение и композиция отношений с такими свойствами; функции и их значения; композиция функций; критерий равенства функций; инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/dGtm4T_YI9U Лекция 14.] Критерий биективности отношения; &amp;quot;парадокс&amp;quot; Галилея; равномощные множества; \N^2 равномощно \N; теорема Кантора.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nueQ-K4FZz4 Лекция 15.] Тождества для декартовых произведений и степеней; индикаторные (характеристические) функции и их применения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yO5o_Ys-erI Лекция 16.] Упорядоченные наборы и функции с конечной областью определения; вложения; теорема Кантора--Шрёдера--Бернштейна и ее применения; континуум-гипотеза.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/ZHQG0KKY8oY Лекция 17.] Конечные, бесконечные и счетные множества; приницип Дирихле и его следствия; мощность конечного множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/9c85OX7QkM0 Доп. лекция 1.] Замыкание множества булевых функций и его свойства; критерий Поста.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Семинары Е. В. Дашкова ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/zx3yBDq7IlY Семинар № 11.] Множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/6rMR5OSG49w Семинар № 12.] Тождества алгебры множеств. Декартово произведение.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/RjFAU3Y-TmA Семинар № 13.] Бинарные отношения. Композиция, обращение и операции алгебры множеств. Образ множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/3FpyaPZ2GmY Семинар № 14.] Образ и прообраз. Свойства функциональности, инъективности, тотальности и сюръективности.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/Z96oZ4Uh-z8 Семинар № 15.] Функции, инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/fRQAxwCUZEE Семинар № 16.] Продолжение предыдущего.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/rZn8qkTZZ4s Семинар № 17.] Индикаторные функции. Теорема Кантора--Шрёдера--Бернштейна.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yMYCvx8rNOU Семинар № 18.] Теорема Кантора--Шрёдера--Бернштейна. Счетные множества.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
[https://youtu.be/ZsdkO3d8Su8 Практическое решение] линейного уравнения в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nEaekzoVZJg Если число] кратно нескольким попарно взаимно простым числам, то кратно и их произведению (очень подробное скучное доказательство); практическое решение системы сравнений --- применение алгоритма из доказательства китайской теоремы об остатках; подсчет числа решений линейного сравнения на примере.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/gEp_mQTEZQA Варианты определения] упорядоченной пары множеств; возведение числа в степень по модулю.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/8lU0F_SXTGY Формула] для семестровой оценки; разные задачи арифметики.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/edylFiIfKgs Приложения] задачи Муавра и формулы включений-исключений.&lt;br /&gt;
&lt;br /&gt;
== Текущая успеваемость ==&lt;br /&gt;
Таблица с результатами проверки домашних заданий, самостоятельных работ и т.д. [https://docs.google.com/spreadsheets/d/1O3mNmi43Lh-Mipb-VP-hb7GdfL8i2OxsWGjRbtvmsk8/edit?usp=sharing Ведомость]&lt;br /&gt;
&lt;br /&gt;
== Сроки сдачи домашних заданий ==&lt;br /&gt;
&#039;&#039;&#039;For Group 201 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 15.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-10) — 25.10, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 11-15) — 5.11, 22:00&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 16,17, 21,22) - 12.11, 22:00.&lt;br /&gt;
* HW 7 (второй домашний лист, задачи 18-20) - 19.11, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 9 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 11 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 15 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
* HW 16 (шестой домашний лист, весь!) - 20.03, 00:00&lt;br /&gt;
* HW 17 (седьмой домашний лист, задачи 1-4, 6, 8) - 5.04, 00:00&lt;br /&gt;
* HW 18 (седьмой домашний лист, задачи 5,7, 9-14) - 17.04, 00:00&lt;br /&gt;
* HW 19 (восьмой домашний лист, задачи 1-4) - 23.05, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 210: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 18.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-7 и 9-12) — 8.11, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 8, 13-17, 21,22) - 15.11, 22:00.&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 18-20) - 21.11, 22:00&lt;br /&gt;
* HW 7 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 9 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 11 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
* HW 15 (шестой домашний лист, весь!) - 20.03, 00:00&lt;br /&gt;
* HW 16 (седьмой домашний лист, задачи 1-4, 6, 8) - 5.04, 00:00&lt;br /&gt;
* HW 17 (седьмой домашний лист, задачи 5,7, 9-14) - 17.04, 00:00&lt;br /&gt;
* HW 18 (восьмой домашний лист, задачи 1-4) - 23.05, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; БПИ 202 &#039;&#039;&#039;&lt;br /&gt;
* 3 октября — ДЗ1&lt;br /&gt;
* 21 ноября — ДЗ2&lt;br /&gt;
* 18 декабря — ДЗ3&lt;br /&gt;
* 5 февраля — ДЗ4&lt;br /&gt;
* 12 марта — ДЗ5&lt;br /&gt;
* 22 марта — ДЗ6&lt;br /&gt;
* 25 апреля — ДЗ7&lt;br /&gt;
* 28 мая — ДЗ8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 203,204:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* HW 1 (задачи 1-6) -- 24.09, до начала семинара&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;БПИ 206:&#039;&#039;&#039;&lt;br /&gt;
* HW1 5 октября, 23:59 ([https://vk.com/away.php?to=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLScKY8amB1e0R8lLjBNeC3p_l8F3L6UYx3RpWuz_akYwdO3s9g%2Fviewform%3Fusp%3Dsf_link Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW2 20 ноября, 23:59 ([https://forms.gle/s7xYYVtDYBRKvfiP9 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW3 18 декабря, 23:59 ([https://forms.gle/mcJwfkb5AP8w9udDA Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW4 10 февраля, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW5 10 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW6 28 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW7 30 апреля, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW8 31 мая, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
== Материалы курса ==&lt;br /&gt;
&lt;br /&gt;
Различные материалы, включая конспекты, можно найти [https://drive.google.com/drive/folders/1vJQkWLMxA-3_T9pb3EelOCd_3wsUvcXC?usp=sharing здесь].&lt;br /&gt;
&lt;br /&gt;
=== Наборы задач ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Задачи для семинаров || Домашние задания&lt;br /&gt;
|-&lt;br /&gt;
 ||  [https://drive.google.com/file/d/19da3AHNlChr937bT-f1YxuzIzHzv3mA1/view?usp=sharing С 1] ||  [https://drive.google.com/file/d/10QacqgKwC9ecCvLgJGebNb1DQETNobu2/view?usp=sharing ДЗ 1]&lt;br /&gt;
|- &lt;br /&gt;
 ||  [https://drive.google.com/file/d/1zSdte9Y4mtlHSS561C8Fb7l5IjJA9Ltd/view?usp=sharing С 2] ||  [https://drive.google.com/file/d/1aaEE2Z-PlzX_gVK2q77IKrG2E_g_4BKH/view?usp=sharing ДЗ 2]   &lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FkSSImQIQ2JA8UppbfETB2huipmP1J3E/view?usp=sharing С 3] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1Xe0jE1V9RwRg2Ur_QOwTbzKayDvyqkwF/view?usp=sharing С 4] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FejzUUPYxKzkdvjsUHPKD4C6qmyyDYBu/view?usp=sharing С 5] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1mluHqwEKDDHWbd2G3nKl38B6WZNWC_wU/view?usp=sharing С 6] || [https://drive.google.com/file/d/133C1bmtE4qR03plJkuhnLz7axFqkP39W/view?usp=sharing ДЗ 3]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/16AQmnu-HXsUb8lPJjiEmeTY3RAD146Km/view?usp=sharing С 7] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1SRfnZ30ydIfqoMRQ3YkJidGdTKDpF4aC/view?usp=sharing С 8] || [https://drive.google.com/file/d/1UHaD7MNG7rUSSYFtKTkDGJheyA7kETJL/view?usp=sharing ДЗ 4]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1-EmLktTlL8BqI_qvR-S5jkE7k4v0bOwD/view?usp=sharing С 9] || [https://drive.google.com/file/d/1fQwWDrgxDGTplk4LFVKpxwKyiYQ9EIuX/view?usp=sharing ДЗ 5]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1RaHJTUIJaJwt2j6L8bPNF-uepFQ-XHwZ/view?usp=sharing С 10] || [https://drive.google.com/file/d/1pHXSa_-tJ-glD1kwgo_raScaUTRwTvzt/view?usp=sharing ДЗ 6]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1teV4wC8wioRFFNrFsTWi62UQxt88KSpx/view?usp=sharing С 11] || [https://drive.google.com/file/d/1PgZZBWelhs3gxhqkbpL_zUA76mEqLVjB/view?usp=sharing ДЗ 7]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1BUV8FfFpu1f3wozfo4K_i-4uIG7xDOgN/view?usp=sharing C 12] || [https://drive.google.com/file/d/1ZkKt1ftJ8XSL3nmMFyjxq0qzu_alAKRr/view?usp=sharing ДЗ 8]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1MhIuUcw3YWKieNBZfwceM1mAn18oifo7/view?usp=sharing С 13] || ДЗ 9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Прочие  ==&lt;br /&gt;
&lt;br /&gt;
* НАСТОЯТЕЛЬНО советуем примкнуть к нашей [https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg группе в Телеграме].&lt;br /&gt;
&lt;br /&gt;
* У нас есть [https://meet.edashkov.net сервер] для видео-конференция.&lt;br /&gt;
&lt;br /&gt;
* Если вы студент 201 или 210 группы, пожалуйста, присоединитесь к [https://classroom.google.com Google Classroom] к своей группе для сдачи домашнего задания. Используйте следующие коды и обязательно своё настоящее имя:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Group 201 || Group 210 &lt;br /&gt;
|-&lt;br /&gt;
|| llytf2w || jidg2qh&lt;br /&gt;
  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Преподаватели ==&lt;br /&gt;
&lt;br /&gt;
=== Лектор ===&lt;br /&gt;
&lt;br /&gt;
Евгений Владимирович Дашков. Мои контакты: edashkov@gmail.com, ТГ: @edashkov, [https://vk.com/evgeny.v.dashkov ВК].&lt;br /&gt;
&lt;br /&gt;
=== Семинаристы ===&lt;br /&gt;
БПИ201, БПИ2010 - [https://www.hse.ru/org/persons/14300157 Анастасия Трофимова], почта: [mailto:atrofimova@hse.ru atrofimova@hse.ru], телеграм: [https://t.me/AnastasiiaTrofimova @AnastasiiaTrofimova].&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Евгений Владимирович Дашков, почта: [mailto:edashkov@gmail.com edashkov@gmail.com], телеграм: [https://t.me/edashkov @edashkov].&lt;br /&gt;
&lt;br /&gt;
БПИ203, БПИ204 - [https://www.hse.ru/org/persons/64944 Дмитрий (Александрович) Шварц], почта: [mailto:dshvarts@mail.ru dshvarts@mail.ru], телеграм: [https://t.me/dshvarts @dshvarts].&lt;br /&gt;
&lt;br /&gt;
БПИ205 - [https://www.hse.ru/org/persons/310667694 Артем Максаев], почта: [mailto:artmak95@mail.ru artmak95@mail.ru].&lt;br /&gt;
&lt;br /&gt;
БПИ206 - [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko].&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Никита Лукьяненко, почта: [mailto:nickita.zangezi@yandex.ru nickita.zangezi@yandex.ru], телеграм: [https://t.me/vaulty @vaulty].&lt;br /&gt;
&lt;br /&gt;
БПИ208, БПИ209 - Михаил Хрыстик, почта: [mailto:mihailkhrystik@gmail.com mihailkhrystik@gmail.com].&lt;br /&gt;
&lt;br /&gt;
=== Учебные ассистенты ===&lt;br /&gt;
БПИ201 - Дмитрий Калмыков [https://vk.com/de.kalmykov Вк] [https://t.me/DimaPI196 Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Агроскин Александр [https://vk.com/avagrthefirst Вк] [http://t.me/McAvagr Telegram] avagroskin@edu.hse.ru &lt;br /&gt;
&lt;br /&gt;
БПИ203 - Михаил Кузнецов [https://vk.com/rokymiel Вк] [https://t.me/rokymiel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ204 - Максим Савинов [https://vk.com/id139918569 Вк] [https://t.me/Orlett Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ205 - Илья Снимщиков [https://vk.com/snimshchikov Вк] [https://t.me/snimshchikov Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ206 - Дмитрий Лямзин [https://vk.com/entifier Вк] [https://t.me/entifier Telegram] dslyamzin@edu.hse.ru&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Владислав Масельскас [https://vk.com/maselskas Вк] [https://t.me/VladPobeda Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ208 - Павел Нижегородов [https://vk.com/admiralpavel Вк] [https://t.me/AdmiralPavel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ209 - Дарья Ерёмина [https://vk.com/dariaeremina Вк] [https://t.me/darrria_e Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ2010 - Игорь Попов [https://vk.com/rlnddschn Вк] [https://t.me/dtrlnddschn Telegram]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
Наш курс опирается на разые источники. Вот некоторые полезные издания:&lt;br /&gt;
&lt;br /&gt;
#      Верещагин Н. К., Шень А. Лекции по математической логике и теории алгоритмов. Части 1--3.  5-е изд., М: МЦНМО, 2017.&lt;br /&gt;
#      Виноградов И. М. Основы теории чисел. 9-е изд., М.: Наука, 1981.&lt;br /&gt;
#      [http://rubtsov.su/public/DM-HSE-Draft.pdf  Вялый М., Подольский В., Рубцов А., Шварц Д., Шень А. Лекции по дискретной математике.]&lt;br /&gt;
#      Гаврилов Г. П., Сапоженко А. А. Задачи и упражнения по дискретной математике. 3-е изд., М.: ФИЗМАТЛИТ, 2004.&lt;br /&gt;
#      [https://drive.google.com/file/d/1RM6KX_reBFwUXesWGUEu0sFn2NCaBgvz/view?usp=sharing Дашков Е. В. Введение в математическую логику. Множества и отношения. М.: МФТИ, 2019.]&lt;br /&gt;
#      Зубков А. М., Севастьянов Б. А., Чистяков В. П. Сборник задач по теории вероятностей. 2-е изд., М.: Наука, 1989.&lt;br /&gt;
#      Ландо С. К., Лекции о производящих функциях. 3-е изд, М.: МЦНМО, 2007.&lt;br /&gt;
#      Мельников О. И. Теория графов в занимательных задачах. 5-е изд., М.: Книжный дом &amp;quot;ЛИБРОКОМ&amp;quot;, 2013.&lt;br /&gt;
#      [http://www.mccme.ru/free-books/shen/shen-induction.pdf Шень А., Математическая индукция. 5-е изд, М.: МЦНМО, 2016.]&lt;br /&gt;
&lt;br /&gt;
== Аттестация и оценки ==&lt;br /&gt;
&lt;br /&gt;
Во 2-ом модуле производится промежуточная аттестация за осенний&lt;br /&gt;
семестр.&lt;br /&gt;
&lt;br /&gt;
В осеннем семестре проводятся две контрольные работы (КР1 и&lt;br /&gt;
КР2); выдается и проверяется домашнее задание (ДЗ2). Оценка за&lt;br /&gt;
контрольную работу выставляется в долях единицы без округления (т.е. с&lt;br /&gt;
максимальной доступной используемым вычислительным средствам&lt;br /&gt;
точностью). Оценка ДЗ2 также выставляется в долях единицы без&lt;br /&gt;
округления. Оценка ДЗ2 может быть больше единицы за счет &amp;quot;бонусных&lt;br /&gt;
баллов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК2 за осенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК2&#039; = 10 * min (1, 0.35 * КР1 + 0.35 * КР2 + 0.3 * ДЗ2)&lt;br /&gt;
&lt;br /&gt;
НК2 = ОКРУГЛ (НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
Здесь и далее ОКРУГЛение производится к ближайшему целому числу, причем&lt;br /&gt;
полуцелые числа округляются вверх.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;gt;= 4, то промежуточная оценка за осенний семестр Э2 = НК2.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК2, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
промежуточная оценка за осенний семестр&lt;br /&gt;
&lt;br /&gt;
Э2 = ОКРУГЛ (0.7 * ИК2 + 0.3 * НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре проводятся две контрольные работы (КР3 и&lt;br /&gt;
КР4); выдается и проверяется домашнее задание (ДЗ4). Оценки&lt;br /&gt;
выставляются так же, как и в осеннем семестре.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК4 за весенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК4&#039; = 10 * min (1, 0.35 * КР3 + 0.35 * КР4 + 0.3 * ДЗ4)&lt;br /&gt;
&lt;br /&gt;
НК4 = ОКРУГЛ (НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;gt;= 4, то итоговая оценка за весенний семестр Э4 = НК4.&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК4, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
итоговая оценка за весенний семестр&lt;br /&gt;
&lt;br /&gt;
Э4 = ОКРУГЛ (0.7 * ИК4 + 0.3 * НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка Р по дисциплине выставляется по десятибалльной&lt;br /&gt;
шкале согласно формуле&lt;br /&gt;
&lt;br /&gt;
Р = ОКРУГЛ (0.5 * Э2 + 0.5 * Э4).&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54098</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=54098"/>
		<updated>2021-05-10T14:02:33Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Программа курса (примерная) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* [пройдено в виде задач] Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53947</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53947"/>
		<updated>2021-05-03T21:00:14Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Наборы задач */ Бонус по памяти&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1XRa0Wj_s-TKe8l5624fxDIZc4LdK0WCy/view?usp=sharing Бонусная порция задач: сложность по памяти]. Все задачи в этой порции — бонусные. Несколько относительно простых задач позволят набрать баллов побольше. Есть и несколько трудных задач. Все определения и теоремы, нужные для понимания и решения, приводятся в листочке.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53946</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53946"/>
		<updated>2021-05-03T20:57:41Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Бонус по памяти&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3 мая 2021. Появилась бонусная порция задач&#039;&#039;&#039; о сложности по памяти. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53524</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53524"/>
		<updated>2021-04-19T17:12:45Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Программа курса (примерная) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53523</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53523"/>
		<updated>2021-04-19T17:12:19Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Занятие 10&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19 апреля 2021. Занятие 10.&#039;&#039;&#039; Вероятностно проверяемые доказательства. Приближённые алгоритмы. PCP-теорема и трудность аппроксимации. Идея доказательства NP \subset PCP(poly, 1).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/I1WYYJKoluY&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=53408</id>
		<title>DM1-SE-2020-21</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=53408"/>
		<updated>2021-04-16T16:24:32Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Сроки сдачи домашних заданий */ Группа 206 -- дедлайн по дз7&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
== Контрольные работы ==&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 1 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 1 состоится &#039;&#039;&#039;1-го декабря с 1810 до 2010 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Контрольная состоит из 8 заданий. За каждое можно получить 0, 1/2 или 1 балл. Оценка за контрольную равна сумме баллов за решенные задачи, деленной на 8 (без округления; для ясности можно еще умножить на 10 -- формально это делается лишь с итоговой оценкой за семестр).&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму для загргузки работы (ссылка на задание -- в форме):&lt;br /&gt;
https://docs.google.com/forms/d/e/1FAIpQLSfOwQ23H-BqaMzOrnCh16VBegXmYTiYs9DiCgHe4kAVNIC0Pw/viewform?usp=sf_link&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 2 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 2 состоится &#039;&#039;&#039;19-го декабря с 1300 до 1500 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму: https://docs.google.com/forms/d/e/1FAIpQLSfbbVYjxm3OatSsqa-L0-gIfSjGKhrLUwx2fi0KOcNJyMW6ig/viewform?usp=sf_link. Ссылка на задание: https://drive.google.com/file/d/1vsVjVPzPps8_R7vgcEREuVUP7esNNX4U/view?usp=sharing.&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 3 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 3 состоится &#039;&#039;&#039;5-го апреля с 16:20 до 18:40 МСК&#039;&#039;&#039;. Контрольная пройдет в очном формате, распределение по аудиториям можно узнать [https://docs.google.com/spreadsheets/d/1O3mNmi43Lh-Mipb-VP-hb7GdfL8i2OxsWGjRbtvmsk8/edit#gid=1112772367 в данной таблице].&lt;br /&gt;
&lt;br /&gt;
Пишущим оффлайн разрешается использовать любые бумажные материалы и запрещаются любые электронные.&lt;br /&gt;
&lt;br /&gt;
Пишущие через Zoom могут пользоваться оффлайн материалами под надзором проктора. Использование интернет-ресурсов помимо Zoom и чата курса в Telegram запрещается.&lt;br /&gt;
&lt;br /&gt;
Ссылки для пишущих онлайн:&lt;br /&gt;
* Zoom 1: https://zoom.us/j/97765870179&lt;br /&gt;
* Zoom 2: https://zoom.us/j/96548397846&lt;br /&gt;
&lt;br /&gt;
=== Экзамен ===&lt;br /&gt;
&lt;br /&gt;
Экзамен состоится &#039;&#039;&#039;29-го декабря с 1100 до 1300 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
== Записи занятий ==&lt;br /&gt;
Начиная со второго модуля ведется регулярная запись заочных лекций и семинаров.&lt;br /&gt;
&lt;br /&gt;
=== Лекции ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/FeHKd8FSJhc Лекция 8.] Расширенный алгортим Евклида; решение линейного уравнения с двумя неизвестными в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/oj6RNUKKCZY Лекция 9.] Решение линейного сравнения; китайская теорема об остатках; практическое решение системы линейных сравнений.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/xvU3EDJwHO8 Лекция 10.] Множества: аксиоматический подход; отношение принадлежности; аксиома основания; включение и равенство множеств; аксиома равенства; &amp;quot;принцип замены&amp;quot;; построение новых множеств: группировка нескольких множеств; синглетоны; выделение подмножества; пустое множество; множество-степень; объединение двух множеств (и более общий случай); пересечение и разность двух множеств.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/iGfNt3Q8IC0 Лекция 11.] Замена включения на равенство; тождества алгебры множеств и примеры их применения; упорядоченная пара (по Куратовскому); критерий равенства пар; декартово произведение множеств; декартова степень.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yQF9PwmYFF4 Лекция 12.] Бинарные отношения между множествами; области определения и значений, поле отношения; диаграмма отношения; отношение на множестве; тождественное отношение; обратное отношение; обращения обращения и объединения; композиция отношений; ассоциативность композиции; обращение композиции; композиция с тождественным отношением; образ и прообраз множества под действием отношения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/kQDy3mfWzHI Лекция 13.] Функциональные, инъективные, тотальные и сюръективные отношения; обращение и композиция отношений с такими свойствами; функции и их значения; композиция функций; критерий равенства функций; инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/dGtm4T_YI9U Лекция 14.] Критерий биективности отношения; &amp;quot;парадокс&amp;quot; Галилея; равномощные множества; \N^2 равномощно \N; теорема Кантора.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nueQ-K4FZz4 Лекция 15.] Тождества для декартовых произведений и степеней; индикаторные (характеристические) функции и их применения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yO5o_Ys-erI Лекция 16.] Упорядоченные наборы и функции с конечной областью определения; вложения; теорема Кантора--Шрёдера--Бернштейна и ее применения; континуум-гипотеза.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/ZHQG0KKY8oY Лекция 17.] Конечные, бесконечные и счетные множества; приницип Дирихле и его следствия; мощность конечного множества.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Семинары Е. В. Дашкова ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/zx3yBDq7IlY Семинар № 11.] Множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/6rMR5OSG49w Семинар № 12.] Тождества алгебры множеств. Декартово произведение.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/RjFAU3Y-TmA Семинар № 13.] Бинарные отношения. Композиция, обращение и операции алгебры множеств. Образ множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/3FpyaPZ2GmY Семинар № 14.] Образ и прообраз. Свойства функциональности, инъективности, тотальности и сюръективности.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/Z96oZ4Uh-z8 Семинар № 15.] Функции, инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/fRQAxwCUZEE Семинар № 16.] Продолжение предыдущего.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/rZn8qkTZZ4s Семинар № 17.] Индикаторные функции. Теорема Кантора--Шрёдера--Бернштейна.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yMYCvx8rNOU Семинар № 18.] Теорема Кантора--Шрёдера--Бернштейна. Счетные множества.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
[https://youtu.be/ZsdkO3d8Su8 Практическое решение] линейного уравнения в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nEaekzoVZJg Если число] кратно нескольким попарно взаимно простым числам, то кратно и их произведению (очень подробное скучное доказательство); практическое решение системы сравнений --- применение алгоритма из доказательства китайской теоремы об остатках; подсчет числа решений линейного сравнения на примере.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/gEp_mQTEZQA Варианты определения] упорядоченной пары множеств; возведение числа в степень по модулю.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/8lU0F_SXTGY Формула] для семестровой оценки; разные задачи арифметики.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/edylFiIfKgs Приложения] задачи Муавра и формулы включений-исключений.&lt;br /&gt;
&lt;br /&gt;
== Текущая успеваемость ==&lt;br /&gt;
Таблица с результатами проверки домашних заданий, самостоятельных работ и т.д. [https://docs.google.com/spreadsheets/d/1O3mNmi43Lh-Mipb-VP-hb7GdfL8i2OxsWGjRbtvmsk8/edit?usp=sharing Ведомость]&lt;br /&gt;
&lt;br /&gt;
== Сроки сдачи домашних заданий ==&lt;br /&gt;
&#039;&#039;&#039;For Group 201 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 15.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-10) — 25.10, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 11-15) — 5.11, 22:00&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 16,17, 21,22) - 12.11, 22:00.&lt;br /&gt;
* HW 7 (второй домашний лист, задачи 18-20) - 19.11, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 9 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 11 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 15 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
* HW 16 (шестой домашний лист, весь!) - 20.03, 00:00&lt;br /&gt;
* HW 17 (седьмой домашний лист, задачи 1-4, 6, 8) - 5.04, 00:00&lt;br /&gt;
* HW 18 (седьмой домашний лист, задачи 5,7, 9-14) - 17.04, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 210: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 18.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-7 и 9-12) — 8.11, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 8, 13-17, 21,22) - 15.11, 22:00.&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 18-20) - 21.11, 22:00&lt;br /&gt;
* HW 7 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 9 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 11 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
* HW 15 (шестой домашний лист, весь!) - 20.03, 00:00&lt;br /&gt;
* HW 16 (седьмой домашний лист, задачи 1-4, 6, 8) - 5.04, 00:00&lt;br /&gt;
* HW 17 (седьмой домашний лист, задачи 5,7, 9-14) - 17.04, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; БПИ 202 &#039;&#039;&#039;&lt;br /&gt;
* 3 октября — ДЗ1&lt;br /&gt;
* 21 ноября — ДЗ2&lt;br /&gt;
* 18 декабря — ДЗ3&lt;br /&gt;
* 5 февраля — ДЗ4&lt;br /&gt;
* 12 марта — ДЗ5&lt;br /&gt;
* 22 марта — ДЗ6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 203,204:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* HW 1 (задачи 1-6) -- 24.09, до начала семинара&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;БПИ 206:&#039;&#039;&#039;&lt;br /&gt;
* HW1 5 октября, 23:59 ([https://vk.com/away.php?to=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLScKY8amB1e0R8lLjBNeC3p_l8F3L6UYx3RpWuz_akYwdO3s9g%2Fviewform%3Fusp%3Dsf_link Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW2 20 ноября, 23:59 ([https://forms.gle/s7xYYVtDYBRKvfiP9 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW3 18 декабря, 23:59 ([https://forms.gle/mcJwfkb5AP8w9udDA Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW4 10 февраля, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW5 10 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW6 28 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW7 30 апреля, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
== Материалы курса ==&lt;br /&gt;
&lt;br /&gt;
Различные материалы, включая конспекты, можно найти [https://drive.google.com/drive/folders/1vJQkWLMxA-3_T9pb3EelOCd_3wsUvcXC?usp=sharing здесь].&lt;br /&gt;
&lt;br /&gt;
=== Наборы задач ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Задачи для семинаров || Домашние задания&lt;br /&gt;
|-&lt;br /&gt;
 ||  [https://drive.google.com/file/d/19da3AHNlChr937bT-f1YxuzIzHzv3mA1/view?usp=sharing С 1] ||  [https://drive.google.com/file/d/10QacqgKwC9ecCvLgJGebNb1DQETNobu2/view?usp=sharing ДЗ 1]&lt;br /&gt;
|- &lt;br /&gt;
 ||  [https://drive.google.com/file/d/1zSdte9Y4mtlHSS561C8Fb7l5IjJA9Ltd/view?usp=sharing С 2] ||  [https://drive.google.com/file/d/1aaEE2Z-PlzX_gVK2q77IKrG2E_g_4BKH/view?usp=sharing ДЗ 2]   &lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FkSSImQIQ2JA8UppbfETB2huipmP1J3E/view?usp=sharing С 3] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1Xe0jE1V9RwRg2Ur_QOwTbzKayDvyqkwF/view?usp=sharing С 4] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FejzUUPYxKzkdvjsUHPKD4C6qmyyDYBu/view?usp=sharing С 5] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1mluHqwEKDDHWbd2G3nKl38B6WZNWC_wU/view?usp=sharing С 6] || [https://drive.google.com/file/d/133C1bmtE4qR03plJkuhnLz7axFqkP39W/view?usp=sharing ДЗ 3]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/16AQmnu-HXsUb8lPJjiEmeTY3RAD146Km/view?usp=sharing С 7] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1SRfnZ30ydIfqoMRQ3YkJidGdTKDpF4aC/view?usp=sharing С 8] || [https://drive.google.com/file/d/1UHaD7MNG7rUSSYFtKTkDGJheyA7kETJL/view?usp=sharing ДЗ 4]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1-EmLktTlL8BqI_qvR-S5jkE7k4v0bOwD/view?usp=sharing С 9] || [https://drive.google.com/file/d/1fQwWDrgxDGTplk4LFVKpxwKyiYQ9EIuX/view?usp=sharing ДЗ 5]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1RaHJTUIJaJwt2j6L8bPNF-uepFQ-XHwZ/view?usp=sharing С 10] || [https://drive.google.com/file/d/1pHXSa_-tJ-glD1kwgo_raScaUTRwTvzt/view?usp=sharing ДЗ 6]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1teV4wC8wioRFFNrFsTWi62UQxt88KSpx/view?usp=sharing С 11] || [https://drive.google.com/file/d/1PgZZBWelhs3gxhqkbpL_zUA76mEqLVjB/view?usp=sharing ДЗ 7]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Прочие  ==&lt;br /&gt;
&lt;br /&gt;
* НАСТОЯТЕЛЬНО советуем примкнуть к нашей [https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg группе в Телеграме].&lt;br /&gt;
&lt;br /&gt;
* У нас есть [https://meet.edashkov.net сервер] для видео-конференция.&lt;br /&gt;
&lt;br /&gt;
* Если вы студент 201 или 210 группы, пожалуйста, присоединитесь к [https://classroom.google.com Google Classroom] к своей группе для сдачи домашнего задания. Используйте следующие коды и обязательно своё настоящее имя:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Group 201 || Group 210 &lt;br /&gt;
|-&lt;br /&gt;
|| llytf2w || jidg2qh&lt;br /&gt;
  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Преподаватели ==&lt;br /&gt;
&lt;br /&gt;
=== Лектор ===&lt;br /&gt;
&lt;br /&gt;
Евгений Владимирович Дашков. Мои контакты: edashkov@gmail.com, ТГ: @edashkov, [https://vk.com/evgeny.v.dashkov ВК].&lt;br /&gt;
&lt;br /&gt;
=== Семинаристы ===&lt;br /&gt;
БПИ201, БПИ2010 - [https://www.hse.ru/org/persons/14300157 Анастасия Трофимова], почта: [mailto:atrofimova@hse.ru atrofimova@hse.ru], телеграм: [https://t.me/AnastasiiaTrofimova @AnastasiiaTrofimova].&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Евгений Владимирович Дашков, почта: [mailto:edashkov@gmail.com edashkov@gmail.com], телеграм: [https://t.me/edashkov @edashkov].&lt;br /&gt;
&lt;br /&gt;
БПИ203, БПИ204 - [https://www.hse.ru/org/persons/64944 Дмитрий (Александрович) Шварц], почта: [mailto:dshvarts@mail.ru dshvarts@mail.ru], телеграм: [https://t.me/dshvarts @dshvarts].&lt;br /&gt;
&lt;br /&gt;
БПИ205 - [https://www.hse.ru/org/persons/310667694 Артем Максаев], почта: [mailto:artmak95@mail.ru artmak95@mail.ru].&lt;br /&gt;
&lt;br /&gt;
БПИ206 - [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko].&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Никита Лукьяненко, почта: [mailto:nickita.zangezi@yandex.ru nickita.zangezi@yandex.ru], телеграм: [https://t.me/vaulty @vaulty].&lt;br /&gt;
&lt;br /&gt;
БПИ208, БПИ209 - Михаил Хрыстик, почта: [mailto:mihailkhrystik@gmail.com mihailkhrystik@gmail.com].&lt;br /&gt;
&lt;br /&gt;
=== Учебные ассистенты ===&lt;br /&gt;
БПИ201 - Дмитрий Калмыков [https://vk.com/de.kalmykov Вк] [https://t.me/DimaPI196 Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Агроскин Александр [https://vk.com/avagrthefirst Вк] [http://t.me/McAvagr Telegram] avagroskin@edu.hse.ru &lt;br /&gt;
&lt;br /&gt;
БПИ203 - Михаил Кузнецов [https://vk.com/rokymiel Вк] [https://t.me/rokymiel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ204 - Максим Савинов [https://vk.com/id139918569 Вк] [https://t.me/Orlett Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ205 - Илья Снимщиков [https://vk.com/snimshchikov Вк] [https://t.me/snimshchikov Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ206 - Дмитрий Лямзин [https://vk.com/entifier Вк] [https://t.me/entifier Telegram] dslyamzin@edu.hse.ru&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Владислав Масельскас [https://vk.com/maselskas Вк] [https://t.me/VladPobeda Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ208 - Павел Нижегородов [https://vk.com/admiralpavel Вк] [https://t.me/AdmiralPavel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ209 - Дарья Ерёмина [https://vk.com/dariaeremina Вк] [https://t.me/darrria_e Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ2010 - Игорь Попов [https://vk.com/rlnddschn Вк] [https://t.me/dtrlnddschn Telegram]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
Наш курс опирается на разые источники. Вот некоторые полезные издания:&lt;br /&gt;
&lt;br /&gt;
#      Верещагин Н. К., Шень А. Лекции по математической логике и теории алгоритмов. Части 1--3.  5-е изд., М: МЦНМО, 2017.&lt;br /&gt;
#      Виноградов И. М. Основы теории чисел. 9-е изд., М.: Наука, 1981.&lt;br /&gt;
#      [http://rubtsov.su/public/DM-HSE-Draft.pdf  Вялый М., Подольский В., Рубцов А., Шварц Д., Шень А. Лекции по дискретной математике.]&lt;br /&gt;
#      Гаврилов Г. П., Сапоженко А. А. Задачи и упражнения по дискретной математике. 3-е изд., М.: ФИЗМАТЛИТ, 2004.&lt;br /&gt;
#      [https://drive.google.com/file/d/1RM6KX_reBFwUXesWGUEu0sFn2NCaBgvz/view?usp=sharing Дашков Е. В. Введение в математическую логику. Множества и отношения. М.: МФТИ, 2019.]&lt;br /&gt;
#      Зубков А. М., Севастьянов Б. А., Чистяков В. П. Сборник задач по теории вероятностей. 2-е изд., М.: Наука, 1989.&lt;br /&gt;
#      Ландо С. К., Лекции о производящих функциях. 3-е изд, М.: МЦНМО, 2007.&lt;br /&gt;
#      Мельников О. И. Теория графов в занимательных задачах. 5-е изд., М.: Книжный дом &amp;quot;ЛИБРОКОМ&amp;quot;, 2013.&lt;br /&gt;
#      [http://www.mccme.ru/free-books/shen/shen-induction.pdf Шень А., Математическая индукция. 5-е изд, М.: МЦНМО, 2016.]&lt;br /&gt;
&lt;br /&gt;
== Аттестация и оценки ==&lt;br /&gt;
&lt;br /&gt;
Во 2-ом модуле производится промежуточная аттестация за осенний&lt;br /&gt;
семестр.&lt;br /&gt;
&lt;br /&gt;
В осеннем семестре проводятся две контрольные работы (КР1 и&lt;br /&gt;
КР2); выдается и проверяется домашнее задание (ДЗ2). Оценка за&lt;br /&gt;
контрольную работу выставляется в долях единицы без округления (т.е. с&lt;br /&gt;
максимальной доступной используемым вычислительным средствам&lt;br /&gt;
точностью). Оценка ДЗ2 также выставляется в долях единицы без&lt;br /&gt;
округления. Оценка ДЗ2 может быть больше единицы за счет &amp;quot;бонусных&lt;br /&gt;
баллов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК2 за осенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК2&#039; = 10 * min (1, 0.35 * КР1 + 0.35 * КР2 + 0.3 * ДЗ2)&lt;br /&gt;
&lt;br /&gt;
НК2 = ОКРУГЛ (НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
Здесь и далее ОКРУГЛение производится к ближайшему целому числу, причем&lt;br /&gt;
полуцелые числа округляются вверх.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;gt;= 4, то промежуточная оценка за осенний семестр Э2 = НК2.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК2, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
промежуточная оценка за осенний семестр&lt;br /&gt;
&lt;br /&gt;
Э2 = ОКРУГЛ (0.7 * ИК2 + 0.3 * НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре проводятся две контрольные работы (КР3 и&lt;br /&gt;
КР4); выдается и проверяется домашнее задание (ДЗ4). Оценки&lt;br /&gt;
выставляются так же, как и в осеннем семестре.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК4 за весенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК4&#039; = 10 * min (1, 0.35 * КР3 + 0.35 * КР4 + 0.3 * ДЗ4)&lt;br /&gt;
&lt;br /&gt;
НК4 = ОКРУГЛ (НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;gt;= 4, то итоговая оценка за весенний семестр Э4 = НК4.&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК4, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
итоговая оценка за весенний семестр&lt;br /&gt;
&lt;br /&gt;
Э4 = ОКРУГЛ (0.7 * ИК4 + 0.3 * НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка Р по дисциплине выставляется по десятибалльной&lt;br /&gt;
шкале согласно формуле&lt;br /&gt;
&lt;br /&gt;
Р = ОКРУГЛ (0.5 * Э2 + 0.5 * Э4).&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53200</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53200"/>
		<updated>2021-04-12T22:53:41Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Занятие 9&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Занятие 9.&#039;&#039;&#039; MA \subset AM. Задача изоморфизма графов вряд ли NP-полная. IP \subset EXP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/6hsOYTY7fcQ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53197</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53197"/>
		<updated>2021-04-12T20:07:06Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Третья порция задач&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12 апреля 2021. Появилась третья порция задач.&#039;&#039;&#039; Мягкий дедлайн - 16 мая. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53196</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=53196"/>
		<updated>2021-04-12T20:05:54Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Задачи */ Третья порция&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1vXz32rLU_T35MKfslndJ0bgF9P-yHQ38/view?usp=sharing Третья порция задач: интерактивные доказательства]. Мягкий дедлайн 16 мая. Обратите внимание, что в обычных задачах теперь могут быть бонусные баллы. Они так же, как и обычные, наполовину уменьшатся после дедлайна. Подробнее читайте в листочке. После 19 апреля в этом листочке может появиться ещё пара задач с тем же дедлайном.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52947</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52947"/>
		<updated>2021-04-06T23:56:34Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* [пройдено] Временная сложность, классы P и NP. &lt;br /&gt;
* [пройдено] NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* [пройдено] Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* [пройдено] &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52946</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52946"/>
		<updated>2021-04-06T23:53:38Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Занятие 8&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 апреля 2021. Занятие 8.&#039;&#039;&#039; Интерактивные доказательства и протоколы Артура-Мерлина. Классы IP и AM. NP \subset IP. Протокол Артура-Мерлина для задачи не-изоморфизма графов. &lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/9k4iaxSyErU&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52939</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52939"/>
		<updated>2021-04-06T18:12:27Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть конспекты)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть конспекты)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52938</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52938"/>
		<updated>2021-04-06T18:09:35Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: Добавлен раздел Курсы&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
== Другие курсы по теории сложности вычислений ==&lt;br /&gt;
Здесь приведены ссылки на некоторые из курсов, которые пересекаются по тематике с нашим и дополняют его. Эти материалы, в том числе, помогают мне при подготовке к занятиям.&lt;br /&gt;
&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ: [https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L видеолекции].&lt;br /&gt;
# Jonathan Katz. Курс в университете Мэриленда: [https://www.cs.umd.edu/~jkatz/complexity/f11/ страница курса (есть слайды)].&lt;br /&gt;
# Rafael Pass. Курс в Корнеллском университете: [http://www.cs.cornell.edu/courses/cs6810/2009sp/ страница курса (есть слайды)].&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52937</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52937"/>
		<updated>2021-04-06T18:00:38Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Интересные статьи */ Добавлены две статьи и инструкция по доступу&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
Некоторые статьи недоступны обычным пользователям. Но к ним можно получить доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
* S. Goldwasser &amp;amp; M. Sipser. [https://dl.acm.org/doi/abs/10.1145/12130.12137 Private Coins versus Public Coins in Interactive Proof Systems] (Открытые случайные биты (почти) не хуже, чем закрытые)&lt;br /&gt;
&lt;br /&gt;
* O. Goldreich et al. [http://www.wisdom.weizmann.ac.il/~oded/PSX/fgmsz.pdf On Completeness and Soundness in Interactive Proof Systems] (Распознавание x \in L с вероятностью 1 для систем интерактивных доказательств)&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52550</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52550"/>
		<updated>2021-03-26T15:25:13Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Наборы задач */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/1A5HEZwE4Ezga4Z6DuT3SLw0eHp2h17PB/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52549</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52549"/>
		<updated>2021-03-26T15:21:01Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ вторая порция задач&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;26 марта 2021. Появилась вторая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 30 апреля. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52548</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52548"/>
		<updated>2021-03-26T15:19:35Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Наборы задач */ Вторая порция&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Вторая порция задач: вероятностные вычисления]. Мягкий дедлайн 30 апреля. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52385</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52385"/>
		<updated>2021-03-22T18:16:04Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Добавлено занятие 7&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 марта 2021. Занятие 7.&#039;&#039;&#039; Классы RP, coRP, BPP, ZPP. Теорема о равенстве ZPP и RP \cap coRP. Теорема о том, что BPP \subset P/poly (не слишком формально).&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/UVrlzOCTiTI&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=52371</id>
		<title>DM1-SE-2020-21</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=52371"/>
		<updated>2021-03-22T12:37:09Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Сроки сдачи домашних заданий */ Добавлен дедлайн по дз6 для группы 206&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
== Контрольные работы ==&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 1 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 1 состоится &#039;&#039;&#039;1-го декабря с 1810 до 2010 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Контрольная состоит из 8 заданий. За каждое можно получить 0, 1/2 или 1 балл. Оценка за контрольную равна сумме баллов за решенные задачи, деленной на 8 (без округления; для ясности можно еще умножить на 10 -- формально это делается лишь с итоговой оценкой за семестр).&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму для загргузки работы (ссылка на задание -- в форме):&lt;br /&gt;
https://docs.google.com/forms/d/e/1FAIpQLSfOwQ23H-BqaMzOrnCh16VBegXmYTiYs9DiCgHe4kAVNIC0Pw/viewform?usp=sf_link&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 2 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 2 состоится &#039;&#039;&#039;19-го декабря с 1300 до 1500 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму: https://docs.google.com/forms/d/e/1FAIpQLSfbbVYjxm3OatSsqa-L0-gIfSjGKhrLUwx2fi0KOcNJyMW6ig/viewform?usp=sf_link. Ссылка на задание: https://drive.google.com/file/d/1vsVjVPzPps8_R7vgcEREuVUP7esNNX4U/view?usp=sharing.&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 3 ===&lt;br /&gt;
&lt;br /&gt;
Работа пройдет в начале четвертого модуля.&lt;br /&gt;
&lt;br /&gt;
=== Экзамен ===&lt;br /&gt;
&lt;br /&gt;
Экзамен состоится &#039;&#039;&#039;29-го декабря с 1100 до 1300 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
== Записи занятий ==&lt;br /&gt;
Начиная со второго модуля ведется регулярная запись заочных лекций и семинаров.&lt;br /&gt;
&lt;br /&gt;
=== Лекции ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/FeHKd8FSJhc Лекция 8.] Расширенный алгортим Евклида; решение линейного уравнения с двумя неизвестными в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/oj6RNUKKCZY Лекция 9.] Решение линейного сравнения; китайская теорема об остатках; практическое решение системы линейных сравнений.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/xvU3EDJwHO8 Лекция 10.] Множества: аксиоматический подход; отношение принадлежности; аксиома основания; включение и равенство множеств; аксиома равенства; &amp;quot;принцип замены&amp;quot;; построение новых множеств: группировка нескольких множеств; синглетоны; выделение подмножества; пустое множество; множество-степень; объединение двух множеств (и более общий случай); пересечение и разность двух множеств.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/iGfNt3Q8IC0 Лекция 11.] Замена включения на равенство; тождества алгебры множеств и примеры их применения; упорядоченная пара (по Куратовскому); критерий равенства пар; декартово произведение множеств; декартова степень.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yQF9PwmYFF4 Лекция 12.] Бинарные отношения между множествами; области определения и значений, поле отношения; диаграмма отношения; отношение на множестве; тождественное отношение; обратное отношение; обращения обращения и объединения; композиция отношений; ассоциативность композиции; обращение композиции; композиция с тождественным отношением; образ и прообраз множества под действием отношения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/kQDy3mfWzHI Лекция 13.] Функциональные, инъективные, тотальные и сюръективные отношения; обращение и композиция отношений с такими свойствами; функции и их значения; композиция функций; критерий равенства функций; инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/dGtm4T_YI9U Лекция 14.] Критерий биективности отношения; &amp;quot;парадокс&amp;quot; Галилея; равномощные множества; \N^2 равномощно \N; теорема Кантора.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nueQ-K4FZz4 Лекция 15.] Тождества для декартовых произведений и степеней; индикаторные (характеристические) функции и их применения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yO5o_Ys-erI Лекция 16.] Упорядоченные наборы и функции с конечной областью определения; вложения; теорема Кантора--Шрёдера--Бернштейна и ее применения; континуум-гипотеза.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/ZHQG0KKY8oY Лекция 17.] Конечные, бесконечные и счетные множества; приницип Дирихле и его следствия; мощность конечного множества.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Семинары Е. В. Дашкова ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/zx3yBDq7IlY Семинар № 11.] Множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/6rMR5OSG49w Семинар № 12.] Тождества алгебры множеств. Декартово произведение.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/RjFAU3Y-TmA Семинар № 13.] Бинарные отношения. Композиция, обращение и операции алгебры множеств. Образ множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/3FpyaPZ2GmY Семинар № 14.] Образ и прообраз. Свойства функциональности, инъективности, тотальности и сюръективности.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/Z96oZ4Uh-z8 Семинар № 15.] Функции, инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/fRQAxwCUZEE Семинар № 16.] Продолжение предыдущего.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/rZn8qkTZZ4s Семинар № 17.] Индикаторные функции. Теорема Кантора--Шрёдера--Бернштейна.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yMYCvx8rNOU Семинар № 18.] Теорема Кантора--Шрёдера--Бернштейна. Счетные множества.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
[https://youtu.be/ZsdkO3d8Su8 Практическое решение] линейного уравнения в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nEaekzoVZJg Если число] кратно нескольким попарно взаимно простым числам, то кратно и их произведению (очень подробное скучное доказательство); практическое решение системы сравнений --- применение алгоритма из доказательства китайской теоремы об остатках; подсчет числа решений линейного сравнения на примере.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/gEp_mQTEZQA Варианты определения] упорядоченной пары множеств; возведение числа в степень по модулю.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/8lU0F_SXTGY Формула] для семестровой оценки; разные задачи арифметики.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/edylFiIfKgs Приложения] задачи Муавра и формулы включений-исключений.&lt;br /&gt;
&lt;br /&gt;
== Текущая успеваемость ==&lt;br /&gt;
Таблица с результатами проверки домашних заданий, самостоятельных работ и т.д. [https://docs.google.com/spreadsheets/d/1O3mNmi43Lh-Mipb-VP-hb7GdfL8i2OxsWGjRbtvmsk8/edit?usp=sharing Ведомость]&lt;br /&gt;
&lt;br /&gt;
== Сроки сдачи домашних заданий ==&lt;br /&gt;
&#039;&#039;&#039;For Group 201 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 15.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-10) — 25.10, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 11-15) — 5.11, 22:00&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 16,17, 21,22) - 12.11, 22:00.&lt;br /&gt;
* HW 7 (второй домашний лист, задачи 18-20) - 19.11, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 9 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 11 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 15 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
* HW 16 (шестой домашний лист, весь!) - 20.03, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 210: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 18.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-7 и 9-12) — 8.11, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 8, 13-17, 21,22) - 15.11, 22:00.&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 18-20) - 21.11, 22:00&lt;br /&gt;
* HW 7 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 9 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 11 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
* HW 15 (шестой домашний лист, весь!) - 20.03, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; БПИ 202 &#039;&#039;&#039;&lt;br /&gt;
* 3 октября — ДЗ1&lt;br /&gt;
* 21 ноября — ДЗ2&lt;br /&gt;
* 18 декабря — ДЗ3&lt;br /&gt;
* 5 февраля — ДЗ4&lt;br /&gt;
* 12 марта — ДЗ5&lt;br /&gt;
* 22 марта — ДЗ6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 203,204:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* HW 1 (задачи 1-6) -- 24.09, до начала семинара&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;БПИ 206:&#039;&#039;&#039;&lt;br /&gt;
* HW1 5 октября, 23:59 ([https://vk.com/away.php?to=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLScKY8amB1e0R8lLjBNeC3p_l8F3L6UYx3RpWuz_akYwdO3s9g%2Fviewform%3Fusp%3Dsf_link Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW2 20 ноября, 23:59 ([https://forms.gle/s7xYYVtDYBRKvfiP9 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW3 18 декабря, 23:59 ([https://forms.gle/mcJwfkb5AP8w9udDA Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW4 10 февраля, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW5 10 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW5 28 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
== Материалы курса ==&lt;br /&gt;
&lt;br /&gt;
Различные материалы, включая конспекты, можно найти [https://drive.google.com/drive/folders/1vJQkWLMxA-3_T9pb3EelOCd_3wsUvcXC?usp=sharing здесь].&lt;br /&gt;
&lt;br /&gt;
=== Наборы задач ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Задачи для семинаров || Домашние задания&lt;br /&gt;
|-&lt;br /&gt;
 ||  [https://drive.google.com/file/d/19da3AHNlChr937bT-f1YxuzIzHzv3mA1/view?usp=sharing С 1] ||  [https://drive.google.com/file/d/10QacqgKwC9ecCvLgJGebNb1DQETNobu2/view?usp=sharing ДЗ 1]&lt;br /&gt;
|- &lt;br /&gt;
 ||  [https://drive.google.com/file/d/1zSdte9Y4mtlHSS561C8Fb7l5IjJA9Ltd/view?usp=sharing С 2] ||  [https://drive.google.com/file/d/1aaEE2Z-PlzX_gVK2q77IKrG2E_g_4BKH/view?usp=sharing ДЗ 2]   &lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FkSSImQIQ2JA8UppbfETB2huipmP1J3E/view?usp=sharing С 3] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1Xe0jE1V9RwRg2Ur_QOwTbzKayDvyqkwF/view?usp=sharing С 4] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FejzUUPYxKzkdvjsUHPKD4C6qmyyDYBu/view?usp=sharing С 5] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1mluHqwEKDDHWbd2G3nKl38B6WZNWC_wU/view?usp=sharing С 6] || [https://drive.google.com/file/d/133C1bmtE4qR03plJkuhnLz7axFqkP39W/view?usp=sharing ДЗ 3]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/16AQmnu-HXsUb8lPJjiEmeTY3RAD146Km/view?usp=sharing С 7] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1SRfnZ30ydIfqoMRQ3YkJidGdTKDpF4aC/view?usp=sharing С 8] || [https://drive.google.com/file/d/1UHaD7MNG7rUSSYFtKTkDGJheyA7kETJL/view?usp=sharing ДЗ 4]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1-EmLktTlL8BqI_qvR-S5jkE7k4v0bOwD/view?usp=sharing С 9] || [https://drive.google.com/file/d/1fQwWDrgxDGTplk4LFVKpxwKyiYQ9EIuX/view?usp=sharing ДЗ 5]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1RaHJTUIJaJwt2j6L8bPNF-uepFQ-XHwZ/view?usp=sharing С 10] || [https://drive.google.com/file/d/1pHXSa_-tJ-glD1kwgo_raScaUTRwTvzt/view?usp=sharing ДЗ 6]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1teV4wC8wioRFFNrFsTWi62UQxt88KSpx/view?usp=sharing С 11] || [ДЗ 7]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Прочие  ==&lt;br /&gt;
&lt;br /&gt;
* НАСТОЯТЕЛЬНО советуем примкнуть к нашей [https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg группе в Телеграме].&lt;br /&gt;
&lt;br /&gt;
* У нас есть [https://meet.edashkov.net сервер] для видео-конференция.&lt;br /&gt;
&lt;br /&gt;
* Если вы студент 201 или 210 группы, пожалуйста, присоединитесь к [https://classroom.google.com Google Classroom] к своей группе для сдачи домашнего задания. Используйте следующие коды и обязательно своё настоящее имя:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Group 201 || Group 210 &lt;br /&gt;
|-&lt;br /&gt;
|| llytf2w || jidg2qh&lt;br /&gt;
  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Преподаватели ==&lt;br /&gt;
&lt;br /&gt;
=== Лектор ===&lt;br /&gt;
&lt;br /&gt;
Евгений Владимирович Дашков. Мои контакты: edashkov@gmail.com, ТГ: @edashkov, [https://vk.com/evgeny.v.dashkov ВК].&lt;br /&gt;
&lt;br /&gt;
=== Семинаристы ===&lt;br /&gt;
БПИ201, БПИ2010 - [https://www.hse.ru/org/persons/14300157 Анастасия Трофимова], почта: [mailto:atrofimova@hse.ru atrofimova@hse.ru], телеграм: [https://t.me/AnastasiiaTrofimova @AnastasiiaTrofimova].&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Евгений Владимирович Дашков, почта: [mailto:edashkov@gmail.com edashkov@gmail.com], телеграм: [https://t.me/edashkov @edashkov].&lt;br /&gt;
&lt;br /&gt;
БПИ203, БПИ204 - [https://www.hse.ru/org/persons/64944 Дмитрий (Александрович) Шварц], почта: [mailto:dshvarts@mail.ru dshvarts@mail.ru], телеграм: [https://t.me/dshvarts @dshvarts].&lt;br /&gt;
&lt;br /&gt;
БПИ205 - [https://www.hse.ru/org/persons/310667694 Артем Максаев], почта: [mailto:artmak95@mail.ru artmak95@mail.ru].&lt;br /&gt;
&lt;br /&gt;
БПИ206 - [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko].&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Никита Лукьяненко, почта: [mailto:nickita.zangezi@yandex.ru nickita.zangezi@yandex.ru], телеграм: [https://t.me/vaulty @vaulty].&lt;br /&gt;
&lt;br /&gt;
БПИ208, БПИ209 - Михаил Хрыстик, почта: [mailto:mihailkhrystik@gmail.com mihailkhrystik@gmail.com].&lt;br /&gt;
&lt;br /&gt;
=== Учебные ассистенты ===&lt;br /&gt;
БПИ201 - Дмитрий Калмыков [https://vk.com/de.kalmykov Вк] [https://t.me/DimaPI196 Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Агроскин Александр [https://vk.com/avagrthefirst Вк] [http://t.me/McAvagr Telegram] avagroskin@edu.hse.ru &lt;br /&gt;
&lt;br /&gt;
БПИ203 - Михаил Кузнецов [https://vk.com/rokymiel Вк] [https://t.me/rokymiel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ204 - Максим Савинов [https://vk.com/id139918569 Вк] [https://t.me/Orlett Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ205 - Илья Снимщиков [https://vk.com/snimshchikov Вк] [https://t.me/snimshchikov Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ206 - Дмитрий Лямзин [https://vk.com/entifier Вк] [https://t.me/entifier Telegram] dslyamzin@edu.hse.ru&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Владислав Масельскас [https://vk.com/maselskas Вк] [https://t.me/VladPobeda Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ208 - Павел Нижегородов [https://vk.com/admiralpavel Вк] [https://t.me/AdmiralPavel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ209 - Дарья Ерёмина [https://vk.com/dariaeremina Вк] [https://t.me/darrria_e Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ2010 - Игорь Попов [https://vk.com/rlnddschn Вк] [https://t.me/dtrlnddschn Telegram]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
Наш курс опирается на разые источники. Вот некоторые полезные издания:&lt;br /&gt;
&lt;br /&gt;
#      Верещагин Н. К., Шень А. Лекции по математической логике и теории алгоритмов. Части 1--3.  5-е изд., М: МЦНМО, 2017.&lt;br /&gt;
#      Виноградов И. М. Основы теории чисел. 9-е изд., М.: Наука, 1981.&lt;br /&gt;
#      [http://rubtsov.su/public/DM-HSE-Draft.pdf  Вялый М., Подольский В., Рубцов А., Шварц Д., Шень А. Лекции по дискретной математике.]&lt;br /&gt;
#      Гаврилов Г. П., Сапоженко А. А. Задачи и упражнения по дискретной математике. 3-е изд., М.: ФИЗМАТЛИТ, 2004.&lt;br /&gt;
#      [https://drive.google.com/file/d/1RM6KX_reBFwUXesWGUEu0sFn2NCaBgvz/view?usp=sharing Дашков Е. В. Введение в математическую логику. Множества и отношения. М.: МФТИ, 2019.]&lt;br /&gt;
#      Зубков А. М., Севастьянов Б. А., Чистяков В. П. Сборник задач по теории вероятностей. 2-е изд., М.: Наука, 1989.&lt;br /&gt;
#      Ландо С. К., Лекции о производящих функциях. 3-е изд, М.: МЦНМО, 2007.&lt;br /&gt;
#      Мельников О. И. Теория графов в занимательных задачах. 5-е изд., М.: Книжный дом &amp;quot;ЛИБРОКОМ&amp;quot;, 2013.&lt;br /&gt;
#      [http://www.mccme.ru/free-books/shen/shen-induction.pdf Шень А., Математическая индукция. 5-е изд, М.: МЦНМО, 2016.]&lt;br /&gt;
&lt;br /&gt;
== Аттестация и оценки ==&lt;br /&gt;
&lt;br /&gt;
Во 2-ом модуле производится промежуточная аттестация за осенний&lt;br /&gt;
семестр.&lt;br /&gt;
&lt;br /&gt;
В осеннем семестре проводятся две контрольные работы (КР1 и&lt;br /&gt;
КР2); выдается и проверяется домашнее задание (ДЗ2). Оценка за&lt;br /&gt;
контрольную работу выставляется в долях единицы без округления (т.е. с&lt;br /&gt;
максимальной доступной используемым вычислительным средствам&lt;br /&gt;
точностью). Оценка ДЗ2 также выставляется в долях единицы без&lt;br /&gt;
округления. Оценка ДЗ2 может быть больше единицы за счет &amp;quot;бонусных&lt;br /&gt;
баллов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК2 за осенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК2&#039; = 10 * min (1, 0.35 * КР1 + 0.35 * КР2 + 0.3 * ДЗ2)&lt;br /&gt;
&lt;br /&gt;
НК2 = ОКРУГЛ (НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
Здесь и далее ОКРУГЛение производится к ближайшему целому числу, причем&lt;br /&gt;
полуцелые числа округляются вверх.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;gt;= 4, то промежуточная оценка за осенний семестр Э2 = НК2.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК2, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
промежуточная оценка за осенний семестр&lt;br /&gt;
&lt;br /&gt;
Э2 = ОКРУГЛ (0.7 * ИК2 + 0.3 * НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре проводятся две контрольные работы (КР3 и&lt;br /&gt;
КР4); выдается и проверяется домашнее задание (ДЗ4). Оценки&lt;br /&gt;
выставляются так же, как и в осеннем семестре.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК4 за весенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК4&#039; = 10 * min (1, 0.35 * КР3 + 0.35 * КР4 + 0.3 * ДЗ4)&lt;br /&gt;
&lt;br /&gt;
НК4 = ОКРУГЛ (НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;gt;= 4, то итоговая оценка за весенний семестр Э4 = НК4.&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК4, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
итоговая оценка за весенний семестр&lt;br /&gt;
&lt;br /&gt;
Э4 = ОКРУГЛ (0.7 * ИК4 + 0.3 * НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка Р по дисциплине выставляется по десятибалльной&lt;br /&gt;
шкале согласно формуле&lt;br /&gt;
&lt;br /&gt;
Р = ОКРУГЛ (0.5 * Э2 + 0.5 * Э4).&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52357</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52357"/>
		<updated>2021-03-22T09:07:47Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Общая информация */ Ссылка на таблицу с оценками&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: https://docs.google.com/spreadsheets/d/17KphnPJQ0AeRDcMryRnregEAJ2ZiupJN4OtK8XncAmA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52177</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52177"/>
		<updated>2021-03-16T10:48:15Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52176</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=52176"/>
		<updated>2021-03-16T10:47:59Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Добавлено занятие 6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 6.&#039;&#039;&#039; Вероятностные алгоритмы. Задача Polynomial Identity Testing. Виды вероятностных алгоритмов и уменьшение вероятности ошибки. Определения (неформальные) классов RP, coRP, BPP и (совсем неформально) ZPP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/YCXpXFN6Ryk&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51704</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51704"/>
		<updated>2021-03-01T19:22:51Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Добавлено занятие 5. Исправлено 2020 --&amp;gt; 2021&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2021. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2021. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2021. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2021. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2021. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1 марта 2021. Занятие 5.&#039;&#039;&#039; Полиномиальная иерархия. Иерархия по времени.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/FcTpfNlO4b8&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51658</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51658"/>
		<updated>2021-02-28T20:30:50Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ опечатка&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22 февраля 2020. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=51623</id>
		<title>DM1-SE-2020-21</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=DM1-SE-2020-21&amp;diff=51623"/>
		<updated>2021-02-26T20:39:20Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Сроки сдачи домашних заданий */ Добавлен дедлайн по дз5 для группы 206&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
== Контрольные работы ==&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 1 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 1 состоится &#039;&#039;&#039;1-го декабря с 1810 до 2010 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Контрольная состоит из 8 заданий. За каждое можно получить 0, 1/2 или 1 балл. Оценка за контрольную равна сумме баллов за решенные задачи, деленной на 8 (без округления; для ясности можно еще умножить на 10 -- формально это делается лишь с итоговой оценкой за семестр).&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму для загргузки работы (ссылка на задание -- в форме):&lt;br /&gt;
https://docs.google.com/forms/d/e/1FAIpQLSfOwQ23H-BqaMzOrnCh16VBegXmYTiYs9DiCgHe4kAVNIC0Pw/viewform?usp=sf_link&lt;br /&gt;
&lt;br /&gt;
=== Контрольная работа № 2 ===&lt;br /&gt;
&lt;br /&gt;
Контрольная работа № 2 состоится &#039;&#039;&#039;19-го декабря с 1300 до 1500 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
Ссылка на форму: https://docs.google.com/forms/d/e/1FAIpQLSfbbVYjxm3OatSsqa-L0-gIfSjGKhrLUwx2fi0KOcNJyMW6ig/viewform?usp=sf_link. Ссылка на задание: https://drive.google.com/file/d/1vsVjVPzPps8_R7vgcEREuVUP7esNNX4U/view?usp=sharing.&lt;br /&gt;
&lt;br /&gt;
=== Экзамен ===&lt;br /&gt;
&lt;br /&gt;
Экзамен состоится &#039;&#039;&#039;29-го декабря с 1100 до 1300 МСК&#039;&#039;&#039;. Контрольная пройдет заочно: студенты получают задания и до окончания отведенного времени загружают скан или фото своей работы по указанной ссылке (Google Forms; требуется залогиниться в Гугле!).&lt;br /&gt;
&lt;br /&gt;
Задание и ссылка для загрузки будут выложены в нашей группе в Телеграме: https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg. Там же можно будет задать вопросы во время проведения работы.&lt;br /&gt;
&lt;br /&gt;
== Записи занятий ==&lt;br /&gt;
Начиная со второго модуля ведется регулярная запись заочных лекций и семинаров.&lt;br /&gt;
&lt;br /&gt;
=== Лекции ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/FeHKd8FSJhc Лекция 8.] Расширенный алгортим Евклида; решение линейного уравнения с двумя неизвестными в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/oj6RNUKKCZY Лекция 9.] Решение линейного сравнения; китайская теорема об остатках; практическое решение системы линейных сравнений.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/xvU3EDJwHO8 Лекция 10.] Множества: аксиоматический подход; отношение принадлежности; аксиома основания; включение и равенство множеств; аксиома равенства; &amp;quot;принцип замены&amp;quot;; построение новых множеств: группировка нескольких множеств; синглетоны; выделение подмножества; пустое множество; множество-степень; объединение двух множеств (и более общий случай); пересечение и разность двух множеств.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/iGfNt3Q8IC0 Лекция 11.] Замена включения на равенство; тождества алгебры множеств и примеры их применения; упорядоченная пара (по Куратовскому); критерий равенства пар; декартово произведение множеств; декартова степень.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yQF9PwmYFF4 Лекция 12.] Бинарные отношения между множествами; области определения и значений, поле отношения; диаграмма отношения; отношение на множестве; тождественное отношение; обратное отношение; обращения обращения и объединения; композиция отношений; ассоциативность композиции; обращение композиции; композиция с тождественным отношением; образ и прообраз множества под действием отношения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/kQDy3mfWzHI Лекция 13.] Функциональные, инъективные, тотальные и сюръективные отношения; обращение и композиция отношений с такими свойствами; функции и их значения; композиция функций; критерий равенства функций; инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/dGtm4T_YI9U Лекция 14.] Критерий биективности отношения; &amp;quot;парадокс&amp;quot; Галилея; равномощные множества; \N^2 равномощно \N; теорема Кантора.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nueQ-K4FZz4 Лекция 15.] Тождества для декартовых произведений и степеней; индикаторные (характеристические) функции и их применения.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yO5o_Ys-erI Лекция 16.] Упорядоченные наборы и функции с конечной областью определения; вложения; теорема Кантора--Шрёдера--Бернштейна и ее применения; континуум-гипотеза.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/ZHQG0KKY8oY Лекция 17.] Конечные, бесконечные и счетные множества; приницип Дирихле и его следствия; мощность конечного множества.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Семинары Е. В. Дашкова ===&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/zx3yBDq7IlY Семинар № 11.] Множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/6rMR5OSG49w Семинар № 12.] Тождества алгебры множеств. Декартово произведение.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/RjFAU3Y-TmA Семинар № 13.] Бинарные отношения. Композиция, обращение и операции алгебры множеств. Образ множества.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/3FpyaPZ2GmY Семинар № 14.] Образ и прообраз. Свойства функциональности, инъективности, тотальности и сюръективности.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/Z96oZ4Uh-z8 Семинар № 15.] Функции, инъекции, сюръекции и биекции.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/fRQAxwCUZEE Семинар № 16.] Продолжение предыдущего.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/rZn8qkTZZ4s Семинар № 17.] Индикаторные функции. Теорема Кантора--Шрёдера--Бернштейна.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/yMYCvx8rNOU Семинар № 18.] Теорема Кантора--Шрёдера--Бернштейна. Счетные множества.&lt;br /&gt;
&lt;br /&gt;
Записи &#039;&#039;&#039;последующих занятий&#039;&#039;&#039; можно найти [https://eduhseru-my.sharepoint.com/:f:/g/personal/kroslovtseva_hse_ru/Ep35ftZAsIdBt0UQaIyEwQUBGrTQef85RqKcrBeofmYx0Q?e=FI0fwQ здесь].&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
[https://youtu.be/ZsdkO3d8Su8 Практическое решение] линейного уравнения в целых числах.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/nEaekzoVZJg Если число] кратно нескольким попарно взаимно простым числам, то кратно и их произведению (очень подробное скучное доказательство); практическое решение системы сравнений --- применение алгоритма из доказательства китайской теоремы об остатках; подсчет числа решений линейного сравнения на примере.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/gEp_mQTEZQA Варианты определения] упорядоченной пары множеств; возведение числа в степень по модулю.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/8lU0F_SXTGY Формула] для семестровой оценки; разные задачи арифметики.&lt;br /&gt;
&lt;br /&gt;
== Текущая успеваемость ==&lt;br /&gt;
Таблица с результатами проверки домашних заданий, самостоятельных работ и т.д. [https://docs.google.com/spreadsheets/d/1O3mNmi43Lh-Mipb-VP-hb7GdfL8i2OxsWGjRbtvmsk8/edit?usp=sharing Ведомость]&lt;br /&gt;
&lt;br /&gt;
== Сроки сдачи домашних заданий ==&lt;br /&gt;
&#039;&#039;&#039;For Group 201 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 15.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-10) — 25.10, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 11-15) — 5.11, 22:00&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 16,17, 21,22) - 12.11, 22:00.&lt;br /&gt;
* HW 7 (второй домашний лист, задачи 18-20) - 19.11, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 9 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 11 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 15 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 210: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CW 1 (задачи 3b)d), 4 b)c)e)f)), выполнить дома&lt;br /&gt;
* HW 1 (первый домашний лист, задачи 1-4) — 1.10, 22:00&lt;br /&gt;
* HW 2 (первый домашний лист, задачи 5-9) — 8.10, 22:00&lt;br /&gt;
* HW 3 (второй домашний лист, задачи 1-3) — 18.10, 22:00&lt;br /&gt;
* HW 4 (второй домашний лист, задачи 4-7 и 9-12) — 8.11, 22:00&lt;br /&gt;
* HW 5 (второй домашний лист, задачи 8, 13-17, 21,22) - 15.11, 22:00.&lt;br /&gt;
* HW 6 (второй домашний лист, задачи 18-20) - 21.11, 22:00&lt;br /&gt;
* HW 7 (третий домашний лист, задачи 1-5) - 5.12, 22:00&lt;br /&gt;
* HW 8 (третий домашний лист, задачи 6-12) - 19.12, 22:00&lt;br /&gt;
* HW 9 (четвертый домашний лист, задачи 1-9) - 30.01, 00:00&lt;br /&gt;
* HW 10 (четвертый домашний лист, задачи 10-13) - 6.02, 00:00&lt;br /&gt;
* HW 11 (пятый домашний лист, задачи 1,4,6,10) - 13.02, 00:00&lt;br /&gt;
* HW 12 (пятый домашний лист, задачи 2,5,8,9,13) - 20.02, 00:00&lt;br /&gt;
* HW 13 (пятый домашний лист, задачи 7,11,12) - 27.02, 00:00&lt;br /&gt;
* HW 14 (пятый домашний лист, задачи 3,14-16) - 6.03, 00:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; БПИ 202 &#039;&#039;&#039;&lt;br /&gt;
* 3 октября — ДЗ1&lt;br /&gt;
* 21 ноября — ДЗ2&lt;br /&gt;
* 18 декабря — ДЗ3&lt;br /&gt;
* 5 февраля — ДЗ4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Group 203,204:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* HW 1 (задачи 1-6) -- 24.09, до начала семинара&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;БПИ 206:&#039;&#039;&#039;&lt;br /&gt;
* HW1 5 октября, 23:59 ([https://vk.com/away.php?to=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLScKY8amB1e0R8lLjBNeC3p_l8F3L6UYx3RpWuz_akYwdO3s9g%2Fviewform%3Fusp%3Dsf_link Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW2 20 ноября, 23:59 ([https://forms.gle/s7xYYVtDYBRKvfiP9 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW3 18 декабря, 23:59 ([https://forms.gle/mcJwfkb5AP8w9udDA Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW4 10 февраля, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
* HW5 10 марта, 23:59 ([https://forms.gle/NbfYpTCm1a4qxwjH7 Гугл-форма])&lt;br /&gt;
&lt;br /&gt;
== Материалы курса ==&lt;br /&gt;
&lt;br /&gt;
Различные материалы, включая конспекты, можно найти [https://drive.google.com/drive/folders/1vJQkWLMxA-3_T9pb3EelOCd_3wsUvcXC?usp=sharing здесь].&lt;br /&gt;
&lt;br /&gt;
=== Наборы задач ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Задачи для семинаров || Домашние задания&lt;br /&gt;
|-&lt;br /&gt;
 ||  [https://drive.google.com/file/d/19da3AHNlChr937bT-f1YxuzIzHzv3mA1/view?usp=sharing С 1] ||  [https://drive.google.com/file/d/10QacqgKwC9ecCvLgJGebNb1DQETNobu2/view?usp=sharing ДЗ 1]&lt;br /&gt;
|- &lt;br /&gt;
 ||  [https://drive.google.com/file/d/1zSdte9Y4mtlHSS561C8Fb7l5IjJA9Ltd/view?usp=sharing С 2] ||  [https://drive.google.com/file/d/1aaEE2Z-PlzX_gVK2q77IKrG2E_g_4BKH/view?usp=sharing ДЗ 2]   &lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FkSSImQIQ2JA8UppbfETB2huipmP1J3E/view?usp=sharing С 3] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1Xe0jE1V9RwRg2Ur_QOwTbzKayDvyqkwF/view?usp=sharing С 4] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1FejzUUPYxKzkdvjsUHPKD4C6qmyyDYBu/view?usp=sharing С 5] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1mluHqwEKDDHWbd2G3nKl38B6WZNWC_wU/view?usp=sharing С 6] || [https://drive.google.com/file/d/133C1bmtE4qR03plJkuhnLz7axFqkP39W/view?usp=sharing ДЗ 3]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/16AQmnu-HXsUb8lPJjiEmeTY3RAD146Km/view?usp=sharing С 7] || ---&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1SRfnZ30ydIfqoMRQ3YkJidGdTKDpF4aC/view?usp=sharing С 8] || [https://drive.google.com/file/d/1UHaD7MNG7rUSSYFtKTkDGJheyA7kETJL/view?usp=sharing ДЗ 4]&lt;br /&gt;
|-&lt;br /&gt;
 || [https://drive.google.com/file/d/1-EmLktTlL8BqI_qvR-S5jkE7k4v0bOwD/view?usp=sharing С 9] || [https://drive.google.com/file/d/1fQwWDrgxDGTplk4LFVKpxwKyiYQ9EIuX/view?usp=sharing ДЗ 5]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Прочие  ==&lt;br /&gt;
&lt;br /&gt;
* НАСТОЯТЕЛЬНО советуем примкнуть к нашей [https://t.me/joinchat/M0dUGBfT1uRLAa41-ksSWg группе в Телеграме].&lt;br /&gt;
&lt;br /&gt;
* У нас есть [https://meet.edashkov.net сервер] для видео-конференция.&lt;br /&gt;
&lt;br /&gt;
* Если вы студент 201 или 210 группы, пожалуйста, присоединитесь к [https://classroom.google.com Google Classroom] к своей группе для сдачи домашнего задания. Используйте следующие коды и обязательно своё настоящее имя:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Group 201 || Group 210 &lt;br /&gt;
|-&lt;br /&gt;
|| llytf2w || jidg2qh&lt;br /&gt;
  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Преподаватели ==&lt;br /&gt;
&lt;br /&gt;
=== Лектор ===&lt;br /&gt;
&lt;br /&gt;
Евгений Владимирович Дашков. Мои контакты: edashkov@gmail.com, ТГ: @edashkov, [https://vk.com/evgeny.v.dashkov ВК].&lt;br /&gt;
&lt;br /&gt;
=== Семинаристы ===&lt;br /&gt;
БПИ201, БПИ2010 - [https://www.hse.ru/org/persons/14300157 Анастасия Трофимова], почта: [mailto:atrofimova@hse.ru atrofimova@hse.ru], телеграм: [https://t.me/AnastasiiaTrofimova @AnastasiiaTrofimova].&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Евгений Владимирович Дашков, почта: [mailto:edashkov@gmail.com edashkov@gmail.com], телеграм: [https://t.me/edashkov @edashkov].&lt;br /&gt;
&lt;br /&gt;
БПИ203, БПИ204 - [https://www.hse.ru/org/persons/64944 Дмитрий (Александрович) Шварц], почта: [mailto:dshvarts@mail.ru dshvarts@mail.ru], телеграм: [https://t.me/dshvarts @dshvarts].&lt;br /&gt;
&lt;br /&gt;
БПИ205 - [https://www.hse.ru/org/persons/310667694 Артем Максаев], почта: [mailto:artmak95@mail.ru artmak95@mail.ru].&lt;br /&gt;
&lt;br /&gt;
БПИ206 - [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko].&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Никита Лукьяненко, почта: [mailto:nickita.zangezi@yandex.ru nickita.zangezi@yandex.ru], телеграм: [https://t.me/vaulty @vaulty].&lt;br /&gt;
&lt;br /&gt;
БПИ208, БПИ209 - Михаил Хрыстик, почта: [mailto:mihailkhrystik@gmail.com mihailkhrystik@gmail.com].&lt;br /&gt;
&lt;br /&gt;
=== Учебные ассистенты ===&lt;br /&gt;
БПИ201 - Дмитрий Калмыков [https://vk.com/de.kalmykov Вк] [https://t.me/DimaPI196 Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ202 - Агроскин Александр [https://vk.com/avagrthefirst Вк] [http://t.me/McAvagr Telegram] avagroskin@edu.hse.ru &lt;br /&gt;
&lt;br /&gt;
БПИ203 - Михаил Кузнецов [https://vk.com/rokymiel Вк] [https://t.me/rokymiel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ204 - Максим Савинов [https://vk.com/id139918569 Вк] [https://t.me/Orlett Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ205 - Илья Снимщиков [https://vk.com/snimshchikov Вк] [https://t.me/snimshchikov Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ206 - Дмитрий Лямзин [https://vk.com/entifier Вк] [https://t.me/entifier Telegram] dslyamzin@edu.hse.ru&lt;br /&gt;
&lt;br /&gt;
БПИ207 - Владислав Масельскас [https://vk.com/maselskas Вк] [https://t.me/VladPobeda Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ208 - Павел Нижегородов [https://vk.com/admiralpavel Вк] [https://t.me/AdmiralPavel Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ209 - Дарья Ерёмина [https://vk.com/dariaeremina Вк] [https://t.me/darrria_e Telegram]&lt;br /&gt;
&lt;br /&gt;
БПИ2010 - Игорь Попов [https://vk.com/rlnddschn Вк] [https://t.me/dtrlnddschn Telegram]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
Наш курс опирается на разые источники. Вот некоторые полезные издания:&lt;br /&gt;
&lt;br /&gt;
#      Верещагин Н. К., Шень А. Лекции по математической логике и теории алгоритмов. Части 1--3.  5-е изд., М: МЦНМО, 2017.&lt;br /&gt;
#      Виноградов И. М. Основы теории чисел. 9-е изд., М.: Наука, 1981.&lt;br /&gt;
#      [http://rubtsov.su/public/DM-HSE-Draft.pdf  Вялый М., Подольский В., Рубцов А., Шварц Д., Шень А. Лекции по дискретной математике.]&lt;br /&gt;
#      Гаврилов Г. П., Сапоженко А. А. Задачи и упражнения по дискретной математике. 3-е изд., М.: ФИЗМАТЛИТ, 2004.&lt;br /&gt;
#      [https://drive.google.com/file/d/1RM6KX_reBFwUXesWGUEu0sFn2NCaBgvz/view?usp=sharing Дашков Е. В. Введение в математическую логику. Множества и отношения. М.: МФТИ, 2019.]&lt;br /&gt;
#      Зубков А. М., Севастьянов Б. А., Чистяков В. П. Сборник задач по теории вероятностей. 2-е изд., М.: Наука, 1989.&lt;br /&gt;
#      Ландо С. К., Лекции о производящих функциях. 3-е изд, М.: МЦНМО, 2007.&lt;br /&gt;
#      Мельников О. И. Теория графов в занимательных задачах. 5-е изд., М.: Книжный дом &amp;quot;ЛИБРОКОМ&amp;quot;, 2013.&lt;br /&gt;
#      [http://www.mccme.ru/free-books/shen/shen-induction.pdf Шень А., Математическая индукция. 5-е изд, М.: МЦНМО, 2016.]&lt;br /&gt;
&lt;br /&gt;
== Аттестация и оценки ==&lt;br /&gt;
&lt;br /&gt;
Во 2-ом модуле производится промежуточная аттестация за осенний&lt;br /&gt;
семестр.&lt;br /&gt;
&lt;br /&gt;
В осеннем семестре проводятся две контрольные работы (КР1 и&lt;br /&gt;
КР2); выдается и проверяется домашнее задание (ДЗ2). Оценка за&lt;br /&gt;
контрольную работу выставляется в долях единицы без округления (т.е. с&lt;br /&gt;
максимальной доступной используемым вычислительным средствам&lt;br /&gt;
точностью). Оценка ДЗ2 также выставляется в долях единицы без&lt;br /&gt;
округления. Оценка ДЗ2 может быть больше единицы за счет &amp;quot;бонусных&lt;br /&gt;
баллов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК2 за осенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК2&#039; = 10 * min (1, 0.35 * КР1 + 0.35 * КР2 + 0.3 * ДЗ2)&lt;br /&gt;
&lt;br /&gt;
НК2 = ОКРУГЛ (НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
Здесь и далее ОКРУГЛение производится к ближайшему целому числу, причем&lt;br /&gt;
полуцелые числа округляются вверх.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;gt;= 4, то промежуточная оценка за осенний семестр Э2 = НК2.&lt;br /&gt;
&lt;br /&gt;
Если НК2 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК2, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
промежуточная оценка за осенний семестр&lt;br /&gt;
&lt;br /&gt;
Э2 = ОКРУГЛ (0.7 * ИК2 + 0.3 * НК2&#039;).&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре проводятся две контрольные работы (КР3 и&lt;br /&gt;
КР4); выдается и проверяется домашнее задание (ДЗ4). Оценки&lt;br /&gt;
выставляются так же, как и в осеннем семестре.&lt;br /&gt;
&lt;br /&gt;
Накопленная оценка НК4 за весенний семестр вычисляется по формулам:&lt;br /&gt;
&lt;br /&gt;
НК4&#039; = 10 * min (1, 0.35 * КР3 + 0.35 * КР4 + 0.3 * ДЗ4)&lt;br /&gt;
&lt;br /&gt;
НК4 = ОКРУГЛ (НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;gt;= 4, то итоговая оценка за весенний семестр Э4 = НК4.&lt;br /&gt;
&lt;br /&gt;
Если НК4 &amp;lt; 4, студенту предлагается выполнить итоговое контрольное&lt;br /&gt;
задание ИК4, оцениваемое по десятибалльной системе. В этом случае&lt;br /&gt;
итоговая оценка за весенний семестр&lt;br /&gt;
&lt;br /&gt;
Э4 = ОКРУГЛ (0.7 * ИК4 + 0.3 * НК4&#039;).&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка Р по дисциплине выставляется по десятибалльной&lt;br /&gt;
шкале согласно формуле&lt;br /&gt;
&lt;br /&gt;
Р = ОКРУГЛ (0.5 * Э2 + 0.5 * Э4).&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51549</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51549"/>
		<updated>2021-02-24T18:15:23Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ ошибки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач пополнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51548</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51548"/>
		<updated>2021-02-24T18:15:06Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Добавлены задачи на NP-полноту&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Первая порция задач поплнилась.&#039;&#039;&#039; Добавилось ещё немного задач на доказательство NP-полноты. Мягкий дедлайн тот же - 28 марта. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51484</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51484"/>
		<updated>2021-02-22T18:50:33Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Добавлено занятие 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 4.&#039;&#039;&#039; NP-полнота задач о клике, о раскраске в 3 цвета, о гамильтоновом цикле.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/ffv1WXM4EJ4&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51194</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51194"/>
		<updated>2021-02-15T21:32:08Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Интересные статьи */ Добавлены Кук, Карп и Левин. Добавлено разделение на классику и новодел&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
=== Классика ===&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений).&lt;br /&gt;
&lt;br /&gt;
* Stephen A. Cook. [https://dl.acm.org/doi/10.1145/800157.805047 The complexity of theorem-proving procedures] (1971). (Определение полноты (осторожно: не совсем такое, как у нас)  и теорема Кука-Левина). Статья, по непонятным причинам, недоступна. Можно получить к ней доступ через библиотеку Вышки: https://library.hse.ru/e-resources (см. &amp;quot;Базы данных зарубежной периодики&amp;quot; и там &amp;quot;издания ACM&amp;quot;; у вас должны быть логин/пароль для библиотеки: https://elib.hse.ru/e-resources/ez/ezregulation.htm).&lt;br /&gt;
&lt;br /&gt;
* Richard M. Karp. [https://people.eecs.berkeley.edu/~luca/cs172/karp.pdf Reducibility among combinatorial problems] (1972). (Внушительный список комбинаторных задач с доказательствами их NP-полноты).&lt;br /&gt;
&lt;br /&gt;
* Л. А. Левин. [http://www.mathnet.ru/links/efc20ed39c74803d8ecb1011962ba4b3/ppi914.pdf Универсальные задачи перебора] (1973). (Примерно про то же in Soviet Russia)&lt;br /&gt;
&lt;br /&gt;
=== Неоклассика ===&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51193</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51193"/>
		<updated>2021-02-15T21:18:42Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Наборы задач */ Добавлена первая порция&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
* [https://drive.google.com/file/d/16Ae7UVOWY2-HhH8yG3DS8eBwJstz7O7D/view?usp=sharing Первая порция задач: класс NP, полиномиальная сводимость и NP-полнота]. Мягкий дедлайн 28 марта. По бонусным задачам дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51192</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51192"/>
		<updated>2021-02-15T21:16:15Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ --&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51191</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=51191"/>
		<updated>2021-02-15T21:15:56Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Добавлено занятие 3 и первая порция задач&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15 февраля 2020. Занятие 3.&#039;&#039;&#039; Полиномиальная сводимость и NP-полнота. Теорема Кука-Левина.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/XokMRfTbKkQ&lt;br /&gt;
&lt;br /&gt;
Появилась первая порция задач.&#039;&#039;&#039; Мягкий дедлайн - 28 марта. Вероятно, у второй порции задач дедлайн будет &#039;&#039;тот же&#039;&#039;. У бонусных задач дедлайна нет. См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=50962</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=50962"/>
		<updated>2021-02-08T17:54:13Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* История */ Добавлено занятие 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8 февраля 2020. Занятие 2.&#039;&#039;&#039; Недетерминированные машины и класс NP.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/HlYOfCfgQEM&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=50848</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=50848"/>
		<updated>2021-02-05T16:16:30Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: /* Задачи */ Добавлена информация по устной сдаче. Добавлен сет-0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно сдавать задачи устно.&#039;&#039;&#039; Для этого нужно связаться со мной в зуме, включить демонстрацию экрана (либо ещё каким-то образом добиться того, чтобы я видел какие-то записи и понимал, о чём вы говорите) и рассказать своё решение, отвечая на возникающие вопросы. Нужно предупредить меня о желании сдавать хотя бы за день (например, написав в телеграм), и мы договоримся о времени. Можно предупреждать раньше, чем за день – это приветствуется. Можно попробовать договориться прямо в день сдачи, но успех в таком случае маловероятен.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Наборы задач====&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1jwjO29czncdbgozvNjdn0ZFjXsZo_e28/view?usp=sharing Тренировочные задачи по машинам Тьюринга]. Дедлайна нет.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=50847</id>
		<title>Факультатив &quot;Теория вычислений и логика&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22&amp;diff=50847"/>
		<updated>2021-02-05T16:10:45Z</updated>

		<summary type="html">&lt;p&gt;Antongnatenko: инофрмация про проблемсет-0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Факультатив представляет собой введение в науку о сложности вычислений – красивую и богатую глубокими результатами область математики. Если теория алгоритмов пытается ответить на вопрос &amp;quot;что можно и чего нельзя вычислить на компьютере?&amp;quot;, то теория сложности уточняет &amp;quot;что можно вычислить быстро?&amp;quot;, &amp;quot;что принципиально невозможно вычислить быстро?&amp;quot;, &amp;quot;что делает трудные задачи трудными?&amp;quot;, &amp;quot;можно ли использовать случайность, чтобы ускорить вычисления?&amp;quot;. Чтобы (попытаться) ответить на эти вопросы, мы разобьём задачи на классы сложности и будем сравнивать разные классы между собой. Некоторые из наших теорем будут чисто теоретическими (зато очень красивыми!), а некоторые будут иметь прямые приложения в алгоритмической практике, на которые мы постараемся явно указывать.&lt;br /&gt;
&lt;br /&gt;
Каждую неделю будет проходить «занятие» (одна пара) – смесь лекции и семинара в меняющейся пропорции. Будут задачи для самостоятельного решения, расширяющие и дополняющие материал занятий.&lt;br /&gt;
&lt;br /&gt;
Для успешного прохождения курса достаточно иметь общее представление об алгоритмах, алгоритмических задачах и математических доказательствах. В примерах и задачах мы будем использовать стандартные вещи: булевы функции, графы, простые числа и так далее, однако никаких специальных предварительных знаний не предполагается.&lt;br /&gt;
&lt;br /&gt;
==Общая информация==&lt;br /&gt;
&#039;&#039;&#039;Официальное название:&#039;&#039;&#039; «Теория вычислений». (Никакой &amp;quot;и логики&amp;quot; в названии нет, хотя в программе она может появиться (см. курсив в программе курса)).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Преподаватель:&#039;&#039;&#039; [https://www.hse.ru/org/persons/305069360 Антон Гнатенко], почта: [mailto:agnatenko@hse.ru agnatenko@hse.ru], телеграм: [https://t.me/antongnatenko @antongnatenko]. Всюду на этой странице местоимение «я» обозначает именно этого человека.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Время и место (с 1 февраля):&#039;&#039;&#039; понедельник, 16:20, &lt;br /&gt;
онлайн (по крайней мере, до возвращения оффлайн занятий, но, возможно, и после). Zoom: чтобы узнать ссылку, добавляйтесь в чат.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Записи занятий:&#039;&#039;&#039; https://www.youtube.com/playlist?list=PLbjUsKUoAqLMSKdVtO89OhR3J1alX4Q83&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доски:&#039;&#039;&#039; https://drive.google.com/drive/folders/1Qw4L9QccTVEpyG3Md_4ji1coDovKiMMy?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Телеграм-чат:&#039;&#039;&#039; https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w&lt;br /&gt;
&lt;br /&gt;
Ссылка на эту страницу: https://tinyurl.com/logicomp&lt;br /&gt;
&lt;br /&gt;
Форма для задач: https://forms.gle/fvZhCKN4BmRTRRB76&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками:&lt;br /&gt;
&lt;br /&gt;
==История==&lt;br /&gt;
&#039;&#039;&#039;1 февраля 2020. Занятие 1.&#039;&#039;&#039; Машины Тьюринга и класс P.&lt;br /&gt;
&lt;br /&gt;
Видеозапись: https://youtu.be/_9OeqVJ0Lpw&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5 февраля 2020. Появились тренировочные задачи по машинам Тьюринга.&#039;&#039;&#039; См. раздел &amp;quot;Задачи&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Программа курса (примерная)==&lt;br /&gt;
&lt;br /&gt;
Темы, написанные прямым шрифтом – обязательные, это классика теории сложности вычислений. Темы, написанные курсивом, – дополнительные. Мы рассмотрим некоторые из них, если будет на то желание слушателей. Если &#039;&#039;курсивные темы&#039;&#039; станут реальностью, они могут вытеснить обычные темы и занять их место.&lt;br /&gt;
&lt;br /&gt;
* Временная сложность, классы P и NP. &lt;br /&gt;
* NP-трудные и NP-полные задачи, NP-полнота задачи о выполнимости КНФ, о клике, о раскраске графа в 3 цвета, о существовании гамильтонова пути и других.&lt;br /&gt;
* &#039;&#039;Решение NP-полных задач на практике (общий обзор).&#039;&#039;&lt;br /&gt;
* Класс coNP. &#039;&#039;Полиномиальная иерархия. Теорема о коллапсе полиномиальной иерархии.&#039;&#039;&lt;br /&gt;
* Пространственная сложность, класс PSPACE, PSPACE-полные задачи &#039;&#039;и попытки решать их на практике (общий обзор)&#039;&#039;.&lt;br /&gt;
* &#039;&#039;Сложность вычислений с помощью схем из функциональных элементов, класс P/poly.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Коммуникационная сложность.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вероятностная сложность, класс BPP (и другие), вероятностные алгоритмы проверки числа на простоту и проверки полиномов на равенство.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Интерактивные доказательства и вероятностно проверяемые доказательства.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Разрешимость и сложность некоторых логических теорий, автоматы над бесконечными словами.&#039;&#039;&lt;br /&gt;
* &#039;&#039;Вычисления с оракулом. Арифметическая иерархия и аналитическая иерархия.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;...&#039;&#039;&#039;&#039;&#039; (это многоточие написано &#039;&#039;курсивом&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Правила оценивания==&lt;br /&gt;
Чтобы получить оценку, нужно набирать баллы (обычные и бонусные). Вот как это сделать:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать задачи&#039;&#039;&#039;, которые предлагаются на занятиях и появляются на этой страничке в разделе [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 «Задачи»]. Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться дополнительное обсуждение некоторых неслучайно выбранных задач. Во время обсуждения нужно продемонстрировать понимание сданного решения. Зато можно исправить ошибки, если они там есть.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Решать бонусные задачи&#039;&#039;&#039;, которые появляются там же. За бонусные задачи даются &#039;&#039;&#039;бонусные баллы&#039;&#039;&#039; (см. ниже).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Участвовать в занятиях&#039;&#039;&#039;. Иногда можно получить немного &#039;&#039;&#039;бонусных баллов&#039;&#039;&#039; за высказанную идею решения задачи, идею доказательства, ответ на вопрос. &lt;br /&gt;
&lt;br /&gt;
Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр».&lt;br /&gt;
Тогда оценка за курс вычисляется по формуле P = min{S / M * 10, 10}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.&lt;br /&gt;
&lt;br /&gt;
==Задачи==&lt;br /&gt;
&#039;&#039;&#039;Письменные решения нужно сдавать [https://forms.gle/fvZhCKN4BmRTRRB76 вот этой гугл-форме].&#039;&#039;&#039; Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.&lt;br /&gt;
&lt;br /&gt;
Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Правила оформления решений.&#039;&#039;&#039; При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, принадлежность некоторого языка классу NP, то достаточно предоставить словесное описание соответствующей машины (если только в условии явно не просят построить машину). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Можно будет сдавать задачи устно.&#039;&#039;&#039; Подробности появятся позже.&lt;br /&gt;
&lt;br /&gt;
==Интересные статьи==&lt;br /&gt;
&lt;br /&gt;
* J. Hartmanis &amp;amp; R. E. Stearns. [http://www.cs.albany.edu/~res/comp_complexity_ams_1965.pdf On the complexity of algorithms] (1965). (Статья, с которой началась теория сложности вычислений)&lt;br /&gt;
&lt;br /&gt;
* M. Agrawal, N. Kayal &amp;amp; N. Saxena. [https://annals.math.princeton.edu/wp-content/uploads/annals-v160-n2-p12.pdf PRIMES is in P] (2004). (Полиномиальный алгоритм проверки числа на простоту)&lt;br /&gt;
&lt;br /&gt;
* Alexander A. Razborov &amp;amp; Steven Rudich. [https://reader.elsevier.com/reader/sd/pii/S002200009791494X?token=FA3F4242B7E505CE6CB80008B59A32F704FAF5C15051D9694B44548A3AFFF4F47B4E03BAFC6B8357EC27E4FCE360652C Natural Proofs]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
# Dexter C. Kozen. Theory of Computation. (Замечательная книга по теории сложности вычислений, малоизвестная, по непонятным причинам, в нашей стране. Изложение структурировано в виде &amp;quot;лекций&amp;quot;, часть из которых &amp;quot;обычные&amp;quot;, а часть &amp;quot;продвинутые&amp;quot;)&lt;br /&gt;
# Michael Sipser. Introduction to the Theory of Computation (Очень хороший вводный учебник)&lt;br /&gt;
# Sanjeev Arora &amp;amp; Boaz Barak. Computational Complexity: A Modern Approach. (Большая книга, которая входит во все списки литературы по теории сложности вычислений)&lt;br /&gt;
# Д.В. Мусатов. Лекции по сложности вычислений в МФТИ (видеозаписи). https://mipt.lectoriy.ru/course/Maths-ComputationalComplexity-14L (Очень хороший курс лекций, существенно пересекающийся с нашим)&lt;br /&gt;
&lt;br /&gt;
==Архив==&lt;br /&gt;
* [http://wiki.cs.hse.ru/%D0%A4%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2_%22%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%22_(%D0%9E%D1%81%D0%B5%D0%BD%D1%8C_2020) Факультатив &amp;quot;Вычислимость и логика&amp;quot;, осень 2020]&lt;/div&gt;</summary>
		<author><name>Antongnatenko</name></author>
	</entry>
</feed>