
- •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-полных задач.
70. Машина Поста.
Машина Поста (МП) — абстрактная вычислительная машина.
Принцип работы
Машина Поста состоит из каретки (или считывающей и записывающей головки) и разбитой на секции бесконечной в обе стороны ленты. Каждая секция ленты может быть либо пустой — 0, либо помеченной меткой 1. За один шаг каретка может сдвинуться на одну позицию влево или вправо, считать, поставить или стереть символ в том месте, где она стоит. Работа машины Поста определяется программой, состоящей из конечного числа строк. Для работы машины нужно задать программу и ее начальное состояние. Кареткой управляет программа, состоящая из строк команд. Каждая команда имеет следующий синтаксис: i K j,
где i - номер команды, K – действие каретки, j - номер следующей команды (отсылка).
Всего для машины Поста существует шесть типов команд:
V j - поставить метку, перейти к j-й строке программы.
X j - стереть метку, перейти к j-й строке программы.
<- j - сдвинуться влево, перейти к j-й строке программы.
-> j - сдвинуться вправо, перейти к j-й строке программы.
После запуска возможны варианты:
работа может закончиться невыполнимой командой (стирание несуществующей метки или запись в помеченное поле);
работа может закончиться командой Stop;
работа никогда не закончится.
71, 72
71. Рекурсивные функции. Примитивно-рекурсивные функции. Примитивно-рекурсивные операторы. Частично-рекурсивные функции. Тезис Черча.
Определению Р. ф. может быть придана следующая форма. Фиксируется небольшое число чрезвычайно простых исходных функций, вычислимых в упомянутом выше интуитивном смысле (функция, тождественно равная нулю, функция прибавления единицы и функции, выделяющие из системы натуральных чисел член с данным номером); фиксируется небольшое число операций над функциями, переводящих вычислимые функции снова в вычислимые (операторы подстановки, примитивной рекурсии и минимизации). Тогда Р. ф. определяются как такие функции, которые можно получить из исходных в результате конечного числа применений упомянутых выше операций.
Функция
f является примитивно-рекурсивной, если
её можно получить из S1,O^n,
конечным числом операций суперпозиции
примитивной рекурсии.
Операторы подстановки и примитивной рекурсии определяются следующим образом:
Оператор суперпозиции. Пусть f — функция от m переменных, а g1,..,gm — упорядоченный набор функций от n переменных каждая. Тогда результатом суперпозиции функций gk в функцию f называется функция h от n переменных, сопоставляющая любому упорядоченному набору x1,...,xn натуральных чисел число h(x1,...,xn)=f(g1(x1,...,xn),...,gm(x1,...,xn))
Оператор примитивной рекурсии. Пусть f — функция от n переменных, а g — функция от n + 2 переменных. Тогда результатом применения оператора примитивной рекурсии к паре функций f и g называется функция h от n + 1 переменной вида
h(x1,...,xn,0)=f(x1,...,xn)
h(x1,...,xn,y+1)= g(x1,...,xn,y, h(x1,...,xn,y))
В данном определении переменную y можно понимать как счетчик итераций, f — как исходную функцию в начале итерационного процесса, выдающего некую последовательность функций n переменных, начинающуюся с f, g — как оператор, принимающий на вход n переменных x1,...,xn , номер шага итерации (y) , функцию на данном шаге итерации, и возвращающий функцию h(x1,...,xn,y) на следующем шаге итерации.
Частично рекурсивная функция определяется аналогично примитивно рекурсивной, только к двум операторам суперпозиции и примитивной рекурсии добавляется ещё третий оператор — минимизации аргумента. суперпози́ция фу́нкций — это применение одной функции к результату другой. Тезис Черча:Для любой интуитивно вычислимой функции существует вычисляющая её значения машина Тьюринга.