Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретка / Книги / Галиев Ш.И. Математическая логика и теория алгоритмов (2002).pdf
Скачиваний:
2267
Добавлен:
25.02.2016
Размер:
7.49 Mб
Скачать

КАЗАНСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. А. Н. Туполева

Ш. И. ГАЛИЕВ

МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ

УЧЕБНОЕ ПОСОБИЕ

Казань 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