Математическая логика и логическое программирование (3-й поток) — различия между версиями

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск
 
(не показаны 48 промежуточные версии 1 участника)
Строка 1: Строка 1:
 
[[Категория:Лекционные курсы кафедры МК]]
 
[[Категория:Лекционные курсы кафедры МК]]
''Актуальность информации: осенний семестр 2022/2023 учебного года.''
+
''Актуальность информации: осенний семестр 2024/2025 учебного года.''
  
 
Обязательный курс для студентов 3 потока 4 курса в 7 семестре.
 
Обязательный курс для студентов 3 потока 4 курса в 7 семестре.
Строка 21: Строка 21:
 
[[Media: MLLP_VP_07.pdf|Блок 7.]] Логика предикатов: можно ли проверить общезначимость формулы "в лоб"?
 
[[Media: MLLP_VP_07.pdf|Блок 7.]] Логика предикатов: можно ли проверить общезначимость формулы "в лоб"?
  
[[Media: MLLP_VP_08.pdf|Блок 8.]] Логика высказываний: метод семантических таблиц.
+
[[Media: MLLP_VP_08.pdf|Блок 8.]] Метод семантических таблиц: семантические таблицы.
  
[[Media: MLLP_VP_09.pdf|Блок 9.]] Метод семантических таблиц в логике предикатов: семантические таблицы.
+
[[Media: MLLP_VP_09.pdf|Блок 9.]] Подстановки (основные определения).
  
[[Media: MLLP_VP_10.pdf|Блок 10.]] Подстановки (основные определения).
+
[[Media: MLLP_VP_10.pdf|Блок 10.]] Метод семантических таблиц: табличный вывод.
  
[[Media: MLLP_VP_11.pdf|Блок 11.]] Метод семантических таблиц в логике предикатов: табличный вывод.
+
[[Media: MLLP_VP_11.pdf|Блок 11.]] Метод семантических таблиц: корректность табличного вывода.
  
[[Media: MLLP_VP_12.pdf|Блок 12.]] Метод семантических таблиц в логике предикатов: корректность табличного вывода.
+
[[Media: MLLP_VP_12.pdf|Блок 12.]] Метод семантических таблиц: полнота табличного вывода.
  
[[Media: MLLP_VP_13.pdf|Блок 13.]] Метод семантических таблиц в логике предикатов: полнота табличного вывода.
+
[[Media: MLLP_VP_13.pdf|Блок 13.]] Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Автоматизация доказательства теорем.
  
[[Media: MLLP_VP_14.pdf|Блок 14.]] Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Автоматизация доказательства теорем.
+
[[Media: MLLP_VP_14.pdf|Блок 14.]] Общая схема метода резолюций.
  
[[Media: MLLP_VP_15.pdf|Блок 15.]] Общая схема метода резолюций.
+
[[Media: MLLP_VP_15.pdf|Блок 15.]] Равносильность формул логики предикатов.
  
[[Media: MLLP_VP_16.pdf|Блок 16.]] Равносильность формул логики предикатов.
+
[[Media: MLLP_VP_16.pdf|Блок 16.]] Предварённая нормальная форма (ПНФ).
  
[[Media: MLLP_VP_17.pdf|Блок 17.]] Предварённая нормальная форма (ПНФ).
+
[[Media: MLLP_VP_17.pdf|Блок 17.]] Сколемовская стандартная форма (ССФ).
  
[[Media: MLLP_VP_18.pdf|Блок 18.]] Сколемовская стандартная форма (ССФ).
+
[[Media: MLLP_VP_18.pdf|Блок 18.]] Системы дизъюнктов.
  
[[Media: MLLP_VP_19.pdf|Блок 19.]] Системы дизъюнктов.
+
[[Media: MLLP_VP_19.pdf|Блок 19.]] Композиция подстановок. Постановка задачи унификации.
  
[[Media: MLLP_VP_20.pdf|Блок 20.]] Композиция подстановок. Постановка задачи унификации.
+
[[Media: MLLP_VP_20.pdf|Блок 20.]] Алгоритм унификации атомарных формул.
  
[[Media: MLLP_VP_21.pdf|Блок 21.]] Алгоритм унификации атомарных формул.
+
[[Media: MLLP_VP_21.pdf|Блок 21.]] Монотонность и транзитивность логического следования.
  
''Слайды будут появляться по мере проведения занятий.''
+
[[Media: MLLP_VP_22.pdf|Блок 22.]] Резолютивный вывод. Корректность резолютивного вывода.
  
= Сборники задач для семинаров =
+
[[Media: MLLP_VP_23.pdf|Блок 23.]] Обоснование общезначимости формулы методом резолюций (пример).
  
[[Media: MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий.]]
+
[[Media: MLLP_VP_24.pdf|Блок 24.]] Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях.
  
[[Медиа: MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения.]]
+
[[Media: MLLP_VP_25.pdf|Блок 25.]] Теорема Эрбрана. Полнота резолютивного вывода.
  
= Материалы прошлого года =
+
[[Media: MLLP_VP_26.pdf|Блок 26.]] Иллюстрация полноты резолютивного вывода.
  
Лектором был [[Захаров Владимир Анатольевич|Захаров В.А.]].
+
[[Media: MLLP_VP_27.pdf|Блок 27.]] Стратегии резолютивного вывода.
  
Материалы, в том числе слайды и видеозаписи лекций, - [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9 по ссылке] в папке "ЗахаровВА".
+
[[Media: MLLP_VP_28.pdf|Блок 28.]] Даша, Саша, Паша, пиво и метод семантических таблиц с методом резолюций.
 +
 
 +
[[Media: MLLP_VP_29.pdf|Блок 29.]] Хорновские дизъюнкты.
 +
 
 +
[[Media: MLLP_VP_30.pdf|Блок 30.]] Вычислительные возможности метода резолюций.
 +
 
 +
[[Media: MLLP_VP_31.pdf|Блок 31.]] Хорновские логические программы: синтаксис, декларативная семантика, правильные ответы.
 +
 
 +
[[Media: MLLP_VP_32.pdf|Блок 32.]] Хорновские логические программы: списки.
 +
 
 +
[[Media: MLLP_VP_33.pdf|Блок 33.]] Хорновские логические программы: операционная семантика, SLD-резолютивные вычисления, SLD-вычислимые ответы.
 +
 
 +
[[Media: MLLP_VP_34.pdf|Блок 34.]] Хорновские логические программы: корректность операционной семантики.
 +
 
 +
[[Media: MLLP_VP_35.pdf|Блок 35.]] Хорновские логические программы: полнота операционной семантики.
 +
 
 +
[[Media: MLLP_VP_36.pdf|Блок 36.]] Хорновские логические программы: содержательное сравнение семантик.
 +
 
 +
[[Media: MLLP_VP_37.pdf|Блок 37.]] Хорновские логические программы: переключательная лемма, сильная полнота операционной семантики, стандартное правило выбора подцели.
 +
 
 +
[[Media: MLLP_VP_38.pdf|Блок 38.]] Хорновские логические программы: деревья SLD-резолютивных вычислений, стратегии вычисления и их полнота, стандартная стратегия вычисления.
 +
 
 +
[[Media: MLLP_VP_39.pdf|Блок 39.]] Машины Тьюринга.
 +
 
 +
[[Media: MLLP_VP_40.pdf|Блок 40.]] Моделирование машин Тьюринга хорновскими логическими программами.
 +
 
 +
[[Media: MLLP_VP_41.pdf|Блок 41.]] Задачи и проблемы. Алгоритмы. Разрешимость. M-сводимость.
 +
 
 +
[[Media: MLLP_VP_42.pdf|Блок 42.]] Теорема Чёрча.
 +
 
 +
[[Media: MLLP_VP_43.pdf|Блок 43.]] Логические программы: встроенные предикаты и функции.
 +
 
 +
[[Media: MLLP_VP_44.pdf|Блок 44.]] Логические программы: стековые вычисления.
 +
 
 +
[[Media: MLLP_VP_45.pdf|Блок 45.]] Логические программы: управление вычислениями, оператор отсечения.
 +
 
 +
[[Media: MLLP_VP_46.pdf|Блок 46.]] Отрицание в логическом программировании. Допущение замкнутости мира.
 +
 
 +
[[Media: MLLP_VP_47.pdf|Блок 47.]] Логические программы: оператор отрицания, SLDNF-резолюция.
 +
 
 +
[[Media: MLLP_VP_48.pdf|Блок 48.]] Модальные логики.
 +
 
 +
[[Media: MLLP_VP_49.pdf|Блок 49.]] Эпистемические логики.
 +
 
 +
[[Media: MLLP_VP_50.pdf|Блок 50.]] Темпоральные логики.
 +
 
 +
[[Media: MLLP_VP_51.pdf|Блок 51.]] Интуиционистская логика.
 +
 
 +
[[Media: MLLP_VP_52.pdf|Блок 52.]] Формальная верификация.
 +
 
 +
[[Media: MLLP_VP_53.pdf|Блок 53.]] Модельные императивные программы. Постановка задачи верификации программ.
 +
 
 +
[[Media: MLLP_VP_54.pdf|Блок 54.]] Логика Хоара. Автоматизация проверки правильности программ.
 +
 
 +
[[Media: MLLP_VP_55.pdf|Блок 55.]] Проверка правильности распределённых систем. Пара слов о методе проверки моделей.
 +
 
 +
[[Media: MLLP_VP_56.pdf|Блок 56.]] Размеченные системы переходов.
 +
 
 +
[[Media: MLLP_VP_57.pdf|Блок 57.]] Спецификация систем при помощи темпоральных логик.
 +
 
 +
''Материалы будут обновляться по мере чтения лекций.''
 +
 
 +
== Прошлогодние ==
 +
 
 +
[[Media: MLLP_VP_58.pdf|Блок 58.]] Алгоритм model checking для CTL.
 +
 
 +
[[Media: MLLP_VP_all.pdf|Все слайды лекций в одном файле.]]
 +
 
 +
= Сборники задач для семинаров =
 +
 
 +
[[Media: MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий.]]
 +
 
 +
[[Медиа: MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения.]]
  
 
= Коллоквиум =
 
= Коллоквиум =
  
Коллоквиум проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-19 [[#Программа| программы курса]], письменно на одном из лекционных занятий, длительность - одна пара (90 минут).
+
Коллоквиум проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-21 [[#Программа| программы курса]], письменно на одном из лекционных занятий, длительность - одна пара (90 минут).
 +
 
 
Вариант коллоквиума содержит 12 задач:
 
Вариант коллоквиума содержит 12 задач:
 
* 3 типовые задачи:
 
* 3 типовые задачи:
Строка 71: Строка 144:
 
*# Обосновать общезначимость заданной формулы логики предикатов методом семантических таблиц.
 
*# Обосновать общезначимость заданной формулы логики предикатов методом семантических таблиц.
 
*# Обосновать общезначимость заданной формулы логики предикатов методом резолюций.
 
*# Обосновать общезначимость заданной формулы логики предикатов методом резолюций.
* 9 теоретических задач в форме теста с множественным выбором:
+
* 9 теоретических задач в форме теста с множественным выбором. Среди предложенных вариантов ответа требуется выбрать и отметить правильные - один, ни одного или несколько, в том числе, быть может, все. Обосновывать выбор не требуется.
** среди предложенных вариантов ответа требуется выбрать и отметить правильные (один, ни одного или несколько, в том числе, быть может, все),
+
** обосновывать выбор не требуется.
+
  
Правильное решение типовой задачи оценивается в 2 балла
+
Оценка решений типовых задач:
Правильное решение теоретического вопроса - в 1 балл.
+
* Правильное решение - 4 балла.
Наибольший возможный балл за решение варианта коллоквиума - 15.
+
* Решение в целом верно, но содержит редкие ошибки серьёзнее опечаток - 3 балла.
 +
* Решение содержит серьёзные ошибки, но имеет структуру, в целом разумно соотносящуюся с правильной - 2 балла.
 +
* В решении обнаружены правильные элементы в заметном, но всё же малом количестве - 1 балл.
 +
* Даже этого в решении нет - 0 баллов.
 +
 
 +
Теоретический вопрос в зависимости от количества и качества правильно обведённых и правильно необведённых ответов оценивается в 0, 1 или 2 балла.
 +
 
 +
Наибольший возможный балл за решение варианта коллоквиума - 30.
  
 
Техническими баллами, набранными за коллоквиум, определяется добавка (бонус или штраф) к техническим баллам за экзаменационную работу:
 
Техническими баллами, набранными за коллоквиум, определяется добавка (бонус или штраф) к техническим баллам за экзаменационную работу:
* хотя бы 14 на коллоквиуме: <span style="background:#DDFFDD">+3 балла</span> на экзамене;
+
 
* хотя бы 12, но менее 14: <span style="background:#DDFFDD">+2 балла</span>;
+
{| class="wikitable" style="margin:auto"
* хотя бы 10, но менее 12: <span style="background:#DDFFDD">+1 балл</span>;
+
|-
* хотя бы 8, но менее 10: <span style="background:#DDDDDD">+0 баллов</span>;
+
! Баллов за коллоквиум
* хотя бы 6, но менее 8: <span style="background:#FFDDDD">-1 балл</span>;
+
! Бонус/штраф на экзамене
* хотя бы 4, но менее 6: <span style="background:#FFDDDD">-2 балла</span>;
+
|-
* менее 4: <span style="background:#FFDDDD">-3 балла</span>;
+
| 28-30
* коллоквиум пропущен по неуважительной причине: <span style="background:#FFDDDD">-3 балла</span>;
+
| <span style="background:#DDFFDD">+4 балла</span>
* коллоквиум пропущен по уважительной причине: <span style="background:#DDDDDD">+0 баллов</span>.
+
|-
 +
| 25-27
 +
| <span style="background:#DDFFDD">+3 балла</span>
 +
|-
 +
| 22-24
 +
| <span style="background:#DDFFDD">+2 балла</span>
 +
|-
 +
| 19-21
 +
| <span style="background:#DDFFDD">+1 балл</span>
 +
|-
 +
| 16-18
 +
| <span style="background:#DDDDDD">+0 баллов</span>
 +
|-
 +
| 13-15
 +
| <span style="background:#FFDDDD">-1 балл</span>;
 +
|-
 +
| 10-12
 +
| <span style="background:#FFDDDD">-2 балла</span>;
 +
|-
 +
| 7-9
 +
| <span style="background:#FFDDDD">-3 балла</span>;
 +
|-
 +
| 0-6
 +
| <span style="background:#FFDDDD">-4 балла</span>;
 +
|-
 +
| Неявка без уважительной причины
 +
| <span style="background:#FFDDDD">-4 балла</span>
 +
|-
 +
| Неявка по уважительной причине
 +
| <span style="background:#DDDDDD">+0 баллов</span>
 +
|}
  
 
= Экзамен =
 
= Экзамен =
  
 
Экзамен проводится письменно, длительность - 150 минут.
 
Экзамен проводится письменно, длительность - 150 минут.
Вариант экзамена содержит 14 задач:
+
Вариант экзамена содержит 12 задач:
* 1 задачу на написание логической программы с заданным поведением.
+
* Задача 1 (''8 баллов'') - написать логическую программу с заданным поведением.
* 4 типовые задачи:
+
* Задачи 2-5 (''4 балла''):
*# Формализовать в логике предикатов с заданной сигнатурой заданное предложение, записанное на естественном языке.
+
*# Формализовать в логике предикатов предложение, записанное на естественном языке.
*# Проверить общезначимость заданной формулы методом семантических таблиц.
+
*# Обосновать общезначимость формулы логики предикатов методом семантических таблиц.
*# Проверить общезначимость заданной формулы методом резолюций.
+
*# Обосновать общезначимость формулы логики предикатов методом резолюций.
 
*# Построить дерево SLD-резолютивных вычислений заданной логической программы.
 
*# Построить дерево SLD-резолютивных вычислений заданной логической программы.
* 5 вопросов на формулировки. В каждом вопросе требуется
+
* Каждая из задач 6-8 (''3 балла'') состоит из трёх частей:
** сформулировать утверждение, определение и т.п. И
+
*# Сформулировать утверждение, определение и т.п.
** ответить на вопрос "на понимание", так или иначе связанный с формулировкой.
+
*# Ответить на вопрос "на понимание", так или иначе связанный с формулировкой.
* 4 вопроса на обоснование.
+
*# Аргументировать (обосновать) ответ на вопрос.
** В каждом вопросе требуется
+
* Каждая из задач 9-12 (''4 балла'') устроена так:
*** из предложенных вариантов ответа выбрать и отметить правильные (один, ни одного или несколько, в том числе, быть может, все) И
+
** Из нескольких предложенных вариантов ответа выбрать правильные (один, несколько или ни одного) и обосновать выбранные ответы.
*** обосновать правильность выбранных ответов.
+
** Невыбранные ответы обосновывать не нужно.
** Обосновывать ответы, не отмеченные как правильные, не требуется.
+
 
+
Правильно написанная логическая программа оценивается в 6 баллов.
+
Правильное решение типовой задачи оценивается в 3 балла.
+
Правильное решение вопроса на формулировку оценивается в 2 балла.
+
Правильное решение вопроса на обоснование оценивается в 3 балла.
+
Наибольший возможный балл за решение варианта экзамена - 40.
+
  
Баллы, полученные за решение варианта экзамена, складываются с бонусом/штрафом за коллоквиум.
+
Наибольший возможный балл за решение варианта экзамена - 49.
 +
Баллы, полученные за решение варианта экзамена, складываются с бонусом/штрафом за коллоквиум и бонусами за другие достижения, если вдруг они есть.
 
По полученной сумме определяется оценка:
 
По полученной сумме определяется оценка:
* хотя бы 32 балла: '''отлично''';
+
 
* хотя бы 24 балла, но менее 32: '''хорошо'''.
+
{| class="wikitable" style="margin:auto"
* хотя бы 16 баллов, но менее 24: '''удовлетворительно'''.
+
|-
* менее 16 баллов: '''неудовлетворительно'''.
+
! Сумма
 +
! Оценка
 +
|-
 +
| Хотя бы 40
 +
| Отлично
 +
|-
 +
| 30-39
 +
| Хорошо
 +
|-
 +
| 20-29
 +
| Удовлетворительно
 +
|-
 +
| Менее 20
 +
| Неудовлетворительно
 +
|}
  
 
= Программа =
 
= Программа =
Строка 150: Строка 266:
 
<li> Лемма об основных дизъюнктах. Лемма о подъёме. Теорема о полноте резолютивного вывода.
 
<li> Лемма об основных дизъюнктах. Лемма о подъёме. Теорема о полноте резолютивного вывода.
 
<li> Метод резолюций: общая схема, применение.
 
<li> Метод резолюций: общая схема, применение.
<li> Стратегии резолютивного вывода.
+
<li> Стратегии резолютивного вывода. Семантическая резолюция. Входной вывод.
 +
<li> Хорновские дизъюнкты.
 +
<li> Резолютивный вывод как средство вычисления ответов на запросы.
 
</ol>
 
</ol>
  
 
== Основы логического программирования ==
 
== Основы логического программирования ==
<ol start="20">
+
<ol start="22">
<li> Резолютивный вывод как средство вычисления ответов на запросы. Линейный вывод.
+
<li> Хорновские дизъюнкты.
+
 
<li> Синтаксис хорновских логических программ: факты, правила, утверждения, программы, подцели, запросы.
 
<li> Синтаксис хорновских логических программ: факты, правила, утверждения, программы, подцели, запросы.
 
<li> Декларативная семантика хорновских логических программ, правильный ответ на запрос.
 
<li> Декларативная семантика хорновских логических программ, правильный ответ на запрос.
Строка 175: Строка 291:
 
<li> Формальная верификация программ. Модель императивных программ: синтаксис, операционная семантика. Предусловия и постусловия. Полная и частичная корректность программ. Тройки Хоара. Логика Хоара. Корректность вывода в логике Хоара. Слабейшее предусловие. Инвариант цикла.
 
<li> Формальная верификация программ. Модель императивных программ: синтаксис, операционная семантика. Предусловия и постусловия. Полная и частичная корректность программ. Тройки Хоара. Логика Хоара. Корректность вывода в логике Хоара. Слабейшее предусловие. Инвариант цикла.
 
<li> Размеченные системы переходов. Моделирование программ системами переходов. Логика деревьев вычислений (CTL): синтаксис, семантика, основные равносильности, применение для спецификации поведения распределённых систем. Задача проверки моделей (model checking) относительно CTL: формулировка, решающий алгоритм.
 
<li> Размеченные системы переходов. Моделирование программ системами переходов. Логика деревьев вычислений (CTL): синтаксис, семантика, основные равносильности, применение для спецификации поведения распределённых систем. Задача проверки моделей (model checking) относительно CTL: формулировка, решающий алгоритм.
</ol>
 
 
== Основания математики ==
 
<ol start="36">
 
<li> Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.
 
 
</ol>
 
</ol>
  
Строка 207: Строка 318:
 
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.
 
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.
 
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.
 
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.
 +
 +
= Материалы для подготовки к государственному экзамену =
 +
 +
''Материалы составлены для выпуска 2024.''
 +
 +
[[Media: MLLP_VP_gos3.pdf|Вопрос 3.]] Логика 1-го порядка. Выполнимость и общезначимость. Общая схема метода резолюций.
 +
 +
[[Media: MLLP_VP_gos4.pdf|Вопрос 4.]] Логическое программирование. Декаларативная семантика и операционная семантика, соотношение между ними. Стандартная стратегия выполнения логических программ.

Текущая версия на 14:17, 2 декабря 2024

Актуальность информации: осенний семестр 2024/2025 учебного года.

Обязательный курс для студентов 3 потока 4 курса в 7 семестре. Лектор: Подымов В.В.

Слайды лекций

Блок 1 (вступительный). Что такое логика. Несколько логических парадоксов. Чего ожидать в лекциях.

Блок 2. Логика высказываний: синтаксис, семантика.

Блок 3. Логика предикатов: синтаксис, семантика.

Блок 4. Как формализовать предложение на языке логики предикатов (пример).

Блок 5. Логика высказываний: выполнимые и общезначимые формулы.

Блок 6. Логика предикатов: выполнимые и общезначимые формулы, модели формул, логическое следствие, проблема общезначимости формул (постановка).

Блок 7. Логика предикатов: можно ли проверить общезначимость формулы "в лоб"?

Блок 8. Метод семантических таблиц: семантические таблицы.

Блок 9. Подстановки (основные определения).

Блок 10. Метод семантических таблиц: табличный вывод.

Блок 11. Метод семантических таблиц: корректность табличного вывода.

Блок 12. Метод семантических таблиц: полнота табличного вывода.

Блок 13. Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Автоматизация доказательства теорем.

Блок 14. Общая схема метода резолюций.

Блок 15. Равносильность формул логики предикатов.

Блок 16. Предварённая нормальная форма (ПНФ).

Блок 17. Сколемовская стандартная форма (ССФ).

Блок 18. Системы дизъюнктов.

Блок 19. Композиция подстановок. Постановка задачи унификации.

Блок 20. Алгоритм унификации атомарных формул.

Блок 21. Монотонность и транзитивность логического следования.

Блок 22. Резолютивный вывод. Корректность резолютивного вывода.

Блок 23. Обоснование общезначимости формулы методом резолюций (пример).

Блок 24. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях.

Блок 25. Теорема Эрбрана. Полнота резолютивного вывода.

Блок 26. Иллюстрация полноты резолютивного вывода.

Блок 27. Стратегии резолютивного вывода.

Блок 28. Даша, Саша, Паша, пиво и метод семантических таблиц с методом резолюций.

Блок 29. Хорновские дизъюнкты.

Блок 30. Вычислительные возможности метода резолюций.

Блок 31. Хорновские логические программы: синтаксис, декларативная семантика, правильные ответы.

Блок 32. Хорновские логические программы: списки.

Блок 33. Хорновские логические программы: операционная семантика, SLD-резолютивные вычисления, SLD-вычислимые ответы.

Блок 34. Хорновские логические программы: корректность операционной семантики.

Блок 35. Хорновские логические программы: полнота операционной семантики.

Блок 36. Хорновские логические программы: содержательное сравнение семантик.

Блок 37. Хорновские логические программы: переключательная лемма, сильная полнота операционной семантики, стандартное правило выбора подцели.

Блок 38. Хорновские логические программы: деревья SLD-резолютивных вычислений, стратегии вычисления и их полнота, стандартная стратегия вычисления.

Блок 39. Машины Тьюринга.

Блок 40. Моделирование машин Тьюринга хорновскими логическими программами.

Блок 41. Задачи и проблемы. Алгоритмы. Разрешимость. M-сводимость.

Блок 42. Теорема Чёрча.

Блок 43. Логические программы: встроенные предикаты и функции.

Блок 44. Логические программы: стековые вычисления.

Блок 45. Логические программы: управление вычислениями, оператор отсечения.

Блок 46. Отрицание в логическом программировании. Допущение замкнутости мира.

Блок 47. Логические программы: оператор отрицания, SLDNF-резолюция.

Блок 48. Модальные логики.

Блок 49. Эпистемические логики.

Блок 50. Темпоральные логики.

Блок 51. Интуиционистская логика.

Блок 52. Формальная верификация.

Блок 53. Модельные императивные программы. Постановка задачи верификации программ.

Блок 54. Логика Хоара. Автоматизация проверки правильности программ.

Блок 55. Проверка правильности распределённых систем. Пара слов о методе проверки моделей.

Блок 56. Размеченные системы переходов.

Блок 57. Спецификация систем при помощи темпоральных логик.

Материалы будут обновляться по мере чтения лекций.

Прошлогодние

Блок 58. Алгоритм model checking для CTL.

Все слайды лекций в одном файле.

Сборники задач для семинаров

Сборник обязательных задач для семинарских занятий.

Расширенный сборник задач для самостоятельного решения.

Коллоквиум

Коллоквиум проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-21 программы курса, письменно на одном из лекционных занятий, длительность - одна пара (90 минут).

Вариант коллоквиума содержит 12 задач:

  • 3 типовые задачи:
    1. Формализовать в логике предикатов с заданной сигнатурой заданное предложение, записанное на естественном языке.
    2. Обосновать общезначимость заданной формулы логики предикатов методом семантических таблиц.
    3. Обосновать общезначимость заданной формулы логики предикатов методом резолюций.
  • 9 теоретических задач в форме теста с множественным выбором. Среди предложенных вариантов ответа требуется выбрать и отметить правильные - один, ни одного или несколько, в том числе, быть может, все. Обосновывать выбор не требуется.

Оценка решений типовых задач:

  • Правильное решение - 4 балла.
  • Решение в целом верно, но содержит редкие ошибки серьёзнее опечаток - 3 балла.
  • Решение содержит серьёзные ошибки, но имеет структуру, в целом разумно соотносящуюся с правильной - 2 балла.
  • В решении обнаружены правильные элементы в заметном, но всё же малом количестве - 1 балл.
  • Даже этого в решении нет - 0 баллов.

Теоретический вопрос в зависимости от количества и качества правильно обведённых и правильно необведённых ответов оценивается в 0, 1 или 2 балла.

Наибольший возможный балл за решение варианта коллоквиума - 30.

Техническими баллами, набранными за коллоквиум, определяется добавка (бонус или штраф) к техническим баллам за экзаменационную работу:

Баллов за коллоквиум Бонус/штраф на экзамене
28-30 +4 балла
25-27 +3 балла
22-24 +2 балла
19-21 +1 балл
16-18 +0 баллов
13-15 -1 балл;
10-12 -2 балла;
7-9 -3 балла;
0-6 -4 балла;
Неявка без уважительной причины -4 балла
Неявка по уважительной причине +0 баллов

Экзамен

Экзамен проводится письменно, длительность - 150 минут. Вариант экзамена содержит 12 задач:

  • Задача 1 (8 баллов) - написать логическую программу с заданным поведением.
  • Задачи 2-5 (4 балла):
    1. Формализовать в логике предикатов предложение, записанное на естественном языке.
    2. Обосновать общезначимость формулы логики предикатов методом семантических таблиц.
    3. Обосновать общезначимость формулы логики предикатов методом резолюций.
    4. Построить дерево SLD-резолютивных вычислений заданной логической программы.
  • Каждая из задач 6-8 (3 балла) состоит из трёх частей:
    1. Сформулировать утверждение, определение и т.п.
    2. Ответить на вопрос "на понимание", так или иначе связанный с формулировкой.
    3. Аргументировать (обосновать) ответ на вопрос.
  • Каждая из задач 9-12 (4 балла) устроена так:
    • Из нескольких предложенных вариантов ответа выбрать правильные (один, несколько или ни одного) и обосновать выбранные ответы.
    • Невыбранные ответы обосновывать не нужно.

Наибольший возможный балл за решение варианта экзамена - 49. Баллы, полученные за решение варианта экзамена, складываются с бонусом/штрафом за коллоквиум и бонусами за другие достижения, если вдруг они есть. По полученной сумме определяется оценка:

Сумма Оценка
Хотя бы 40 Отлично
30-39 Хорошо
20-29 Удовлетворительно
Менее 20 Неудовлетворительно

Программа

Программа может уточняться по мере проведения занятий.

Классические логики

  1. Логика высказываний: синтаксис, семантика; выполнимость и общезначимость формул. Проблема общезначимости формул логики высказываний.
  2. Метод семантических таблиц в логике высказываний: семантическая таблица, табличный вывод, теорема о табличном выводе.
  3. Логика предикатов: синтаксис (термы, формулы, свободные и связанные переменные), семантика (интерпретации, отношение выполнимости).
  4. Выполнимость и общезначимость формул логики предикатов. Модели. Логическое следование. Теорема о логическом следствии. Проблема общезначимости формул логики предикатов.
  5. Пример выполнимой формулы логики предикатов, не имеющей конечных моделей.
  6. Подстановки и их применение к термам и формулам логики предикатов.
  7. Метод семантических таблиц в логике предикатов: семантическая таблица, табличный вывод, теорема о табличной проверке общезначимости, теоремы о корректности и полноте табличного вывода.
  8. Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева.
  9. Равносильные формулы. Теорема о равносильной замене.

Метод резолюций в логике предикатов

  1. Предварённая нормальная форма. Теорема о предварённой нормальной форме.
  2. Сколемовская стандартная форма. Алгоритм сколемизации предварённой нормальной формы. Теорема о сколемизации.
  3. Дизъюнкты. Сведение проблемы общезначимости формул к проблеме невыполнимости систем дизъюнктов.
  4. Композиция подстановок. Унификатор. Наиболее общий унификатор. Задача унификации выражений логики предикатов.
  5. Лемма о связке. Алгоритм унификации. Теорема об унификации.
  6. Правило резолюции. Правило склейки. Резолютивный вывод. Теорема о корректности резолютивного вывода.
  7. Эрбрановский универсум. Эрбрановский базис. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях. Теорема Эрбрана.
  8. Лемма об основных дизъюнктах. Лемма о подъёме. Теорема о полноте резолютивного вывода.
  9. Метод резолюций: общая схема, применение.
  10. Стратегии резолютивного вывода. Семантическая резолюция. Входной вывод.
  11. Хорновские дизъюнкты.
  12. Резолютивный вывод как средство вычисления ответов на запросы.

Основы логического программирования

  1. Синтаксис хорновских логических программ: факты, правила, утверждения, программы, подцели, запросы.
  2. Декларативная семантика хорновских логических программ, правильный ответ на запрос.
  3. SLD-резолюция. SLD-резолютивное вычисление хорновской логической программы. Успешные, тупиковые и бесконечные вычисления программ. Операционная семантика программ, вычислимый ответ на запрос.
  4. Корректность и полнота операционной семантики хорновских логических программ относительно декларативной.
  5. Правило выбора подцели. Переключательная лемма, теорема о сильной полноте SLD-резолюции.
  6. Дерево SLD-резолютивных вычислений. Стратегия вычисления хорновских логических программ, примеры полных и неполных стратегий. Стандартная стратегия вычисления.
  7. Встроенные функции и предикаты в логических программах, их операционная семантика.
  8. Управление вычислениями логических программ. Оператор отсечения, его операционная семантика.
  9. Отрицание в логических программах. Гипотеза замкнутости мира. Оператор отрицания, его операционная семантика.
  10. Машины Тьюринга, моделирование их логическими программами. Теорема Чёрча.

Неклассические прикладные логики

  1. Модальные логики. Шкалы и модели Крипке для модальных логик. Эпистемические логики. Темпоральные логики. Логика линейного времени. Логика деревьев вычислений.
  2. Интуиционистская логика. Модели Крипке для интуиционистской логики.
  3. Формальная верификация программ. Модель императивных программ: синтаксис, операционная семантика. Предусловия и постусловия. Полная и частичная корректность программ. Тройки Хоара. Логика Хоара. Корректность вывода в логике Хоара. Слабейшее предусловие. Инвариант цикла.
  4. Размеченные системы переходов. Моделирование программ системами переходов. Логика деревьев вычислений (CTL): синтаксис, семантика, основные равносильности, применение для спецификации поведения распределённых систем. Задача проверки моделей (model checking) относительно CTL: формулировка, решающий алгоритм.

Литература

Основная

  1. Клини С. Математическая логика. М.:Мир, 1973, 480 с.
  2. Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.
  3. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, "Физико-математическая литература", 1995 г., 250 с.
  4. Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, "Факториал", 1998, 288 с.
  5. Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.
  6. Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.
  7. Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.

Дополнительная

  1. Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.
  2. Верещагин Н.К., Шень А. Языки и исчисления. 2004.
  3. Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.
  4. Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.
  5. Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия "Классический университетский учебник". Изд.3, 2006, 240 с.
  6. Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.
  7. Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.
  8. Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.
  9. Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.
  10. Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, "Радио и связь". 1987, 311 с.
  11. Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, "Мир", 1990, 235 с.
  12. Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.
  13. Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.

Материалы для подготовки к государственному экзамену

Материалы составлены для выпуска 2024.

Вопрос 3. Логика 1-го порядка. Выполнимость и общезначимость. Общая схема метода резолюций.

Вопрос 4. Логическое программирование. Декаларативная семантика и операционная семантика, соотношение между ними. Стандартная стратегия выполнения логических программ.