- •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Сложность и кодирование. Сложность и архитектура машины.
77.Алгоритмические проблемы для грамматик.
Поскольку класс множеств, порождаемых грамматиками, совпадает с классом перечислимых множеств, то для языков типа 0: никакое нетривиальное свойство языков типа 0 не является алгоритмически разрешимым; точнее, ни для какого нетривиального свойства языков типа 0 не существует алгоритма, который по произвольной грамматике G выяснял бы, обладает ли этим свойством язык L(G).
Для языков типа 1 уже существуют разрешимые проблемы. Например, для любой цепочки a и любого языка L типа 1 разрешима проблема принадлежности a языку L (теорема 2- Если G — неукорачивающая грамматика, то язык L(G) разрешим). Однако проблемы пустоты и бесконечности языка, порождаемого данной грамматикой типа 1, неразрешимы.
Для языков типа 2 эти две проблемы разрешимы. Разрешимость проблемы пустоты непосредственно следует из наличия алгоритмов приведения КС-грамматик, а именно: язык L(G) непуст, если и только если начальный символ G — производящий.
Разрешимость проблемы бесконечности следует из более сильного утверждения о характере бесконечности КС-языков, называемого иногда «леммой о разрастании».
78.Алгоритмические проблемы для контекстно-свободных грамматик.
Чтобы определить то, что называют к-с грамматикой надо:
(а)указать конечное множество A; его элементы называют символами;
(б) разделить все символы алфавита A на две группы: терминальные ("окончательные") и нетерминальные ("промежуточные");
(в)выбрать среди нетерминальных символов один, называемый начальным;
(г)указать конечное число правил грамматики, каждое из которых должно иметь видK-> X
где K - некоторый нетерминальный символ, а X - слово (в него могут входить и терминальные, и нетерминальные символы).
Теорема 5. Не существует алгоритма, который по двум произвольным КС-грамматикам G1 и G2 определял бы, пусто ли пересечение L(G1)Ç L(G2).
Теорема 6. Не существует алгоритма, который для произвольной КС-грамматики позволял бы узнать, является ли она однозначной или нет.
Теорема 7. Следующие проблемы для КС-языков неразрешимы:
1) является ли КС-языком пересечение КС-языков;
2) является ли КС-языком дополнение к КС-языку;
3) проблема тривиальности КС-языка (L = V*) или, что то же самое, пустоты дополнения;
4) проблема эквивалентности двух КС-грамматик.
. Конечный автомат. Способы задания автоматов.
Конечным автоматом называется система M ={А, S, B, j, f}, в которой А = {а1, ..., am}, S ={s1, ..., sn}, B ={b1, ..., bk} — конечные множества (алфавиты), а j: А ´ S ® S и f: А ´ S ® B — функции, определенные на этих множествах.
А называется входным алфавитом,
B — выходным алфавитом,
S — алфавитом состояний,
j — функцией переходов,
f — функцией выходов.
Если, кроме того, в автомате M выделено одно состояние, называемое начальным (обычно будет считаться, что это s1), то полученный автомат называется инициальным и обозначается (M, s1).
Способы задания автоматов
таблица переходов автомата, или просто автоматная таблица
ориентированный мультиграф, называемый графом переходов или диаграммой переходов.
.Автоматное отображение и его свойства. Изоморфизм и эквивалентность автоматов. Неотличимые автоматы.
Зафиксируем в M начальное состояние s1 и каждому входному слову a = aj1aj2...ajk поставим в соответствие слово w в выходном алфавите:
w = f(si, aj1) f(si, aj1aj2)... f(si, aj1... ajk). Это соответствие, отображающее входные слова в выходные слова, называется автоматным отображением, а также автоматным (или ограниченно детерминированным) оператором, реализуемым автоматом (M, s1).
Если результатом применения оператора к слову a является выходное слово w, то это будем обозначать соответственно M (s1, a) = w или M(a) = w.
Число букв в слове a, как обычно, называется длиной a и обозначается |a| или l(a). Автоматное отображение также удобно определить индуктивно:
M (si,aj) = f(si,aj)
M (si, aaj) = M(si, a) f(j(si, a), aj)
Пусть M = (AM, SM, BM, jM, fM) и T = (AT, ST, BT, jT, fT) — два автомата. Тройка отображений f: AM ® AT, g: SM® ST, h: BM ® BT называется гомоморфизмом автомата M в автомат T, если для любых aÎAM, sÎSM, bÎ BM выполнены условия:
jT(g(s), f(a)) = g(jM(s, a));
fT(g(s), f(a)) = h(fM(s, a)).
Автомат Т называется гомоморфным автомату M. Если все три отображения сюръективны, то эта тройка называется гомоморфизмом M на Т. Если, кроме того, эти три отображения взаимно однозначны, то они называются изоморфизмом M на Т; автоматы, для которых существует изоморфизм, называются изоморфными. Ясно, что мощности соответствующих алфавитов изоморфных автоматов должны быть одинаковыми.
Неотличимые автоматы.
Пусть M и Т — два автомата с одинаковыми входным и выходным алфавитами. Состояние s автомата M и состояние r автомата Т называются неотличимыми, если для любого входного слова a M(s, a) = T(r, a). В частности, если T = M , то речь идет о неотличимых состояниях одного и того же автомата M. Неотличимость состояний si и sj автомата M означает, что инициальные автоматы (M, si) и (M, sj) реализуют одно и то же автоматное отображение.
Автоматы M и Т называются неотличимыми, если для любого состояния s автомата M найдется неотличимое от него состояние r автомата Т и, наоборот, для любого r из Т найдется неотличимое от него s из M.
Неотличимость автоматов означает, что любое автоматное отображение, реализуемое одним из них, может быть реализовано другим; иначе говоря, их возможности по реализации преобразований входной информации в выходную совпадают.
.минимальный автомат. Алгоритм Мили нахождения эквивалентных состояний.
Переход от автомата M к эквивалентному автомату называется эквивалентным преобразованием автомата M. Можно ставить различные задачи о поиске автоматов, эквивалентных данному и обладающих заданными свойствами. Наиболее изученной среди таких задач является задача о минимизации числа состояний автомата: среди автоматов, эквивалентных M, найти автомат с наименьшим числом состояний — минимальный автомат.
Теорема Для любого автомата M существует минимальный автомат M0, единственный с точностью до изоморфизма; если множество состояний M разбивается на l классов эквивалентности (l £ n): C1 = {s11, ..., s1i1},..., Сl = {sl1, ..., slil}, то M0 имеет l состояний.
Алгоритм Мили нахождения эквивалентных состояний
Пусть дан автомат M = (A, S, B, j, f) с n состояниями. На каждом шаге алгоритма будем строить некоторое разбиение S на классы, причем разбиение на следующем шаге будет получаться расщеплением некоторых классов предыдущего разбиения.
Шаг 1. Два состояния s и s¢ относим в один класс С1j, если и только если для любого а Î А f(s, a) = f(s¢, a).
Шаг i + 1. Два состояния s и s¢ из одного класса Сij относим в один класс Сi+1,j, если и только если для любого а Î А j(s, a) и j(s¢, a) принадлежат одному и тому же классу Сil. Если (i + 1)-й шаг не изменяет разбиения, т. е. состояния из одного класса Сij принадлежат одному классу Сi+1,j, то алгоритм заканчивается и полученное разбиение является разбиением на классы эквивалентных состояний; иначе применяем шаг i + 1 к полученному разбиению.
Для автомата M с девятью состояниями и двумя выходными буквами, заданного таблицей, алгоритм строит следующую последовательность разбиений
Обозначим найденные классы по порядку С1, …, С6, тогда минимальный автомат описывается табл. а, в которой обозначения состояний (классов Сi) заменены их индексами.
Обычно, в исходной таблице оставляют по одному представителю из каждого класса, а строки остальных состояний вычеркивают; в полученной таблице все вхождения этих остальных состояний также заменяют выбранными представителями. В нашем примере вычеркиваются строки 4, 8, 7; в клетках полученной таблицы 4 заменяется на 1, 8 на 2, 7 на 5; в результате получится табл. б.