 
        
        - •ВВЕДЕНИЕ
- •Глава 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
