- •ВВЕДЕНИЕ
- •Глава 1. ЛОГИКА ВЫСКАЗЫВАНИЙ
- •§1. Высказывание. Логические операции
- •§ 2. Пропозициональные буквы, связки и формы (формулы логики высказываний). Построение таблиц истинности
- •§ 3. Упрощения в записях пропозициональных форм
- •§ 4. Тавтологии (общезначимые формулы). Противоречия
- •§ 5. Равносильность пропозициональных форм
- •§ 6. Важнейшие пары равносильных пропозициональных форм
- •§ 7. Зависимости между пропозициональными связками
- •§ 8. Нормальные формы
- •§ 9. Совершенные нормальные формы
- •§ 10. Булева (переключательная) функция
- •§ 11. Приложение алгебры высказываний к анализу и синтезу контактных (переключательных) схем
- •§ 12. Приложение алгебры высказываний к анализу и синтезу схем из функциональных элементов
- •§ 13. Вопросы и темы для самопроверки
- •§ 14. Упражнения
- •Глава 2 ЛОГИКА ПРЕДИКАТОВ
- •§ 1. Понятие предиката
- •§ 2. Кванторы
- •§ 3. Формулы логики предикатов
- •§ 4. Интерпретация. Модель
- •§ 5. Свойства формул в данной интерпретации
- •§ 6. Логически общезначимые формулы. Выполнимые и равносильные формулы
- •§ 8. Правила перестановки кванторов
- •§ 9. Правила переименования связанных переменных
- •§ 10. Правила вынесения кванторов за скобки. Предваренная нормальная форма
- •§ 11. Вопросы и темы для самопроверки
- •§ 12. Упражнения
- •Глава 3. ЛОГИЧЕСКОЕ СЛЕДСТВИЕ И МЕТОД РЕЗОЛЮЦИЙ
- •§ 1. Логическое следствие и проблема дедукции в логике высказываний
- •§ 2. Резольвента дизъюнктов логики высказываний
- •§ 3. Метод резолюций в логике высказываний
- •§ 4. Метод насыщения уровня
- •§ 5. Стратегия вычеркивания
- •§ 6. Лок-резолюция
- •§ 7. Метод резолюций для хорновских дизъюнктов
- •§ 8. Преобразование формул логики предикатов. Сколемовская стандартная форма
- •§ 9. Унификация
- •§ 10. Метод резолюций в логике предикатов
- •§ 11. Приложение метода резолюций для анализа силлогизмов Аристотеля.
- •§ 12. Использование метода резолюций в языке ПРОЛОГ
- •§ 13. Введение и использование правил в ПРОЛОГе
- •§ 14. Рекурсивное задание правил в ПРОЛОГе
- •§ 15. Особенности ПРОЛОГа
- •§ 16. Вопросы и темы для самопроверки
- •§ 17. Упражнения
- •Глава 4. ДЕДУКТИВНЫЕ ТЕОРИИ
- •§ 1. Понятие об эффективных и полуэффективных процессах (методах)
- •§ 2. Дедуктивные теории
- •§ 3. Свойства дедуктивных теорий
- •§ 4. Пример полуформальной аксиоматической теории - геометрия
- •§ 5. Формальные аксиоматические теории
- •§ 6. Свойства выводимости
- •§ 7. Исчисление высказываний (теория L)
- •§ 8. Некоторые теоремы исчисления высказываний
- •§ 9. Эквивалентность двух определений непротиворечивости
- •§ 11. Свойства исчисления высказываний
- •§ 12. Другие аксиоматизации исчисления высказываний
- •§ 13. Теории первого порядка
- •§ 14. Формальная арифметика (теория S)
- •§ 15. Свойства теорий первого порядка
- •§ 16. Значение аксиоматического метода
- •§ 17. Теория естественного вывода
- •§ 18. Вопросы и темы для самопроверки
- •§ 19. Упражнения
- •Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
- •§ 1. Трехзначные логики
- •§ 2. Многозначные логики
- •§ 3. Понятие нечеткого множества
- •§ 4. Нечеткие высказывания и максиминные операции над ними
- •§ 5. Понятие о нечеткой лингвистической логике
- •§ 6. Модальные логики
- •§ 7. Временные (темпоральные) логики
- •§ 8. Вопросы и темы для самопроверки
- •§ 9. Упражнения
- •Глава 6. ТЕОРИЯ АЛГОРИТМОВ
- •§1. Неформальное понятие алгоритма
- •§ 2. Алфавит. Слова. Алгоритм в алфавите. Вполне эквивалентные алгоритмы
- •§ 3. Нормальный алгоритм (алгоритм А. А. Маркова)
- •§ 4. Функции частично вычислимые и вычислимые по Маркову
- •§ 5. Замыкание, распространение нормального алгоритма
- •§ 6. Операции над нормальными алгоритмами
- •§ 7. Машина Тьюринга
- •§ 8. Задание машины Тьюринга
- •§ 9. Алгоритм Тьюринга. Вычислимость по Тьюрингу
- •§ 10. Связь между машинами Тьюринга и нормальными алгоритмами
- •§ 11. Основная гипотеза теории алгоритмов (принцип нормализации или тезис Черча)
- •§ 12. Проблема алгоритмической неразрешимости
- •§ 13. Примеры алгоритмически неразрешимых массовых проблем
- •§ 14. Сведение любого преобразования слов в алфавите к вычислению значений целочисленных функций
- •§ 15. Примитивно рекурсивные и общерекурсивные функции
- •§ 16. Примитивно рекурсивность некоторых функций. Частично - рекурсивные функции
- •§ 17. Ламбда-исчисление
- •§ 18. Основные результаты
- •§ 19. Вопросы и темы для самопроверки
- •§ 20. Упражнения
- •Глава 7. СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ С ПОМОЩЬЮ АЛГОРИТМОВ
- •§ 1. Понятие о сложности
- •§ 2. Временная сложность вычислений (алгоритма)
- •§ 3. Полиномиальные алгоритмы и задачи. Класс Р
- •§ 4. NP класс
- •§ 5. NP-полные и NP-трудные задачи
- •§ 6. Класс Е
- •§ 7. Ёмкостная (ленточная) сложность алгоритма
- •§ 8. Вопросы и темы для самопроверки
- •§ 9. Упражнения
- •ЛИТЕРАТУРА
- •ПРИЛОЖЕНИЯ
- •Варианты типового задания
- •Тесты для самоконтроля
- •Тест по логике высказываний (тест № 1)
- •Тест по логике предикатов (тест № 2)
- •Тест по логическому следствию и методу резолюций (тест № 3)
- •Тест по дедуктивным теориям (тест № 4)
- •Тест по теории алгоритмов (тест № 5)
- •Тест по неклассическим логикам и сложности вычислений (тест № 6)
- •Ответы к тестам самоконтроля
КАЗАНСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. А. Н. Туполева
Ш. И. ГАЛИЕВ
МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ
УЧЕБНОЕ ПОСОБИЕ
Казань 2002
2
УДК 6
Галиев Ш. И. Математическая логика и теория алгоритмов. – Казань: Издательство КГТУ им. А. Н. Туполева. 2002. - 270 с.
ISBN 5-93629-031-X
Пособие содержит следующие разделы. Логику высказываний и предикатов с приложениями, в том числе метод резолюций и элементы его реализации в языке ПРОЛОГ. Классические исчисления (высказываний и предикатов) и элементы неклассических логик: трёхзначные и многозначные логики, модальную, временную и нечеткую логики. Теорию алгоритмов: нормальные алгоритмы, машины Тьюринга, рекурсивные функции и их взаимосвязи. Понятие о сложности вычислений, различные (по сложности) классы задач и примеры таких задач.
Все главы снабжены контрольными вопросами и упражнениями, приведены варианты типовых заданий и тесты для самоконтроля усвоения материала.
Пособие предназначено студентам технических вузов по специальности 2201 направления «Информатика и вычислительная техника» и может быть использовано для специальности 2202 и других специальностей данного направления.
3
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ |
7 |
||
Глава 1. ЛОГИКА ВЫСКАЗЫВАНИЙ |
11 |
||
§ 1. Высказывание. Логические операции |
11 |
||
§ 2. Пропозициональные буквы, связки и формы (формулы логики |
|
||
|
высказываний). Построение таблиц истинности |
15 |
|
§ 3. Упрощения в записях пропозициональных форм |
17 |
||
§ 4. Тавтологии (общезначимые формулы). Противоречия |
19 |
||
§ 5. Равносильность пропозициональных форм |
21 |
||
§ 6. |
Важнейшие пары равносильных пропозициональных форм |
22 |
|
§ 7. |
Зависимости между пропозициональными связками |
23 |
|
§ 8. |
Нормальные формы |
25 |
|
§ 9. |
Совершенные нормальные формы |
28 |
|
§ 10. Булева (переключательная) функция |
30 |
||
§ 11. |
Приложение алгебры высказываний к анализу и синтезу |
31 |
|
|
|
контактных (переключательных) схем |
|
§ 12. |
Приложение алгебры высказываний к анализу и синтезу схем |
33 |
|
|
|
из функциональных элементов |
|
§ 13. |
Вопросы и темы для самопроверки |
36 |
|
§ 14. |
Упражнения |
37 |
Глава 2. ЛОГИКА ПРЕДИКАТОВ |
45 |
|
§ 1. Понятие предиката |
45 |
|
§ 2. Кванторы |
47 |
|
§ 3. Формулы логики предикатов |
50 |
|
§ 4. Интерпретация. Модель |
52 |
|
§ 5. Свойства формул в данной интерпретации |
54 |
|
§ 6. |
Логически общезначимые формулы. Выполнимые и |
56 |
|
равносильные формулы |
|
§ 7. |
Правила перенесения отрицания через кванторы |
57 |
§ 8. |
Правила перестановки кванторов |
60 |
§ 9. |
Правила переименования связанных переменных |
61 |
§ 10. Правила вынесения кванторов за скобки. Предваренная |
63 |
|
|
нормальная форма |
|
§ 11. Вопросы и темы для самопроверки |
67 |
|
§ 12. Упражнения |
67 |
Глава 3. ЛОГИЧЕСКОЕ СЛЕДСТВИЕ И МЕТОД РЕЗОЛЮЦИЙ |
77 |
|
§ 1. Логическое следствие и проблема дедукции в логике |
77 |
|
|
высказываний |
|
§ 2. Резольвента дизъюнктов логики высказываний |
79 |
|
§ 3. Метод резолюции в логике высказываний |
80 |
|
§ 4. Метод насыщения уровня |
81 |
|
§ 5. |
Стратегия вычёркивания |
83 |
§ 6. |
Лок-резолюция |
84 |
§ 7. |
Метод резолюции для хорновских дизъюнктов |
86 |
§ 8. |
Преобразование формул логики предикатов. Сколемовская |
|
4 |
|
стандартная форма |
87 |
§ 9. Унификация |
90 |
§ 10. Метод резолюции в логике предикатов |
93 |
§ 11. Приложение метода резолюций для анализа силлогизмов |
95 |
Аристотеля |
|
§ 12. Использование метода резолюций в языке ПРОЛОГ |
98 |
§ 13. Введение и использование правил в ПРОЛОГе |
101 |
§ 14. Рекурсивное задание правил в ПРОЛОГе |
102 |
§ 15. Особенности ПРОЛОГа |
105 |
§ 16. Вопросы и темы для самопроверки |
107 |
§ 17. Упражнения |
108 |
Глава 4. ДЕДУКТИВНЫЕ ТЕОРИИ |
113 |
§ 1. Понятие об эффективных и полуэффективных процессах |
113 |
(методах) |
|
§ 2. Дедуктивные теории |
114 |
§ 3. Свойства дедуктивных теорий |
116 |
§ 4. Пример полуформальной аксиоматической теории - геометрия |
117 |
§ 5. Формальные аксиоматические теории |
121 |
§ 6. Свойства выводимости |
122 |
§ 7. Исчисление высказываний |
123 |
§ 8. Некоторые теоремы исчисления высказываний |
124 |
§ 9. Эквивалентность двух определений непротиворечивости |
127 |
§ 10. Производные (доказуемые) правила вывода в исчислении |
128 |
высказываний |
|
§ 11. Свойства исчисления высказываний |
130 |
§ 12. Другие аксиоматизации исчисления высказываний |
136 |
§ 13. Теории первого порядка |
137 |
§ 14. Формальная арифметика (теория S) |
139 |
§ 15. Свойства теорий первого порядка |
141 |
§ 16. Значение аксиоматического метода |
144 |
§ 17. Теория естественного вывода |
145 |
§ 18. Вопросы и темы для самопроверки |
148 |
§ 19. Упражнения |
149 |
Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ |
151 |
§ 1. Трёхзначные логики |
151 |
§ 2. Многозначные логики |
155 |
§ 3. Понятие нечёткого множества |
157 |
§ 4. Нечёткие высказывания и максиминные операции над ними |
162 |
§ 5. Понятие о нечёткой лингвистической логике |
166 |
§ 6. Модальные логики |
169 |
§ 7. Временные (темпоральные) логики |
171 |
§ 8. Вопросы и темы для самопроверки |
173 |
§ 9. Упражнения |
173 |
Глава 6. ТЕОРИЯ АЛГОРИТМОВ |
177 |
§ 1. Неформальное понятие алгоритма |
177 |
§ 2. Алфавит, слова, алгоритм в алфавите. Вполне эквивалентные |
|
алгоритмы |
178 |
§ 3. Нормальный алгоритм (алгоритм А.А.Маркова) |
179 |
§ 4. Функции частично вычислимые и вычислимые по Маркову |
183 |
|
5 |
|
§ 5. Замыкание, распространение нормального алгоритма |
184 |
|
§ 6. Операции над нормальными алгоритмами |
185 |
|
§ 7. Машина Тьюринга |
189 |
|
§ 8. Задание машины Тьюринга |
191 |
|
§ 9. Алгоритм Тьюринга. Вычислимость по Тьюрингу |
192 |
|
§ 10. |
Связь между машинами Тьюринга и нормальными алгоритмами |
193 |
§ 11. |
Основная гипотеза теории алгоритмов (принцип нормализации |
196 |
|
или тезис Черча) |
|
§ 12. |
Проблема алгоритмической неразрешимости |
197 |
§ 13. |
Примеры алгоритмически неразрешимых массовых проблем |
200 |
§ 14. |
Сведения любого преобразования слов в алфавите к |
201 |
вычислению значений целочисленных функций |
|
|
§ 15. |
Примитивно рекурсивные и общерекурсивные функции |
203 |
§ 16. |
Примитивно рекурсивность некоторых функций. Частично |
205 |
|
рекурсивные функции |
|
§ 17. |
Ламбда исчисление |
207 |
§ 18. |
Основные результаты |
210 |
§ 19. |
Вопросы и темы для самопроверки |
211 |
§ 20. |
Упражнения |
212 |
Глава 7. СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ С ПОМОЩЬЮ |
221 |
|
АЛГОРИТМОВ |
||
§ 1. Понятие о сложности вычислений |
221 |
|
§ 2. Временная сложность вычислений (алгоритма) |
223 |
|
§ 3. Полиномиальные алгоритмы и задачи. Класс Р |
225 |
|
§ 4. NP класс |
228 |
|
§ 5. NP-полные и NP-трудные задачи |
231 |
|
§ 6. Класс Е |
232 |
|
§ 7. Емкостная (ленточная) сложность алгоритма |
233 |
|
§ 8. Вопросы и темы для самопроверки |
234 |
|
§ 9. Упражнения |
235 |
|
ЛИТЕРАТУРА |
237 |
|
ПРИЛОЖЕНИЯ |
239 |
|
Варианты типового задания |
239 |
|
Тесты для самоконтроля |
250 |
|
Тест по логике высказываний (тест № 1) |
250 |
|
Тест по логике предикатов (тест № 2) |
251 |
|
Тест по логическому следствию и методу резолюций (тест № 3) |
253 |
|
Тест по дедуктивным теориям (тест № 4) |
254 |
|
Тест по теории алгоритмов (тест № 5) |
257 |
|
Тест по неклассическим логикам и сложности вычислений (тест |
259 |
|
№ |
6) |
|
Ответы к тестам самоконтроля |
262 |
6
7
ВВЕДЕНИЕ
Логика обычно понимается как наука о способах доказательств и опровержений. Математическая логика – это логика, развиваемая с помощью математических методов.
Изучая методы доказательств и опровержений, логика интересуется в первую очередь формой получения истинных выводов, а не содержанием посылок и заключений в том или ином рассуждении. Рассмотрим, например, следующие два вывода:
1.Все люди смертны. Сократ – человек. Следовательно, Сократ – смертен.
2.Все котята любят играть. Мура – котенок. Следовательно, Мура любит играть.
Оба эти вывода имеют одну и ту же форму: Все А суть В; С есть А; следовательно, С есть В. Эти выводы верны в силу своей формы, независимо от содержания, независимо от того истинны или ложны взятые по себе посылки и заключения. Систематическая формализация и каталогизация правильных способов рассуждений – одна из основных задач логики. Если при этом применяется математический аппарат и исследования посвящены в первую очередь изучению математических рассуждений, то эта логика является математической логикой (формальной логикой). Данное определение не является строгим (точным) определением. Чтобы понять предмет и метод математической логики лучше всего приняться за ее изучение.
Математическая логика начала формироваться давно. Зарождение ее идей и методов происходило в Древней Греции, Древней Индии и Древнем Китае примерно с VI в. до н. э. Уже в этот период ученые пытались расположить цепь математических доказательств в такую цепочку, чтобы переход от одного звена к другому не оставлял сомнений и завоевал всеобщее признание. Уже в самых ранних дошедших до нас рукописях «канон» математического стиля изложения прочно установлен. Впоследствии он получает окончательное завершение у великих классиков: Аристотеля, Евклида, Архимеда. Понятие доказательства у этих авторов уже ничем не отличается от нашего.
8
Логика как самостоятельная наука берет свое начало в исследованиях Аристотеля (384 – 322 г. до н. э.). Великий философ древности Аристотель осуществляет энциклопедическую систематизацию античных знаний во всех областях существовавшей тогда науки. Логические исследования Аристотеля изложены, в основном, в двух его трудах «Первая аналитика» и «Вторая аналитика», объединенных под общим названием «Органон» (Орудие познания).
Следует особо отметить большое значение для становления и развития математической логики одного из самых блестящих достижений в истории человечества, а именно, превращение геометрии в точную дедуктивную систему в работе Евклида (330 – 275 г. до н. э.) «Начала». Именно этот дедуктивный подход с ясным осознанием целей и методов был положен в основу развития философской и математической мысли последующих столетий.
Также большое значение для становления и развития логики сыграли достижения в алгебре (алгебра Буля) и в других математических дисциплинах, в том числе и вновь в геометрии (создание неевклидовой геометрии - геометрии Лобачевского – Гаусса – Бойяи). Краткий обзор становления математической логики можно найти в [6].
В формировании и становлении математической логики участвовали многие и многие ученые, как древних времен, так средневековья и последующих времен.
Принципиальное и прикладное значение математической логики
Принципиальное значение математической логики – обоснование математики (анализ основ математики).
Прикладное значение математической логики в настоящее время очень велико. Математическая логика применяется для следующих целей:
•анализа и синтеза (построения) цифровых вычислительных машин и других дискретных автоматов, в том числе и интеллектуальных систем;
•анализа и синтеза формальных и машинных языков, для анализа естественного языка;
•анализа и формализации интуитивного понятия вычислимости;
•выяснения существования механических процедур для решения задач определённого типа;
•анализа проблем сложности вычислений.
Также математическая логика оказалась тесно связанной и с рядом вопросов лингвистики, экономики, психологии и философии.
В данном пособии излагаются основные понятия математической логики и теории алгоритмов. Материал, изложенный в пособии,
9
соответствует государственному образовательному стандарту для направления «Информатика и вычислительная техника» и может быть использован для студентов обучающихся по разным специальностям этого направления.
При написании пособия использовались литература [1-31], и, конечно, использованы и другие источники. В перечень литературы включены книги, которые желательно просмотреть любознательному и требовательному студенту.
В пособии в каждой главе приведены вопросы для самопроверки теоретического материала и упражнения, предназначенные для выработки навыков решения задач и углубления знаний по излагаемой теме. Кроме того, в пособии приведены варианты типовых заданий и тесты для самоконтроля усвоения материала.
Автор выражает искреннюю благодарность рецензентам д.ф.м.-н., профессорам И. З. Батыршину и Ф. Г. Мухлисову за полезные предложения и замечания, которые позволили улучшить работу.
Автор признателен своим студентам за помощь по набору текста.
10