Факультатив "Теория вычислений и логика" — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (История: Добавлена доска от 11 ноября)
м (Общая информация: Добавлена ссылка на гугл-диск с досками)
Строка 9: Строка 9:
  
 
'''Записи занятий:''' https://www.youtube.com/playlist?list=PLbjUsKUoAqLPFWgiaIFX4QW__3Obyipcw
 
'''Записи занятий:''' https://www.youtube.com/playlist?list=PLbjUsKUoAqLPFWgiaIFX4QW__3Obyipcw
 +
 +
'''Доски (начиная с занятия 7 (11 ноября)):''' https://drive.google.com/drive/folders/1ahvNYYDqhXqWDyhUYwX-OteyWKOLaa05?usp=sharing
  
 
'''Телеграм-чат:''' https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w
 
'''Телеграм-чат:''' https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w

Версия 09:21, 18 ноября 2020

Факультатив дополняет курс дискретной математики-2 рядом сюжетов из математической логики и теории алгоритмов. Содержание курса может меняться в соответствии с желаниями слушателей: мы уделим больше внимания вопросам, заинтересовавшим аудиторию. Занятия планируется проводить в формате живой беседы участников. Мы будем пытаться самостоятельно приходить к некоторым важным идеям, прежде чем вводить формальные определения. Факультатив желательно (хотя и необязательно) посещать одновременно с изучением курса дискретной математики-2 или после прохождения этого курса.

Общая информация

Официальное название: «Избранные вопросы теории вычислений и математической логики».

Преподаватель: Антон Гнатенко, почта: agnatenko@hse.ru, телеграм: @antongnatenko. Всюду на этой странице местоимение «я» обозначает именно этого человека.

Время и место: среда (с 16 сентября), 9:30-10:50, Zoom: <для получения ссылки — добавляйтесь в чат>

Записи занятий: https://www.youtube.com/playlist?list=PLbjUsKUoAqLPFWgiaIFX4QW__3Obyipcw

Доски (начиная с занятия 7 (11 ноября)): https://drive.google.com/drive/folders/1ahvNYYDqhXqWDyhUYwX-OteyWKOLaa05?usp=sharing

Телеграм-чат: https://t.me/joinchat/FehKYBXfk1Mu7npLZ3Tt_w

Ссылка на эту страницу: https://tinyurl.com/logicomp

Форма для задач: https://forms.gle/erSRPvvgTbroDK5G8

Таблица с оценками: https://docs.google.com/spreadsheets/d/1FhHnZJBfumvzNVqcnviWxmR8cIulIwRSmCQmaRXoC6g/edit?usp=sharing

История

16 сентября 2020. Занятие 1. Конечные автоматы и регулярные языки.

Видеозапись: https://youtu.be/80Ur1TKLU48

Конспект: https://drive.google.com/file/d/1Xa8nprULWAkrj5E1OFAci06ucIZoHCo_/view?usp=sharing

18 сентября 2020. Выложена первая порция задач. См. раздел «Задачи»

23 сентября 2020. Занятие 2. Лемма о накачке. Двусторонние автоматы.

Видеозапись: https://youtu.be/ssBN5EcUIqU

30 сентября 2020. Занятие 3. Некоторые открытые проблемы теории автоматов. Древесные автоматы.

Видеозапись: https://youtu.be/nSO7Uzze0YI

7 октября 2020. Занятие 4. Проблема усердного бобра. Примитивно рекурсивные функции.

Видеозапись: https://youtu.be/YKBEfiTU-YI

11 октября 2020. Выложена вторая порция задач и новая бонусная задача по автоматам. См. раздел «Задачи»

14 октября 2020. Занятие 5. Функция Аккермана. Частично рекурсивные функции.

Видеозапись: https://youtu.be/hqtfPIGA72k

28 октября 2020. Занятие 6. Лямбда-исчисление. Моделирование примитивно рекурсивных функций.

Видеозапись: https://youtu.be/bCSIW_3Pzwg

4 ноября 2020. Добавлены задачи по лямбда-исчислению. См. раздел «Задачи»

11 ноября 2020. Занятие 7. Лямбда-исчисление: теоремы о неподвижной точке и о рекурсии

Видеозапись: https://youtu.be/O95mbv5YH_8 Доска: https://jamboard.google.com/d/1YjDm4adrO31QKmvgktj6uTcPPkYZEygYwYT_nc6CyIM/edit?usp=sharing

Программа курса (примерная)

Темы, написанные курсивом, являются дополнительными. Мы рассмотрим их, если будет на то желание слушателей. Если курсивные темы станут реальностью, они могут вытеснить обычные темы и занять их место.

Регулярные языки и автоматы

  • Детерминированные конечные автоматы и их языки
  • Нерегулярные языки и лемма о накачке
  • Недетерминированные автоматы
  • Автоматы и поиск подстроки в строке
  • Алгебраические свойства регулярных языков. Минимизация автоматов
  • Регулярные выражения
  • Автоматы на термах, на деревьях, над бесконечными словами, ...

Теория алгоритмов

  • Частично рекурсивные функции
  • Лямбда-исчисление
  • Вычисления с оракулом

Логика

  • Логические способы описания языков. Выразительная сила логик. Трансляция формул в автоматы и автоматов в формулы.
  • Логическое программирование
  • Арифметика и вычислимые функции. Теоремы Чёрча, Тарского и Гёделя
  • Доказуемость в арифметике и ещё одна теорема Гёделя
  • Логика второго порядка
  • ... (это многоточие написано курсивом)

Правила оценивания

Чтобы получить оценку, нужно набрать необходимое количество баллов (обычных и бонусных). Вот как это сделать:

  • Решать задачи, которые предлагаются на занятиях и появляются на этой страничке в разделе «Задачи». Для каждой задачи указано количество баллов, которые можно получить за правильное решение. У каждой задачи есть мягкий дедлайн — после него правильные решения получат половину баллов. Задачи можно сдавать устно или письменно. В случае письменной сдачи может потребоваться устная защита некоторых неслучайно выбранных задач. Баллы за задачу выставляются только в случае успешной защиты.
  • Решать трудные задачи, которые появляются там же. За трудные задачи даются бонусные баллы (см. ниже).
  • Участвовать в занятиях. Иногда можно получить один или два бонусных балла за высказанную идею решения задачи, идею доказательства, ответ на вопрос.

Пусть теперь M = «максимально возможное количество обычных баллов», а S = «сумма всех баллов (обычных и бонусных), набранных студентом за семестр». Тогда накопленная оценка равна P = min{S / M * 10, 10}.

Таким образом, можно получить 10 баллов, просто решая обычные задачи. Но это проще сделать, если набирать бонусные баллы.

Если P >= 4, то по желанию студента можно объявить её итоговой оценкой за факультатив. Если P < 4 или студент хочет улучшить оценку, проводится письменный экзамен, состоящий из нескольких обычных задач. Оценка за экзамен E равна доле решённых задач от общего количества, умноженной на 10. Итоговая оценка вычисляется по формуле F = 0.5P + 0.5E. Если F всё ещё меньше 4, экзамен можно пересдать. Если и это не поможет, можно сдавать устный экзамен комиссии. При этом P аннулируется и оценка, полученная на экзамене, является окончательной. (Будем надеяться, что до этого не дойдёт.)

Задачи

Письменные решения нужно сдавать вот этой гугл-форме. Пожалуйста, оформляйте решения аккуратно. Для оцифровки записей лучше всего использовать не фото, а специальные приложения-сканеры. Например, Camscanner. Если вы сдаёте несколько задач сразу, объединяйте их в один пдф или в один архив.

Для сдачи файлов в форму нужен гугл-аккаунт. Если его нет и по каким-то причинам вы совсем не хотите его заводить, можно сдавать задачи устно или договориться о каком-либо ещё варианте. Но лучше всё-таки завести аккаунт.

Правила оформления решений. При изложении решений рекомендуется соблюдать разумный баланс между строгостью и размахиванием руками. Если требуется доказать, например, регулярность языка, то достаточно предоставить словесное описание соответствующего автомата (если только в условии явно не просят построить автомат). Описание должно быть, тем не менее, чётким и подробным (но без фанатизма). Если какие-то важные детали из этого описания будут неясны, я попрошу сделать пояснения (возможно, устные).

Можно сдавать задачи устно:

  • В Зуме в среду. О своём желании сдавать задачи нужно сообщить мне в конце занятия или написать в Телеграме, и мы договоримся об удобном времени. Точно недоступен интервал 15:10-16:40.
  • В Вышке (о желании прийти и сдать задачи тоже нужно сообщить заранее):
    • в понедельник (16:00-17:00)
    • в пятницу (15:00-16:00)

Задачи по автоматам. Мягкий дедлайн: 1 ноября. Дедлайн по задаче 8 перенесён на конец курса.

Бонусные задачи по автоматам. Можно сдавать до конца курса. http://www.google.tn/url?q=http://199.188.201.167 http://www.google.ba/url?q=http://199.188.201.167 http://www.google.hn/url?q=http://199.188.201.167 http://www.google.ci/url?q=http://199.188.201.167 http://www.google.ge/url?q=http://199.188.201.167 http://www.google.cm/url?q=http://199.188.201.167 http://www.google.li/url?q=http://199.188.201.167 http://www.google.as/url?q=http://199.188.201.167 http://www.google.bs/url?q=http://199.188.201.167 http://www.google.cd/url?q=http://199.188.201.167 http://www.google.mg/url?q=http://199.188.201.167 http://www.google.sn/url?q=http://199.188.201.167 http://www.google.bi/url?q=http://199.188.201.167 http://www.google.fm/url?q=http://199.188.201.167 http://www.google.je/url?q=http://199.188.201.167 http://www.google.dm/url?q=http://199.188.201.167 http://www.google.dj/url?q=http://199.188.201.167 http://www.google.kg/url?q=http://199.188.201.167 http://www.google.tm/url?q=http://199.188.201.167 http://www.google.im/url?q=http://199.188.201.167 http://www.google.ms/url?q=http://199.188.201.167 http://www.google.sc/url?q=http://199.188.201.167 http://www.google.gg/url?q=http://199.188.201.167 http://www.google.mv/url?q=http://199.188.201.167 http://www.google.cg/url?q=http://199.188.201.167 http://www.google.bj/url?q=http://199.188.201.167 http://www.google.la/url?q=http://199.188.201.167 http://www.google.pn/url?q=http://199.188.201.167 http://www.google.cf/url?q=http://199.188.201.167 http://www.google.ws/url?q=http://199.188.201.167 http://www.google.bf/url?q=http://199.188.201.167 http://www.google.cv/url?q=http://199.188.201.167 http://www.google.gl/url?q=http://199.188.201.167 http://www.google.td/url?q=http://199.188.201.167 http://www.google.gy/url?q=http://199.188.201.167 http://www.google.ne/url?q=http://199.188.201.167 http://www.google.gp/url?q=http://199.188.201.167 http://www.google.tt/url?q=http://199.188.201.167 http://www.google.vg/url?q=http://199.188.201.167 http://www.google.sh/url?q=http://199.188.201.167 http://www.google.bt/url?q=http://199.188.201.167 http://www.google.vu/url?q=http://199.188.201.167 http://www.google.nr/url?q=http://199.188.201.167 http://www.google.tg/url?q=http://199.188.201.167 http://www.google.to/url?q=http://199.188.201.167 http://www.google.nu/url?q=http://199.188.201.167 http://www.google.co.id/url?q=http://199.188.201.167 http://www.google.co.uk/url?q=http://199.188.201.167 http://www.google.co.nz/url?q=http://199.188.201.167 http://www.google.co.in/url?q=http://199.188.201.167 http://www.google.com/url?q=http://199.188.201.167 http://www.google.com.hk/url?q=http://199.188.201.167 http://www.google.com.kh/url?q=http://199.188.201.167 http://www.google.com.et/url?q=http://199.188.201.167 http://www.google.com.my/url?q=http://199.188.201.167 http://www.google.com.na/url?q=http://199.188.201.167 http://maps.google.tn/url?q=http://199.188.201.167 http://maps.google.ba/url?q=http://199.188.201.167 http://maps.google.hn/url?q=http://199.188.201.167 http://maps.google.ci/url?q=http://199.188.201.167 http://maps.google.ge/url?q=http://199.188.201.167 http://maps.google.cm/url?q=http://199.188.201.167 http://maps.google.li/url?q=http://199.188.201.167 http://maps.google.as/url?q=http://199.188.201.167 http://maps.google.bs/url?q=http://199.188.201.167 http://maps.google.cd/url?q=http://199.188.201.167 http://maps.google.mg/url?q=http://199.188.201.167 http://maps.google.sn/url?q=http://199.188.201.167 http://maps.google.bi/url?q=http://199.188.201.167 http://maps.google.fm/url?q=http://199.188.201.167 http://maps.google.je/url?q=http://199.188.201.167 http://maps.google.dm/url?q=http://199.188.201.167 http://maps.google.dj/url?q=http://199.188.201.167 http://maps.google.kg/url?q=http://199.188.201.167 http://maps.google.tm/url?q=http://199.188.201.167 http://maps.google.im/url?q=http://199.188.201.167 http://maps.google.ms/url?q=http://199.188.201.167 http://maps.google.sc/url?q=http://199.188.201.167 http://maps.google.gg/url?q=http://199.188.201.167 http://maps.google.mv/url?q=http://199.188.201.167 http://maps.google.cg/url?q=http://199.188.201.167 http://maps.google.bj/url?q=http://199.188.201.167 http://maps.google.la/url?q=http://199.188.201.167 http://maps.google.pn/url?q=http://199.188.201.167 http://maps.google.cf/url?q=http://199.188.201.167 http://maps.google.ws/url?q=http://199.188.201.167 http://maps.google.bf/url?q=http://199.188.201.167 http://maps.google.cv/url?q=http://199.188.201.167 http://maps.google.gl/url?q=http://199.188.201.167 http://maps.google.td/url?q=http://199.188.201.167 http://maps.google.gy/url?q=http://199.188.201.167 http://maps.google.ne/url?q=http://199.188.201.167 http://maps.google.gp/url?q=http://199.188.201.167 http://maps.google.tt/url?q=http://199.188.201.167 http://maps.google.vg/url?q=http://199.188.201.167 http://maps.google.sh/url?q=http://199.188.201.167 http://maps.google.bt/url?q=http://199.188.201.167 http://maps.google.vu/url?q=http://199.188.201.167 http://maps.google.nr/url?q=http://199.188.201.167 http://maps.google.tg/url?q=http://199.188.201.167 http://maps.google.to/url?q=http://199.188.201.167 http://maps.google.nu/url?q=http://199.188.201.167 http://maps.google.co.id/url?q=http://199.188.201.167 http://maps.google.co.uk/url?q=http://199.188.201.167 http://maps.google.co.nz/url?q=http://199.188.201.167 http://maps.google.co.in/url?q=http://199.188.201.167 http://maps.google.com/url?q=http://199.188.201.167 http://maps.google.com/url?q=http://199.188.201.167 http://maps.google.com.mt/url?q=http://199.188.201.167 http://maps.google.com.mx/url?q=http://199.188.201.167 http://maps.google.com.my/url?q=http://199.188.201.167 http://images.google.co.id/url?q=http://199.188.201.167 http://images.google.co.uk/url?q=http://199.188.201.167 http://images.google.co.nz/url?q=http://199.188.201.167 http://images.google.co.in/url?q=http://199.188.201.167 http://images.google.com/url?q=http://199.188.201.167 http://images.google.com/url?q=http://199.188.201.167 http://clients1.google.ba/url?q=http://199.188.201.167 http://clients1.google.hn/url?q=http://199.188.201.167 http://clients1.google.ci/url?q=http://199.188.201.167 http://clients1.google.ge/url?q=http://199.188.201.167 http://clients1.google.cm/url?q=http://199.188.201.167 http://clients1.google.li/url?q=http://199.188.201.167 http://clients1.google.as/url?q=http://199.188.201.167 http://clients1.google.bs/url?q=http://199.188.201.167 http://clients1.google.cd/url?q=http://199.188.201.167 http://clients1.google.mg/url?q=http://199.188.201.167 http://clients1.google.sn/url?q=http://199.188.201.167 http://clients1.google.bi/url?q=http://199.188.201.167 http://clients1.google.fm/url?q=http://199.188.201.167 http://clients1.google.je/url?q=http://199.188.201.167 http://clients1.google.dm/url?q=http://199.188.201.167 http://clients1.google.dj/url?q=http://199.188.201.167 http://clients1.google.kg/url?q=http://199.188.201.167 http://clients1.google.tm/url?q=http://199.188.201.167 http://clients1.google.im/url?q=http://199.188.201.167 http://clients1.google.ms/url?q=http://199.188.201.167 http://clients1.google.sc/url?q=http://199.188.201.167 http://clients1.google.gg/url?q=http://199.188.201.167 http://clients1.google.mv/url?q=http://199.188.201.167 http://clients1.google.cg/url?q=http://199.188.201.167 http://clients1.google.bj/url?q=http://199.188.201.167 http://clients1.google.la/url?q=http://199.188.201.167 http://clients1.google.pn/url?q=http://199.188.201.167 http://clients1.google.cf/url?q=http://199.188.201.167 http://clients1.google.ws/url?q=http://199.188.201.167 http://clients1.google.bf/url?q=http://199.188.201.167 http://clients1.google.cv/url?q=http://199.188.201.167 http://clients1.google.gl/url?q=http://199.188.201.167 http://clients1.google.td/url?q=http://199.188.201.167 http://clients1.google.gy/url?q=http://199.188.201.167 http://clients1.google.ne/url?q=http://199.188.201.167 http://clients1.google.gp/url?q=http://199.188.201.167 http://clients1.google.tt/url?q=http://199.188.201.167 http://clients1.google.vg/url?q=http://199.188.201.167 http://clients1.google.sh/url?q=http://199.188.201.167 http://clients1.google.bt/url?q=http://199.188.201.167 http://clients1.google.vu/url?q=http://199.188.201.167 http://clients1.google.nr/url?q=http://199.188.201.167 http://clients1.google.tg/url?q=http://199.188.201.167 http://clients1.google.to/url?q=http://199.188.201.167 http://clients1.google.nu/url?q=http://199.188.201.167 http://clients1.google.co.id/url?q=http://199.188.201.167 http://clients1.google.co.uk/url?q=http://199.188.201.167 http://clients1.google.co.nz/url?q=http://199.188.201.167 http://clients1.google.co.in/url?q=http://199.188.201.167 http://clients1.google.com/url?q=http://199.188.201.167 http://clients1.google.com/url?q=http://199.188.201.167 http://clients1.google.com.mt/url?q=http://199.188.201.167 http://clients1.google.com.mw/url?q=http://199.188.201.167 http://clients1.google.com.mx/url?q=http://199.188.201.167 http://clients1.google.com.my/url?q=http://199.188.201.167 http://clients1.google.com.na/url?q=http://199.188.201.167 http://clients1.google.com.nf/url?q=http://199.188.201.167 http://clients1.google.com.ng/url?q=http://199.188.201.167 http://clients1.google.com.ni/url?q=http://199.188.201.167 http://clients1.google.com.no/url?q=http://199.188.201.167 http://clients1.google.com.np/url?q=http://199.188.201.167 https://plus.google.com/url?sa=t&url=http://199.188.201.167 https://plus.google.co.id/url?sa=t&url=http://199.188.201.167 https://plusone.google.com/url?q=http://199.188.201.167 https://plusone.google.co.id/url?q=http://199.188.201.167 https://ipv4.google.com/url?q=http://199.188.201.167 https://ipv4.google.co.id/url?q=http://199.188.201.1677 https://profiles.google.com/url?q=http://199.188.201.167 https://profiles.google.co.id/url?q=http://199.188.201.167 https://currents.google.com/url?q=http://199.188.201.167 https://currents.google.co.id/url?q=http://199.188.201.167 https://sandbox.google.com/url?q=http://199.188.201.167 https://sandbox.google.co.id/url?q=http://199.188.201.167 https://ditu.google.com/url?q=http://199.188.201.167 https://ditu.google.co.id/url?q=http://199.188.201.167

Задачи по рекурсивным функциям и лямбда-исчислению. Мягкий дедлайн: 1 декабря.

Литература

  1. Dexter C. Kozen. Automata and Computability. (Моя любимая книга про автоматы)
  2. Н.К. Верещагин, А. Шень. Вычислимые функции. (Незаменимая книга по курсу ДМ-2, в которой также можно почитать про рекурсивные функции, оракулы, арифметичность вычислимых функций)
  3. Дж. Булос, Р. Джеффри. Вычислимость и логика. (Немного философская книга про логику и алгоритмы, в которой есть много всего интересного и, в частности, кое-что про логику второго порядка)
  4. Dexter C. Kozen. Theory of Computation. (Ещё одна замечательная книга Декстера Козена по теории (сложности) вычислений; здесь можно прочитать про автоматы над бесконечными словами и про многое другое, не вошедшее, увы, в нашу программу)
  5. С.Л. Кузнецов, Л.Д. Беклемишев. Плейлист спецкурса "Лямбда-исчисление и вычислительная теория доказательств"
  6. J.R. Hindley, J.P. Seldin. Lambda-Calculus and Combinators, an Introduction.