
- •1. Язык логики высказываний. Простые высказывания, сложные высказывания, логические связки. Роль связок в естественном языке.
- •2. Синтаксис языка логики высказываний: алфавит и правила построения формул. Семантика языка логики высказываний, интерпретация формул.
- •3. Свойства формул: общезначимость, выполнимость, противоречивость, опровержимость.
- •4. Основные схемы логически правильных рассуждений.
- •5. Основные тавтологии, выражающие свойства логических операций.
- •6. Основные правила получения тавтологий.
- •7. Логическая равносильность формул. Алгоритм проверки логической равносильности формул. Свойства отношения равносильности на множестве формул. Равносильные преобразования.
- •8. Логическое следование формул. Логические следствия и посылки. Алгоритм проверки формул на логическое следование. Признаки логического следствия. Два свойства логического следования.
- •9. Следование и равносильность формул.
- •10. Нахождение следствия для данных посылок.
- •11. Нахождение посылок для данного следствия.
- •12. Алгебра логики. Функции алгебры логики. K-значные логики.
- •13. Способы задания функций алгебры логики. Единичные и нулевые наборы функций алгебры логики. Фиктивные (несущественные) переменные.
- •14. Бинарные функции алгебры логики.
- •15. Суперпозиции и формулы. Глубина формулы. Способы записи формул.
- •16. Эквивалентные формулы. Способы установления эквивалентности формул.
- •17. Полнота и замкнутость системы функций. Функционально полные базисы. Классы Поста. Теорема Поста о полноте системы булевых функций.
- •18. Булева алгебра логических операций. Основные эквивалентные соотношения (законы) в булевой алгебре.
- •19. Разложение функций по переменным. Совершенная дизъюнктивная нормальная форма.
- •20. Днф, сднф, кнф, скнф. Процедуры приведения к днф и кнф.
- •2 1. Двойственность.
- •22. Алгебра Вебба, алгебра Шеффера, импликативная алгебра, коимпликативная алгебра, алгебра Жегалкина.
- •23. Полиномы Жегалкина. Процедуры приведения к пнф.
- •24. Конечно-значные логики: алгебра Вебба, алгебра Поста, алгебра Россера–Тьюкетта.
- •25. Исчисление высказываний как формальная система, множественность аксиоматизаций. Проблема выводимости. Прямой вывод.
- •26. Теорема дедукции. Связь выводимости и истинности формул в логике высказываний. Выполнимые и общезначимые формулы.
- •27. Понятие логического следования, принцип дедукции. Правило резолюций, метод резолюций. Стратегии метода резолюций.
- •29. Алгоритм построения резолюций для множества фраз Хорна.
- •30. Свойства формализованного счисления высказываний.
- •31. Предикат. Предикаты и отношения. Предикаты и функции. Предикаты и высказывания.
- •32. Синтаксис языка логики предикатов: алфавит, термы, атомы, правила построения формул.
- •33. Кванторные операции. Свободные и связанные вхождения переменных. Логический квадрат.
- •34. Численные кванторы. Ограниченные кванторы.
- •35. Множество истинности предикатов. Равносильность и следование предикатов.
- •37. Приведенная нормальная форма. Процедура получения приведенной нормальной формы.
- •38. Предваренная нормальная форма. Процедура получения предваренной нормальной формы.
- •39. Проблема разрешимости для общезначимости и выполнимости формул логики предикатов. Теорема Черча. Частные случаи.
- •40. Методы доказательства в логике предикатов.
- •41. Исчисление предикатов как формальная система. Формальный вывод в исчислении предикатов. Правило переименования свободных переменных. Правило переименования связанных переменных.
- •42. Выводимость и истинность в логике предикатов. Эквивалентные преобразования.
- •43. Предваренная, сколемовская и клаузальная формы. Алгоритм получения клаузальной формы.
- •45. Принцип логического программирования.
- •46. Применение логики предикатов в логико-математической практике.
- •47. Классификация высказываний по Аристотелю.
- •48. Методы рассуждений. Аристотелева силлогистика. Теоретико-множественная интерпретация аристотелевой силлогистики
- •49. Принцип полной дизъюнкции в предикатной форме
- •50. Метод (полной) математической индукции.
- •51. Необходимые и достаточные условия
- •52. Понятия формальной системы и формального вывода. Аксиоматическая (формальная) теория и принципы ее построения.
- •53. Вывод и выводимость в формальной теории. Разрешимые и неразрешимые формулы. Доказательство и доказуемость. Теорема формальной теории.
- •54. Основные свойства формальных систем: непротиворечивость, полнота, разрешимость. Полнота и непротиворечивость исчисления высказываний. Полнота и непротиворечивость исчисления предикатов.
- •55. Прикладные исчисления предикатов. Формальная арифметика. Теорема Генцена о непротиворечивости формальной арифметики.
- •56. Теоремы о неполноте формальных систем, смысл и значение теорем Геделя для практической информатики.
- •57. Неклассические логики.
- •58. Интуиционистская логика.
- •59. Нечеткая логика.
- •60. Модальные логики. Типы модальностей.
- •61. Временные логики. Приложение временных логик к программированию.
- •62. Алгоритмические логики. Принципы построения алгоритмической логики. Алгоритмическая логика Хоара.
- •63. Многозначные логики. Трёхзначная логика я.Лукасевича. M-значная логика э.Поста.
- •64. Предпосылки возникновения теории алгоритмов. Основные требования к алгоритмам. Подходы к уточнению понятия «алгоритм». Три основных типа универсальных алгоритмических моделей.
- •65. Машина Тьюринга. Конфигурация машины Тьюринга. Функция, правильно вычислимая по Тьюрингу. Эквивалентные машины Тьюринга. Композиция машин Тьюринга.
- •66. Вычисление предикатов на машине Тьюринга.
- •67. Универсальная машина Тьюринга. План построения универсальной машины Тьюринга.
- •68. Тезис Тьюринга.
- •69. Проблема остановки как пример алгоритмически неразрешимых проблем.
- •70. Машина Поста.
- •71. Рекурсивные функции. Примитивно-рекурсивные функции. Примитивно-рекурсивные операторы. Частично-рекурсивные функции. Тезис Черча.
- •72. Нормальные алгорифмы Маркова. Нормально вычислимые функции и принцип нормализации Маркова.
- •73. Вычислимость и разрешимость. Нумерация алгоритмов. Алгоритмически разрешимые и неразрешимые задачи. Проблема остановки, проблема самоприменимости, проблема пустой ленты.
- •74. Требование результативности и теория алгоритмов.
- •75. Разрешимые и перечислимые множества. Связь между разрешимостью и перечислимостью множеств. Теорема Райса.
- •76. Сложность алгоритмов. Меры сложности алгоритмов. Сложность задачи. Массовые и индивидуальные задачи.
- •77. Асимптотическая сложность, порядок сложности. Сложность в среднем и в худшем случае.
- •78. Трудоемкость алгоритмов. Классификация алгоритмов по виду функции трудоёмкости
- •79. Методики перехода к временным оценкам трудоёмкости алгоритмов. Пооперационный анализ. Метод Гиббсона. Метод прямого определения среднего времени.
- •1) Пооперационный анализ
- •2) Метод Гиббсона
- •3) Метод прямого определения среднего времени
- •80. Сложность и кодирование. Сложность и архитектура машины.
- •81. Полиномиальный алгоритм. Легко- и трудноразрешимые задачи, классы задач p и np.
- •82. Полиномиальная сводимость и np-полнота. Np-полные задачи. Примеры np-полных задач. Теорема Кука. Примеры практически значимых np-полных задач.
66. Вычисление предикатов на машине Тьюринга.
Машина Т вычисляет предикат Р(а) (а — слово в Aисх), если Т(а) = омега, где омега = И, когда Р(а) истинно, и омега = Л, когда Р(а) ложно. Если же Р(а) не определен, то машина Т, как и при вычислении функций, не останавливается.
Машина Т вычисляет Р(а) с восстановлением, если Т(а) = а*омега.
67, 68
67. Универсальная машина Тьюринга. План построения универсальной машины Тьюринга.
Систему команд машины Тьюринга можно интерпретировать и как описание работы конкретного механизма, и как программу, т.е. совокупность предписаний, однозначно приводящих к результату.
Словесное описание алгоритма воспроизведения работы машины Тьюринга по заданной программе:
«Для текущей конфигурации a1akqiaja2 найти в системе команд команду с левой частью qiaj. Если правая часть этой команды имеет вид q¢ia¢jR, то заменить в текущей конфигурации qiaj на a¢jq¢i (получится конфигурация a1aka¢jq¢ia2); если же правая часть имеет вид q¢ia¢jL, то заменить akqiaj на q¢iaka¢j (случай с Е можно не рассматривать)».
Формулировка задачи: построить МТ U, вычисляющую функцию от двух переменных, и такую, что для любой машины Т с системой команд ST U(ST, a) =Т(а), если Т(а) определена (т.е. если машина Т останавливается при исходных данных a), и U(ST, а) не останавливается, если Т(а) не останавливается.
Любую машину U, обладающую указанным свойством, будем называть универсальной машиной Тьюринга.
Первая проблема построения универсальной машины U — проблема алфавита и множества состояний — всегда найдется машина Т, алфавиты АT и QT которой превосходят по мощности АU, QU или просто не совпадают с ними). Выход — символы АT и QT кодировать словами в алфавите АU. Пусть |АT| = mT, |QT| = nT. Будем всегда считать, что a1 = 1. Обозначим коды qi и aj через S(qi) и S(aj)
План построения машины Тьюринга.
Будем считать, что машина Т всегда работает на правой полуленте. Тогда ленту U можно разделить на две бесконечные полуленты с границей Z между ними: в правой полуленте записывается текущая конфигурация машины Т (в силу нашего предположения конфигурация машины Т при этой имитации никогда не зайдет на левую полуленту), а в левой полуленте записан код системы команд S(ST).
Начальная конфигурация U имеет вид u1S(ST)ZS(q1)S(a)
u1 — начальное состояние машины U,
q1 — начальное состояние Т,
а — исходное слово Т.
Выполнению одной команды Т соответствует цикл машины U, реализующей основное действие, с той разницей, что оно будет осуществляться не над конфигурацией К машины Т, а над ее кодом S(K). Благодаря выбранному кодированию длины всех слов вида S(qiaj) и S(ajqi) равны, поэтому при заменах S(qiaj) на S(a¢jq¢i) или S(akqi) на S(q'ia¢j), имитирующих движение головки машины Т, окрестность заменяемых слов не затрагивается и никаких сдвигов или раздвигов не требуется. Сама длина заменяемого слова равна числу символов между ® и ближайшим символом движения (R или L) на левой полуленте.