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

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск
(Лекции по курсу математической логики и логического программирования)
Строка 1: Строка 1:
Обязательный курс для студентов III потока 7 семестра обучения.
+
[[Категория:Лекционные курсы кафедры МК]]
  
Лекционная нагрузка — 48 ч., семинары — 16 ч.
+
''Актуальность информации: осенний семестр 2022/2023 учебного года.''
  
Курс читает профессор [[Захаров Владимир Анатольевич|В. А. Захаров]].
+
Обязательный курс для студентов 3 потока 4 курса в 7 семестре.
 +
Лектор: [[Подымов Владислав Васильевич|Подымов В.В.]]
  
  
== Материалы для подготовки к государственному экзамену по математике ==
+
= Слайды лекций =
  
'''[[Media: Bilet_1.pdf| Вопрос 3.]]''' '''Логика 1-го порядка.  Выполнимость и общезначимость. Общая схема метода резолюций.'''  
+
''Слайды будут появляться по мере проведения занятий.''
  
'''[[Media: Bilet_2.pdf| Вопрос 4.]]''' '''Логическое  программирование. Декларативная семантика и операционная семантика;  соотношение между ними.  Стандартная стратегия выполнения логических программ.'''
 
  
 +
= Сборники задач для семинаров =
  
<!--
+
[[Media: MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий.]]
== '''ВНИМАНИЕ! ИНФОРМАЦИЯ К ЭКЗАМЕНУ'''==
+
  
'''[[Media: Exam-2020.pdf| Результаты экзамена 04 января 2020]]'''
+
[[Медиа: MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения.]]
  
'''[[Media: Exam-2020-1.pdf| Результаты первой переэкзаменовки 07 февраля 2020]]'''
 
-->
 
<!--
 
'''[[Media: Test.pdf| Тренировочный материал для подготовки к пересдаче экзамена 08 февраля 2019]]'''
 
  
-->
+
= Материалы прошлого года =
  
<!--
+
Лектором был [[Захаров Владимир Анатольевич|Захаров В.А.]].
'''КОНСУЛЬТАЦИЯ СОСТОИТСЯ 03 ЯНВАРЯ (ПЯТНИЦА), В АУД. П-13, в 16.00'''
+
  
'''ЭКЗАМЕН СОСТОИТСЯ 04 ЯНВАРЯ (СУББОТА), В АУД. П-13, в 10.00 -- 12.30'''
+
Материалы, в том числе слайды и видеозаписи лекций, - [https://m.cs.msu.ru/index.php/s/N6FkcmFbxQkS8z9 по ссылке] в папке "ЗахаровВА".
  
Типовые примеры экзаменационных контрольных работ представлены здесь: <br>
 
  
'''[[Media:Test-1.pdf| Пример 1]]''', <br>
+
= Коллоквиум =
  
'''[[Media:Test-2.pdf| Пример 2]]''', <br>
+
Коллоквиум проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-19 [[#Программа| программы курса]], письменно на одном из лекционных занятий, длительность - одна пара (90 минут).
 +
Вариант коллоквиума содержит 12 задач:
 +
* 3 типовые задачи:
 +
*# Формализовать в логике предикатов с заданной сигнатурой заданное предложение, записанное на естественном языке.
 +
*# Обосновать общезначимость заданной формулы логики предикатов методом семантических таблиц.
 +
*# Обосновать общезначимость заданной формулы логики предикатов методом резолюций.
 +
* 9 теоретических задач в форме теста с множественным выбором:
 +
** среди предложенных вариантов ответа требуется выбрать и отметить правильные (один, ни одного или несколько, в том числе, быть может, все),
 +
** обосновывать выбор не требуется.
  
'''[[Media:Test-3.pdf| Пример 3]]''', <br>
+
Правильное решение типовой задачи оценивается в 2 балла
 +
Правильное решение теоретического вопроса - в 1 балл.
 +
Наибольший возможный балл за решение варианта коллоквиума - 15.
  
'''[[Media:Test-4.pdf| Пример 4]]'''.
+
Техническими баллами, набранными за коллоквиум, определяется добавка (бонус или штраф) к техническим баллам за экзаменационную работу:
-->
+
* хотя бы 14 на коллоквиуме: <span style="background:#DDFFDD">+3 балла</span> на экзамене;
<!--
+
* хотя бы 12, но менее 14: <span style="background:#DDFFDD">+2 балла</span>;
Выставление оценок первой переэкзаменовки и ознакомление с работами будет проводиться 10 февраля в ауд. 591 с 15.00 до 18.00.
+
* хотя бы 10, но менее 12: <span style="background:#DDFFDD">+1 балл</span>;
-->
+
* хотя бы 8, но менее 10: <span style="background:#DDDDDD">+0 баллов</span>;
<!--
+
* хотя бы 6, но менее 8: <span style="background:#FFDDDD">-1 балл</span>;
== '''[[Media: Colloquium-2019.pdf| РЕЗУЛЬТАТЫ КОЛЛОКВИУМА 07 НОЯБРЯ 2019 г.]]'''==
+
* хотя бы 4, но менее 6: <span style="background:#FFDDDD">-2 балла</span>;
 +
* менее 4: <span style="background:#FFDDDD">-3 балла</span>;
 +
* коллоквиум пропущен по неуважительной причине: <span style="background:#FFDDDD">-3 балла</span>;
 +
* коллоквум пропущен по уважительной причине: <span style="background:#DDDDDD">+0 баллов</span>.
  
  
 +
= Экзамен =
  
 +
Экзамен проводится письменно, длительность - 150 минут.
 +
Вариант экзамена содержит 14 задач:
 +
* 1 задачу на написание логической программы с заданным поведением.
 +
* 4 типовые задачи:
 +
*# Формализовать в логике предикатов с заданной сигнатурой заданное предложение, записанное на естественном языке.
 +
*# Проверить общезначимость заданной формулы методом семантических таблиц.
 +
*# Проверить общезначимость заданной формулы методом резолюций.
 +
*# Построить дерево SLD-резолютивных вычислений заданной логической программы.
 +
* 5 вопросов на формулировки. В каждом вопросе требуется
 +
** сформулировать утверждение, определение и т.п. И
 +
** ответить на вопрос "на понимание", так или иначе связанный с формулировкой.
 +
* 4 вопроса на обоснование.
 +
** В каждом вопросе требуется
 +
*** из предложенных вариантов ответа выбрать и отметить правильные (один, ни одного или несколько, в том числе, быть может, все) И
 +
*** обосновать правильность выбранных ответов.
 +
** Обосновывать ответы, не отмеченные как правильные, не требуется.
  
== ЭКЗАМЕН ==
+
Правильно написанная логическая программа оценивается в 6 баллов.
 +
Правильное решение типовой задачи оценивается в 3 балла.
 +
Правильное решение вопроса на формулировку оценивается в 2 балла.
 +
Правильное решение вопроса на обоснование оценивается в 3 балла.
 +
Наибольший возможный балл за решение варианта экзамена - 40.
  
'''[[Media:ReExam-2018.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ ЭКЗАМЕНА (14.02.2018)]]'''
+
Баллы, полученные за решение варианта экзамена, складываются с бонусом/штрафом за коллоквиум.
 +
По полученной сумме определяется оценка:
 +
* хотя бы 32 балла: '''отлично''';
 +
* хотя бы 24 балла, но менее 32: '''хорошо'''.
 +
* хотя бы 16 баллов, но менее 24: '''удовлетворительно'''.
 +
* менее 16 баллов: '''неудовлетворительно'''.
  
'''[[Media:Exam-2016-1.pdf| РЕЗУЛЬТАТЫ ПЕРЕСДАЧИ (13.02.2017)]]'''
 
  
Выставление оценок будет проводиться в 10.00, 09.01.2018 в ауд. 506
+
= Программа =
-->
+
  
 +
''Программа может уточняться по мере проведения занятий.''
  
<!--
+
== Классические логики ==
 
<ol>
 
<ol>
<li> Экзамен по курсу "Математическая логика и логическое программирование" состоится 5 января в ауд. П-13; начало экзамена - 10.00; окончание экзамена - 12.30.
+
<li> Логика высказываний: синтаксис, семантика; выполнимость и общезначимость формул. Проблема общезначимости формул логики высказываний.
<li> Итоговая экзаменационная оценка складывается из оценки за экзаменационную контрольную работу и оценки за коллоквиум. [[Media:Colloquium-2016.pdf| Результаты коллоквиума (21.11.2016)]]
+
<li> Метод семантических таблиц в логике высказываний: семантическая таблица, табличный вывод, теорема о табличном выводе.
<li> Выставление экзаменационных оценок и ознакомление с работами будет проводиться 6 января в ауд. 506 в 15.00.
+
<li> Логика предикатов: синтаксис (термы, формулы, свободные и связанные переменные), семантика (интерпретации, отношение выполнимости).
<li> Консультация к экзамену состоится 4 января в ауд. П-13 в 16.30.
+
<li> Выполнимость и общезначимость формул логики предикатов. Модели. Логическое следование. Теорема о логическом следствии. Проблема общезначимости формул логики предикатов.
<li> Типовые примеры экзаменационных контрольных работ представлены здесь: <br>  
+
<li> Пример выполнимой формулы логики предикатов, не имеющей конечных моделей.
 +
<li> Подстановки и их применение к термам и формулам логики предикатов.
 +
<li> Метод семантических таблиц в логике предикатов: семантическая таблица, табличный вывод, теорема о табличной проверке общезначимости, теоремы о корректности и полноте табличного вывода.
 +
<li> Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева.
 +
<li> Равносильные формулы. Теорема о равносильной замене.
 +
</ol>
  
'''[[Media:Test-1.pdf| Пример 1]]''', <br>  
+
== Метод резолюций в логике предикатов ==
 +
<ol start="10">
 +
<li> Предварённая нормальная форма. Теорема о предварённой нормальной форме.
 +
<li> Сколемовская стандартная форма. Алгоритм сколемизации предварённой нормальной формы. Теорема о сколемизации.
 +
<li> Дизъюнкты. Сведение проблемы общезначимости формул к проблеме невыполнимости систем дизъюнктов.
 +
<li> Композиция подстановок. Унификатор. Наиболее общий унификатор. Задача унификации выражений логики предикатов.
 +
<li> Лемма о связке. Алгоритм унификации. Теорема об унификации.
 +
<li> Правило резолюции. Правило склейки. Резолютивный вывод. Теорема о корректности резолютивного вывода.
 +
<li> Эрбрановский универсум. Эрбрановский базис. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях. Теорема Эрбрана.
 +
<li> Лемма об основных дизъюнктах. Лемма о подъёме. Теорема о полноте резолютивного вывода.
 +
<li> Метод резолюций: общая схема, применение.
 +
<li> Стратегии резолютивного вывода.
 +
</ol>
  
'''[[Media:Test-2.pdf| Пример 2]]''', <br>
+
== Основы логического программирования ==
 
+
<ol start="20">
'''[[Media:Test-3.pdf| Пример 3]]''', <br>
+
<li> Резолютивный вывод как средство вычисления ответов на запросы. Линейный вывод.
 
+
<li> Хорновские дизъюнкты.
'''[[Media:Test-4.pdf| Пример 4]]'''.
+
<li> Синтаксис хорновских логических программ: факты, правила, утверждения, программы, подцели, запросы.
</ol> -->
+
<li> Декларативная семантика хорновских логических программ, правильный ответ на запрос.
 
+
<li> SLD-резолюция. SLD-резолютивное вычисление хорновской логической программы. Успешные, тупиковые и бесконечные вычисления программ. Операционная семантика программ, вычислимый ответ на запрос.
== Задачи по курсу математической логики и логического программирования ==
+
<li> Корректность и полнота операционной семантики хорновских логических программ относительно декларативной.
 
+
<li> Правило выбора подцели. Переключательная лемма, теорема о сильной полноте SLD-резолюции.
[[Media:MatLog_tasks.pdf| Сборник обязательных задач для семинарских занятий]]
+
<li> Дерево SLD-резолютивных вычислений. Стратегия вычисления хорновских логических программ, примеры полных и неполных стратегий. Стандартная стратегия вычисления.
 
+
<li> Встроенные функции и предикаты в логических программах, их операционная семантика.
[[Медиа:MatLog_exer.pdf| Расширенный сборник задач для самостоятельного решения]]
+
<li> Управление вычислениями логических программ. Оператор отсечения, его операционная семантика.
 
+
<li> Отрицание в логических программах. Гипотеза замкнутости мира. Оператор отрицания, его операционная семантика.
== Лекции по курсу математической логики и логического программирования ==
+
<li> Машины Тьюринга, моделирование их логическими программами. Теорема Чёрча.
 
+
Видеозаписи лекций размещены по адресу [https://m.cs.msu.ru/apps/files/?dir=/&fileid=155011] в разделе '''ЗахаровВА'''
+
 
+
----
+
 
+
'''[[Media: People_who_made_logic.pdf| Биографии некоторых математиков, создавших математическую логику.]]'''
+
 
+
'''[[Media: LectLog_1.pdf| Лекция 1.]]''' Что изучает логика? Логика в информатике. Структура курса. Исторические сведения. Логические парадоксы. 
+
 
+
'''[[Media: LectLog_2.pdf| Лекция 2.]]''' Классическая логика предикатов первого порядка. Синтаксис. Термы и формулы.Семантика. Интерпретация. Выполнимость формул.   
+
 
+
'''[[Media: LectLog_3.pdf| Лекция 3.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следование. Проблема общезначимости. Семантические таблицы.     
+
 
+
'''[[Media: LectLog4.pdf| Лекция 4.]]''' Подстановки. Табличный вывод. Корректность табличного вывода.     
+
 
+
'''[[Media: LectLog5.pdf| Лекция 5.]]''' Полнота табличного вывода. Теорема Левенгейма-Сколема. Теорема компактности Мальцева. Автоматическое доказательство теорем.   
+
 
+
'''[[Media: LectLog_6.pdf| Лекция 6.]]''' Общая схема метода резолюций. Равносильные формулы. Теорема о равносильной замене. Предваренная нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов.   
+
 
+
'''[[Media: LectLog7.pdf| Лекция 7.]]''' Эрбрановские интерпретации. Теорема Эрбрана. Задача унификации.   
+
 
+
'''[[Media: LectLog8.pdf| Лекция 8.]]''' Алгоритм унификации.
+
 
+
'''[[Media: LectLog9.pdf| Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций.   
+
 
+
'''[[Media: LectLog_10.pdf| Лекция 10.]]''' Полнота резолютивного вывода.   
+
 
+
'''[[Media: LectLog11.pdf| Лекция 11.]]''' Стратегии резолютивного вывода. Вычислительные возможности метода резолюций   
+
 
+
'''[[Media: LectLog12.pdf| Лекция 12.]]''' Хорновские логические программы: синтаксис. Декларативная семантика логических программ. Операционная семантика логических программ. SLD-резолютивные вычисления.     
+
 
+
'''[[Media: LectLog13.pdf| Лекция 13.]]''' Корректность операционной семантики. Полнота операционной семантики.
+
 
+
'''[[Media: LectLog14.pdf| Лекция 14.]]''' Правила выбора подцелей. Деревья вычислений логических программ. Стратегии вычисления логических программ.   
+
+
'''[[Media: LectLog15.pdf| Лекция 15.]]''' Алгоритмическая полнота логических программ. Моделирование машин Тьюринга логическим программами. Теорема Черча.     
+
 
+
'''[[Media: LectLog16.pdf| Лекция 16.]]''' Управление вычислениями логических программ. Оператор отсечения.     
+
 
+
'''[[Media: LectLog17.pdf| Лекция 17.]]''' Отрицание в логическом программировании. Оператор not. Встроенные предикаты и функции. Оператор вычисления значений. Модификация баз данных.     
+
 
+
'''[[Media: LectLog18.pdf| Лекция 18.]]''' Интуиционистская логика.
+
 
+
'''[[Media: LectLog18.pdf| Лекция 19.]]''' Модальные логики.       
+
 
+
'''[[Media: LectLog20.pdf| Лекция 20.]]''' Правильные программы. Императивные программы. Задача верификации программ. Логика Хоара. Автоматическая проверка правильности программ.   
+
 
+
'''[[Media: LectLog21.pdf| Лекция 21.]]''' Верификация распределенных программ. Логика линейного времени PLTL.        Размеченные системы переходов. Задача верификации моделей программ.   
+
 
+
'''[[Media: LectLog22-2.pdf| Лекция 22.]]''' Задача верификации моделей программ. Подформулы Фишера-Ладнера. Табличный метод верификации моделей программ. Системы Хинтикки. Алгоритм верификации моделей программ.
+
 
+
'''[[Media: LectLog25.pdf| Лекции 23-24.]]''' Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.
+
 
+
== Программа курса == 
+
 
+
=== Логика предикатов первого порядка ===
+
<ol>
+
<li> Синтаксис и семантика логики предикатов. Термы, формулы, интерпретация. Отношение        выполнимости формулы на интерпретации.
+
<li> Выполнимость,        общезначимость, противоречивость формул логики предикатов. Примеры        общезначимых и противоречивых формул логики предикатов. Модель. Логическое следствие. Теорема о логическом следствии.
+
<li> Проблемы        выполнимости и общезначимости. Пример формулы, не имеющей конечных        моделей.
+
<li> Семантические        таблицы в логике предикатов. Табличный вывод. Теорема корректности        табличного вывода.
+
<li> Теорема полноты        табличного вывода.
+
<li> Теорема        Лёвенгейма-Сколема. Теорема компактности Мальцева.
+
<li> Равносильные        формулы. Примеры равносильных формул. Теорема о равносильной замене.
+
</ol>
+
=== Метод резолюций ===
+
<ol start="8">
+
<li> Предваренная        нормальная форма. Теорема о приведении формулы к предваренной нормальной        форме.
+
<li> Сколемовская        стандартная форма. Теорема о приведении формулы к сколемовской        стандартной форме.
+
<li> Эрбрановский        универсум, эрбрановский базис, эрбрановские интерпретации. Теорема об        эрбрановской модели для сколемовской стандартной формы. Сведение        проблемы общезначимости формул к проблеме противоречивости систем        дизъюнктов. Теорема Эрбрана.
+
<li> Подстановки.        Применение подстановок к термам и формулам. Композиция подстановок.        Унификатор. Наиболее общий унификатор.
+
<li> Сведение задачи        унификации к задаче решения системы термальных уравнений. Лемма о        связке. Алгоритм унификации. Теорема о корректности и завершаемости        алгоритма унификации.
+
<li> Метод резолюций для        логики предикатов: правила резолюции и склейки, резолютивный вывод.        Теорема корректности резолютивного вывода.
+
<li> Лемма о подъеме.        Теорема полноты резолютивного вывода для логики предикатов.
+
<li> Общая схема        доказательства общезначимости формул логики предикатов методом        резолюций. Стратегии резолютивного вывода.
+
</ol>
+
=== Основы логического программирования ===
+
<ol start="16">
+
<li> Использование        метода резолюций для нахождения ответов на запросы. Истолкование        резолютивного вывода как вычисления. Примеры вычислительных возможностей        резолютивного вывода.
+
<li> Хорновские        дизъюнкты. Синтаксис языка логического программирования: логические        программы и запросы. Декларативная семантика логических программ.        Правильный ответ на запрос к логической программе.
+
<li> SLD-резолюция.       SLD-резолютивные вычисления (опровержения) логических программ.       Процедурная интерпретация SLD-выводов. Примеры SLD-опровержений        успешных, тупиковых и бесконечных. Вычислимый ответ. Операционная       (процедурная) семантика логических программ.
+
<li> Теорема корректности SLD-резолютивных вычислений        логических программ.
+
<li>  Теорема полноты SLD-резолютивных        вычислений логических программ.
+
<li> Правило вычислений        и его роль. R-вычислимый ответ. Переключательная лемма. Теорема о       независимости правила вычислений. Теорема сильной полноты SLD-резолюции.
+
<li> Дерево       SLD-вычислений логических программ. Стратегии вычислений. Полные и неполные стратегии вычислений. Стандартная       стратегия исполнения логических программ. Неполнота стандартной        стратегии.
+
<li> Управление       исполнением логических программ. Оператор отсечения. Операционная        семантика оператора отсечения.
+
<li> Отрицание в       Прологе. Допущение замкнутости мира. Отрицание как неудача. Эффект        немонотонности вычислений логических программ с оператором отрицания.
+
<li> Встроенные        предикаты и функции. Операционная семантика встроенных средств.
+
<li> Теорема о        вычислительной универсальности чистого Пролога. Теорема Чёрча о        неразрешимости логики предикатов первого порядка.
+
 
</ol>
 
</ol>
  
=== Неклассические прикладные логики ===
+
== Неклассические прикладные логики ==
<ol start="28">
+
<ol start="32">
<li> Интуиционистская логика. Модели Крипке для интуиционистской логики.       Примеры интуиционистски общезначимых и необщезначимых формул. Модальные логики. Модели Крипке для модальных логик.         Эпистемические логики. Темпоральные логики.
+
<li> Модальные логики. Шкалы и модели Крипке для модальных логик. Эпистемические логики. Темпоральные логики. Логика линейного времени. Логика деревьев вычислений.
<li> Проблема верификации последовательных программ.         Операционная семантика типовых программных конструкций. Предусловие и постусловие. Частичная корректность программ.       Тройки Хоара и их содержательный смысл. Правила вывода в логике Хоара для доказательства частичной корректности        последовательных программ.
+
<li> Интуиционистская логика. Модели Крипке для интуиционистской логики.
<li> Моделирование программ системами переходов. Темпоральная логика        высказываний линейного времени (PLTL): синтаксис и семантика. Применение темпоральных логик для спецификации поведения         реагирующих программных систем.
+
<li> Формальная верификация программ. Модель императивных программ: синтаксис, операционная семантика. Предусловия и постусловия. Полная и частичная корректность программ. Тройки Хоара. Логика Хоара. Корректность вывода в логике Хоара. Слабейшее предусловие. Инвариант цикла.
<li> Задача проверки выполнимости формул PLTL на конечной модели. Равносильные преобразования формул PLTL. Табличный алгоритм проверки выполнимости формул PLTL на конечной модели: основные этапы.
+
<li> Размеченные системы переходов. Моделирование программ системами переходов. Логика деревьев вычислений (CTL): синтаксис, семантика, основные равносильности, применение для спецификации поведения распределённых систем. Задача проверки моделей (model checking) относительно CTL: формулировка, решающий алгоритм.
 
</ol>
 
</ol>
  
=== Основания математики ===
+
== Основания математики ==
 
+
<ol start="36">
<ol start="32">
+
 
<li> Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.
 
<li> Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.
 
</ol>
 
</ol>
  
== Основная литература ==
+
 
 +
= Литература =
 +
 
 +
== Основная ==
 
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.
 
# Клини С. Математическая логика. М.:Мир, 1973, 480 с.
 
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.
 
# Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.
Строка 197: Строка 159:
 
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.
 
# Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.
  
== Дополнительная литература ==
+
== Дополнительная ==
  
 
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.
 
# Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.
Строка 212: Строка 174:
 
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.
 
# Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.
 
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.
 
# Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.
 
== Коллоквиум ==
 
 
Коллоквиум по курсу математической логики и логического программирования проводится по материалам лекций и семинарских занятий, охватывающих вопросы 1-15.
 
 
Коллоквиум проводится в письменной форме. На выполнение всех заданий коллквиума отводится 90 мин.
 
 
Задание коллоквиума состоит из 3 практических задач
 
 
- построение формулы логики предикатов, адекватно выражающей утверждение естественного языка;
 
 
- проверка общезначимости формулы логики предикатов при помощи табличного вывода;
 
 
- проверка общезначимости формулы логики предикатов при помощи метода резолюций;
 
 
и 9 теоретических вопросов.
 
 
В каждом теоретическом вопросе предлагается несколько вариантов ответа. Для решения задачи достаточно отметить (обвести кружком номер выбранного варианта) ВСЕ правильные варианты ответа. Возможно, что для некоторых вопросов не будет предложено ни одного правильного варианта ответа. В этом случае, естественно, ни один вариант ответа не должен быть отмечен.
 
 
Максимальная оценка за решение практической задачи - 2 очка. Максимальная оценка за решение теоретической задачи - 1 очко.
 
 
Оценка "отлично" получают работы с количеством очков 13-15. Авторы этих работ получают бонус 3 балла, который добавляется к числу баллов, полученных за экзаменационную работу.
 
 
Оценка "хорошо" получают работы с количеством очков 10-12. Авторы этих работ получают бонус 1 балл, который добавляется к числу баллов, полученных за экзаменационную работу.
 
 
Оценка "удовлетворительно" получают работы с количеством очков 7-9. Авторы этих работ получают штраф 1 балл, который вычитается из числа баллов, полученных за экзаменационную работу.
 
 
Оценка "неудовлетворительно" получают работы с количеством очков менее 7, а также все те слушатели курса, которые не приняли участие в коллоквиуме без уважительных причин. Неудовлетворительная оценка дает штраф 3 балла, которые вычитаются из числа баллов, полученных за экзаменационную работу.
 
 
== Экзамен ==
 
 
Экзамен проводится в форме письменной контрольной работы, состоящей из 14 заданий. На выполнение работы отводится 150 минут.
 
 
Задание 0. Разработать логическую программу решения некоторой комбинаторной задачи.
 
Максимальная оценка за решение задачи - 6 баллов.
 
 
Задания 1-4. Решить стандартные задачи курса: построить логическую формулу логики предикатов, адекватно выражающей заданное утверждение естественного языка, проверить общезначимость заданных формул логики предикатов при помощи табличного вывода и при помощи метода резолюций, построить дерево SLD-резолютивного вывода для заданной логической программы. Максимальная оценка за решение каждой задачи этого типа - 3 балла.
 
 
Задания 5-9. Привести формулировку одной из теорем или определение одного из понятий, изученных в лекционном курсе, а также дать краткий ответ (вида "да"-"нет") на дополнительный вопрос, относящийся к этой формулировке. Максимальная оценка за решение каждой задачи этого типа - 2 балла.
 
 
Задания 10-13. Представить набросок (эскиз) доказательства одной из теорем курса или выбрать  правильные варианты ответа на заданный вопрос и обосновать выбор. Максимальная оценка за решение каждой задачи этого типа - 3 балла.
 
 
Экзаменационная оценка выставляется на основе суммарного количества баллов, полученных за решение задач экзаменационной контрольной работы, и количества бонусных (штрафных) баллов, полученных за решение задач коллоквиума.
 
 
Оценка '''отлично''': не менее 32 баллов.
 
 
Оценка '''хорошо''': не менее 24 и не более 31 баллов.
 
 
Оценка '''удовлетворительно''': не менее 16 и не более 23 баллов.
 
 
Оценка '''неудовлетворительно''': не более 15 баллов.
 
 
 
 
[[Категория:Лекционные курсы кафедры МК]]
 

Версия 19:57, 3 сентября 2022


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

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


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

Слайды будут появляться по мере проведения занятий.


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

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

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


Материалы прошлого года

Лектором был Захаров В.А..

Материалы, в том числе слайды и видеозаписи лекций, - по ссылке в папке "ЗахаровВА".


Коллоквиум

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

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

Правильное решение типовой задачи оценивается в 2 балла Правильное решение теоретического вопроса - в 1 балл. Наибольший возможный балл за решение варианта коллоквиума - 15.

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

  • хотя бы 14 на коллоквиуме: +3 балла на экзамене;
  • хотя бы 12, но менее 14: +2 балла;
  • хотя бы 10, но менее 12: +1 балл;
  • хотя бы 8, но менее 10: +0 баллов;
  • хотя бы 6, но менее 8: -1 балл;
  • хотя бы 4, но менее 6: -2 балла;
  • менее 4: -3 балла;
  • коллоквиум пропущен по неуважительной причине: -3 балла;
  • коллоквум пропущен по уважительной причине: +0 баллов.


Экзамен

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

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

Правильно написанная логическая программа оценивается в 6 баллов. Правильное решение типовой задачи оценивается в 3 балла. Правильное решение вопроса на формулировку оценивается в 2 балла. Правильное решение вопроса на обоснование оценивается в 3 балла. Наибольший возможный балл за решение варианта экзамена - 40.

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

  • хотя бы 32 балла: отлично;
  • хотя бы 24 балла, но менее 32: хорошо.
  • хотя бы 16 баллов, но менее 24: удовлетворительно.
  • менее 16 баллов: неудовлетворительно.


Программа

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

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

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

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

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

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

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

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

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

Основания математики

  1. Как устроена математика. Исчисление предикатов первого порядка. Аксиоматические теории. Элементарная геометрия. Теория множеств Цермело-Френкеля. Арифметика Пеано. Теорема Геделя о неполноте формальной арифметики.


Литература

Основная

  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 с.