<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://mk.cs.msu.ru/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://mk.cs.msu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ZakharovVA</id>
		<title>Кафедра математической кибернетики - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://mk.cs.msu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ZakharovVA"/>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%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/ZakharovVA"/>
		<updated>2026-06-03T15:32:18Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.5</generator>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9</id>
		<title>Модели вычислений</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9"/>
				<updated>2022-02-11T07:38:41Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов 418 группы на 8 семестре обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 24 ч., семинары — 8 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 21.03 - 27.03'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 8, 9 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 20.03 -- 26.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1, 3(4), 5(1,3,5,7,9,11,13,15), 7(1,2) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре 2022 года учебные занятия по курсу &amp;quot;Модели вычислений&amp;quot; будут проводиться дистанционно в разных форматах.&lt;br /&gt;
&lt;br /&gt;
Лекции будут проводиться заочно.&lt;br /&gt;
&lt;br /&gt;
Видеозаписи и материалы (слайды) лекций размещены в репозитории (хранилище) всех учебных материалов ф-та ВМК по адресу https://m.cs.msu.ru/ [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА''' в папке &amp;quot;Модели вычислений&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Слайды всех лекций также размещены на данной странице учебного курса.&lt;br /&gt;
&lt;br /&gt;
В случае необходимости будут организованы консультации в виде Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
Семинарские занятия будут проводиться очно в формате Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ПРОВЕДЕНИЯ СЕМИНАРСКИХ ЗАНЯТИЙ'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 1: 18 февраля, 12.15-13.50. Тема: &amp;quot;Конечные автоматы и регулярные языки&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 2: 4 марта, 12.15-13.50. Тема: &amp;quot;Рекурсивные и рекурсивно перечислимые множества&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 3: 18 марта, 12.15-13.50. Тема: &amp;quot;Магазинные автоматы и контекстно-свободные языки&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 4: 1 апреля, 12.15-13.50. Тема: &amp;quot;Конечные автоматы-преобразователи, автоматы над бесконечными словами и логика S1S&amp;quot;.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен по учебному курсу запланирован на 15 апреля 2022 г.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''[[Media: Exam-418-2019.pdf| Результаты экзамена (10.04.2019)]]'''&lt;br /&gt;
&lt;br /&gt;
Вторая попытка сдачи экзамена состоится 24 апреля в 9.30 в ауд. 582.&lt;br /&gt;
&lt;br /&gt;
Оценки за экзамен будут выставлены в зачетную книжку 10 апреля, &lt;br /&gt;
в 18.00 - 19.00 в аудитории 591.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_1.pdf| Лекция 1.]]''' Формальные языки. Операции над языками.Разнообразие моделей вычислений. Конечные автоматы Рабина-Скотта. Автоматные языки. Упрощение конечных автоматов. Детерминированные конечные автоматы. Минимизация детерминированных конечных автоматов.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_2.pdf| Лекция 2.]]''' Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками. Теорема о разрастании для автоматных языков.&lt;br /&gt;
Примеры неавтоматных языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_3.pdf| Лекция 3.]]''' Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами. Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик. Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_4.pdf| Лекция 4.]]''' Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки. Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки. Массовые алгоритмические проблемы и их связь с рекурсивными языками. Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_5.pdf| Лекция 5.]]''' Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_6.pdf| Лекция 6.]]''' Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста. Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_7.pdf| Лекция 7.]]''' Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков. Неограниченные грамматики и рекурсивно перечислимые языки. Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков. Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-1.pdf| Задачи по теме Лекции 7.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_8.pdf| Лекция 8.]]''' Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными. Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью. Детерминированные магазинные автоматы.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_9-full.pdf| Лекция 9.]]''' Свойства замкнутости контекстно-свободных языков. Алгоритмические проблемы для КС-языков. Неразрешимость проблемы эквивалентности для контекстно-свободных грамматик. Алгоритм Кока-Касами-Янгера синтаксического анализа контекстно-свободных языков. Детерминированные КС-языки и синтаксические анализаторы. LL(k)-грамматики. Контекстно-зависимые грамматики.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-2.pdf| Задачи по теме Лекций 8 и 9.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_10.pdf| Лекция 10.]]''' Конечные автоматы-преобразователи. Рациональные отношения и их свойства. Описание рациональных отношений регулярными выражениями. Свойства замкнутости класса рациональных отношений. Неразрешимость проблемы эквивалентности для недетерминированных автоматов-преобразователей. Разрешимость проблемы эквивалентности для детерминированных автоматов-преобразователей. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-1.pdf| Задачи по теме Лекции 10.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_11a.pdf| Лекция 11.]]''' Реагирующие системы вычислений. Автоматы Бюхи. &amp;amp;omega;-регулярные языки. Свойства замкнутости класса &amp;amp;omega;-регулярных языков. Алгоритмические проблемы для автоматов Бюхи. Другие виды &amp;amp;omega;-автоматов: автоматы Рабина, автоматы Маллера. Взаимосвязь детерминированных и недетерминированных &amp;amp;omega;-автоматов. Применение &amp;amp;omega;-автоматов для верификации реагирующих систем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_12a.pdf| Лекция 12.]]''' Логический способ описания языков. Монадическая предикатов логика второго порядка S1S. Взаимосвязь логики S1S и &amp;amp;omega;-автоматов. Другие логики предикатов второго порядка.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-2.pdf| Задачи по теме Лекциям 11 и 12.]]'''&lt;br /&gt;
&lt;br /&gt;
== Семинарские занятия ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_1.pdf| Семинар 1.]]''' Построение конечных автоматов для заданных языков. Преобразование недетерминированных автоматов к детерминированным. Минимизация детерминированных автоматов. Распознавание автоматности языков, полученных при помощи теоретико-множественных и алгебраических операций над автоматными языками. Доказательство неавтоматности языков. Построение регулярных выражений для автоматных языков. Построение автоматов, соответствующих регулярным выражениям.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_2.pdf| Семинар 2.]]''' Доказательство нерекурсивности и рекурсивной перечислимости языков. Использование метода сводимости для доказательства алгоритмической неразрешимости массовых проблем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3.pdf| Семинар 3.]]''' Построение контекстно-свободных грамматик и магазинных автоматов. Приведение контекстно-свободных грамматик к нормальной форме Хомского. Применение алгоритма Кока-Касами-Янгера для проверки принадлежности заданного слова заданному контекстно-свободному языку. Применение теорем о разрастании для классификации языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4.pdf| Семинар 4.]]''' Построение конечных автоматов-преобразователей, распознающих заданные рациональные отношения. Построение автоматов Бюхи и формул логики S1S, задающих регулярные omega-языки.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Конечные автоматы и регулярные выражения ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения.&lt;br /&gt;
&amp;lt;li&amp;gt; Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о разрастании для автоматных языков. Примеры неавтоматных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик.&lt;br /&gt;
&amp;lt;li&amp;gt; Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машины Тьюринга и рекурсивно перечислимые языки ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Массовые алгоритмические проблемы и их связь с рекурсивными языками&lt;br /&gt;
&amp;lt;li&amp;gt; Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. &lt;br /&gt;
&amp;lt;li&amp;gt; Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций. &lt;br /&gt;
&amp;lt;li&amp;gt; Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста.&lt;br /&gt;
&amp;lt;li&amp;gt; Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. &lt;br /&gt;
&amp;lt;li&amp;gt; Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Контекстно-свободные языки и автоматы с магазинной памятью===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Неограниченные грамматики и рекурсивно перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&amp;lt;li&amp;gt; Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными.&lt;br /&gt;
&amp;lt;li&amp;gt; Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью.&lt;br /&gt;
&amp;lt;li&amp;gt; Теоремы о замкнутости и незамкнутости класса контекстно-свободных языков относительно операций над формальными языками. Алгоритм проверки пустоты для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблем эквивалентности и тотальности для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача синтаксического анализа. Алгоритм Кока-Касами-Янгера проверки принадлежности слова контекстно-свободному языку. Детерминированные автоматы с магазинной памятью и LL(1) грамматики.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-зависимые грамматики. Взаимосвязь контекстно-зависимых грамматик и машин Тьюринга с линейно-ограниченной памятью.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматы над бесконечными словами и темпоральные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы-преобразователи (трансдьюсеры) и рациональные отношения. Детерминированные трансдьюсеры. &lt;br /&gt;
&amp;lt;li&amp;gt; Свойства замкнутости класса рациональных отношений.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм проверки эквивалентности детерминированных трансдьюсеров. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблемы эквивалентности недетерминированных трансдьюсеров.&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы над бесконечными словами (автоматы Бюхи, Рабина, Мюллера) и их свойства.  &lt;br /&gt;
&amp;lt;li&amp;gt; &amp;amp;omega;-регулярные языки. Алгоритм проверки пустоты для &amp;amp;omega;-автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость класса &amp;amp;omega;-регулярных языков относительно теоретико-множественных операций.&lt;br /&gt;
&amp;lt;li&amp;gt; Монадическая логика 2-го порядка S1S&lt;br /&gt;
&amp;lt;li&amp;gt; Взаимосвязь логики S1S с &amp;amp;omega;-регулярными языками. &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Литература ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1: Синтаксический анализ. - М.: Мир, 1978. - 612 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. - М.: Вильямс, 2001. - 768 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Верещагин Н.К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. - М.: МЦНМО, 1999. - 176 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. - М.: Мир, 1983.&lt;br /&gt;
&amp;lt;li&amp;gt; Льюис Ф., Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979.. - 656 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. - М.: Бином, 2008. - 200 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Пентус А.Е., Пентус М.Р. Математическая теория формальных языков. Серия &amp;quot;Основы информатики и математики&amp;quot; - М: Бином, 2006. - 247 с. &lt;br /&gt;
&amp;lt;li&amp;gt; Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. - М.: Мир, 1972.&lt;br /&gt;
&amp;lt;li&amp;gt; Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Правила проведения экзамена ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен состоится 22 апреля. Начало экзамена 9.00 в ауд. 505&lt;br /&gt;
&lt;br /&gt;
Консультация состоится 21 апреля в 10.30, в ауд. 503&lt;br /&gt;
&lt;br /&gt;
Выставление оценок будет проведено 25 апреля, в 12.30, в ауд. 591.&lt;br /&gt;
&lt;br /&gt;
'''Бонусные баллы:'''&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Савицкий И. 30 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Вершинин 20 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Мельник М. 5 баллов&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-418-2016.docx| Результаты экзамена 22.04.2016.]]'''&lt;br /&gt;
&lt;br /&gt;
'''Студенты Бежовец и Кравцов имеют право на вторую попытку сдачи экзамена 10 мая, в 11.00 в ауд. 591.''' --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы. Время, отведенное на решение задач, составляет 180 мин. Письменная контрольная работа состоит из 16 заданий, которые разделены на 4 блока, по четыре задания в каждом.&lt;br /&gt;
&lt;br /&gt;
В каждом блоке для решения предлагаются следующие задания.&lt;br /&gt;
&lt;br /&gt;
Задания 1, 2 - стандартные практические задачи, аналогичные тем, которые рассматривались на семинарских занятиях. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 3 требуется сформулировать определения основных понятий, сформулировать и доказать основные утверждения и теоремы, введенные в лекционном курсе. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 4 требуется решить теоретическую задачу, опираясь на сведения, представленные в лекционном курсе. Правильное решение каждой такой задачи оценивается 3 баллами.&lt;br /&gt;
&lt;br /&gt;
Оценка контрольной работы проводится по следующим критериям:&lt;br /&gt;
&lt;br /&gt;
28-36 баллов - '''отлично''',&lt;br /&gt;
&lt;br /&gt;
20-27 баллов - '''хорошо''',&lt;br /&gt;
&lt;br /&gt;
13-19 баллов -  '''удовлетворительно'''.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9</id>
		<title>Модели вычислений</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9"/>
				<updated>2022-02-04T14:23:49Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов 418 группы на 8 семестре обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 24 ч., семинары — 8 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 21.03 - 27.03'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 8, 9 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 20.03 -- 26.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1, 3(4), 5(1,3,5,7,9,11,13,15), 7(1,2) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре 2021 года учебные занятия по курсу &amp;quot;Модели вычислений&amp;quot; будут проводиться дистанционно в разных форматах.&lt;br /&gt;
&lt;br /&gt;
Лекции будут проводиться заочно.&lt;br /&gt;
&lt;br /&gt;
Видеозаписи и материалы (слайды) лекций размещены в репозитории (хранилище) всех учебных материалов ф-та ВМК по адресу https://m.cs.msu.ru/ [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА''' в папке &amp;quot;Модели вычислений&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Слайды всех лекций также размещены на данной странице учебного курса.&lt;br /&gt;
&lt;br /&gt;
В случае необходимости будут организованы консультации в виде Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
Семинарские занятия будут проводиться очно в формате Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ПРОВЕДЕНИЯ СЕМИНАРСКИХ ЗАНЯТИЙ'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 1: 18 февраля, 12.15-13.50. Тема: &amp;quot;Конечные автоматы и регулярные языки&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 2: 4 марта, 12.15-13.50. Тема: &amp;quot;Рекурсивные и рекурсивно перечислимые множества&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 3: 18 марта, 12.15-13.50. Тема: &amp;quot;Магазинные автоматы и контекстно-свободные языки&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 4: 1 апреля, 12.15-13.50. Тема: &amp;quot;Конечные автоматы-преобразователи, автоматы над бесконечными словами и логика S1S&amp;quot;.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен по учебному курсу запланирован на 15 апреля 2022 г.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''[[Media: Exam-418-2019.pdf| Результаты экзамена (10.04.2019)]]'''&lt;br /&gt;
&lt;br /&gt;
Вторая попытка сдачи экзамена состоится 24 апреля в 9.30 в ауд. 582.&lt;br /&gt;
&lt;br /&gt;
Оценки за экзамен будут выставлены в зачетную книжку 10 апреля, &lt;br /&gt;
в 18.00 - 19.00 в аудитории 591.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_1.pdf| Лекция 1.]]''' Формальные языки. Операции над языками.Разнообразие моделей вычислений. Конечные автоматы Рабина-Скотта. Автоматные языки. Упрощение конечных автоматов. Детерминированные конечные автоматы. Минимизация детерминированных конечных автоматов.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_2.pdf| Лекция 2.]]''' Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками. Теорема о разрастании для автоматных языков.&lt;br /&gt;
Примеры неавтоматных языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_3.pdf| Лекция 3.]]''' Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами. Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик. Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_4.pdf| Лекция 4.]]''' Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки. Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки. Массовые алгоритмические проблемы и их связь с рекурсивными языками. Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_5.pdf| Лекция 5.]]''' Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_6.pdf| Лекция 6.]]''' Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста. Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_7.pdf| Лекция 7.]]''' Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков. Неограниченные грамматики и рекурсивно перечислимые языки. Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков. Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-1.pdf| Задачи по теме Лекции 7.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_8.pdf| Лекция 8.]]''' Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными. Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью. Детерминированные магазинные автоматы.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_9-full.pdf| Лекция 9.]]''' Свойства замкнутости контекстно-свободных языков. Алгоритмические проблемы для КС-языков. Неразрешимость проблемы эквивалентности для контекстно-свободных грамматик. Алгоритм Кока-Касами-Янгера синтаксического анализа контекстно-свободных языков. Детерминированные КС-языки и синтаксические анализаторы. LL(k)-грамматики. Контекстно-зависимые грамматики.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-2.pdf| Задачи по теме Лекций 8 и 9.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_10.pdf| Лекция 10.]]''' Конечные автоматы-преобразователи. Рациональные отношения и их свойства. Описание рациональных отношений регулярными выражениями. Свойства замкнутости класса рациональных отношений. Неразрешимость проблемы эквивалентности для недетерминированных автоматов-преобразователей. Разрешимость проблемы эквивалентности для детерминированных автоматов-преобразователей. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-1.pdf| Задачи по теме Лекции 10.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_11a.pdf| Лекция 11.]]''' Реагирующие системы вычислений. Автоматы Бюхи. &amp;amp;omega;-регулярные языки. Свойства замкнутости класса &amp;amp;omega;-регулярных языков. Алгоритмические проблемы для автоматов Бюхи. Другие виды &amp;amp;omega;-автоматов: автоматы Рабина, автоматы Маллера. Взаимосвязь детерминированных и недетерминированных &amp;amp;omega;-автоматов. Применение &amp;amp;omega;-автоматов для верификации реагирующих систем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_12a.pdf| Лекция 12.]]''' Логический способ описания языков. Монадическая предикатов логика второго порядка S1S. Взаимосвязь логики S1S и &amp;amp;omega;-автоматов. Другие логики предикатов второго порядка.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-2.pdf| Задачи по теме Лекциям 11 и 12.]]'''&lt;br /&gt;
&lt;br /&gt;
== Семинарские занятия ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_1.pdf| Семинар 1.]]''' Построение конечных автоматов для заданных языков. Преобразование недетерминированных автоматов к детерминированным. Минимизация детерминированных автоматов. Распознавание автоматности языков, полученных при помощи теоретико-множественных и алгебраических операций над автоматными языками. Доказательство неавтоматности языков. Построение регулярных выражений для автоматных языков. Построение автоматов, соответствующих регулярным выражениям.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_2.pdf| Семинар 2.]]''' Доказательство нерекурсивности и рекурсивной перечислимости языков. Использование метода сводимости для доказательства алгоритмической неразрешимости массовых проблем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3.pdf| Семинар 3.]]''' Построение контекстно-свободных грамматик и магазинных автоматов. Приведение контекстно-свободных грамматик к нормальной форме Хомского. Применение алгоритма Кока-Касами-Янгера для проверки принадлежности заданного слова заданному контекстно-свободному языку. Применение теорем о разрастании для классификации языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4.pdf| Семинар 4.]]''' Построение конечных автоматов-преобразователей, распознающих заданные рациональные отношения. Построение автоматов Бюхи и формул логики S1S, задающих регулярные omega-языки.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Конечные автоматы и регулярные выражения ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения.&lt;br /&gt;
&amp;lt;li&amp;gt; Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о разрастании для автоматных языков. Примеры неавтоматных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик.&lt;br /&gt;
&amp;lt;li&amp;gt; Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машины Тьюринга и рекурсивно перечислимые языки ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Массовые алгоритмические проблемы и их связь с рекурсивными языками&lt;br /&gt;
&amp;lt;li&amp;gt; Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. &lt;br /&gt;
&amp;lt;li&amp;gt; Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций. &lt;br /&gt;
&amp;lt;li&amp;gt; Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста.&lt;br /&gt;
&amp;lt;li&amp;gt; Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. &lt;br /&gt;
&amp;lt;li&amp;gt; Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Контекстно-свободные языки и автоматы с магазинной памятью===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Неограниченные грамматики и рекурсивно перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&amp;lt;li&amp;gt; Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными.&lt;br /&gt;
&amp;lt;li&amp;gt; Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью.&lt;br /&gt;
&amp;lt;li&amp;gt; Теоремы о замкнутости и незамкнутости класса контекстно-свободных языков относительно операций над формальными языками. Алгоритм проверки пустоты для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблем эквивалентности и тотальности для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача синтаксического анализа. Алгоритм Кока-Касами-Янгера проверки принадлежности слова контекстно-свободному языку. Детерминированные автоматы с магазинной памятью и LL(1) грамматики.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-зависимые грамматики. Взаимосвязь контекстно-зависимых грамматик и машин Тьюринга с линейно-ограниченной памятью.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматы над бесконечными словами и темпоральные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы-преобразователи (трансдьюсеры) и рациональные отношения. Детерминированные трансдьюсеры. &lt;br /&gt;
&amp;lt;li&amp;gt; Свойства замкнутости класса рациональных отношений.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм проверки эквивалентности детерминированных трансдьюсеров. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблемы эквивалентности недетерминированных трансдьюсеров.&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы над бесконечными словами (автоматы Бюхи, Рабина, Мюллера) и их свойства.  &lt;br /&gt;
&amp;lt;li&amp;gt; &amp;amp;omega;-регулярные языки. Алгоритм проверки пустоты для &amp;amp;omega;-автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость класса &amp;amp;omega;-регулярных языков относительно теоретико-множественных операций.&lt;br /&gt;
&amp;lt;li&amp;gt; Монадическая логика 2-го порядка S1S&lt;br /&gt;
&amp;lt;li&amp;gt; Взаимосвязь логики S1S с &amp;amp;omega;-регулярными языками. &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Литература ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1: Синтаксический анализ. - М.: Мир, 1978. - 612 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. - М.: Вильямс, 2001. - 768 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Верещагин Н.К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. - М.: МЦНМО, 1999. - 176 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. - М.: Мир, 1983.&lt;br /&gt;
&amp;lt;li&amp;gt; Льюис Ф., Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979.. - 656 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. - М.: Бином, 2008. - 200 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Пентус А.Е., Пентус М.Р. Математическая теория формальных языков. Серия &amp;quot;Основы информатики и математики&amp;quot; - М: Бином, 2006. - 247 с. &lt;br /&gt;
&amp;lt;li&amp;gt; Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. - М.: Мир, 1972.&lt;br /&gt;
&amp;lt;li&amp;gt; Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Правила проведения экзамена ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен состоится 22 апреля. Начало экзамена 9.00 в ауд. 505&lt;br /&gt;
&lt;br /&gt;
Консультация состоится 21 апреля в 10.30, в ауд. 503&lt;br /&gt;
&lt;br /&gt;
Выставление оценок будет проведено 25 апреля, в 12.30, в ауд. 591.&lt;br /&gt;
&lt;br /&gt;
'''Бонусные баллы:'''&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Савицкий И. 30 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Вершинин 20 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Мельник М. 5 баллов&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-418-2016.docx| Результаты экзамена 22.04.2016.]]'''&lt;br /&gt;
&lt;br /&gt;
'''Студенты Бежовец и Кравцов имеют право на вторую попытку сдачи экзамена 10 мая, в 11.00 в ауд. 591.''' --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы. Время, отведенное на решение задач, составляет 180 мин. Письменная контрольная работа состоит из 16 заданий, которые разделены на 4 блока, по четыре задания в каждом.&lt;br /&gt;
&lt;br /&gt;
В каждом блоке для решения предлагаются следующие задания.&lt;br /&gt;
&lt;br /&gt;
Задания 1, 2 - стандартные практические задачи, аналогичные тем, которые рассматривались на семинарских занятиях. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 3 требуется сформулировать определения основных понятий, сформулировать и доказать основные утверждения и теоремы, введенные в лекционном курсе. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 4 требуется решить теоретическую задачу, опираясь на сведения, представленные в лекционном курсе. Правильное решение каждой такой задачи оценивается 3 баллами.&lt;br /&gt;
&lt;br /&gt;
Оценка контрольной работы проводится по следующим критериям:&lt;br /&gt;
&lt;br /&gt;
28-36 баллов - '''отлично''',&lt;br /&gt;
&lt;br /&gt;
20-27 баллов - '''хорошо''',&lt;br /&gt;
&lt;br /&gt;
13-19 баллов -  '''удовлетворительно'''.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9</id>
		<title>Математические модели последовательных вычислений</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9"/>
				<updated>2021-02-05T09:58:01Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов 618 групп на 12 семестре обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 18 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре 2021 года учебные занятия по курсу &amp;quot;Модели последовательных и параллельных вычислений&amp;quot; будут проводиться дистанционно.&lt;br /&gt;
&lt;br /&gt;
Лекции будут проводиться заочно.&lt;br /&gt;
&lt;br /&gt;
Видеозаписи и материалы (слайды) лекций размещены в репозитории (хранилище) всех учебных материалов ф-та ВМК по адресу https://m.cs.msu.ru/ [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА''' в папке &amp;quot;Модели последовательных и параллельных вычислений&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Слайды всех лекций также размещены на данной странице учебного курса.&lt;br /&gt;
&lt;br /&gt;
В случае необходимости будут организованы консультации в виде Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
'''РАСПИСАНИЕ ЗАЧЕТОВ'''&lt;br /&gt;
&lt;br /&gt;
1) 16 апреля 2021, 10.30-12.00.&lt;br /&gt;
&lt;br /&gt;
2) 19 апреля 2021, 10.30-12.00.&lt;br /&gt;
&lt;br /&gt;
3) 23 апреля 2021, 10.30-12.00.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_1.pdf| Лекция 1.]]''' Сети Петри: происхождение, основные понятия, область применения, свойства вычислений.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_2.pdf| Лекция 2.]]''' Проблемы ограниченности и безопасности для обыкновенных сетей Петри. Деревья покрытия разметок сетей Петри. Метод проверки свойства ограниченности вычислений обыкновенных сетей Петри при помощи деревьев покрытий разметок. Проблема достижимости для обыкновенных сетей Петри и ее варианты. Проблема живости для обыкновенных сетей Петри. Взаимная сводимость проблем живости и достижимости.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_3.pdf| Лекция 3.]]''' Проблема R-эквивалентности для обыкновенных сетей Петри. Диофантовы уравнения и некоторые их свойства. Моделирование многочленов обыкновенными сетями Петри. Неразрешимость проблемы R-эквивалентности для обыкновенных сетей Петри. Языки, порождаемые сетями Петри. Примеры языков, порождаемых сетями Петри. Сравнение класса языков, порождаемых обыкновенными сетями Петри, и классов языков иерархии Хомского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_4.pdf| Лекция 4.]]''' Разнообразие классов сетей Петри. Ординарные сети Петри. Моделирование обыкновенных сетей Петри ординарными сетями. Автоматные сети Петри. Синхронизационные сети Петри. Сети потоков работ. Ингибиторные сети Петри. Моделирование счетчиковых машин Минского ингибиторными сетями Петри. Раскрашенные сети Петри. Вложенные сети Петри&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_5.pdf| Лекция 5.]]''' Проблема эквивалентности программ и трудности ее решения. Моделирование программ схемами программ. Стандартные схемы программ: синтаксис и семантика. Вычисления стандартных схем программ. Задачи анализа поведения стандартных схем программ - проблемы пустоты, тотальности, эквивалентности, свободы схем программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_6.pdf| Лекция 6.]]''' Описание стандартных схем программ при помощи систем переходов и алгебры подстановок. Эрбрановские интерпретации для стандартных схем программ. Эквивалентность стандартных схем программ на эрбрановских интерпретациях. Неразрешимость проблем анализа поведения стандартных схем программ. Схемы программ Ляпунова-Янова. Взаимосвязь схем программ Ляпунова-Янова и конечных автоматов. Разрешимость проблемы эквивалентности для схем Ляпунова-Янова.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_7.pdf| Лекция 7.]]''' Логико-термальная эквивалентность стандартных схем программ. Аппроксимируемость функциональной эквивалентности программ логико-термальной эквивалентностью схем программ. Граф совместных вычислений стандартных схем программ. Операция антиунификации подстановок и ее свойства. Алгоритм вычисления наиболее специального шаблона двух подстановок. Алгоритм разметки графа совместных вычислений. Разрешимость проблемы логико-термальной эквивалентности стандартных схем программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_8.pdf| Лекция 8.]]''' Алгебраические модели систем взаимодействующих процессов. Алгебра процессов: синтаксис. Алгебра процессов: операционная семантика. Процессные графы и темпоральные логики. Отношение бисимуляции. Рекурсия. Абстракция и ветвящаяся бисимуляция. Применение алгебры процессов в задачах верификации распределенных систем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_PM_9.pdf| Лекция 9.]]''' Особенности мобильной связи. &amp;amp;pi;-исчисление мобильных процессов. Синтаксис &amp;amp;pi;-исчисления. Операционная семантика &amp;amp;pi;-исчисления. Моделирование криптографических протоколов. spi-исчисление и его особенности. Применение spi-исчисления в криптоанализе.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Сети Петри ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Сети позиций и переходов. Мультимножества и операции над ними. Разметки. Сети Петри.&lt;br /&gt;
&amp;lt;li&amp;gt; Условия срабатывания переходов. Отношение срабатывания переходов. Вычисления обыкновенных сетей Петри. Достижимые и тупиковые разметки. Граф достижимых разметок обыкновенной сети Петри.&lt;br /&gt;
&amp;lt;li&amp;gt; Сравнение разметок. Теорема о свойстве монотонности вычислений обыкновенных сетей Петри.&lt;br /&gt;
&amp;lt;li&amp;gt; Свойства ограниченности, безопасности и консервативности сетей Петри. &lt;br /&gt;
&amp;lt;li&amp;gt; Свойства живости и устойчивости сетей Петри.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы достижимости и R-эквивалентности для сетей Петри.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование многочленов обыкновенными сетями Петри. Неразрешимость проблемы R-эквивалентности для обыкновенных сетей Петри. &lt;br /&gt;
&amp;lt;li&amp;gt; Языки, порождаемые сетями Петри. Примеры языков, порождаемых сетями Петри. Сравнение класса языков, порождаемых обыкновенными сетями Петри, и классов языков иерархии Хомского. &lt;br /&gt;
&amp;lt;li&amp;gt; Ординарные сети Петри. Моделирование обыкновенных сетей Петри ординарными сетями. &amp;lt;li&amp;gt; Автоматные сети Петри. Моделирование конечных автоматов автоматными сетями Петри.&lt;br /&gt;
&amp;lt;li&amp;gt; Синхронизационные сети Петри. Условия живости и консервативности для синхронизационных сетей Петри.&lt;br /&gt;
&amp;lt;li&amp;gt; Сети потоков работ. &lt;br /&gt;
&amp;lt;li&amp;gt; Ингибиторные сети Петри. Моделирование счетчиковых машин Минского ингибиторными сетями Петри. &lt;br /&gt;
&amp;lt;li&amp;gt; Раскрашенные сети Петри. &lt;br /&gt;
&amp;lt;li&amp;gt; Вложенные сети Петри &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Схемы программ ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема эквивалентности программ и трудности ее решения. Моделирование программ схемами программ. &lt;br /&gt;
&amp;lt;li&amp;gt; Стандартные схемы программ: синтаксис и семантика. Вычисления стандартных схем программ. &lt;br /&gt;
&amp;lt;li&amp;gt; Задачи анализа поведения стандартных схем программ - проблемы пустоты, тотальности, эквивалентности, свободы схем программ. &lt;br /&gt;
&amp;lt;li&amp;gt; Представление стандартных схем программ при помощи систем переходов и алгебры подстановок. &lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановские интерпретации для стандартных схем программ. Эквивалентность стандартных схем программ на эрбрановских интерпретациях. &lt;br /&gt;
&amp;lt;li&amp;gt; Неразрешимость проблем анализа поведения стандартных схем программ. &lt;br /&gt;
&amp;lt;li&amp;gt; Схемы программ Ляпунова-Янова. &lt;br /&gt;
&amp;lt;li&amp;gt; Взаимосвязь схем программ Ляпунова-Янова и конечных автоматов. Разрешимость проблемы эквивалентности для схем Ляпунова-Янова. &lt;br /&gt;
&amp;lt;li&amp;gt; Логико-термальная эквивалентность стандартных схем программ. Аппроксимируемость функциональной эквивалентности программ логико-термальной эквивалентностью схем программ. &amp;lt;li&amp;gt; Граф совместных вычислений стандартных схем программ. &lt;br /&gt;
&amp;lt;li&amp;gt; Операция антиунификации подстановок и ее свойства. Алгоритм вычисления наиболее специального шаблона двух подстановок. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм разметки графа совместных вычислений. Разрешимость проблемы логико-термальной эквивалентности стандартных схем программ. &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Алгебры процессов и &amp;amp;Pi;-исчисление ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Алгебра процессов: синтаксис и семантика. &lt;br /&gt;
&amp;lt;li&amp;gt; Процессные графы и темпоральные логики. Отношение бисимуляции.&lt;br /&gt;
&amp;lt;li&amp;gt; Рекурсия. Абстракция и ветвящаяся бисимуляция.&lt;br /&gt;
&amp;lt;li&amp;gt; Применение алгебры процессов в задачах верификации распределенных систем&lt;br /&gt;
&amp;lt;li&amp;gt; Особенности мобильной связи. &amp;amp;pi;-исчисление процессов. Операционная семантика &amp;amp;pi;-исчисления.&lt;br /&gt;
&amp;lt;li&amp;gt; Криптографические протоколы. spi-исчисление: синтаксис и семантика. Применение spi-исчисления в криптоанализе.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Молекулярные модели вычислений ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Литература ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Котов В.Е. Сети Петри - М.: Мир, 1984. - 160 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Питерсон Дж. Теория сетей Петри и моделирование систем. - М.: Мир, 1984.- 264 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Ломазова И.А. Вложенные сети Петри: моделирование м анализ распределенных систем с объектной структурой - М.: Научный мир, 2004. - 207 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Reisig W. Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies. - Springer, 2013. - 211 p.&lt;br /&gt;
&amp;lt;li&amp;gt; Котов В.Е., Сабельфельд В.К. Теория схем программ - М.: Мир, 1983. - 270 с.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Правила проведения экзамена ==&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9</id>
		<title>Модели вычислений</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9"/>
				<updated>2021-02-04T16:29:00Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов 418 группы на 8 семестре обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 24 ч., семинары — 8 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 21.03 - 27.03'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 8, 9 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 20.03 -- 26.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1, 3(4), 5(1,3,5,7,9,11,13,15), 7(1,2) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре 2021 года учебные занятия по курсу &amp;quot;Модели вычислений&amp;quot; будут проводиться дистанционно в разных форматах.&lt;br /&gt;
&lt;br /&gt;
Лекции будут проводиться заочно.&lt;br /&gt;
&lt;br /&gt;
Видеозаписи и материалы (слайды) лекций размещены в репозитории (хранилище) всех учебных материалов ф-та ВМК по адресу https://m.cs.msu.ru/ [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА''' в папке &amp;quot;Модели вычислений&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Слайды всех лекций также размещены на данной странице учебного курса.&lt;br /&gt;
&lt;br /&gt;
В случае необходимости будут организованы консультации в виде Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
Семинарские занятия будут проводиться очно в формате Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ПРОВЕДЕНИЯ СЕМИНАРСКИХ ЗАНЯТИЙ'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 1: 19 февраля, 10.30-12.05. Тема: &amp;quot;Конечные автоматы и регулярные языки&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 2: 5 марта, 10.30-12.05. Тема: &amp;quot;Рекурсивные и рекурсивно перечислимые множества&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 3: 19 марта, 10.30-12.05. Тема: &amp;quot;Магазинные автоматы и контекстно-свободные языки&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 4: 2 апреля, 10.30-12.05. Тема: &amp;quot;Конечные автоматы-преобразователи, автоматы над бесконечными словами и логика S1S&amp;quot;.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен по учебному курсу запланирован на 9 апреля 2021 г.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''[[Media: Exam-418-2019.pdf| Результаты экзамена (10.04.2019)]]'''&lt;br /&gt;
&lt;br /&gt;
Вторая попытка сдачи экзамена состоится 24 апреля в 9.30 в ауд. 582.&lt;br /&gt;
&lt;br /&gt;
Оценки за экзамен будут выставлены в зачетную книжку 10 апреля, &lt;br /&gt;
в 18.00 - 19.00 в аудитории 591.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_1.pdf| Лекция 1.]]''' Формальные языки. Операции над языками.Разнообразие моделей вычислений. Конечные автоматы Рабина-Скотта. Автоматные языки. Упрощение конечных автоматов. Детерминированные конечные автоматы. Минимизация детерминированных конечных автоматов.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_2.pdf| Лекция 2.]]''' Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками. Теорема о разрастании для автоматных языков.&lt;br /&gt;
Примеры неавтоматных языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_3.pdf| Лекция 3.]]''' Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами. Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик. Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_4.pdf| Лекция 4.]]''' Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки. Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки. Массовые алгоритмические проблемы и их связь с рекурсивными языками. Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_5.pdf| Лекция 5.]]''' Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_6.pdf| Лекция 6.]]''' Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста. Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_7.pdf| Лекция 7.]]''' Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков. Неограниченные грамматики и рекурсивно перечислимые языки. Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков. Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-1.pdf| Задачи по теме Лекции 7.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_8.pdf| Лекция 8.]]''' Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными. Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью. Детерминированные магазинные автоматы.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_9-full.pdf| Лекция 9.]]''' Свойства замкнутости контекстно-свободных языков. Алгоритмические проблемы для КС-языков. Неразрешимость проблемы эквивалентности для контекстно-свободных грамматик. Алгоритм Кока-Касами-Янгера синтаксического анализа контекстно-свободных языков. Детерминированные КС-языки и синтаксические анализаторы. LL(k)-грамматики. Контекстно-зависимые грамматики.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-2.pdf| Задачи по теме Лекций 8 и 9.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_10.pdf| Лекция 10.]]''' Конечные автоматы-преобразователи. Рациональные отношения и их свойства. Описание рациональных отношений регулярными выражениями. Свойства замкнутости класса рациональных отношений. Неразрешимость проблемы эквивалентности для недетерминированных автоматов-преобразователей. Разрешимость проблемы эквивалентности для детерминированных автоматов-преобразователей. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-1.pdf| Задачи по теме Лекции 10.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_11a.pdf| Лекция 11.]]''' Реагирующие системы вычислений. Автоматы Бюхи. &amp;amp;omega;-регулярные языки. Свойства замкнутости класса &amp;amp;omega;-регулярных языков. Алгоритмические проблемы для автоматов Бюхи. Другие виды &amp;amp;omega;-автоматов: автоматы Рабина, автоматы Маллера. Взаимосвязь детерминированных и недетерминированных &amp;amp;omega;-автоматов. Применение &amp;amp;omega;-автоматов для верификации реагирующих систем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_12a.pdf| Лекция 12.]]''' Логический способ описания языков. Монадическая предикатов логика второго порядка S1S. Взаимосвязь логики S1S и &amp;amp;omega;-автоматов. Другие логики предикатов второго порядка.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-2.pdf| Задачи по теме Лекциям 11 и 12.]]'''&lt;br /&gt;
&lt;br /&gt;
== Семинарские занятия ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_1.pdf| Семинар 1.]]''' Построение конечных автоматов для заданных языков. Преобразование недетерминированных автоматов к детерминированным. Минимизация детерминированных автоматов. Распознавание автоматности языков, полученных при помощи теоретико-множественных и алгебраических операций над автоматными языками. Доказательство неавтоматности языков. Построение регулярных выражений для автоматных языков. Построение автоматов, соответствующих регулярным выражениям.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_2.pdf| Семинар 2.]]''' Доказательство нерекурсивности и рекурсивной перечислимости языков. Использование метода сводимости для доказательства алгоритмической неразрешимости массовых проблем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3.pdf| Семинар 3.]]''' Построение контекстно-свободных грамматик и магазинных автоматов. Приведение контекстно-свободных грамматик к нормальной форме Хомского. Применение алгоритма Кока-Касами-Янгера для проверки принадлежности заданного слова заданному контекстно-свободному языку. Применение теорем о разрастании для классификации языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4.pdf| Семинар 4.]]''' Построение конечных автоматов-преобразователей, распознающих заданные рациональные отношения. Построение автоматов Бюхи и формул логики S1S, задающих регулярные omega-языки.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Конечные автоматы и регулярные выражения ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения.&lt;br /&gt;
&amp;lt;li&amp;gt; Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о разрастании для автоматных языков. Примеры неавтоматных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик.&lt;br /&gt;
&amp;lt;li&amp;gt; Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машины Тьюринга и рекурсивно перечислимые языки ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Массовые алгоритмические проблемы и их связь с рекурсивными языками&lt;br /&gt;
&amp;lt;li&amp;gt; Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. &lt;br /&gt;
&amp;lt;li&amp;gt; Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций. &lt;br /&gt;
&amp;lt;li&amp;gt; Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста.&lt;br /&gt;
&amp;lt;li&amp;gt; Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. &lt;br /&gt;
&amp;lt;li&amp;gt; Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Контекстно-свободные языки и автоматы с магазинной памятью===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Неограниченные грамматики и рекурсивно перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&amp;lt;li&amp;gt; Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными.&lt;br /&gt;
&amp;lt;li&amp;gt; Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью.&lt;br /&gt;
&amp;lt;li&amp;gt; Теоремы о замкнутости и незамкнутости класса контекстно-свободных языков относительно операций над формальными языками. Алгоритм проверки пустоты для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблем эквивалентности и тотальности для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача синтаксического анализа. Алгоритм Кока-Касами-Янгера проверки принадлежности слова контекстно-свободному языку. Детерминированные автоматы с магазинной памятью и LL(1) грамматики.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-зависимые грамматики. Взаимосвязь контекстно-зависимых грамматик и машин Тьюринга с линейно-ограниченной памятью.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматы над бесконечными словами и темпоральные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы-преобразователи (трансдьюсеры) и рациональные отношения. Детерминированные трансдьюсеры. &lt;br /&gt;
&amp;lt;li&amp;gt; Свойства замкнутости класса рациональных отношений.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм проверки эквивалентности детерминированных трансдьюсеров. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблемы эквивалентности недетерминированных трансдьюсеров.&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы над бесконечными словами (автоматы Бюхи, Рабина, Мюллера) и их свойства.  &lt;br /&gt;
&amp;lt;li&amp;gt; &amp;amp;omega;-регулярные языки. Алгоритм проверки пустоты для &amp;amp;omega;-автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость класса &amp;amp;omega;-регулярных языков относительно теоретико-множественных операций.&lt;br /&gt;
&amp;lt;li&amp;gt; Монадическая логика 2-го порядка S1S&lt;br /&gt;
&amp;lt;li&amp;gt; Взаимосвязь логики S1S с &amp;amp;omega;-регулярными языками. &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Литература ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1: Синтаксический анализ. - М.: Мир, 1978. - 612 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. - М.: Вильямс, 2001. - 768 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Верещагин Н.К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. - М.: МЦНМО, 1999. - 176 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. - М.: Мир, 1983.&lt;br /&gt;
&amp;lt;li&amp;gt; Льюис Ф., Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979.. - 656 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. - М.: Бином, 2008. - 200 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Пентус А.Е., Пентус М.Р. Математическая теория формальных языков. Серия &amp;quot;Основы информатики и математики&amp;quot; - М: Бином, 2006. - 247 с. &lt;br /&gt;
&amp;lt;li&amp;gt; Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. - М.: Мир, 1972.&lt;br /&gt;
&amp;lt;li&amp;gt; Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Правила проведения экзамена ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен состоится 22 апреля. Начало экзамена 9.00 в ауд. 505&lt;br /&gt;
&lt;br /&gt;
Консультация состоится 21 апреля в 10.30, в ауд. 503&lt;br /&gt;
&lt;br /&gt;
Выставление оценок будет проведено 25 апреля, в 12.30, в ауд. 591.&lt;br /&gt;
&lt;br /&gt;
'''Бонусные баллы:'''&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Савицкий И. 30 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Вершинин 20 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Мельник М. 5 баллов&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-418-2016.docx| Результаты экзамена 22.04.2016.]]'''&lt;br /&gt;
&lt;br /&gt;
'''Студенты Бежовец и Кравцов имеют право на вторую попытку сдачи экзамена 10 мая, в 11.00 в ауд. 591.''' --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы. Время, отведенное на решение задач, составляет 180 мин. Письменная контрольная работа состоит из 16 заданий, которые разделены на 4 блока, по четыре задания в каждом.&lt;br /&gt;
&lt;br /&gt;
В каждом блоке для решения предлагаются следующие задания.&lt;br /&gt;
&lt;br /&gt;
Задания 1, 2 - стандартные практические задачи, аналогичные тем, которые рассматривались на семинарских занятиях. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 3 требуется сформулировать определения основных понятий, сформулировать и доказать основные утверждения и теоремы, введенные в лекционном курсе. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 4 требуется решить теоретическую задачу, опираясь на сведения, представленные в лекционном курсе. Правильное решение каждой такой задачи оценивается 3 баллами.&lt;br /&gt;
&lt;br /&gt;
Оценка контрольной работы проводится по следующим критериям:&lt;br /&gt;
&lt;br /&gt;
28-36 баллов - '''отлично''',&lt;br /&gt;
&lt;br /&gt;
20-27 баллов - '''хорошо''',&lt;br /&gt;
&lt;br /&gt;
13-19 баллов -  '''удовлетворительно'''.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9</id>
		<title>Модели вычислений</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9"/>
				<updated>2021-02-04T16:13:49Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов 418 группы на 8 семестре обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 24 ч., семинары — 8 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 21.03 - 27.03'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 8, 9 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 20.03 -- 26.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1, 3(4), 5(1,3,5,7,9,11,13,15), 7(1,2) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В весеннем семестре 2021 года учебные занятия по курсу &amp;quot;Модели вычислений&amp;quot; будут проводиться дистанционно в разном формате.&lt;br /&gt;
&lt;br /&gt;
Лекции будут проводиться заочно.&lt;br /&gt;
&lt;br /&gt;
Видеозаписи и материалы (слайды) лекций размещены в репозитории (хранилище) всех учебных материалов ф-та ВМК по адресу https://m.cs.msu.ru/ [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА''' в папке &amp;quot;Модели вычислений&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Слайды всех лекций также размещены на данной странице учебного курса.&lt;br /&gt;
&lt;br /&gt;
В случае необходимости будут организованы консультации в виде Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
Семинарские занятия будут проводиться очно в формате Zoom-конференции.&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ПРОВЕДЕНИЯ СЕМИНАРСКИХ ЗАНЯТИЙ'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 1: 19 февраля, 10.30-12.05. Тема: &amp;quot;Конечные автоматы и регулярные языки&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 2: 5 марта, 10.30-12.05. Тема: &amp;quot;Рекурсивные и рекурсивно перечислимые множества&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 3: 19 марта, 10.30-12.05. Тема: &amp;quot;Магазинные автоматы и контекстно-свободные языки&amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt; Семинар 4: 2 апреля, 10.30-12.05. Тема: &amp;quot;Конечные автоматы-преобразователи, автоматы над бесконечными словами и логика S1S&amp;quot;.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен по учебному курсу запланирован на 9 апреля 2021 г.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''[[Media: Exam-418-2019.pdf| Результаты экзамена (10.04.2019)]]'''&lt;br /&gt;
&lt;br /&gt;
Вторая попытка сдачи экзамена состоится 24 апреля в 9.30 в ауд. 582.&lt;br /&gt;
&lt;br /&gt;
Оценки за экзамен будут выставлены в зачетную книжку 10 апреля, &lt;br /&gt;
в 18.00 - 19.00 в аудитории 591.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_1.pdf| Лекция 1.]]''' Формальные языки. Операции над языками.Разнообразие моделей вычислений. Конечные автоматы Рабина-Скотта. Автоматные языки. Упрощение конечных автоматов. Детерминированные конечные автоматы. Минимизация детерминированных конечных автоматов.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_2.pdf| Лекция 2.]]''' Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками. Теорема о разрастании для автоматных языков.&lt;br /&gt;
Примеры неавтоматных языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_3.pdf| Лекция 3.]]''' Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами. Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик. Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_4.pdf| Лекция 4.]]''' Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки. Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки. Массовые алгоритмические проблемы и их связь с рекурсивными языками. Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_5.pdf| Лекция 5.]]''' Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_6.pdf| Лекция 6.]]''' Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста. Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_7.pdf| Лекция 7.]]''' Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков. Неограниченные грамматики и рекурсивно перечислимые языки. Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков. Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-1.pdf| Задачи по теме Лекции 7.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_8.pdf| Лекция 8.]]''' Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными. Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью. Детерминированные магазинные автоматы.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_9-full.pdf| Лекция 9.]]''' Свойства замкнутости контекстно-свободных языков. Алгоритмические проблемы для КС-языков. Неразрешимость проблемы эквивалентности для контекстно-свободных грамматик. Алгоритм Кока-Касами-Янгера синтаксического анализа контекстно-свободных языков. Детерминированные КС-языки и синтаксические анализаторы. LL(k)-грамматики. Контекстно-зависимые грамматики.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-2.pdf| Задачи по теме Лекций 8 и 9.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_10.pdf| Лекция 10.]]''' Конечные автоматы-преобразователи. Рациональные отношения и их свойства. Описание рациональных отношений регулярными выражениями. Свойства замкнутости класса рациональных отношений. Неразрешимость проблемы эквивалентности для недетерминированных автоматов-преобразователей. Разрешимость проблемы эквивалентности для детерминированных автоматов-преобразователей. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-1.pdf| Задачи по теме Лекции 10.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_11a.pdf| Лекция 11.]]''' Реагирующие системы вычислений. Автоматы Бюхи. &amp;amp;omega;-регулярные языки. Свойства замкнутости класса &amp;amp;omega;-регулярных языков. Алгоритмические проблемы для автоматов Бюхи. Другие виды &amp;amp;omega;-автоматов: автоматы Рабина, автоматы Маллера. Взаимосвязь детерминированных и недетерминированных &amp;amp;omega;-автоматов. Применение &amp;amp;omega;-автоматов для верификации реагирующих систем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_12a.pdf| Лекция 12.]]''' Логический способ описания языков. Монадическая предикатов логика второго порядка S1S. Взаимосвязь логики S1S и &amp;amp;omega;-автоматов. Другие логики предикатов второго порядка.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-2.pdf| Задачи по теме Лекциям 11 и 12.]]'''&lt;br /&gt;
&lt;br /&gt;
== Семинарские занятия ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_1.pdf| Семинар 1.]]''' Построение конечных автоматов для заданных языков. Преобразование недетерминированных автоматов к детерминированным. Минимизация детерминированных автоматов. Распознавание автоматности языков, полученных при помощи теоретико-множественных и алгебраических операций над автоматными языками. Доказательство неавтоматности языков. Построение регулярных выражений для автоматных языков. Построение автоматов, соответствующих регулярным выражениям.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_2.pdf| Семинар 2.]]''' Доказательство нерекурсивности и рекурсивной перечислимости языков. Использование метода сводимости для доказательства алгоритмической неразрешимости массовых проблем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3.pdf| Семинар 3.]]''' Построение контекстно-свободных грамматик и магазинных автоматов. Приведение контекстно-свободных грамматик к нормальной форме Хомского. Применение алгоритма Кока-Касами-Янгера для проверки принадлежности заданного слова заданному контекстно-свободному языку. Применение теорем о разрастании для классификации языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4.pdf| Семинар 4.]]''' Построение конечных автоматов-преобразователей, распознающих заданные рациональные отношения. Построение автоматов Бюхи и формул логики S1S, задающих регулярные omega-языки.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Конечные автоматы и регулярные выражения ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения.&lt;br /&gt;
&amp;lt;li&amp;gt; Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о разрастании для автоматных языков. Примеры неавтоматных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик.&lt;br /&gt;
&amp;lt;li&amp;gt; Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машины Тьюринга и рекурсивно перечислимые языки ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Массовые алгоритмические проблемы и их связь с рекурсивными языками&lt;br /&gt;
&amp;lt;li&amp;gt; Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. &lt;br /&gt;
&amp;lt;li&amp;gt; Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций. &lt;br /&gt;
&amp;lt;li&amp;gt; Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста.&lt;br /&gt;
&amp;lt;li&amp;gt; Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. &lt;br /&gt;
&amp;lt;li&amp;gt; Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Контекстно-свободные языки и автоматы с магазинной памятью===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Неограниченные грамматики и рекурсивно перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&amp;lt;li&amp;gt; Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными.&lt;br /&gt;
&amp;lt;li&amp;gt; Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью.&lt;br /&gt;
&amp;lt;li&amp;gt; Теоремы о замкнутости и незамкнутости класса контекстно-свободных языков относительно операций над формальными языками. Алгоритм проверки пустоты для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблем эквивалентности и тотальности для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача синтаксического анализа. Алгоритм Кока-Касами-Янгера проверки принадлежности слова контекстно-свободному языку. Детерминированные автоматы с магазинной памятью и LL(1) грамматики.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-зависимые грамматики. Взаимосвязь контекстно-зависимых грамматик и машин Тьюринга с линейно-ограниченной памятью.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматы над бесконечными словами и темпоральные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы-преобразователи (трансдьюсеры) и рациональные отношения. Детерминированные трансдьюсеры. &lt;br /&gt;
&amp;lt;li&amp;gt; Свойства замкнутости класса рациональных отношений.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм проверки эквивалентности детерминированных трансдьюсеров. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблемы эквивалентности недетерминированных трансдьюсеров.&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы над бесконечными словами (автоматы Бюхи, Рабина, Мюллера) и их свойства.  &lt;br /&gt;
&amp;lt;li&amp;gt; &amp;amp;omega;-регулярные языки. Алгоритм проверки пустоты для &amp;amp;omega;-автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость класса &amp;amp;omega;-регулярных языков относительно теоретико-множественных операций.&lt;br /&gt;
&amp;lt;li&amp;gt; Монадическая логика 2-го порядка S1S&lt;br /&gt;
&amp;lt;li&amp;gt; Взаимосвязь логики S1S с &amp;amp;omega;-регулярными языками. &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Литература ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1: Синтаксический анализ. - М.: Мир, 1978. - 612 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. - М.: Вильямс, 2001. - 768 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Верещагин Н.К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. - М.: МЦНМО, 1999. - 176 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. - М.: Мир, 1983.&lt;br /&gt;
&amp;lt;li&amp;gt; Льюис Ф., Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979.. - 656 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. - М.: Бином, 2008. - 200 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Пентус А.Е., Пентус М.Р. Математическая теория формальных языков. Серия &amp;quot;Основы информатики и математики&amp;quot; - М: Бином, 2006. - 247 с. &lt;br /&gt;
&amp;lt;li&amp;gt; Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. - М.: Мир, 1972.&lt;br /&gt;
&amp;lt;li&amp;gt; Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Правила проведения экзамена ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен состоится 22 апреля. Начало экзамена 9.00 в ауд. 505&lt;br /&gt;
&lt;br /&gt;
Консультация состоится 21 апреля в 10.30, в ауд. 503&lt;br /&gt;
&lt;br /&gt;
Выставление оценок будет проведено 25 апреля, в 12.30, в ауд. 591.&lt;br /&gt;
&lt;br /&gt;
'''Бонусные баллы:'''&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Савицкий И. 30 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Вершинин 20 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Мельник М. 5 баллов&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-418-2016.docx| Результаты экзамена 22.04.2016.]]'''&lt;br /&gt;
&lt;br /&gt;
'''Студенты Бежовец и Кравцов имеют право на вторую попытку сдачи экзамена 10 мая, в 11.00 в ауд. 591.''' --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы. Время, отведенное на решение задач, составляет 180 мин. Письменная контрольная работа состоит из 16 заданий, которые разделены на 4 блока, по четыре задания в каждом.&lt;br /&gt;
&lt;br /&gt;
В каждом блоке для решения предлагаются следующие задания.&lt;br /&gt;
&lt;br /&gt;
Задания 1, 2 - стандартные практические задачи, аналогичные тем, которые рассматривались на семинарских занятиях. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 3 требуется сформулировать определения основных понятий, сформулировать и доказать основные утверждения и теоремы, введенные в лекционном курсе. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 4 требуется решить теоретическую задачу, опираясь на сведения, представленные в лекционном курсе. Правильное решение каждой такой задачи оценивается 3 баллами.&lt;br /&gt;
&lt;br /&gt;
Оценка контрольной работы проводится по следующим критериям:&lt;br /&gt;
&lt;br /&gt;
28-36 баллов - '''отлично''',&lt;br /&gt;
&lt;br /&gt;
20-27 баллов - '''хорошо''',&lt;br /&gt;
&lt;br /&gt;
13-19 баллов -  '''удовлетворительно'''.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9</id>
		<title>Модели вычислений</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9"/>
				<updated>2021-02-03T20:54:46Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов 418 группы на 8 семестре обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 24 ч., семинары — 8 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 21.03 - 27.03'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 8, 9 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 20.03 -- 26.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1, 3(4), 5(1,3,5,7,9,11,13,15), 7(1,2) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Видеозаписи и материалы (слайды) лекций размещены в репозитории (хранилище) всех учебных материалов ф0та ВМК по адресу https://m.cs.msu.ru/ [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 28.03 - 04.04'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекции 10 и решают задачи, приложенные к этой лекции, в любое удобное для них время 17.03 -- 19.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 03.04 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 03.04 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 04.04 - 10.04'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 11, 12 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 04.03 -- 10.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 10.04 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 10.04 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1 (2,4,6), 2(2,4,6), 3(2,4,6) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен по курсу состоится 10 апреля 2020 г в ауд 508.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''[[Media: Exam-418-2019.pdf| Результаты экзамена (10.04.2019)]]'''&lt;br /&gt;
&lt;br /&gt;
Вторая попытка сдачи экзамена состоится 24 апреля в 9.30 в ауд. 582.&lt;br /&gt;
&lt;br /&gt;
Оценки за экзамен будут выставлены в зачетную книжку 10 апреля, &lt;br /&gt;
в 18.00 - 19.00 в аудитории 591.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_1.pdf| Лекция 1.]]''' Формальные языки. Операции над языками.Разнообразие моделей вычислений. Конечные автоматы Рабина-Скотта. Автоматные языки. Упрощение конечных автоматов. Детерминированные конечные автоматы. Минимизация детерминированных конечных автоматов.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_2.pdf| Лекция 2.]]''' Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками. Теорема о разрастании для автоматных языков.&lt;br /&gt;
Примеры неавтоматных языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_3.pdf| Лекция 3.]]''' Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами. Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик. Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_4.pdf| Лекция 4.]]''' Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки. Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки. Массовые алгоритмические проблемы и их связь с рекурсивными языками. Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_5.pdf| Лекция 5.]]''' Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_6.pdf| Лекция 6.]]''' Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста. Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_7.pdf| Лекция 7.]]''' Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков. Неограниченные грамматики и рекурсивно перечислимые языки. Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков. Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-1.pdf| Задачи по теме Лекции 7.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_8.pdf| Лекция 8.]]''' Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными. Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью. Детерминированные магазинные автоматы.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_9-full.pdf| Лекция 9.]]''' Свойства замкнутости контекстно-свободных языков. Алгоритмические проблемы для КС-языков. Неразрешимость проблемы эквивалентности для контекстно-свободных грамматик. Алгоритм Кока-Касами-Янгера синтаксического анализа контекстно-свободных языков. Детерминированные КС-языки и синтаксические анализаторы. LL(k)-грамматики. Контекстно-зависимые грамматики.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-2.pdf| Задачи по теме Лекций 8 и 9.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_10.pdf| Лекция 10.]]''' Конечные автоматы-преобразователи. Рациональные отношения и их свойства. Описание рациональных отношений регулярными выражениями. Свойства замкнутости класса рациональных отношений. Неразрешимость проблемы эквивалентности для недетерминированных автоматов-преобразователей. Разрешимость проблемы эквивалентности для детерминированных автоматов-преобразователей. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-1.pdf| Задачи по теме Лекции 10.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_11a.pdf| Лекция 11.]]''' Реагирующие системы вычислений. Автоматы Бюхи. &amp;amp;omega;-регулярные языки. Свойства замкнутости класса &amp;amp;omega;-регулярных языков. Алгоритмические проблемы для автоматов Бюхи. Другие виды &amp;amp;omega;-автоматов: автоматы Рабина, автоматы Маллера. Взаимосвязь детерминированных и недетерминированных &amp;amp;omega;-автоматов. Применение &amp;amp;omega;-автоматов для верификации реагирующих систем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_12a.pdf| Лекция 12.]]''' Логический способ описания языков. Монадическая предикатов логика второго порядка S1S. Взаимосвязь логики S1S и &amp;amp;omega;-автоматов. Другие логики предикатов второго порядка.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-2.pdf| Задачи по теме Лекциям 11 и 12.]]'''&lt;br /&gt;
&lt;br /&gt;
== Семинарские занятия ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_1.pdf| Семинар 1.]]''' Построение конечных автоматов для заданных языков. Преобразование недетерминированных автоматов к детерминированным. Минимизация детерминированных автоматов. Распознавание автоматности языков, полученных при помощи теоретико-множественных и алгебраических операций над автоматными языками. Доказательство неавтоматности языков. Построение регулярных выражений для автоматных языков. Построение автоматов, соответствующих регулярным выражениям.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_2.pdf| Семинар 2.]]''' Доказательство нерекурсивности и рекурсивной перечислимости языков. Использование метода сводимости для доказательства алгоритмической неразрешимости массовых проблем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3.pdf| Семинар 3.]]''' Построение контекстно-свободных грамматик и магазинных автоматов. Приведение контекстно-свободных грамматик к нормальной форме Хомского. Применение алгоритма Кока-Касами-Янгера для проверки принадлежности заданного слова заданному контекстно-свободному языку. Применение теорем о разрастании для классификации языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4.pdf| Семинар 4.]]''' Построение конечных автоматов-преобразователей, распознающих заданные рациональные отношения. Построение автоматов Бюхи и формул логики S1S, задающих регулярные omega-языки.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Конечные автоматы и регулярные выражения ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения.&lt;br /&gt;
&amp;lt;li&amp;gt; Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о разрастании для автоматных языков. Примеры неавтоматных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик.&lt;br /&gt;
&amp;lt;li&amp;gt; Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машины Тьюринга и рекурсивно перечислимые языки ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Массовые алгоритмические проблемы и их связь с рекурсивными языками&lt;br /&gt;
&amp;lt;li&amp;gt; Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. &lt;br /&gt;
&amp;lt;li&amp;gt; Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций. &lt;br /&gt;
&amp;lt;li&amp;gt; Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста.&lt;br /&gt;
&amp;lt;li&amp;gt; Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. &lt;br /&gt;
&amp;lt;li&amp;gt; Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Контекстно-свободные языки и автоматы с магазинной памятью===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Неограниченные грамматики и рекурсивно перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&amp;lt;li&amp;gt; Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными.&lt;br /&gt;
&amp;lt;li&amp;gt; Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью.&lt;br /&gt;
&amp;lt;li&amp;gt; Теоремы о замкнутости и незамкнутости класса контекстно-свободных языков относительно операций над формальными языками. Алгоритм проверки пустоты для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблем эквивалентности и тотальности для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача синтаксического анализа. Алгоритм Кока-Касами-Янгера проверки принадлежности слова контекстно-свободному языку. Детерминированные автоматы с магазинной памятью и LL(1) грамматики.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-зависимые грамматики. Взаимосвязь контекстно-зависимых грамматик и машин Тьюринга с линейно-ограниченной памятью.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматы над бесконечными словами и темпоральные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы-преобразователи (трансдьюсеры) и рациональные отношения. Детерминированные трансдьюсеры. &lt;br /&gt;
&amp;lt;li&amp;gt; Свойства замкнутости класса рациональных отношений.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм проверки эквивалентности детерминированных трансдьюсеров. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблемы эквивалентности недетерминированных трансдьюсеров.&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы над бесконечными словами (автоматы Бюхи, Рабина, Мюллера) и их свойства.  &lt;br /&gt;
&amp;lt;li&amp;gt; &amp;amp;omega;-регулярные языки. Алгоритм проверки пустоты для &amp;amp;omega;-автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость класса &amp;amp;omega;-регулярных языков относительно теоретико-множественных операций.&lt;br /&gt;
&amp;lt;li&amp;gt; Монадическая логика 2-го порядка S1S&lt;br /&gt;
&amp;lt;li&amp;gt; Взаимосвязь логики S1S с &amp;amp;omega;-регулярными языками. &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Литература ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1: Синтаксический анализ. - М.: Мир, 1978. - 612 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. - М.: Вильямс, 2001. - 768 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Верещагин Н.К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. - М.: МЦНМО, 1999. - 176 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. - М.: Мир, 1983.&lt;br /&gt;
&amp;lt;li&amp;gt; Льюис Ф., Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979.. - 656 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. - М.: Бином, 2008. - 200 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Пентус А.Е., Пентус М.Р. Математическая теория формальных языков. Серия &amp;quot;Основы информатики и математики&amp;quot; - М: Бином, 2006. - 247 с. &lt;br /&gt;
&amp;lt;li&amp;gt; Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. - М.: Мир, 1972.&lt;br /&gt;
&amp;lt;li&amp;gt; Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Правила проведения экзамена ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен состоится 22 апреля. Начало экзамена 9.00 в ауд. 505&lt;br /&gt;
&lt;br /&gt;
Консультация состоится 21 апреля в 10.30, в ауд. 503&lt;br /&gt;
&lt;br /&gt;
Выставление оценок будет проведено 25 апреля, в 12.30, в ауд. 591.&lt;br /&gt;
&lt;br /&gt;
'''Бонусные баллы:'''&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Савицкий И. 30 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Вершинин 20 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Мельник М. 5 баллов&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-418-2016.docx| Результаты экзамена 22.04.2016.]]'''&lt;br /&gt;
&lt;br /&gt;
'''Студенты Бежовец и Кравцов имеют право на вторую попытку сдачи экзамена 10 мая, в 11.00 в ауд. 591.''' --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы. Время, отведенное на решение задач, составляет 180 мин. Письменная контрольная работа состоит из 16 заданий, которые разделены на 4 блока, по четыре задания в каждом.&lt;br /&gt;
&lt;br /&gt;
В каждом блоке для решения предлагаются следующие задания.&lt;br /&gt;
&lt;br /&gt;
Задания 1, 2 - стандартные практические задачи, аналогичные тем, которые рассматривались на семинарских занятиях. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 3 требуется сформулировать определения основных понятий, сформулировать и доказать основные утверждения и теоремы, введенные в лекционном курсе. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 4 требуется решить теоретическую задачу, опираясь на сведения, представленные в лекционном курсе. Правильное решение каждой такой задачи оценивается 3 баллами.&lt;br /&gt;
&lt;br /&gt;
Оценка контрольной работы проводится по следующим критериям:&lt;br /&gt;
&lt;br /&gt;
28-36 баллов - '''отлично''',&lt;br /&gt;
&lt;br /&gt;
20-27 баллов - '''хорошо''',&lt;br /&gt;
&lt;br /&gt;
13-19 баллов -  '''удовлетворительно'''.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9</id>
		<title>Модели вычислений</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9"/>
				<updated>2021-02-03T20:51:42Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов 418 группы на 8 семестре обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 24 ч., семинары — 8 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 21.03 - 27.03'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 8, 9 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 20.03 -- 26.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1, 3(4), 5(1,3,5,7,9,11,13,15), 7(1,2) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Видеозаписи и материалы (слайды) лекций размещены по адресу [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 28.03 - 04.04'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекции 10 и решают задачи, приложенные к этой лекции, в любое удобное для них время 17.03 -- 19.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 03.04 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 03.04 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 04.04 - 10.04'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 11, 12 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 04.03 -- 10.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 10.04 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 10.04 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1 (2,4,6), 2(2,4,6), 3(2,4,6) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен по курсу состоится 10 апреля 2020 г в ауд 508.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''[[Media: Exam-418-2019.pdf| Результаты экзамена (10.04.2019)]]'''&lt;br /&gt;
&lt;br /&gt;
Вторая попытка сдачи экзамена состоится 24 апреля в 9.30 в ауд. 582.&lt;br /&gt;
&lt;br /&gt;
Оценки за экзамен будут выставлены в зачетную книжку 10 апреля, &lt;br /&gt;
в 18.00 - 19.00 в аудитории 591.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_1.pdf| Лекция 1.]]''' Формальные языки. Операции над языками.Разнообразие моделей вычислений. Конечные автоматы Рабина-Скотта. Автоматные языки. Упрощение конечных автоматов. Детерминированные конечные автоматы. Минимизация детерминированных конечных автоматов.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_2.pdf| Лекция 2.]]''' Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками. Теорема о разрастании для автоматных языков.&lt;br /&gt;
Примеры неавтоматных языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_3.pdf| Лекция 3.]]''' Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами. Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик. Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_4.pdf| Лекция 4.]]''' Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки. Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки. Массовые алгоритмические проблемы и их связь с рекурсивными языками. Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_5.pdf| Лекция 5.]]''' Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_6.pdf| Лекция 6.]]''' Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста. Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_7.pdf| Лекция 7.]]''' Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков. Неограниченные грамматики и рекурсивно перечислимые языки. Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков. Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-1.pdf| Задачи по теме Лекции 7.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_8.pdf| Лекция 8.]]''' Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными. Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью. Детерминированные магазинные автоматы.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_9-full.pdf| Лекция 9.]]''' Свойства замкнутости контекстно-свободных языков. Алгоритмические проблемы для КС-языков. Неразрешимость проблемы эквивалентности для контекстно-свободных грамматик. Алгоритм Кока-Касами-Янгера синтаксического анализа контекстно-свободных языков. Детерминированные КС-языки и синтаксические анализаторы. LL(k)-грамматики. Контекстно-зависимые грамматики.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-2.pdf| Задачи по теме Лекций 8 и 9.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_10.pdf| Лекция 10.]]''' Конечные автоматы-преобразователи. Рациональные отношения и их свойства. Описание рациональных отношений регулярными выражениями. Свойства замкнутости класса рациональных отношений. Неразрешимость проблемы эквивалентности для недетерминированных автоматов-преобразователей. Разрешимость проблемы эквивалентности для детерминированных автоматов-преобразователей. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-1.pdf| Задачи по теме Лекции 10.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_11a.pdf| Лекция 11.]]''' Реагирующие системы вычислений. Автоматы Бюхи. &amp;amp;omega;-регулярные языки. Свойства замкнутости класса &amp;amp;omega;-регулярных языков. Алгоритмические проблемы для автоматов Бюхи. Другие виды &amp;amp;omega;-автоматов: автоматы Рабина, автоматы Маллера. Взаимосвязь детерминированных и недетерминированных &amp;amp;omega;-автоматов. Применение &amp;amp;omega;-автоматов для верификации реагирующих систем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_12a.pdf| Лекция 12.]]''' Логический способ описания языков. Монадическая предикатов логика второго порядка S1S. Взаимосвязь логики S1S и &amp;amp;omega;-автоматов. Другие логики предикатов второго порядка.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-2.pdf| Задачи по теме Лекциям 11 и 12.]]'''&lt;br /&gt;
&lt;br /&gt;
== Семинарские занятия ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_1.pdf| Семинар 1.]]''' Построение конечных автоматов для заданных языков. Преобразование недетерминированных автоматов к детерминированным. Минимизация детерминированных автоматов. Распознавание автоматности языков, полученных при помощи теоретико-множественных и алгебраических операций над автоматными языками. Доказательство неавтоматности языков. Построение регулярных выражений для автоматных языков. Построение автоматов, соответствующих регулярным выражениям.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_2.pdf| Семинар 2.]]''' Доказательство нерекурсивности и рекурсивной перечислимости языков. Использование метода сводимости для доказательства алгоритмической неразрешимости массовых проблем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3.pdf| Семинар 3.]]''' Построение контекстно-свободных грамматик и магазинных автоматов. Приведение контекстно-свободных грамматик к нормальной форме Хомского. Применение алгоритма Кока-Касами-Янгера для проверки принадлежности заданного слова заданному контекстно-свободному языку. Применение теорем о разрастании для классификации языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4.pdf| Семинар 4.]]''' Построение конечных автоматов-преобразователей, распознающих заданные рациональные отношения. Построение автоматов Бюхи и формул логики S1S, задающих регулярные omega-языки.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Конечные автоматы и регулярные выражения ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения.&lt;br /&gt;
&amp;lt;li&amp;gt; Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о разрастании для автоматных языков. Примеры неавтоматных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик.&lt;br /&gt;
&amp;lt;li&amp;gt; Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машины Тьюринга и рекурсивно перечислимые языки ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Массовые алгоритмические проблемы и их связь с рекурсивными языками&lt;br /&gt;
&amp;lt;li&amp;gt; Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. &lt;br /&gt;
&amp;lt;li&amp;gt; Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций. &lt;br /&gt;
&amp;lt;li&amp;gt; Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста.&lt;br /&gt;
&amp;lt;li&amp;gt; Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. &lt;br /&gt;
&amp;lt;li&amp;gt; Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Контекстно-свободные языки и автоматы с магазинной памятью===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Неограниченные грамматики и рекурсивно перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&amp;lt;li&amp;gt; Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными.&lt;br /&gt;
&amp;lt;li&amp;gt; Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью.&lt;br /&gt;
&amp;lt;li&amp;gt; Теоремы о замкнутости и незамкнутости класса контекстно-свободных языков относительно операций над формальными языками. Алгоритм проверки пустоты для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблем эквивалентности и тотальности для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача синтаксического анализа. Алгоритм Кока-Касами-Янгера проверки принадлежности слова контекстно-свободному языку. Детерминированные автоматы с магазинной памятью и LL(1) грамматики.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-зависимые грамматики. Взаимосвязь контекстно-зависимых грамматик и машин Тьюринга с линейно-ограниченной памятью.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматы над бесконечными словами и темпоральные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы-преобразователи (трансдьюсеры) и рациональные отношения. Детерминированные трансдьюсеры. &lt;br /&gt;
&amp;lt;li&amp;gt; Свойства замкнутости класса рациональных отношений.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм проверки эквивалентности детерминированных трансдьюсеров. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблемы эквивалентности недетерминированных трансдьюсеров.&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы над бесконечными словами (автоматы Бюхи, Рабина, Мюллера) и их свойства.  &lt;br /&gt;
&amp;lt;li&amp;gt; &amp;amp;omega;-регулярные языки. Алгоритм проверки пустоты для &amp;amp;omega;-автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость класса &amp;amp;omega;-регулярных языков относительно теоретико-множественных операций.&lt;br /&gt;
&amp;lt;li&amp;gt; Монадическая логика 2-го порядка S1S&lt;br /&gt;
&amp;lt;li&amp;gt; Взаимосвязь логики S1S с &amp;amp;omega;-регулярными языками. &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Литература ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1: Синтаксический анализ. - М.: Мир, 1978. - 612 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. - М.: Вильямс, 2001. - 768 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Верещагин Н.К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. - М.: МЦНМО, 1999. - 176 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. - М.: Мир, 1983.&lt;br /&gt;
&amp;lt;li&amp;gt; Льюис Ф., Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979.. - 656 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. - М.: Бином, 2008. - 200 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Пентус А.Е., Пентус М.Р. Математическая теория формальных языков. Серия &amp;quot;Основы информатики и математики&amp;quot; - М: Бином, 2006. - 247 с. &lt;br /&gt;
&amp;lt;li&amp;gt; Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. - М.: Мир, 1972.&lt;br /&gt;
&amp;lt;li&amp;gt; Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Правила проведения экзамена ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен состоится 22 апреля. Начало экзамена 9.00 в ауд. 505&lt;br /&gt;
&lt;br /&gt;
Консультация состоится 21 апреля в 10.30, в ауд. 503&lt;br /&gt;
&lt;br /&gt;
Выставление оценок будет проведено 25 апреля, в 12.30, в ауд. 591.&lt;br /&gt;
&lt;br /&gt;
'''Бонусные баллы:'''&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Савицкий И. 30 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Вершинин 20 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Мельник М. 5 баллов&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-418-2016.docx| Результаты экзамена 22.04.2016.]]'''&lt;br /&gt;
&lt;br /&gt;
'''Студенты Бежовец и Кравцов имеют право на вторую попытку сдачи экзамена 10 мая, в 11.00 в ауд. 591.''' --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы. Время, отведенное на решение задач, составляет 180 мин. Письменная контрольная работа состоит из 16 заданий, которые разделены на 4 блока, по четыре задания в каждом.&lt;br /&gt;
&lt;br /&gt;
В каждом блоке для решения предлагаются следующие задания.&lt;br /&gt;
&lt;br /&gt;
Задания 1, 2 - стандартные практические задачи, аналогичные тем, которые рассматривались на семинарских занятиях. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 3 требуется сформулировать определения основных понятий, сформулировать и доказать основные утверждения и теоремы, введенные в лекционном курсе. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 4 требуется решить теоретическую задачу, опираясь на сведения, представленные в лекционном курсе. Правильное решение каждой такой задачи оценивается 3 баллами.&lt;br /&gt;
&lt;br /&gt;
Оценка контрольной работы проводится по следующим критериям:&lt;br /&gt;
&lt;br /&gt;
28-36 баллов - '''отлично''',&lt;br /&gt;
&lt;br /&gt;
20-27 баллов - '''хорошо''',&lt;br /&gt;
&lt;br /&gt;
13-19 баллов -  '''удовлетворительно'''.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9</id>
		<title>Модели вычислений</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9"/>
				<updated>2021-02-03T20:49:52Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов 418 группы на 8 семестре обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 24 ч., семинары — 8 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 21.03 - 27.03'''&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 8, 9 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 20.03 -- 26.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 27.03 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1, 3(4), 5(1,3,5,7,9,11,13,15), 7(1,2) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 28.03 - 04.04'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекции 10 и решают задачи, приложенные к этой лекции, в любое удобное для них время 17.03 -- 19.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 03.04 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 03.04 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ПЛАН ЗАНЯТИЙ В ПЕРИОД 04.04 - 10.04'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Слушатели курса прочитывают слайды лекций 11, 12 и решают задачи, приложенные к этим лекциям, в любое удобное для них время 04.03 -- 10.03.&lt;br /&gt;
&amp;lt;li&amp;gt; 10.04 с 10.30 до 12.00 преподаватель готов ответить на вопросы по материалам курса&lt;br /&gt;
&lt;br /&gt;
по skype (login: vladimir_zakharov_msu)&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
по WhatsApp (916 220 44 24)&lt;br /&gt;
&amp;lt;li&amp;gt; 10.04 с 12.00 до 20.00 слушатели присылают по электронной почте преподавателю решения задач 1 (2,4,6), 2(2,4,6), 3(2,4,6) из списка задач, приложенных к лекции.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен по курсу состоится 10 апреля 2020 г в ауд 508.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--'''[[Media: Exam-418-2019.pdf| Результаты экзамена (10.04.2019)]]'''&lt;br /&gt;
&lt;br /&gt;
Вторая попытка сдачи экзамена состоится 24 апреля в 9.30 в ауд. 582.&lt;br /&gt;
&lt;br /&gt;
Оценки за экзамен будут выставлены в зачетную книжку 10 апреля, &lt;br /&gt;
в 18.00 - 19.00 в аудитории 591.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_1.pdf| Лекция 1.]]''' Формальные языки. Операции над языками.Разнообразие моделей вычислений. Конечные автоматы Рабина-Скотта. Автоматные языки. Упрощение конечных автоматов. Детерминированные конечные автоматы. Минимизация детерминированных конечных автоматов.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_CM_2.pdf| Лекция 2.]]''' Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками. Теорема о разрастании для автоматных языков.&lt;br /&gt;
Примеры неавтоматных языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_3.pdf| Лекция 3.]]''' Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами. Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик. Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_4.pdf| Лекция 4.]]''' Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки. Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки. Массовые алгоритмические проблемы и их связь с рекурсивными языками. Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_5.pdf| Лекция 5.]]''' Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_6.pdf| Лекция 6.]]''' Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста. Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_7.pdf| Лекция 7.]]''' Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков. Неограниченные грамматики и рекурсивно перечислимые языки. Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков. Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-1.pdf| Задачи по теме Лекции 7.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_8.pdf| Лекция 8.]]''' Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными. Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью. Детерминированные магазинные автоматы.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_9-full.pdf| Лекция 9.]]''' Свойства замкнутости контекстно-свободных языков. Алгоритмические проблемы для КС-языков. Неразрешимость проблемы эквивалентности для контекстно-свободных грамматик. Алгоритм Кока-Касами-Янгера синтаксического анализа контекстно-свободных языков. Детерминированные КС-языки и синтаксические анализаторы. LL(k)-грамматики. Контекстно-зависимые грамматики.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3-2.pdf| Задачи по теме Лекций 8 и 9.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_10.pdf| Лекция 10.]]''' Конечные автоматы-преобразователи. Рациональные отношения и их свойства. Описание рациональных отношений регулярными выражениями. Свойства замкнутости класса рациональных отношений. Неразрешимость проблемы эквивалентности для недетерминированных автоматов-преобразователей. Разрешимость проблемы эквивалентности для детерминированных автоматов-преобразователей. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-1.pdf| Задачи по теме Лекции 10.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_11a.pdf| Лекция 11.]]''' Реагирующие системы вычислений. Автоматы Бюхи. &amp;amp;omega;-регулярные языки. Свойства замкнутости класса &amp;amp;omega;-регулярных языков. Алгоритмические проблемы для автоматов Бюхи. Другие виды &amp;amp;omega;-автоматов: автоматы Рабина, автоматы Маллера. Взаимосвязь детерминированных и недетерминированных &amp;amp;omega;-автоматов. Применение &amp;amp;omega;-автоматов для верификации реагирующих систем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Lecture_12a.pdf| Лекция 12.]]''' Логический способ описания языков. Монадическая предикатов логика второго порядка S1S. Взаимосвязь логики S1S и &amp;amp;omega;-автоматов. Другие логики предикатов второго порядка.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4-2.pdf| Задачи по теме Лекциям 11 и 12.]]'''&lt;br /&gt;
&lt;br /&gt;
== Семинарские занятия ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_1.pdf| Семинар 1.]]''' Построение конечных автоматов для заданных языков. Преобразование недетерминированных автоматов к детерминированным. Минимизация детерминированных автоматов. Распознавание автоматности языков, полученных при помощи теоретико-множественных и алгебраических операций над автоматными языками. Доказательство неавтоматности языков. Построение регулярных выражений для автоматных языков. Построение автоматов, соответствующих регулярным выражениям.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_2.pdf| Семинар 2.]]''' Доказательство нерекурсивности и рекурсивной перечислимости языков. Использование метода сводимости для доказательства алгоритмической неразрешимости массовых проблем.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_3.pdf| Семинар 3.]]''' Построение контекстно-свободных грамматик и магазинных автоматов. Приведение контекстно-свободных грамматик к нормальной форме Хомского. Применение алгоритма Кока-Касами-Янгера для проверки принадлежности заданного слова заданному контекстно-свободному языку. Применение теорем о разрастании для классификации языков.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_4.pdf| Семинар 4.]]''' Построение конечных автоматов-преобразователей, распознающих заданные рациональные отношения. Построение автоматов Бюхи и формул логики S1S, задающих регулярные omega-языки.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Конечные автоматы и регулярные выражения ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения.&lt;br /&gt;
&amp;lt;li&amp;gt; Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о разрастании для автоматных языков. Примеры неавтоматных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик.&lt;br /&gt;
&amp;lt;li&amp;gt; Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Машины Тьюринга и рекурсивно перечислимые языки ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Одноленточные машины Тьюринга. Вычисления машин Тьюринга. Рекурсивные и рекурсивно-перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование односторонних и многоленточных машин Тьюринга одноленточными машинами Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Арифметические функции, вычислимые по Тьюрингу. Характеристические теоремы для рекурсивных и рекурсивно-перечислимых языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Массовые алгоритмические проблемы и их связь с рекурсивными языками&lt;br /&gt;
&amp;lt;li&amp;gt; Универсальные машины Тьюринга. Неразрешимость проблемы останова для машин Тьюринга. &lt;br /&gt;
&amp;lt;li&amp;gt; Сводимость алгоритмических проблем. Примеры алгоритмически неразрешимых проблем программирования. &lt;br /&gt;
&amp;lt;li&amp;gt; Функциональные (семантические) свойства программ. Теорема Райса.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость классов рекурсивных и рекурсивно перечислимых языков относительно теоретико-множественных операций. &lt;br /&gt;
&amp;lt;li&amp;gt; Проблема соответствий Поста. Алгоритмическая неразрешимость проблемы соответствий Поста.&lt;br /&gt;
&amp;lt;li&amp;gt; Многоголовочные конечные автоматы. Алгоритмическая неразрешимость проблемы останова для многоголовочных конечных автоматов. &lt;br /&gt;
&amp;lt;li&amp;gt; Ассоциативные исчисления. Алгоритмическая неразрешимость проблемы достижимости для полусистем Туэ. &lt;br /&gt;
&amp;lt;li&amp;gt; Примеры алгоритмически неразрешимых проблем математики: проблема разрешимости диофантовых уравнений, проблема мозаики.  Машины Минского. Универсальность модели вычислений машин Минского.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Контекстно-свободные языки и автоматы с магазинной памятью===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Формальные грамматики. Классификация формальных грамматик. Иерархия Хомского формальных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Праволинейные грамматики. Совпадение класса автоматных языков и класса праволинейных языков.&lt;br /&gt;
&amp;lt;li&amp;gt; Неограниченные грамматики и рекурсивно перечислимые языки.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-свободные грамматики. Устранение недостижимых и &amp;amp;epsilon;-правил. Нормальная форма Хомского контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.&lt;br /&gt;
&amp;lt;li&amp;gt; Деревья синтаксического разбора. Теорема о разрастании для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными.&lt;br /&gt;
&amp;lt;li&amp;gt; Автоматы с магазинной памятью и их свойства. Взаимосвязь контекстно-свободных языков и автоматов с магазинной памятью.&lt;br /&gt;
&amp;lt;li&amp;gt; Теоремы о замкнутости и незамкнутости класса контекстно-свободных языков относительно операций над формальными языками. Алгоритм проверки пустоты для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблем эквивалентности и тотальности для контекстно-свободных грамматик.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача синтаксического анализа. Алгоритм Кока-Касами-Янгера проверки принадлежности слова контекстно-свободному языку. Детерминированные автоматы с магазинной памятью и LL(1) грамматики.&lt;br /&gt;
&amp;lt;li&amp;gt; Контекстно-зависимые грамматики. Взаимосвязь контекстно-зависимых грамматик и машин Тьюринга с линейно-ограниченной памятью.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматы над бесконечными словами и темпоральные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы-преобразователи (трансдьюсеры) и рациональные отношения. Детерминированные трансдьюсеры. &lt;br /&gt;
&amp;lt;li&amp;gt; Свойства замкнутости класса рациональных отношений.&lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритм проверки эквивалентности детерминированных трансдьюсеров. &lt;br /&gt;
&amp;lt;li&amp;gt; Алгоритмическая неразрешимость проблемы эквивалентности недетерминированных трансдьюсеров.&lt;br /&gt;
&amp;lt;li&amp;gt; Конечные автоматы над бесконечными словами (автоматы Бюхи, Рабина, Мюллера) и их свойства.  &lt;br /&gt;
&amp;lt;li&amp;gt; &amp;amp;omega;-регулярные языки. Алгоритм проверки пустоты для &amp;amp;omega;-автоматов.&lt;br /&gt;
&amp;lt;li&amp;gt; Замкнутость класса &amp;amp;omega;-регулярных языков относительно теоретико-множественных операций.&lt;br /&gt;
&amp;lt;li&amp;gt; Монадическая логика 2-го порядка S1S&lt;br /&gt;
&amp;lt;li&amp;gt; Взаимосвязь логики S1S с &amp;amp;omega;-регулярными языками. &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Литература ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1: Синтаксический анализ. - М.: Мир, 1978. - 612 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. - М.: Вильямс, 2001. - 768 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Верещагин Н.К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. - М.: МЦНМО, 1999. - 176 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. - М.: Мир, 1983.&lt;br /&gt;
&amp;lt;li&amp;gt; Льюис Ф., Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979.. - 656 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. - М.: Бином, 2008. - 200 с.&lt;br /&gt;
&amp;lt;li&amp;gt; Пентус А.Е., Пентус М.Р. Математическая теория формальных языков. Серия &amp;quot;Основы информатики и математики&amp;quot; - М: Бином, 2006. - 247 с. &lt;br /&gt;
&amp;lt;li&amp;gt; Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. - М.: Мир, 1972.&lt;br /&gt;
&amp;lt;li&amp;gt; Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Правила проведения экзамена ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Экзамен состоится 22 апреля. Начало экзамена 9.00 в ауд. 505&lt;br /&gt;
&lt;br /&gt;
Консультация состоится 21 апреля в 10.30, в ауд. 503&lt;br /&gt;
&lt;br /&gt;
Выставление оценок будет проведено 25 апреля, в 12.30, в ауд. 591.&lt;br /&gt;
&lt;br /&gt;
'''Бонусные баллы:'''&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Савицкий И. 30 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Вершинин 20 баллов&lt;br /&gt;
&amp;lt;li&amp;gt; Мельник М. 5 баллов&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-418-2016.docx| Результаты экзамена 22.04.2016.]]'''&lt;br /&gt;
&lt;br /&gt;
'''Студенты Бежовец и Кравцов имеют право на вторую попытку сдачи экзамена 10 мая, в 11.00 в ауд. 591.''' --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы. Время, отведенное на решение задач, составляет 180 мин. Письменная контрольная работа состоит из 16 заданий, которые разделены на 4 блока, по четыре задания в каждом.&lt;br /&gt;
&lt;br /&gt;
В каждом блоке для решения предлагаются следующие задания.&lt;br /&gt;
&lt;br /&gt;
Задания 1, 2 - стандартные практические задачи, аналогичные тем, которые рассматривались на семинарских занятиях. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 3 требуется сформулировать определения основных понятий, сформулировать и доказать основные утверждения и теоремы, введенные в лекционном курсе. Правильное решение каждой такой задачи оценивается 2 баллами.&lt;br /&gt;
&lt;br /&gt;
В задании 4 требуется решить теоретическую задачу, опираясь на сведения, представленные в лекционном курсе. Правильное решение каждой такой задачи оценивается 3 баллами.&lt;br /&gt;
&lt;br /&gt;
Оценка контрольной работы проводится по следующим критериям:&lt;br /&gt;
&lt;br /&gt;
28-36 баллов - '''отлично''',&lt;br /&gt;
&lt;br /&gt;
20-27 баллов - '''хорошо''',&lt;br /&gt;
&lt;br /&gt;
13-19 баллов -  '''удовлетворительно'''.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2021-01-10T15:01:48Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров групп 618мк_дс, 618мк_дус и 621асвк 3 семестра магистратуры (группа 621асвк - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2020/2021 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#General principles of deductive program verification. Operational semantics of imperative programs. Problem statement for deductive verification of imperative programs. Hoare logic: theory and practice. Automation of program correctness checking. '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]'''&lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]''' --&amp;gt;&lt;br /&gt;
#General principles of model checking. Kripke structures as formal models of information processing systems. First-order representation of Kripke structures. Synchronous and asynchronous models. Granularity of models. Translation of programs into Kripke structure. '''[[Media: Lecture_Verification_3.pdf| Лекция 3.]]'''&lt;br /&gt;
#Properties of program computations. Classification of computational properties. Fairness constraints. Generalized Computational Tree Logic CTL*: syntax and semantics. Temporal Logics CTL and LTL. Formal setting of model checking problem. '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Tableau-based model checking for CTL. Correctness and complexity of CTL model checking. “Combinatorial explosion” problem. Symbolic representation of formal models. Binary Decision Diagrams (BDDs). Reduction of BDDs to canonical forms (ROBDDs). Operations on ROBDDs: unary and binary Boolean operations, quantification, satisfiability checking. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Basics of Fixed Point Theory. Fixed point characterization of CTL temporal operators. Symbolic model checking algorithm for CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Model checking problem for LTL. Model checking algorithms for LTL: tableau-based, automata-based. Büchi automata: basic properties and generalizations. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
# Bisimulation and simulation for Kripke models. Computing bisimulation relation for Kripke models. Bisimulation and simulation reduction of Kripke models. Reduction of Kripke models by the influence cones. Data abstraction techniques. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Real-time systems. Timed automata (TA). Infeasible runs of TA. Timed computational tree logic (TCTL). Model checking problem for TCTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#A model-checking algorithm for TCTL. Clock and state regions. Region transition systems. Networks of timed automata. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Bounded model checking (BMC). Reduction of BMC to thr Satisfiability Chercking Problem (SAT). Application of SAT solvers to BMC problem. '''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1_eng.pdf| Seminar 1.]]''' Deductive verification of imperative programs based on Hoare logic.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2_eng.pdf| Seminar 2.]]''' Kripke structures. LTL. Safety and liveness. Fairness.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3_eng.pdf| Seminar 3.]]''' CTL. BDD. Model checking for CTL: tableaux-based algorithm, symbolic algorithm.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4_eng.pdf| Seminar 4.]]''' NuSMV tool overview.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5_eng.pdf| Seminar 5-6.]]''' NuSMV exercises.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_eng.pdf| Seminar 7.]]''' Spin tool overview.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| (Deprecated) Some Spin instruction (rus).]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8_eng.pdf| Seminar 8-9.]]''' SPIN exercises.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_eng.pdf| Seminar 10-11.]]''' UPPAAL exercises.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Zip-file required for the last exercises of Seminar 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2021-01-10T14:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров групп 618мк_дс, 618мк_дус и 621асвк 3 семестра магистратуры (группа 621асвк - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2020/2021 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#General principles of deductive program verification. Operational semantics of imperative programs. Problem statement for deductive verification of imperative programs. Hoare logic: theory and practice. Automation of program correctness checking. '''[[Media: Lecture_Verification_2_eng.pdf| Лекция 2.]]'''&lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]''' --&amp;gt;&lt;br /&gt;
#General principles of model checking. Kripke structures as formal models of information processing systems. First-order representation of Kripke structures. Synchronous and asynchronous models. Granularity of models. Translation of programs into Kripke structure. '''[[Media: Lecture_Verification_3_eng.pdf| Лекция 3.]]'''&lt;br /&gt;
#Properties of program computations. Classification of computational properties. Fairness constraints. Generalized Computational Tree Logic CTL*: syntax and semantics. Temporal Logics CTL and LTL. Formal setting of model checking problem. '''[[Media: Lecture_Verification_4_eng.pdf| Лекция 4.]]'''&lt;br /&gt;
#Tableau-based model checking for CTL. Correctness and complexity of CTL model checking. “Combinatorial explosion” problem. Symbolic representation of formal models. Binary Decision Diagrams (BDDs). Reduction of BDDs to canonical forms (ROBDDs). Operations on ROBDDs: unary and binary Boolean operations, quantification, satisfiability checking. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Basics of Fixed Point Theory. Fixed point characterization of CTL temporal operators. Symbolic model checking algorithm for CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Model checking problem for LTL. Model checking algorithms for LTL: tableau-based, automata-based. Büchi automata: basic properties and generalizations. '''[[Media: Lecture_Verification_7_eng.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Real-time systems. Timed automata (TA). Infeasible runs of TA. Timed computational tree logic (TCTL). Model checking problem for TCTL. '''[[Media: Lecture_Verification_9_eng.pdf| Лекция 9.]]'''&lt;br /&gt;
#A model-checking algorithm for TCTL. Clock and state regions. Region transition systems. Networks of timed automata. '''[[Media: Lecture_Verification_10_eng.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. '''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1_eng.pdf| Seminar 1.]]''' Deductive verification of imperative programs based on Hoare logic.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2_eng.pdf| Seminar 2.]]''' Kripke structures. LTL. Safety and liveness. Fairness.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3_eng.pdf| Seminar 3.]]''' CTL. BDD. Model checking for CTL: tableaux-based algorithm, symbolic algorithm.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4_eng.pdf| Seminar 4.]]''' NuSMV tool overview.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5_eng.pdf| Seminar 5-6.]]''' NuSMV exercises.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_eng.pdf| Seminar 7.]]''' Spin tool overview.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| (Deprecated) Some Spin instruction (rus).]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8_eng.pdf| Seminar 8-9.]]''' SPIN exercises.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_eng.pdf| Seminar 10-11.]]''' UPPAAL exercises.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Zip-file required for the last exercises of Seminar 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-09-27T12:09:07Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров групп 618мк_дс, 618мк_дус и 621асвк 3 семестра магистратуры (группа 621асвк - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2020/2021 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#General principles of deductive program verification. Operational semantics of imperative programs. Problem statement for deductive verification of imperative programs. Hoare logic: theory and practice. Automation of program correctness checking. '''[[Media: Lecture_Verification_2_eng.pdf| Лекция 2.]]'''&lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]''' --&amp;gt;&lt;br /&gt;
#General principles of model checking. Kripke structures as formal models of information processing systems. First-order representation of Kripke structures. Synchronous and asynchronous models. Granularity of models. Translation of programs into Kripke structure. '''[[Media: Lecture_Verification_3_eng.pdf| Лекция 3.]]'''&lt;br /&gt;
#Properties of program computations. Classification of computational properties. Fairness constraints. Generalized Computational Tree Logic CTL*: syntax and semantics. Temporal Logics CTL and LTL. Formal setting of model checking problem. '''[[Media: Lecture_Verification_4_eng.pdf| Лекция 4.]]'''&lt;br /&gt;
#Tableau-based model checking for CTL. Correctness and complexity of CTL model checking. “Combinatorial explosion” problem. Symbolic representation of formal models. Binary Decision Diagrams (BDDs). Reduction of BDDs to canonical forms (ROBDDs). Operations on ROBDDs: unary and binary Boolean operations, quantification, satisfiability checking. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Basics of Fixed Point Theory. Fixed point characterization of CTL temporal operators. Symbolic model checking algorithm for CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. '''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1_eng.pdf| Семинар 1.]]''' Deductive verification of imperative programs based on Hoare logic.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2_eng.pdf| Семинар 2.]]''' Kripke structures. LTL. Safety and liveness. Fairness.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture_Verification_4_eng.pdf</id>
		<title>Файл:Lecture Verification 4 eng.pdf</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture_Verification_4_eng.pdf"/>
				<updated>2020-09-27T09:57:32Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-09-27T09:57:02Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров групп 618мк_дс, 618мк_дус и 621асвк 3 семестра магистратуры (группа 621асвк - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2020/2021 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#General principles of deductive program verification. Operational semantics of imperative programs. Problem statement for deductive verification of imperative programs. Hoare logic: theory and practice. Automation of program correctness checking. '''[[Media: Lecture_Verification_2_eng.pdf| Лекция 2.]]'''&lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]''' --&amp;gt;&lt;br /&gt;
#General principles of model checking. Kripke structures as formal models of information processing systems. First-order representation of Kripke structures. Synchronous and asynchronous models. Granularity of models. Translation of programs into Kripke structure. '''[[Media: Lecture_Verification_3_eng.pdf| Лекция 3.]]'''&lt;br /&gt;
#Properties of program computations. Classification of computational properties. Fairness constraints. Generalized Computational Tree Logic CTL*: syntax and semantics. Temporal Logics CTL and LTL. Formal setting of model checking problem. '''[[Media: Lecture_Verification_4_eng.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. '''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1_eng.pdf| Семинар 1.]]''' Deductive verification of imperative programs based on Hoare logic.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2_eng.pdf| Семинар 2.]]''' Kripke structures. LTL. Safety and liveness. Fairness.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture_Verification_3_eng.pdf</id>
		<title>Файл:Lecture Verification 3 eng.pdf</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture_Verification_3_eng.pdf"/>
				<updated>2020-09-27T09:53:37Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-09-27T09:52:59Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров групп 618мк_дс, 618мк_дус и 621асвк 3 семестра магистратуры (группа 621асвк - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2020/2021 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#General principles of deductive program verification. Operational semantics of imperative programs. Problem statement for deductive verification of imperative programs. Hoare logic: theory and practice. Automation of program correctness checking. '''[[Media: Lecture_Verification_2_eng.pdf| Лекция 2.]]'''&lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]''' --&amp;gt;&lt;br /&gt;
#general principles of model checking. Kripke structures as formal models of information processing systems. First-order representation of Kripke structures. Synchronous and asynchronous models. Granularity of models. Translation of programs into Kripke structure. '''[[Media: Lecture_Verification_3_eng.pdf| Лекция 3.]]'''&lt;br /&gt;
#Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени LTL. Синтаксис и семантика LTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. '''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1_eng.pdf| Семинар 1.]]''' Deductive verification of imperative programs based on Hoare logic.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2_eng.pdf| Семинар 2.]]''' Kripke structures. LTL. Safety and liveness. Fairness.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-09-03T11:02:09Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/apps/files/?dir=/&amp;amp;fileid=155011] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-31T14:39:31Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-08-31T14:38:46Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров 618/2 и 621 групп 3 семестра магистратуры (группа 621 - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2018-2019 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#Общие принципы дедуктивной верификации программ. Операционная семантика императивных программ. Формальная постановка задачи верификации программ. Логика Хоара: правила вывода и свойства. Аннотированные программы. Автоматизация проверки правильности программ. '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]'''&lt;br /&gt;
#Моделирование схем. Системы переходов - модели Крипке. Представление систем переходов формулами логики предикатов первого порядка. Синхронные и асинхронные схемы. Степень детализации представления. Трансляция описаний программ и схем в модели Крипке. '''[[Media: Lecture_Verification_3.pdf| Лекция 3.]]'''&lt;br /&gt;
#Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени LTL. Синтаксис и семантика LTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. '''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Обоснование корректности программ при помощи логики Хоара.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2.pdf| Семинар 2.]]''' Модели Крипке. LTL. Безопасность, живость.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-08-31T14:37:49Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров 618/2 и 621 групп 3 семестра магистратуры (группа 621 - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2018-2019 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://wiki.cs.msu.ru/Main/MediaDO] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#Общие принципы дедуктивной верификации программ. Операционная семантика императивных программ. Формальная постановка задачи верификации программ. Логика Хоара: правила вывода и свойства. Аннотированные программы. Автоматизация проверки правильности программ. '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]'''&lt;br /&gt;
#Моделирование схем. Системы переходов - модели Крипке. Представление систем переходов формулами логики предикатов первого порядка. Синхронные и асинхронные схемы. Степень детализации представления. Трансляция описаний программ и схем в модели Крипке. '''[[Media: Lecture_Verification_3.pdf| Лекция 3.]]'''&lt;br /&gt;
#Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени LTL. Синтаксис и семантика LTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. '''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Обоснование корректности программ при помощи логики Хоара.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2.pdf| Семинар 2.]]''' Модели Крипке. LTL. Безопасность, живость.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-31T10:54:44Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций размещены по адресу [https://wiki.cs.msu.ru/Main/MediaDO] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-31T10:54:12Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Задачи по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций будут размещены по адресу [https://wiki.cs.msu.ru/Main/MediaDO] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-31T10:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования (Видеозаписи лекций будут размещены по адресу [https://wiki.cs.msu.ru/Main/Media…&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования &lt;br /&gt;
&lt;br /&gt;
(Видеозаписи лекций будут размещены по адресу [https://wiki.cs.msu.ru/Main/MediaDO] в разделе '''ЗахаровВА''') ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-31T10:52:35Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования (Видеозаписи лекций будут размещены по адресу [https://wiki.cs.msu.ru/Main/MediaDO] в разделе '''ЗахаровВА''') ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-31T10:50:07Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций будут размещены по адресу [https://wiki.cs.msu.ru/Main/MediaDO] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-31T10:49:16Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
Видеозаписи лекций будут размещены по адресу [http://www.example.com заголовок ссылки] в разделе '''ЗахаровВА'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-08-30T18:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров 618/2 и 621 групп 3 семестра магистратуры (группа 621 - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2018-2019 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#Общие принципы дедуктивной верификации программ. Операционная семантика императивных программ. Формальная постановка задачи верификации программ. Логика Хоара: правила вывода и свойства. Аннотированные программы. Автоматизация проверки правильности программ. '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]'''&lt;br /&gt;
#Моделирование схем. Системы переходов - модели Крипке. Представление систем переходов формулами логики предикатов первого порядка. Синхронные и асинхронные схемы. Степень детализации представления. Трансляция описаний программ и схем в модели Крипке. '''[[Media: Lecture_Verification_3.pdf| Лекция 3.]]'''&lt;br /&gt;
#Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени LTL. Синтаксис и семантика LTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. '''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Обоснование корректности программ при помощи логики Хоара.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2.pdf| Семинар 2.]]''' Модели Крипке. LTL. Безопасность, живость.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-29T11:39:36Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:LectLog_2.pdf</id>
		<title>Файл:LectLog 2.pdf</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:LectLog_2.pdf"/>
				<updated>2020-08-29T11:39:03Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: ZakharovVA загружена новая версия «Файл:LectLog 2.pdf»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:LectLog_2.pdf</id>
		<title>Файл:LectLog 2.pdf</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:LectLog_2.pdf"/>
				<updated>2020-08-29T11:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-29T05:59:33Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-29T05:58:34Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_30.pdf| Лекция 30.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-29T05:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Лекции по курсу математической логики и логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 30.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-08-28T20:21:28Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Основы логического программирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-08-28T12:22:59Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров 618/2 и 621 групп 3 семестра магистратуры (группа 621 - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2018-2019 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#Общие принципы дедуктивной верификации программ. Операционная семантика императивных программ. Формальная постановка задачи верификации программ. Логика Хоара: правила вывода и свойства. Аннотированные программы. Автоматизация проверки правильности программ. '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]'''&lt;br /&gt;
#Моделирование схем. Системы переходов - модели Крипке. Представление систем переходов формулами логики предикатов первого порядка. Синхронные и асинхронные схемы. Степень детализации представления. Трансляция описаний программ и схем в модели Крипке. '''[[Media: Lecture_Verification_3.pdf| Лекция 3.]]'''&lt;br /&gt;
#Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени LTL. Синтаксис и семантика LTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. &amp;lt;!--'''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Обоснование корректности программ при помощи логики Хоара.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2.pdf| Семинар 2.]]''' Модели Крипке. LTL. Безопасность, живость.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-08-28T12:22:11Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров 618/2 и 621 групп 3 семестра магистратуры (группа 621 - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2018-2019 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Verification problem for hardware and software systems. Why do we need formal verification of information processing systems? Basic approaches to formal verification of hardware and software systems. Principles of Model CheckingPrinciples of model checking. Historical overview. Achievements of formal verification techniques. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#Общие принципы дедуктивной верификации программ. Операционная семантика императивных программ. Формальная постановка задачи верификации программ. Логика Хоара: правила вывода и свойства. Аннотированные программы. Автоматизация проверки правильности программ. '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]'''&lt;br /&gt;
#Моделирование схем. Системы переходов - модели Крипке. Представление систем переходов формулами логики предикатов первого порядка. Синхронные и асинхронные схемы. Степень детализации представления. Трансляция описаний программ и схем в модели Крипке. '''[[Media: Lecture_Verification_3.pdf| Лекция 3.]]'''&lt;br /&gt;
#Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени LTL. Синтаксис и семантика LTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. &amp;lt;!--'''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Обоснование корректности программ при помощи логики Хоара.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2.pdf| Семинар 2.]]''' Модели Крипке. LTL. Безопасность, живость.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-08-28T12:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Литература */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров 618/2 и 621 групп 3 семестра магистратуры (группа 621 - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2018-2019 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Задача верификации аппаратуры и программного обеспечения. Зачем нужна формальная верификация программ? Основные подходы к задаче формальной верификации. Принципы верификации моделей программ. Исторические сведения. Достижения методов формальной верификации программ. Алгоритмические и комбинаторные трудности применения метода верификации моделей программ. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#Общие принципы дедуктивной верификации программ. Операционная семантика императивных программ. Формальная постановка задачи верификации программ. Логика Хоара: правила вывода и свойства. Аннотированные программы. Автоматизация проверки правильности программ. '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]'''&lt;br /&gt;
#Моделирование схем. Системы переходов - модели Крипке. Представление систем переходов формулами логики предикатов первого порядка. Синхронные и асинхронные схемы. Степень детализации представления. Трансляция описаний программ и схем в модели Крипке. '''[[Media: Lecture_Verification_3.pdf| Лекция 3.]]'''&lt;br /&gt;
#Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени LTL. Синтаксис и семантика LTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. &amp;lt;!--'''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Обоснование корректности программ при помощи логики Хоара.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2.pdf| Семинар 2.]]''' Модели Крипке. LTL. Безопасность, живость.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
#Clarke E., Henzinger T.A., Veith H., Bloem R. Handbook of model checking, Springer, 2018.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture_Verification_1_eng.pdf</id>
		<title>Файл:Lecture Verification 1 eng.pdf</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture_Verification_1_eng.pdf"/>
				<updated>2020-08-28T12:15:52Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
		<title>Математические методы верификации схем и программ</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
				<updated>2020-08-28T12:15:11Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общая информация =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательный курс для магистров 618/2 и 621 групп 3 семестра магистратуры (группа 621 - &amp;quot;Методы верификации программ&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
В 2018-2019 учебном году курс читают &lt;br /&gt;
&lt;br /&gt;
* профессор [[Захаров Владимир Анатольевич|В. А. Захаров]]&lt;br /&gt;
* научный сотрудник [[Подымов Владислав Васильевич|В. В. Подымов]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Программа =&lt;br /&gt;
&lt;br /&gt;
''Программа будет обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
#Задача верификации аппаратуры и программного обеспечения. Зачем нужна формальная верификация программ? Основные подходы к задаче формальной верификации. Принципы верификации моделей программ. Исторические сведения. Достижения методов формальной верификации программ. Алгоритмические и комбинаторные трудности применения метода верификации моделей программ. '''[[Media: Lecture_Verification_1_eng.pdf| Лекция 1.]]''' &lt;br /&gt;
&amp;lt;!-- '''[[Media: Lecture_Verification_1.pdf| Лекция 1.]]''' --&amp;gt;&lt;br /&gt;
#Общие принципы дедуктивной верификации программ. Операционная семантика императивных программ. Формальная постановка задачи верификации программ. Логика Хоара: правила вывода и свойства. Аннотированные программы. Автоматизация проверки правильности программ. '''[[Media: Lecture_Verification_2.pdf| Лекция 2.]]'''&lt;br /&gt;
#Моделирование схем. Системы переходов - модели Крипке. Представление систем переходов формулами логики предикатов первого порядка. Синхронные и асинхронные схемы. Степень детализации представления. Трансляция описаний программ и схем в модели Крипке. '''[[Media: Lecture_Verification_3.pdf| Лекция 3.]]'''&lt;br /&gt;
#Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени LTL. Синтаксис и семантика LTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). '''[[Media: Lecture_Verification_4.pdf| Лекция 4.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. '''[[Media: Lecture_Verification_5.pdf| Лекция 5.]]'''&lt;br /&gt;
#Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. '''[[Media: Lecture_Verification_6.pdf| Лекция 6.]]'''&lt;br /&gt;
#Табличный алгоритм верификации моделей для LTL. Автоматы Бюхи, их свойства и обобщения. Трансляция моделей Крипке и формул LTL в автоматы Бюхи. Автоматный алгоритм верификации моделей для LTL. '''[[Media: Lecture_Verification_7.pdf| Лекция 7.]]'''&lt;br /&gt;
&amp;lt;!-- #Особенности параллельных вычислений асинхронных распределенных систем. Независимость действий. Проскальзывающие действия. Достаточные множества переходов и их свойства. Вычисление достаточных множеств переходов. Статическая и динамическая редукция частичных порядков на основе достаточных множеств переходов. &amp;lt;!--'''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]''' --&amp;gt;&lt;br /&gt;
#Отношения бисимуляционной эквивалентности (бисимуляции) и симуляционного квазипорядка (симуляции) на моделях Крипке. Равновыполнимость темпоральных формул на бисимуляционно эквивалентных моделях Крипке. Вычисление классов бисимуляционной эквивалентности на конечных моделях Крипке. Упрощение моделей Крипке при помощи отношений симуляции и и бисимуляции. Редукция моделей Крипке по конусу влияния. Абстракции данных при построении моделей Крипке. '''[[Media: Lecture_Verification_8.pdf| Лекция 8.]]'''&lt;br /&gt;
#Системы реального времени. Временные автоматы. Неправдоподобные вычисления временных автоматов. Вычисления Зенона. Timed CTL. Задача model checking для Timed CTL. '''[[Media: Lecture_Verification_9.pdf| Лекция 9.]]'''&lt;br /&gt;
#Алгоритм верификации временных автоматов относительно Timed CTL. Временные регионы. Оценка числа регионов. Системы регионов. Сети временных автоматов. '''[[Media: Lecture_Verification_10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Верификация моделей программ для вычислений ограниченной длины (bounded model checking, BMC). Сведение задачи BMC к задаче проверки выполнимости булевых формул (SAT). Применение автоматических средств решения задачи SAT для решения задачи BMC. &amp;lt;!--'''[[Media: Lecture_Verification_11.pdf| Лекция 11.]]'''--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Материалы семинаров =&lt;br /&gt;
&lt;br /&gt;
''Материалы будут обновляться по мере проведения занятий.''&lt;br /&gt;
&lt;br /&gt;
'''Любые''' вопросы по темам семинарских занятий можно задавать [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Обоснование корректности программ при помощи логики Хоара.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_2.pdf| Семинар 2.]]''' Модели Крипке. LTL. Безопасность, живость.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_3.pdf| Семинар 3.]]''' Справедливость. CTL: формализация, табличный и символьный алгоритмы. ROBDD.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_4.pdf| Семинар 4.]]''' NuSMV: обзор средства.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_5.pdf| Семинар 5-6.]]''' NuSMV: практические задания по проверке CTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7.pdf| Семинар 7.]]''' Обзор средства SPIN: синтаксис, трансляция базовых конструкций в модели Крипке.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_7_spin_manual.pdf| Инструкция по работе со средством SPIN.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_8.pdf| Семинар 8-9.]]''' SPIN: практические задания по проверке LTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10.pdf| Семинар 10-11.]]''' UPPAAL: практические задания по проверке TCTL-спецификаций.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Seminar_Verification_10_errors.zip| Архив, прилагающийся к семинару 10-11.]]&lt;br /&gt;
&lt;br /&gt;
= Правила проведения экзамена =&lt;br /&gt;
&lt;br /&gt;
# Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу, зачетных оценок за выполнение домашних заданий и премиальных оценок за решение особо сложных задач, объявленных в курсе лекций.&lt;br /&gt;
# Экзаменационная контрольная работа состоит из 5 задач и 5 вопросов. Каждая из задач контрольной относится к одному из типов задач, которые разбирались на семинарских занятиях или на лекциях. Каждый из вопросов касается формулировок определений или ключевых результатов, рассмотренных на лекциях.&lt;br /&gt;
&lt;br /&gt;
== Учет домашних заданий ==&lt;br /&gt;
&lt;br /&gt;
'''Логика Хоара:''' выполнившие это задание освобождаются от решения задачи на тему логики Хоара, и за особые заслуги могут быть поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''CTL: формализация требований и алгоритмы проверки формул:''' выполнившие это задание освобождаются от задач, покрываемых темами заданий, и могут быть поощрены дополнительной премиальной оценкой за особые заслуги (например, демонстрацию хорошего понимания устройства символьного алгоритма).&lt;br /&gt;
&lt;br /&gt;
'''CTL и справедливость:''' этим заданием покрывается часть задания &amp;quot;алгоритм верификации CTL-формул&amp;quot;, и кроме того, выполнившие это задание будут поощрены дополнительной премиальной оценкой.&lt;br /&gt;
&lt;br /&gt;
'''NuSMV, Spin, Uppaal:'''&lt;br /&gt;
* если выполнены ровно два из трёх заданий, то из итоговой экзаменационной оценки (''2'', ''3'', ''4'', ''5'') вычитается один балл;&lt;br /&gt;
* если выполнено менее двух заданий, то из итоговой экзаменационной оценки вычитается два балла.&lt;br /&gt;
&lt;br /&gt;
= Обязательные домашние задания &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot;, &amp;quot;Uppaal&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Установка средств верификации ==&lt;br /&gt;
&lt;br /&gt;
* Для выполнения обязательных домашних заданий необходимо поставить на свою рабочую машину средства [http://nusmv.fbk.eu NuSMV], [http://spinroot.com Spin] и [http://uppaal.org UPPAAL] (''лучше версию 4.1 (&amp;quot;development snapshot&amp;quot;)'').&lt;br /&gt;
* Рекомендуется всё это поставить в Linux (''с Windows у студентов регулярно возникают странные проблемы, а в Linux всё работает - проверено'').&lt;br /&gt;
* После установки средств желательно проверить, что они работают:&lt;br /&gt;
** в выводе &amp;quot;'''./NuSMV'''&amp;quot; есть строки, утверждающие, что&lt;br /&gt;
*** подключены CUDD и MiniSat, либо нет строк о том, что что-то надо подключить, и&lt;br /&gt;
*** входной файл не подан и работа завершена;&lt;br /&gt;
** &amp;quot;'''./spin -a &amp;lt;папка с примерами spin&amp;gt;/LTL/bakery.pml'''&amp;quot; успешно завершает работу без вывода;&lt;br /&gt;
** &amp;quot;'''./uppaal'''&amp;quot; загружает графический интерфейс и для какого-нибудь примера при нажатии на кнопку '''Check''' вкладки '''Verifier''' при каком-нибудь выделенном свойстве завершает вывод словами '''Property is satisfied''' или '''Property is not satisfied'''.&lt;br /&gt;
* '''Для работы на семинарах, посвящённых средствам верификации, требуется организовать хотя бы один ноутбук на двоих (если совсем не выходит, то на троих) с установленными соответствующими средствами верификации.'''&lt;br /&gt;
&lt;br /&gt;
== Общие правила выполнения заданий &amp;quot;NuSMV&amp;quot;, &amp;quot;Spin&amp;quot; и &amp;quot;Uppaal&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* Каждое из заданий можно выполнять как в одиночку, так и в паре.&lt;br /&gt;
* Срок выполнения задания (кроме индивидуально согласованных случаев) - от начала проведения соответствующих семинаров и до начала проведения следующего тематического блока семинаров (для последнего блока семинаров - до окончания семестра).&lt;br /&gt;
* Первый шаг выполнения - выслать [[Подымов Владислав Васильевич|ему]] на почту письмо с любым текстом и специальным заголовком:&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в одиночку: '''[ver-nusmv] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;NuSMV&amp;quot; в паре: '''[ver-nusmv] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в одиночку: '''[ver-spin] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Spin&amp;quot; в паре: '''[ver-spin] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в одиночку: '''[ver-uppaal] группа Фамилия И.О.'''&lt;br /&gt;
** для выполнения задания &amp;quot;Uppaal&amp;quot; в паре: '''[ver-uppaal] группа Фамилия И.О., Фамилия И.О.'''&lt;br /&gt;
* В ответ будет выслано письмо, содержащее описание системы и цели исследования этой системы при помощи проверки требований.&lt;br /&gt;
* В тексте первого письма можно сформулировать пожелания по виду системы и целей исследования, вплоть до полной формулировки:&lt;br /&gt;
** если пожелания разумны, они с немалой вероятностью будут учтены в задании;&lt;br /&gt;
** типовые примеры пожеланий: &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;
== NuSMV ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.smv&amp;quot;, содержащий формализацию системы и требований в формате средства NuSMV, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые NuSMV, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Spin ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл с расширением &amp;quot;.pml&amp;quot;, содержащий формализацию системы и требований на языке PROMELA, и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Spin, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
== Uppaal ==&lt;br /&gt;
&lt;br /&gt;
Решение этого задания - это&lt;br /&gt;
* файл или файлы, сгенерированные средством Uppaal и содержащие формализацию системы и требований (Uppaal 4.1: файл &amp;quot;.xml&amp;quot;; Uppaal 4.0: файлы &amp;quot;.xml&amp;quot; и &amp;quot;.q&amp;quot;), и&lt;br /&gt;
* пояснение того, как результаты проверки требований, выдаваемые средством Uppaal, соотносятся с поставленными целями, в свободной форме.&lt;br /&gt;
&lt;br /&gt;
= Поощряемые домашние задания =&lt;br /&gt;
&lt;br /&gt;
Решение домашних заданий, а также ''любые'' вопросы по домашним заданиям можно высылать на почту [[Подымов Владислав Васильевич|ему]].&lt;br /&gt;
&lt;br /&gt;
== Логика Хоара ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: начало семинара 3 (по CTL).&lt;br /&gt;
&lt;br /&gt;
Задание сформулировано на последнем слайде материалов семинара 1.&lt;br /&gt;
&lt;br /&gt;
== CTL: формализация требований и алгоритмы проверки формул ==&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* написать письмо с любым содержанием и заголовком '''[ver-ctl] группа Фамилия И.О.''';&lt;br /&gt;
* в ответ будут присланы описание системы и требований к этой системе;&lt;br /&gt;
* требуется адекватно формализовать требования в логике ветвящегося времени, изобразить шаги работы табличного или символьного алгоритма и донести результат до [[Подымов Владислав Васильевич|него]] в любом виде.&lt;br /&gt;
&lt;br /&gt;
Если сомневаетесь, что означает &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;
&lt;br /&gt;
== CTL и справедливость ==&lt;br /&gt;
&lt;br /&gt;
Это '''трудное''' домашнее задание.&lt;br /&gt;
&lt;br /&gt;
Крайний срок выполнения задания: конец семестра.&lt;br /&gt;
&lt;br /&gt;
При выполнении этого задания автоматически засчитывается часть задания &amp;quot;CTL: формализация требований и алгоритмы проверки формул&amp;quot;, относящаяся к изображению шагов работы алгоритма.&lt;br /&gt;
&lt;br /&gt;
Как выполнить это задание:&lt;br /&gt;
* предложить описание символьного алгоритма верификации CTL-формул, работающего в условиях справедливости для CTL:&lt;br /&gt;
** можно написать псевдокод с пояснениями,&lt;br /&gt;
** можно описать на естественном языке, но так, чтобы можно было без чрезмерных усилий строго восстановить каждый шаг работы алгоритма,&lt;br /&gt;
** можно написать программу,&lt;br /&gt;
** ...;&lt;br /&gt;
* привести пример работы алгоритма, иллюстрирующий его отличие от &amp;quot;несправедливого&amp;quot; символьного алгоритма;&lt;br /&gt;
* донести результаты выполнения задания до руководителей курса в любом виде.&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
#Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.&lt;br /&gt;
#Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.&lt;br /&gt;
#K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.&lt;br /&gt;
#B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.&lt;br /&gt;
#Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;br /&gt;
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-05-07T08:38:01Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Материалы для подготовки к государственному экзамену по математике */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-05-07T08:37:17Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)</id>
		<title>Математическая логика и логическое программирование (3-й поток)</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(3-%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA)"/>
				<updated>2020-05-07T08:23:37Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для студентов III потока 7 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Материалы для подготовки к государственному экзамену по математике ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''== &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]''' &lt;br /&gt;
&lt;br /&gt;
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]''' &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''&lt;br /&gt;
&lt;br /&gt;
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''&lt;br /&gt;
&lt;br /&gt;
Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ЭКЗАМЕН ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''&lt;br /&gt;
&lt;br /&gt;
 Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Экзамен по курсу &amp;quot;Математическая логика и логическое программирование&amp;quot; состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]&lt;br /&gt;
&amp;lt;li&amp;gt; Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.&lt;br /&gt;
&amp;lt;li&amp;gt; Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.&lt;br /&gt;
&amp;lt;li&amp;gt; Типовые примеры экзаменационных контрольных работ представлены здесь: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-1.pdf| Пример 1]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-2.pdf| Пример 2]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-3.pdf| Пример 3]]''', &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''[[Media:Test-4.pdf| Пример 4]]'''.&lt;br /&gt;
&amp;lt;/ol&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Задачи по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]&lt;br /&gt;
&lt;br /&gt;
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]&lt;br /&gt;
&lt;br /&gt;
== Лекции по курсу математической логики и логического программирования ==&lt;br /&gt;
&lt;br /&gt;
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы.   &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций     &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.    &lt;br /&gt;
 &lt;br /&gt;
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.       &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.      &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика. &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.         &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.         Размеченные системы переходов. Задача верификации моделей программ.    &lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.&lt;br /&gt;
&lt;br /&gt;
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&lt;br /&gt;
== Программа курса ==   &lt;br /&gt;
&lt;br /&gt;
=== Логика предикатов первого порядка ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.&lt;br /&gt;
&amp;lt;li&amp;gt; Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.&lt;br /&gt;
&amp;lt;li&amp;gt; Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема полноты        табличного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.&lt;br /&gt;
&amp;lt;li&amp;gt; Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Метод резолюций ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.&lt;br /&gt;
&amp;lt;li&amp;gt; Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.&lt;br /&gt;
&amp;lt;li&amp;gt; Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.&lt;br /&gt;
&amp;lt;li&amp;gt; Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.&lt;br /&gt;
&amp;lt;li&amp;gt; Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.&lt;br /&gt;
&amp;lt;li&amp;gt; Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
=== Основы логического программирования ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.&lt;br /&gt;
&amp;lt;li&amp;gt; Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ.&lt;br /&gt;
&amp;lt;li&amp;gt; SLD-резолюция.        SLD-резолютивные вычисления (опровержения) логических программ.        Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная        (процедурная) семантика логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема корректности SLD-резолютивных вычислений        логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt;  Теорема полноты SLD-резолютивных        вычислений логических программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о        независимости правила вычислений. Теорема сильной полноты SLD-резолюции.&lt;br /&gt;
&amp;lt;li&amp;gt; Дерево        SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная        стратегия исполнения логических программ. Неполнота стандартной        стратегии.&lt;br /&gt;
&amp;lt;li&amp;gt; Управление        исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.&lt;br /&gt;
&amp;lt;li&amp;gt; Отрицание в        Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.&lt;br /&gt;
&amp;lt;li&amp;gt; Встроенные        предикаты и функции. Операционная семантика встроенных средств.&lt;br /&gt;
&amp;lt;li&amp;gt; Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Неклассические прикладные логики ===&lt;br /&gt;
&amp;lt;ol start=&amp;quot;28&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Интуиционистская логика. Модели Крипке для интуиционистской логики.        Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.&lt;br /&gt;
&amp;lt;li&amp;gt; Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.        Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности         последовательных программ.&lt;br /&gt;
&amp;lt;li&amp;gt; Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.&lt;br /&gt;
&amp;lt;li&amp;gt; Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Основания математики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;32&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Основная литература ==&lt;br /&gt;
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.&lt;br /&gt;
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.&lt;br /&gt;
# Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, &amp;quot;Физико-математическая литература&amp;quot;, 1995 г., 250 с.&lt;br /&gt;
# Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, &amp;quot;Факториал&amp;quot;, 1998, 288 с.&lt;br /&gt;
# Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.&lt;br /&gt;
# Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.&lt;br /&gt;
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.&lt;br /&gt;
&lt;br /&gt;
== Дополнительная литература ==&lt;br /&gt;
&lt;br /&gt;
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.&lt;br /&gt;
# Верещагин Н.К., Шень А. Языки и исчисления. 2004.&lt;br /&gt;
# Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.&lt;br /&gt;
# Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.&lt;br /&gt;
# Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия &amp;quot;Классический университетский учебник&amp;quot;. Изд.3, 2006, 240 с.&lt;br /&gt;
# Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.&lt;br /&gt;
# Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.&lt;br /&gt;
# Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.&lt;br /&gt;
# Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.&lt;br /&gt;
# Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, &amp;quot;Радио и связь&amp;quot;. 1987, 311 с.&lt;br /&gt;
# Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, &amp;quot;Мир&amp;quot;, 1990, 235 с.&lt;br /&gt;
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.&lt;br /&gt;
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.&lt;br /&gt;
&lt;br /&gt;
== Коллоквиум ==&lt;br /&gt;
&lt;br /&gt;
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.&lt;br /&gt;
&lt;br /&gt;
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.&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;
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;&lt;br /&gt;
&lt;br /&gt;
и 9 теоретических вопросов.&lt;br /&gt;
&lt;br /&gt;
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен. &lt;br /&gt;
&lt;br /&gt;
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;отлично&amp;quot; получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу. &lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;хорошо&amp;quot; получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;удовлетворительно&amp;quot; получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
Оценка &amp;quot;неудовлетворительно&amp;quot; получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.&lt;br /&gt;
&lt;br /&gt;
== Экзамен ==&lt;br /&gt;
&lt;br /&gt;
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.&lt;br /&gt;
&lt;br /&gt;
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.&lt;br /&gt;
Максимальная оценка за решение задачи - 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида &amp;quot;да&amp;quot;-&amp;quot;нет&amp;quot;) на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.&lt;br /&gt;
&lt;br /&gt;
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.&lt;br /&gt;
&lt;br /&gt;
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.&lt;br /&gt;
&lt;br /&gt;
Оценка '''отлично''': не менее 32 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''хорошо''': не менее 24 и не более 31 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.&lt;br /&gt;
&lt;br /&gt;
Оценка '''неудовлетворительно''': не более 15 баллов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Лекционные курсы кафедры МК]]&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B</id>
		<title>Распределенные алгоритмы и системы</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B"/>
				<updated>2020-04-28T08:34:12Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Basic Master Course (group 521). &lt;br /&gt;
&lt;br /&gt;
Lecturer [[Vladimir Zakharov|V. A. Zakharov]].&lt;br /&gt;
&lt;br /&gt;
Lectures — 48 h., Homework — 16 h.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: Tasks_DisAlg.pdf| EXAMINATION TASKS.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| ТЕКУЩАЯ УСПЕВАЕМОСТЬ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| НАЧАЛО ЭКЗАМЕНА - 10.00]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Program of the course ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Part 1. Formal Models.&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Distributed systems and their generic features. Distributed systems architecture. ISO Open System Interaction standard. Algorithmic problems of distributed computing systems. Specific features of distributed algorithms. '''[[Media: Lecture-DA-1.pdf| Lecture 1.]]'''&lt;br /&gt;
#Formal models of distributed systems. Transition systems. Synchronous and asynchronous message passing. Fairness properties. Dependent and independent events. Causal order of events. Equivalence of execution. Distributed computations. Logical clocks. '''[[Media: Lecture-DA-2.pdf| Lecture 2.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 2. Communication Protocols.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Communication Protocols. Errors in message transmission. Symmetric sliding window protocol: protocol design. Mathematical techniques for proving correctness of distributed algorithms. Correctness of sliding window protocol. Implementation of sliding window protocol. Alternating Bit Protocol. '''[[Media: Lecture-DA-3.pdf| Lecture 3.]]'''&lt;br /&gt;
#A timer-based communication protocol. Protocol design. Correctness of timer-based protocol. Implementation of timer-based protocol. '''[[Media: Lecture-DA-4.pdf| Lecture 4.]]'''&lt;br /&gt;
#Routing problem. Destination-based routing. The all-pairs shortest-path problem. Floyd--Warshall algorithm. Toueg's shortest-path algorithm. Merlin--Segall algorithm. Chandy--Misra algorithm. '''[[Media: Lecture-DA-5.pdf| Lecture 5.]]''' &lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 3. Wave and Election Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Wave algorithms: definition, basic properties, applications. The Ring algorithm. The Tree algorithm. The Echo algorithm. '''[[Media: Lecture-DA-6.pdf| Lecture 6.]]''' &lt;br /&gt;
#The Phase algorithm. Phinn's algorithm. Traversal algorithms. Depth-first-search traversal. Awerbuch's and Cidon's algorithms. '''[[Media: Lecture-DA-7.pdf| Lecture 7.]]'''&lt;br /&gt;
#Leader Election Problem. Leader election in rings: Le Lann Algorithm. Cheng-Roberts Algorithm. Paterson/Dolev-Clave-Rode Algorithm. Extinguish effect. '''[[Media: Lecture-DA-8.pdf| Lecture 8.]]''' &lt;br /&gt;
#Leader election in arbitrary networks. Lower bounds. Gallager-Humblet-Spira Algorithm (GHS). Corach-Katten-Moran Algorithm. '''[[Media: Lecture-DA-9.pdf| Lecture 9.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Termination and Deadlock Detection.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Termination detection problem. The Dijkstra-Scholten Algorithm. The Shavit-Francez Algorithm. The Safra's Algorithm. The Credit-Recovery Algorithm. The Rana's Algorithm. '''[[Media: Lecture-DA-10.pdf| Lecture 10.]]'''&lt;br /&gt;
#Snapshot problem. Chandy--Lamport algorithm. Lai--Yang algorithm. Applications of snapshot algorithms. Deadlock detection. '''[[Media: Lecture-DA-11.pdf| Lecture 11.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Fault Tolerance of Distributed Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
# Fault Tolerant Algorithms. Failure Models. Decision Problems. Consensus Problem. Impossibility of Perfect Consensus. On the possibility of Consensus for some Distributed Systems. Consensus Problem for synchronous systems. '''[[Media: Lecture-DA-12.pdf| Lecture 12.]]'''&lt;br /&gt;
&amp;lt;!-- #Стабилизирующиеся алгоритмы. Пример Дейкстры. Общие принципы построения стабилизирующихся алгоритмов.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literature ==&lt;br /&gt;
&lt;br /&gt;
#G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)&lt;br /&gt;
#W. Fokkink. Distributed Algorithms: Intuitive Approach. The MIT Press. 2013. (русск. пер. У. Фоккинк. Распределенные алгоритмв: интуитивный подход., изд-во Питер, 2017 г., 231 с.)&lt;br /&gt;
#N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996, 906 pp.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B</id>
		<title>Распределенные алгоритмы и системы</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B"/>
				<updated>2020-04-28T08:30:59Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Литература */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для магистров 521 группы 10 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: Tasks_DisAlg.pdf| ЗАДАЧИ К ЭКЗАМЕНУ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| ТЕКУЩАЯ УСПЕВАЕМОСТЬ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| НАЧАЛО ЭКЗАМЕНА - 10.00]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Program of the course ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Part 1. Formal Models.&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Distributed systems and their generic features. Distributed systems architecture. ISO Open System Interaction standard. Algorithmic problems of distributed computing systems. Specific features of distributed algorithms. '''[[Media: Lecture-DA-1.pdf| Lecture 1.]]'''&lt;br /&gt;
#Formal models of distributed systems. Transition systems. Synchronous and asynchronous message passing. Fairness properties. Dependent and independent events. Causal order of events. Equivalence of execution. Distributed computations. Logical clocks. '''[[Media: Lecture-DA-2.pdf| Lecture 2.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 2. Communication Protocols.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Communication Protocols. Errors in message transmission. Symmetric sliding window protocol: protocol design. Mathematical techniques for proving correctness of distributed algorithms. Correctness of sliding window protocol. Implementation of sliding window protocol. Alternating Bit Protocol. '''[[Media: Lecture-DA-3.pdf| Lecture 3.]]'''&lt;br /&gt;
#A timer-based communication protocol. Protocol design. Correctness of timer-based protocol. Implementation of timer-based protocol. '''[[Media: Lecture-DA-4.pdf| Lecture 4.]]'''&lt;br /&gt;
#Routing problem. Destination-based routing. The all-pairs shortest-path problem. Floyd--Warshall algorithm. Toueg's shortest-path algorithm. Merlin--Segall algorithm. Chandy--Misra algorithm. '''[[Media: Lecture-DA-5.pdf| Lecture 5.]]''' &lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 3. Wave and Election Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Wave algorithms: definition, basic properties, applications. The Ring algorithm. The Tree algorithm. The Echo algorithm. '''[[Media: Lecture-DA-6.pdf| Lecture 6.]]''' &lt;br /&gt;
#The Phase algorithm. Phinn's algorithm. Traversal algorithms. Depth-first-search traversal. Awerbuch's and Cidon's algorithms. '''[[Media: Lecture-DA-7.pdf| Lecture 7.]]'''&lt;br /&gt;
#Leader Election Problem. Leader election in rings: Le Lann Algorithm. Cheng-Roberts Algorithm. Paterson/Dolev-Clave-Rode Algorithm. Extinguish effect. '''[[Media: Lecture-DA-8.pdf| Lecture 8.]]''' &lt;br /&gt;
#Leader election in arbitrary networks. Lower bounds. Gallager-Humblet-Spira Algorithm (GHS). Corach-Katten-Moran Algorithm. '''[[Media: Lecture-DA-9.pdf| Lecture 9.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Termination and Deadlock Detection.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Termination detection problem. The Dijkstra-Scholten Algorithm. The Shavit-Francez Algorithm. The Safra's Algorithm. The Credit-Recovery Algorithm. The Rana's Algorithm. '''[[Media: Lecture-DA-10.pdf| Lecture 10.]]'''&lt;br /&gt;
#Snapshot problem. Chandy--Lamport algorithm. Lai--Yang algorithm. Applications of snapshot algorithms. Deadlock detection. '''[[Media: Lecture-DA-11.pdf| Lecture 11.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Fault Tolerance of Distributed Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
# Fault Tolerant Algorithms. Failure Models. Decision Problems. Consensus Problem. Impossibility of Perfect Consensus. On the possibility of Consensus for some Distributed Systems. Consensus Problem for synchronous systems. '''[[Media: Lecture-DA-12.pdf| Lecture 12.]]'''&lt;br /&gt;
&amp;lt;!-- #Стабилизирующиеся алгоритмы. Пример Дейкстры. Общие принципы построения стабилизирующихся алгоритмов.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literature ==&lt;br /&gt;
&lt;br /&gt;
#G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)&lt;br /&gt;
#W. Fokkink. Distributed Algorithms: Intuitive Approach. The MIT Press. 2013. (русск. пер. У. Фоккинк. Распределенные алгоритмв: интуитивный подход., изд-во Питер, 2017 г., 231 с.)&lt;br /&gt;
#N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996, 906 pp.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture-DA-12.pdf</id>
		<title>Файл:Lecture-DA-12.pdf</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture-DA-12.pdf"/>
				<updated>2020-04-28T08:30:08Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B</id>
		<title>Распределенные алгоритмы и системы</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B"/>
				<updated>2020-04-28T08:29:26Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Program of the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для магистров 521 группы 10 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: Tasks_DisAlg.pdf| ЗАДАЧИ К ЭКЗАМЕНУ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| ТЕКУЩАЯ УСПЕВАЕМОСТЬ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| НАЧАЛО ЭКЗАМЕНА - 10.00]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Program of the course ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Part 1. Formal Models.&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Distributed systems and their generic features. Distributed systems architecture. ISO Open System Interaction standard. Algorithmic problems of distributed computing systems. Specific features of distributed algorithms. '''[[Media: Lecture-DA-1.pdf| Lecture 1.]]'''&lt;br /&gt;
#Formal models of distributed systems. Transition systems. Synchronous and asynchronous message passing. Fairness properties. Dependent and independent events. Causal order of events. Equivalence of execution. Distributed computations. Logical clocks. '''[[Media: Lecture-DA-2.pdf| Lecture 2.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 2. Communication Protocols.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Communication Protocols. Errors in message transmission. Symmetric sliding window protocol: protocol design. Mathematical techniques for proving correctness of distributed algorithms. Correctness of sliding window protocol. Implementation of sliding window protocol. Alternating Bit Protocol. '''[[Media: Lecture-DA-3.pdf| Lecture 3.]]'''&lt;br /&gt;
#A timer-based communication protocol. Protocol design. Correctness of timer-based protocol. Implementation of timer-based protocol. '''[[Media: Lecture-DA-4.pdf| Lecture 4.]]'''&lt;br /&gt;
#Routing problem. Destination-based routing. The all-pairs shortest-path problem. Floyd--Warshall algorithm. Toueg's shortest-path algorithm. Merlin--Segall algorithm. Chandy--Misra algorithm. '''[[Media: Lecture-DA-5.pdf| Lecture 5.]]''' &lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 3. Wave and Election Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Wave algorithms: definition, basic properties, applications. The Ring algorithm. The Tree algorithm. The Echo algorithm. '''[[Media: Lecture-DA-6.pdf| Lecture 6.]]''' &lt;br /&gt;
#The Phase algorithm. Phinn's algorithm. Traversal algorithms. Depth-first-search traversal. Awerbuch's and Cidon's algorithms. '''[[Media: Lecture-DA-7.pdf| Lecture 7.]]'''&lt;br /&gt;
#Leader Election Problem. Leader election in rings: Le Lann Algorithm. Cheng-Roberts Algorithm. Paterson/Dolev-Clave-Rode Algorithm. Extinguish effect. '''[[Media: Lecture-DA-8.pdf| Lecture 8.]]''' &lt;br /&gt;
#Leader election in arbitrary networks. Lower bounds. Gallager-Humblet-Spira Algorithm (GHS). Corach-Katten-Moran Algorithm. '''[[Media: Lecture-DA-9.pdf| Lecture 9.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Termination and Deadlock Detection.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Termination detection problem. The Dijkstra-Scholten Algorithm. The Shavit-Francez Algorithm. The Safra's Algorithm. The Credit-Recovery Algorithm. The Rana's Algorithm. '''[[Media: Lecture-DA-10.pdf| Lecture 10.]]'''&lt;br /&gt;
#Snapshot problem. Chandy--Lamport algorithm. Lai--Yang algorithm. Applications of snapshot algorithms. Deadlock detection. '''[[Media: Lecture-DA-11.pdf| Lecture 11.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Fault Tolerance of Distributed Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
# Fault Tolerant Algorithms. Failure Models. Decision Problems. Consensus Problem. Impossibility of Perfect Consensus. On the possibility of Consensus for some Distributed Systems. Consensus Problem for synchronous systems. '''[[Media: Lecture-DA-12.pdf| Lecture 12.]]'''&lt;br /&gt;
&amp;lt;!-- #Стабилизирующиеся алгоритмы. Пример Дейкстры. Общие принципы построения стабилизирующихся алгоритмов.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
#G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)&lt;br /&gt;
#W. Fokkink. Distributed Algorithms: Intuitive Approach. The MIT Press. 2013. (русск. пер. У. Фоккинк. Распределенные алгоритмв: интуитивный подход., изд-во Питер, 2017 г., 231 с.)&lt;br /&gt;
#N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996, 906 pp.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture-DA-11.pdf</id>
		<title>Файл:Lecture-DA-11.pdf</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture-DA-11.pdf"/>
				<updated>2020-04-19T09:10:32Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B</id>
		<title>Распределенные алгоритмы и системы</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B"/>
				<updated>2020-04-19T09:09:44Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Program of the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для магистров 521 группы 10 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: Tasks_DisAlg.pdf| ЗАДАЧИ К ЭКЗАМЕНУ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| ТЕКУЩАЯ УСПЕВАЕМОСТЬ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| НАЧАЛО ЭКЗАМЕНА - 10.00]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Program of the course ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Part 1. Formal Models.&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Distributed systems and their generic features. Distributed systems architecture. ISO Open System Interaction standard. Algorithmic problems of distributed computing systems. Specific features of distributed algorithms. '''[[Media: Lecture-DA-1.pdf| Lecture 1.]]'''&lt;br /&gt;
#Formal models of distributed systems. Transition systems. Synchronous and asynchronous message passing. Fairness properties. Dependent and independent events. Causal order of events. Equivalence of execution. Distributed computations. Logical clocks. '''[[Media: Lecture-DA-2.pdf| Lecture 2.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 2. Communication Protocols.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Communication Protocols. Errors in message transmission. Symmetric sliding window protocol: protocol design. Mathematical techniques for proving correctness of distributed algorithms. Correctness of sliding window protocol. Implementation of sliding window protocol. Alternating Bit Protocol. '''[[Media: Lecture-DA-3.pdf| Lecture 3.]]'''&lt;br /&gt;
#A timer-based communication protocol. Protocol design. Correctness of timer-based protocol. Implementation of timer-based protocol. '''[[Media: Lecture-DA-4.pdf| Lecture 4.]]'''&lt;br /&gt;
#Routing problem. Destination-based routing. The all-pairs shortest-path problem. Floyd--Warshall algorithm. Toueg's shortest-path algorithm. Merlin--Segall algorithm. Chandy--Misra algorithm. '''[[Media: Lecture-DA-5.pdf| Lecture 5.]]''' &lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 3. Wave and Election Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Wave algorithms: definition, basic properties, applications. The Ring algorithm. The Tree algorithm. The Echo algorithm. '''[[Media: Lecture-DA-6.pdf| Lecture 6.]]''' &lt;br /&gt;
#The Phase algorithm. Phinn's algorithm. Traversal algorithms. Depth-first-search traversal. Awerbuch's and Cidon's algorithms. '''[[Media: Lecture-DA-7.pdf| Lecture 7.]]'''&lt;br /&gt;
#Leader Election Problem. Leader election in rings: Le Lann Algorithm. Cheng-Roberts Algorithm. Paterson/Dolev-Clave-Rode Algorithm. Extinguish effect. '''[[Media: Lecture-DA-8.pdf| Lecture 8.]]''' &lt;br /&gt;
#Leader election in arbitrary networks. Lower bounds. Gallager-Humblet-Spira Algorithm (GHS). Corach-Katten-Moran Algorithm. '''[[Media: Lecture-DA-9.pdf| Lecture 9.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Termination and Deadlock Detection.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Termination detection problem. The Dijkstra-Scholten Algorithm. The Shavit-Francez Algorithm. The Safra's Algorithm. The Credit-Recovery Algorithm. The Rana's Algorithm. '''[[Media: Lecture-DA-10.pdf| Lecture 10.]]'''&lt;br /&gt;
#Snapshot problem. Chandy--Lamport algorithm. Lai--Yang algorithm. Applications of snapshot algorithms. Deadlock detection. '''[[Media: Lecture-DA-11.pdf| Лекция 11.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Часть 4. Вопросы надежности распределенных алгоритмов.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Задача обеспечения отказоустойчивости распределенных систем. Невозможность построения робастных асинхронных систем. Синхронные робастные алгоритмы принятия решения. Использование криптографических примитивов для повышения отказоустойчивости. &amp;lt;!--'''[[Media: DistrAlg_13.pdf| Лекция 13.]]'''&lt;br /&gt;
#Стабилизирующиеся алгоритмы. Пример Дейкстры. Общие принципы построения стабилизирующихся алгоритмов.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
#G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)&lt;br /&gt;
#W. Fokkink. Distributed Algorithms: Intuitive Approach. The MIT Press. 2013. (русск. пер. У. Фоккинк. Распределенные алгоритмв: интуитивный подход., изд-во Питер, 2017 г., 231 с.)&lt;br /&gt;
#N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996, 906 pp.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B</id>
		<title>Распределенные алгоритмы и системы</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B"/>
				<updated>2020-04-19T09:08:14Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Program of the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для магистров 521 группы 10 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: Tasks_DisAlg.pdf| ЗАДАЧИ К ЭКЗАМЕНУ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| ТЕКУЩАЯ УСПЕВАЕМОСТЬ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| НАЧАЛО ЭКЗАМЕНА - 10.00]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Program of the course ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Part 1. Formal Models.&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Distributed systems and their generic features. Distributed systems architecture. ISO Open System Interaction standard. Algorithmic problems of distributed computing systems. Specific features of distributed algorithms. '''[[Media: Lecture-DA-1.pdf| Lecture 1.]]'''&lt;br /&gt;
#Formal models of distributed systems. Transition systems. Synchronous and asynchronous message passing. Fairness properties. Dependent and independent events. Causal order of events. Equivalence of execution. Distributed computations. Logical clocks. '''[[Media: Lecture-DA-2.pdf| Lecture 2.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 2. Communication Protocols.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Communication Protocols. Errors in message transmission. Symmetric sliding window protocol: protocol design. Mathematical techniques for proving correctness of distributed algorithms. Correctness of sliding window protocol. Implementation of sliding window protocol. Alternating Bit Protocol. '''[[Media: Lecture-DA-3.pdf| Lecture 3.]]'''&lt;br /&gt;
#A timer-based communication protocol. Protocol design. Correctness of timer-based protocol. Implementation of timer-based protocol. '''[[Media: Lecture-DA-4.pdf| Lecture 4.]]'''&lt;br /&gt;
#Routing problem. Destination-based routing. The all-pairs shortest-path problem. Floyd--Warshall algorithm. Toueg's shortest-path algorithm. Merlin--Segall algorithm. Chandy--Misra algorithm. '''[[Media: Lecture-DA-5.pdf| Lecture 5.]]''' &lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 3. Wave and Election Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Wave algorithms: definition, basic properties, applications. The Ring algorithm. The Tree algorithm. The Echo algorithm. '''[[Media: Lecture-DA-6.pdf| Lecture 6.]]''' &lt;br /&gt;
#The Phase algorithm. Phinn's algorithm. Traversal algorithms. Depth-first-search traversal. Awerbuch's and Cidon's algorithms. '''[[Media: Lecture-DA-7.pdf| Lecture 7.]]'''&lt;br /&gt;
#Leader Election Problem. Leader election in rings: Le Lann Algorithm. Cheng-Roberts Algorithm. Paterson/Dolev-Clave-Rode Algorithm. Extinguish effect. '''[[Media: Lecture-DA-8.pdf| Lecture 8.]]''' &lt;br /&gt;
#Leader election in arbitrary networks. Lower bounds. Gallager-Humblet-Spira Algorithm (GHS). Corach-Katten-Moran Algorithm. '''[[Media: Lecture-DA-9.pdf| Lecture 9.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Termination and Deadlock Detection.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Termination detection problem. The Dijkstra-Scholten Algorithm. The Shavit-Francez Algorithm. The Safra's Algorithm. The Credit-Recovery Algorithm. The Rana's Algorithm. '''[[Media: Lecture-DA-10.pdf| Lecture 10.]]'''&lt;br /&gt;
#Snapshot problem. Chandy--Lamport algorithm. Lai--Yang algorithm. Applications of snapshot algorithms.&lt;br /&gt;
Deadlock detection. '''[[Media: DistrAlg_11.pdf| Лекция 11.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Часть 4. Вопросы надежности распределенных алгоритмов.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Задача обеспечения отказоустойчивости распределенных систем. Невозможность построения робастных асинхронных систем. Синхронные робастные алгоритмы принятия решения. Использование криптографических примитивов для повышения отказоустойчивости. &amp;lt;!--'''[[Media: DistrAlg_13.pdf| Лекция 13.]]'''&lt;br /&gt;
#Стабилизирующиеся алгоритмы. Пример Дейкстры. Общие принципы построения стабилизирующихся алгоритмов.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
#G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)&lt;br /&gt;
#W. Fokkink. Distributed Algorithms: Intuitive Approach. The MIT Press. 2013. (русск. пер. У. Фоккинк. Распределенные алгоритмв: интуитивный подход., изд-во Питер, 2017 г., 231 с.)&lt;br /&gt;
#N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996, 906 pp.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B</id>
		<title>Распределенные алгоритмы и системы</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B"/>
				<updated>2020-04-13T10:46:52Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Program of the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для магистров 521 группы 10 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: Tasks_DisAlg.pdf| ЗАДАЧИ К ЭКЗАМЕНУ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| ТЕКУЩАЯ УСПЕВАЕМОСТЬ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| НАЧАЛО ЭКЗАМЕНА - 10.00]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Program of the course ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Part 1. Formal Models.&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Distributed systems and their generic features. Distributed systems architecture. ISO Open System Interaction standard. Algorithmic problems of distributed computing systems. Specific features of distributed algorithms. '''[[Media: Lecture-DA-1.pdf| Lecture 1.]]'''&lt;br /&gt;
#Formal models of distributed systems. Transition systems. Synchronous and asynchronous message passing. Fairness properties. Dependent and independent events. Causal order of events. Equivalence of execution. Distributed computations. Logical clocks. '''[[Media: Lecture-DA-2.pdf| Lecture 2.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 2. Communication Protocols.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Communication Protocols. Errors in message transmission. Symmetric sliding window protocol: protocol design. Mathematical techniques for proving correctness of distributed algorithms. Correctness of sliding window protocol. Implementation of sliding window protocol. Alternating Bit Protocol. '''[[Media: Lecture-DA-3.pdf| Lecture 3.]]'''&lt;br /&gt;
#A timer-based communication protocol. Protocol design. Correctness of timer-based protocol. Implementation of timer-based protocol. '''[[Media: Lecture-DA-4.pdf| Lecture 4.]]'''&lt;br /&gt;
#Routing problem. Destination-based routing. The all-pairs shortest-path problem. Floyd--Warshall algorithm. Toueg's shortest-path algorithm. Merlin--Segall algorithm. Chandy--Misra algorithm. '''[[Media: Lecture-DA-5.pdf| Lecture 5.]]''' &lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 3. Wave and Election Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Wave algorithms: definition, basic properties, applications. The Ring algorithm. The Tree algorithm. The Echo algorithm. '''[[Media: Lecture-DA-6.pdf| Lecture 6.]]''' &lt;br /&gt;
#The Phase algorithm. Phinn's algorithm. Traversal algorithms. Depth-first-search traversal. Awerbuch's and Cidon's algorithms. '''[[Media: Lecture-DA-7.pdf| Lecture 7.]]'''&lt;br /&gt;
#Leader Election Problem. Leader election in rings: Le Lann Algorithm. Cheng-Roberts Algorithm. Paterson/Dolev-Clave-Rode Algorithm. Extinguish effect. '''[[Media: Lecture-DA-8.pdf| Lecture 8.]]''' &lt;br /&gt;
#Leader election in arbitrary networks. Lower bounds. Gallager-Humblet-Spira Algorithm (GHS). Corach-Katten-Moran Algorithm. '''[[Media: Lecture-DA-9.pdf| Lecture 9.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Termination and Deadlock Detection.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Termination detection problem. The Dijkstra-Scholten Algorithm. The Shavit-Francez Algorithm. The Safra's Algorithm. The Credit-Recovery Algorithm. The Rana's Algorithm. '''[[Media: Lecture-DA-10.pdf| Lecture 10.]]'''&lt;br /&gt;
#Задача сохранения моментального состояния. Алгоритм Чанди-Лампорта. Алгоритм Лаи-Янга. Применение алгоритмов обнаружения моментальной разметки и завершения вычислений для выявления блокировки вычислений. &amp;lt;!--'''[[Media: DistrAlg_12.pdf| Лекция 12.]]'''--&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Часть 4. Вопросы надежности распределенных алгоритмов.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Задача обеспечения отказоустойчивости распределенных систем. Невозможность построения робастных асинхронных систем. Синхронные робастные алгоритмы принятия решения. Использование криптографических примитивов для повышения отказоустойчивости. &amp;lt;!--'''[[Media: DistrAlg_13.pdf| Лекция 13.]]'''&lt;br /&gt;
#Стабилизирующиеся алгоритмы. Пример Дейкстры. Общие принципы построения стабилизирующихся алгоритмов.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
#G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)&lt;br /&gt;
#W. Fokkink. Distributed Algorithms: Intuitive Approach. The MIT Press. 2013. (русск. пер. У. Фоккинк. Распределенные алгоритмв: интуитивный подход., изд-во Питер, 2017 г., 231 с.)&lt;br /&gt;
#N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996, 906 pp.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B</id>
		<title>Распределенные алгоритмы и системы</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B"/>
				<updated>2020-04-13T10:42:37Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: /* Program of the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательный курс для магистров 521 группы 10 семестра обучения. &lt;br /&gt;
&lt;br /&gt;
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].&lt;br /&gt;
&lt;br /&gt;
Лекционная нагрузка — 48 ч., семинары — 16 ч.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: Tasks_DisAlg.pdf| ЗАДАЧИ К ЭКЗАМЕНУ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| ТЕКУЩАЯ УСПЕВАЕМОСТЬ.]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;'''[[Media: G-521-2017.pdf| НАЧАЛО ЭКЗАМЕНА - 10.00]]'''&amp;lt;/h4&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Program of the course ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Part 1. Formal Models.&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Distributed systems and their generic features. Distributed systems architecture. ISO Open System Interaction standard. Algorithmic problems of distributed computing systems. Specific features of distributed algorithms. '''[[Media: Lecture-DA-1.pdf| Lecture 1.]]'''&lt;br /&gt;
#Formal models of distributed systems. Transition systems. Synchronous and asynchronous message passing. Fairness properties. Dependent and independent events. Causal order of events. Equivalence of execution. Distributed computations. Logical clocks. '''[[Media: Lecture-DA-2.pdf| Lecture 2.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 2. Communication Protocols.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Communication Protocols. Errors in message transmission. Symmetric sliding window protocol: protocol design. Mathematical techniques for proving correctness of distributed algorithms. Correctness of sliding window protocol. Implementation of sliding window protocol. Alternating Bit Protocol. '''[[Media: Lecture-DA-3.pdf| Lecture 3.]]'''&lt;br /&gt;
#A timer-based communication protocol. Protocol design. Correctness of timer-based protocol. Implementation of timer-based protocol. '''[[Media: Lecture-DA-4.pdf| Lecture 4.]]'''&lt;br /&gt;
#Routing problem. Destination-based routing. The all-pairs shortest-path problem. Floyd--Warshall algorithm. Toueg's shortest-path algorithm. Merlin--Segall algorithm. Chandy--Misra algorithm. '''[[Media: Lecture-DA-5.pdf| Lecture 5.]]''' &lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 3. Wave and Election Algorithms.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Wave algorithms: definition, basic properties, applications. The Ring algorithm. The Tree algorithm. The Echo algorithm. '''[[Media: Lecture-DA-6.pdf| Lecture 6.]]''' &lt;br /&gt;
#The Phase algorithm. Phinn's algorithm. Traversal algorithms. Depth-first-search traversal. Awerbuch's and Cidon's algorithms. '''[[Media: Lecture-DA-7.pdf| Lecture 7.]]'''&lt;br /&gt;
#Leader Election Problem. Leader election in rings: Le Lann Algorithm. Cheng-Roberts Algorithm. Paterson/Dolev-Clave-Rode Algorithm. Extinguish effect. '''[[Media: Lecture-DA-8.pdf| Lecture 8.]]''' &lt;br /&gt;
#Leader election in arbitrary networks. Lower bounds. Gallager-Humblet-Spira Algorithm (GHS). Corach-Katten-Moran Algorithm. '''[[Media: Lecture-DA-9.pdf| Lecture 9.]]'''&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Part 4. Termination and Deadlock Detection.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Termination detection problem. The Dijkstra-Scholten Algorithm. The Shavit-Francez Algorithm. The Safra's Algorithm. The Credit-Recovery Algorithm. The Rana's Algorithm. '''[[Media: Lecture-DA-10.pdf| Лекция 10.]]'''&lt;br /&gt;
#Задача сохранения моментального состояния. Алгоритм Чанди-Лампорта. Алгоритм Лаи-Янга. Применение алгоритмов обнаружения моментальной разметки и завершения вычислений для выявления блокировки вычислений. &amp;lt;!--'''[[Media: DistrAlg_12.pdf| Лекция 12.]]'''--&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#:&amp;lt;h4&amp;gt;Часть 4. Вопросы надежности распределенных алгоритмов.&amp;lt;/h4&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#Задача обеспечения отказоустойчивости распределенных систем. Невозможность построения робастных асинхронных систем. Синхронные робастные алгоритмы принятия решения. Использование криптографических примитивов для повышения отказоустойчивости. &amp;lt;!--'''[[Media: DistrAlg_13.pdf| Лекция 13.]]'''&lt;br /&gt;
#Стабилизирующиеся алгоритмы. Пример Дейкстры. Общие принципы построения стабилизирующихся алгоритмов.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
#G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)&lt;br /&gt;
#W. Fokkink. Distributed Algorithms: Intuitive Approach. The MIT Press. 2013. (русск. пер. У. Фоккинк. Распределенные алгоритмв: интуитивный подход., изд-во Питер, 2017 г., 231 с.)&lt;br /&gt;
#N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996, 906 pp.&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	<entry>
		<id>//mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture-DA-10.pdf</id>
		<title>Файл:Lecture-DA-10.pdf</title>
		<link rel="alternate" type="text/html" href="https://mk.cs.msu.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Lecture-DA-10.pdf"/>
				<updated>2020-04-13T10:41:02Z</updated>
		
		<summary type="html">&lt;p&gt;ZakharovVA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ZakharovVA</name></author>	</entry>

	</feed>