
- •1.Язык логики высказываний. Простые высказывания, сложные выск, лог связки. Роль связок в естественном языке.
- •2.Синтаксис языка логики высказываний: алфавит и правила построения формул. Семантика языка логики высказываний, интерпретация формул.
- •3.Свойства формул: общезначимость, выполнимость, противоречивость.
- •4.Основные схемы логически правильных рассуждений.
- •14. Бинарные функции алгебры логики.
- •12.Алгебра логики. Функции алгебры логики. K-значные логики.
- •13.Способы задания функций алгебры логики. Единичные и нулевые наборы функций алгебры логики. Фиктивные (несущественные) переменные.
- •15.Суперпозиции и формулы. Глубина формулы. Способы записи формул.
- •19.Разложение функций по переменным. Совершенная дизъюнктивная нормальная форма.
- •21Двойственность.
- •20. Днф, скнф, сднф, кнф. Приведение к кнф и днф.
- •25. Исчисление высказываний как формальная система, множественность аксиоматизаций. Проблема выводимости. Прямой вывод.
- •26.Теорема дедукции. Связь выводимости и истинности формул в логике высказываний. Выполнимые и общезначимые формулы.
- •27.Понятие логического следования, проблема дедукции. Принцип дедукции. Правило резолюций, метод резолюций. Стратегии метода резолюций.
- •31. Предикат. Предикаты и отношения. Предикаты и функции. Предикаты и высказывания.
- •32. Синтаксис языка логики предикатов: алфавит, термы, атомы, правила построения формул.
- •35. Множество истинности предикатов. Равносильность и следование предикатов.
- •27. Префиксная нормальная форма. Процедура получения префиксной нормальной формы.
- •40. Методы доказательства в логике предикатов.
- •41. Исчисление предикатов. Формальный вывод в исчислении предикатов. Правило переименования свободных переменных. Правило переименования связанных переменных.
- •42. Выводимость и истинность в логике предикатов. Эквивалентные преобразования.
- •43. Предваренная, сколемовская и клаузальная формы. Алгоритм получения клаузальной формы.
- •44. Метод резолюций в логике предикатов. Теорема Черча.
- •45. Принцип логического программирования.
- •46. Применение логики предикатов в логико-математической практике.
- •47. Классификация высказываний по Аристотелю
- •48. Методы рассуждений. Аристотелева силлогистика. Теоретико-множественная интерпретация аристотелевой силлогистики
- •49. Принцип полной дизъюнкции в предикатной форме
- •50 Метод (полной) математической индукции
- •51. Необходимые и достаточные условия
- •53. Вывод и выводимость в формальной теории. Разрешимые и неразрешимые формулы. Доказательство и доказуемость. Теорема формальной теории.
- •54. Основные свойства формальных систем: непротиворечивость, полнота, разрешимость. Полнота и непротиворечивость исчисления высказываний. Полнота и непротиворечивость исчисления предикатов.
- •55. Прикладные исчисления предикатов. Формальная арифметика. Теорема Генцена о непротиворечивости формальной арифметики.
- •56. Теоремы о неполноте формальных систем, смысл и значение теорем Геделя для практической информатики.
- •57 Неклассические логики.
- •58. Интуиционистская логика.
- •59. Нечеткая логика.
- •61. Временные логики. Приложение временных логик к программированию.
- •63. Многозначные логики. Трёхзначная логика я. Лукасевича. M-значная логика э. Поста.
- •64. Предпосылки возникновения теории алгоритмов. Основные требования к алгоритмам. Подходы к уточнению понятия «алгоритм». Три основных типа универсальных алгоритмических моделей.
- •65.Машина Тьюринга. Конфигурация машины Тьюринга. Функция, правильно вычислимая по Тьюрингу. Эквивалентные машины Тьюринга. Композиция машин Тьюринга.
- •66. Вычисление предикатов на машине Тьюринга.
- •67. Универсальная машина Тьюринга. План построения универсальной машины Тьюринга.
- •68. Тезис Тьюринга
- •69.Проблема остановки как пример алгоритмически неразрешимых проблем.
- •70. Машина Поста.
- •71. Рекурсивные функции. Примитивно-рекурсивные функции. Примитивно-рекурсивные операторы. Частично-рекурсивные функции. Тезис Черча.
- •73. Вычислимость и разрешимость. Нумерация алгоритмов. Алгоритмически разрешимые и неразрешимые задачи. Проблема остановки, проблема самоприменимости, проблема пустой ленты.
- •74. Требование результативности и теория алгоритмов.
- •75. Разрешимые и перечислимые множества. Связь между разрешимостью и перечислимостью множеств. Теорема Райса.
- •63. Сложность алгоритмов. Меры сложности алгоритмов. Сложность задачи. Массовые и индивидуальные задачи.
- •81.Полиномиальный алгоритм. Легко- и трудноразрешимые задачи, классы задач p и np.
- •70. Недетерминированная машина Тьюринга (нмт).
- •82 Полиномиальная сводимость и np-полнота. Np-полные задачи. Примеры np-полных задач. Теорема Кука. Примеры практически значимых np-полных задач.
- •72. Теория формальных грамматик. Формальные порождающие грамматики. Язык, порождаемый грамматикой.
- •73. Классификация грамматик и порождаемых ими языков.
- •74.Неукорачивающие грамматики и разрешимость языка.
- •75.Метаязык Бэкуса.
- •76. Контекстно-свободные грамматики. Приведение контекстно-свободных грамматик.
- •77.Алгоритмические проблемы для грамматик.
- •78.Алгоритмические проблемы для контекстно-свободных грамматик.
- •82. Частичные автоматы и их минимизация.
- •83.Интерпретация автоматов. Основные проблемы абстрактной теории автоматов.
- •84.Автоматы Мура. Событие. Представление событий в автоматах.
- •59. Рекурсивные функции. Примитивно-рекурсивные функции. Примитивно-рекурсивные операторы. Частично-рекурсивные функции. Тезис Черча.
- •5Основные тавтологии, выражающие свойства логических операций.
- •62.Алгоритмические логики. Принципы построения алгоритмической логики. Алгоритмическая логика Хоара.
- •64.Асимптотическая сложность, порядок сложности. Сложность в среднем и в худшем случае.
- •78.Трудоемкость алгоритмов. Классификация алгоритмов по виду функции трудоёмкости
- •85. Автономные автоматы.
- •86. Класс множеств, представимых конечными автоматами.
- •Синтаксис языка логики высказываний: алфавит и правила построения формул. Семантика языка логики высказываний, интерпретация формул.
- •6Основные правила получения тавтологий.
- •7Логическая равносильность формул. Алгоритм проверки логической равносильности формул. Свойства отношения равносильности на множестве формул. Равносильные преобразования.
- •8Логическое следование формул. Логические следствия и посылки. Алгоритм проверки формул на логическое следование. Признаки логического следствия. Два свойства логического следования.
- •9Следование и равносильность формул.
- •17Полнота и замкнутость системы функций. Функционально полные базисы. Классы Поста. Теорема Поста о полноте системы булевых функций.
- •18Булева алгебра логических операций. Основные эквивалентные соотношения (законы) в булевой алгебре.
- •29Алгоритм построения резолюций для множества фраз Хорна.
- •33Кванторные операции. Свободные и связанные вхождения переменных. Логический квадрат.
- •34Численные кванторы. Ограниченные кванторы.
- •37Приведенная нормальная форма. Процедура получения приведенной нормальной формы.
- •38Предваренная нормальная форма. Процедура получения предваренной нормальной формы.
- •39Проблема разрешимости для общезначимости и выполнимости формул логики предикатов. Теорема Черча. Частные случаи.
- •72Нормальные алгорифмы Маркова. Нормально вычислимые функции и принцип нормализации Маркова.
- •76Сложность алгоритмов. Меры сложности алгоритмов. Сложность задачи. Массовые и индивидуальные задачи.
- •77Асимптотическая сложность, порядок сложности. Сложность в среднем и в худшем случае.
- •79Методики перехода к временным оценкам трудоёмкости алгоритмов. Пооперационный анализ. Метод Гиббсона. Метод прямого определения среднего времени.
- •1) Пооперационный анализ
- •2) Метод Гиббсона
- •3) Метод прямого определения среднего времени
- •80Сложность и кодирование. Сложность и архитектура машины.
62.Алгоритмические логики. Принципы построения алгоритмической логики. Алгоритмическая логика Хоара.
В
начале 70-х годов XX века возникли
алгоритмические логики. Цель — описание
семантики языков программирования.
Алгоритмические логики включают
высказывания вида {}
S {},
читающиеся как «если до выполнения
оператора S было выполнено ,
то после него будет ».
Эти логические языки практически
одновременно изобретены Р.У.Флойдом
(1967), К.Хоаром (1969) и представителями
польской логической школы (А.Сальвиницкий
и др. (1970)). Принципы построения
алгоритмической логики L0. Память в L0
разделена на ячейки. Каждая ячейка имеет
идентификатор, представляющий собой
слово из латинских букв и цифр и
начинающийся с буквы. Ячейки содержат
натуральные числа. Программа в L0 состоит
из операторов. Исходный оператор —
присваивание: х := е, где х — идентификатор,
а е — выражение, составленное из
идентификаторов и натуральных чисел.
Пусть состояние памяти после присваивания
удовлетворяет условию А(х), где А —
формула формальной арифметики. Тогда
состояние, которое было до присваивания,
опишем формулой А(х|е). (К примеру, если
А(х) — это х < 2 и х := х + 1, то А(х | х + 1) —
это х + 1 < 2. Следовательно, чтобы после
присваивания х := х + 1 стало истинным х
< 2, требуется, чтобы до присваивания
выполнялось неравенство х + 1 < 2, т.е.
|= {х + 1 < 2}х := х + 1{х < 2}.) Иначе говоря,
имеем высказывание {А(х|е)}х := е{ А(х)}.
Пусть два оператора S1, S2 выполняются
один за другим. Тогда этому соответствует
логическая запись вида
.
Условный оператор IF A1
S1
A2
S2
... An
Sn FI, где A1, ... An — логические выражения,
построенные из отношений е1 = е2, е1 > е2
при помощи логических связок; Si —
последовательность операторов.
Проверяются формулы Ai при настоящем
состоянии памяти. Если ни одна из Ai не
истинна, то фиксируется ошибка. Если же
некоторые Ai истинны, то выбирается одна
их них (неважно как) и выполняется
соответствующая последовательность
операторов Si». Цикл DO A1
S1
A2
S2
... An
Sn OUT B1
T1
B2
T2
...
Bm
Tm OD. Выполняется оператор цикла следующим
образом. Проверяются формулы A1, ...
An,B1,...,Bm при настоящем состоянии памяти.
Если ни одна из них не истинна, то
фиксируется ошибка. Если же некоторые
истинны, то выбирается одна их них
(неважно как). Если выбрана Ai, то выполняется
соответствующая последовательность
операторов Si и выполнение цикла
возобновляется. Если выбрана Bi, то
выполняется соответствующая
последовательность операторов Ti и
выполнение цикла завершается.
Алгоритмическая логика Хоара. Основой
для логики выводов правильных программ
служат аксиомы Хоара (правила верификации).
Они допускают интерпретации в терминах
программных конструкций. Аксиомы Хоара
определяют предусловия как достаточные
условия, гарантирующие, что исполнение
соответствующего оператора при успешном
завершении приведет к желаемым
постусловиям.
64.Асимптотическая сложность, порядок сложности. Сложность в среднем и в худшем случае.
Несмотря на то, что функция временной сложности алгоритма в некоторых случаях может быть определена точно, в большинстве случаев искать точное её значение бессмысленно. Дело в том, что во-первых, точное значение временной сложности зависит от определения элементарных операций (например, сложность можно измерять в количестве арифметических операций или операций на машине Тьюринга), а во-вторых, при увеличении размера входных данных вклад постоянных множителей и слагаемых низших порядков, фигурирующие в выражении для точного времени работы, становится крайне незначительным. Рассмотрение входных данных большого размера и оценка порядка роста времени работы алгоритма, приводит к понятию асимптотической сложности алгоритмов. Обычно алгоритм с меньшей асимптотической сложностью является более эффективным для всех входных данных, за исключением лишь, возможно, данных малого размера. Для записи асимтотической сложности алгоритмов используются следующие обозначения:
Классы сложности
Класс сложности — это множество задач распознавания, для решения которых существуют алгоритмы, схожие по вычислительной сложности. Два важных представителя:
Класс P
Класс P вмещает все те проблемы, решение которых считается «быстрым», то есть полиномиально зависящим от размера входа. Сюда относится сортировка, поиск во множестве, выяснение связности графов и многие другие.
Класс NP
Класс NP содержит задачи, которые недетерминированная машина Тьюринга в состоянии решить за полиномиальное количество времени. Следует заметить, что недерминированная машина Тьюринга машина является лишь абстрактной моделью, в то время как современные компьютеры соответствуют детерминированной машины Тьюринга с ограниченной памятью. Таким образом, класс NP включает в себя класс P, а также некоторые проблемы, для решения которых известны лишь алгоритмы, экспоненциально зависящие от размера входа (т.е. неэффективные для больших входов). В класс NP входят многие знаменитые проблемы, такие как задача коммивояжёра, задача выполнимости булевых формул, факторизация и др.
Пример
«пропылесосить ковер» требует время, линейно зависящее от его площади (Θ(A)), то есть на ковер, площадь которого больше в два раза, уйдет в два раза больше времени. Соответственно, при увеличении размера ковра в сто тысяч раз, объем работы увеличивается строго пропорционально в сто тысяч раз, и т. п.