
- •0. Вопросы (указатель).
- •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-полных задач.
77. Асимптотическая сложность, порядок сложности. Сложность в среднем и в худшем случае.
Рассмотрение входных данных большого размера и оценка порядка роста времени работы алгоритма приводят к понятию асимптотической сложности алгоритма. Для записи асимптотической сложности алгоритмов используются асимптотические обозначения:
«пропылесосить ковер» требует время, линейно зависящее от его площади (Θ(A)), то есть на ковер, площадь которого больше в два раза, уйдет в два раза больше времени. Соответственно, при увеличении площади ковра в сто тысяч раз, объем работы увеличивается строго пропорционально в сто тысяч раз.
А) Худший случай
Максимальное количество переприсваиваний максимума (на каждом проходе цикла) будет в том случае, если элементы массива отсортированы по возрастанию. Трудоемкость алгоритма в этом случае равна:
FA^(n)=1+1+1+ (n-1) (3+2+2)=7 n - 4 = Q(n).
Б) Лучший случай
Минимальное количество переприсваивания максимума (ни одного на каждом проходе цикла) будет в том случае, если максимальный элемент расположен на первом месте в массиве. Трудоемкость алгоритма в этом случае равна:
FAÚ(n)=1+1+1+ (n-1) (3+2)=5 n - 2 = Q(n).
78. Трудоемкость алгоритмов. Классификация алгоритмов по виду функции трудоёмкости
Трудоемкость алгоритма это количество элементарных операций, которые необходимо выполнить для решения задачи с помощью данного алгоритма
Для получения функции трудоемкости алгоритма, представленного в формальной системе введенной абстрактной машины необходимо уточнить понятия «элементарных» операций. В качестве таких «элементарных» операций предлагается использовать следующие:
Простое присваивание: а ¬ b;
Одномерная индексация a[i] : (адрес (a)+i* длина элемента);
Арифметические операции: (*, /, -, +);
Операции сравнения: a < b;
Логические операции (l1) {or, and, not} (l2);
Конструкция «Следование»
Трудоемкость конструкции есть сумма трудоемкостей блоков, следующих друг за другом.
F «следование» = f1 + … + fk, где k – количество блоков.
Конструкция «Ветвление»
if ( l ) then fthen с вероятностью p
else felse с вероятностью (1 - p)
Общая трудоемкость конструкции «Ветвление» требует анализа вероятности выполнения переходов на блоки «Then» и «Else» и определяется как: F «ветвление» = fthen * p + felse * (1-p).
Конструкция «Цикл»
F«цикл» = 1+3*N+N*f«тела цикла»
79, 80
79. Методики перехода к временным оценкам трудоёмкости алгоритмов. Пооперационный анализ. Метод Гиббсона. Метод прямого определения среднего времени.
Дано: FA(DA) – трудоёмкость алгоритма. Требуется определить время работы программной реализации алгоритма – TA(DA).
1) Пооперационный анализ
Получить пооперационную функцию трудоемкости для каждой из используемых алгоритмом элементарных операций с учетом типов данных.
Экспериментальное определение среднего времени выполнения данной элементарной операции на конкретной вычислительной машине.
Ожидаемое время выполнения рассчитывается как сумма произведений пооперационной трудоемкости на средние времена операций: TA(N) = å FА оп i(N) * `t оп i