- •Формулы алгебры высказываний. Эквивалентность формул. Приведенные формулы, двойственности. Закон двойственности.
- •Булевы функции. Теорема с разложением Булевых функций. Представление Булевых функций нормальными формами.
- •Нормальные формы
- •Полнота систем логических операций и функций. Алгебра и полином Жегалкина. Теорема Поста.
- •Предикаты. Операции с предикатами. Формулы алгебры предикатов. Допустимые модели. Приведенные нф.
- •Понятия логического исчисления и выводимости формул. Исчисления высказываний ив.
- •Исчисления предикатов. Автоматическое доказательство теорем методом резолюций.
- •Формальные определения алгоритма в терминах машины Тьюринга.
- •Формальное определение алгоритма через рекурсивные функции (примитивно рекурсивные и частично рекурсивные).
- •Полиномиальная сводимость языков и задач. Np полные задачи. Детерминированные и не детерминированные машины класса p и pn. Теорема Кука.
Понятия логического исчисления и выводимости формул. Исчисления высказываний ив.
Логическим исчислением принято называть синтаксическую (т.е. формализованную аксиоматическую) теорию математической логики. Описание всякого исчисления включает:
описание алфавита, т.е. множества символов, используемых для построения формул теории;
описание языка, т.е. правил построения допустимых последовательностей символов (слов) в алфавите, называемых формулами;
задание системы аксиом – некоторого множества истинных формул, называемых аксиомами;
определение правил вывода, позволяющих из одних истинных формул получать другие формулы рассматриваемой синтаксической теории.
Исчисление высказываний ИВ – это аксиоматическая логическая система, адекватная алгебре высказываний.
В качестве алфавита исчисления высказываний возьмем следующее множество символов:
счетное множество высказывательных переменных, обозначаемых прописными латинскими буквами с индексами и без них;
символы логических операций ;
скобки ( , ).
Формула ( ) называется выводимой из системы формул (1) в алгебре высказываний, что обозначается , . . , , тогда и только тогда, когда формула является ТИ-высказыванием, т.е. .
Исчисления предикатов. Автоматическое доказательство теорем методом резолюций.
Предикатное исчесление – это формальная аксиоматическая теория; исчисление, предназначенное для описания логических законов, справедливых для любой непустой области объектов с произвольными заданными на этих объектах предикатами.
Доказательство теорем сводится к доказательству того, что некоторая формула (гипотеза теоремы) является логическим следствием множества формул (допущений). Т.е. сама теорема может быть сформулирована следующим образом: "если истинны, то истинна и ". Такой метод доказательства теорем называется методом резолюций.
Для доказательства того, что формула G является логическим следствием множества формул , метод резолюций применяется следующим образом. Сначала составляется множество формул . Затем каждая из этих формул приводится к КНФ (конъюнкция дизъюнктов) и в полученных формулах зачеркиваются знаки конъюнкции. Получается множество дизъюнктов S. И, наконец, ищется вывод пустого дизъюнкта из S. Если пустой дизъюнкт выводим из S, то формула G является логическим следствием формул . Если из S нельзя вывести #, то G не является логическим следствием формул .
Формальные определения алгоритма в терминах машины Тьюринга.
Определение. Алгоритм – это процедура, которая позволяет преобразовывать информацию:
она четко описана
приводит к результату.
Точные формулировки алгоритмов возникли в тридцатые годы двадцатого века.
Описание любой эффективной процедуры можно найти в терминах машины Тьюринга. Возьмем автомат , образуем , получим, что автомат на ленте работает так: . В середине изображена головка, передвигающаяся по ячейкам и содержащая информацию о состоянии в данный момент. Она считывает содержимое ячейки напротив, берет его в качестве очередной входной буквы, а на его место записывает выходную букву. Обобщим несколько ленту, а именно, будем считать, что двигаться можно не только вправо, но и влево, а также можно стоять на месте (а лента бесконечна в обе стороны). После этого получится машина Тьюринга. Команды будем задавать в следующем виде: , что расшифровывается так: в состоянии подается буква , на выходе получается буква , новое состояние – , обозначает направление движения ( – сдвиг влево, – вправо, – отсутствие сдвига). У каждой машины имеется конечный набор команд. Условимся всегда обозначать начальное состояние как , конечное как (когда получается состояние , машина останавливается; если оно никогда не получается, то машина не останавливается и называется неприменимой к ).
Машина Тьюринга называется детерминированной, если каждой комбинации состояния и ленточного символа в таблице соответствует не более одного правила. Если существует пара «ленточный символ — состояние», для которой существует 2 и более команд, такая машина Тьюринга называется недетерминированной.