irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного...

109
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Амурский государственный университет (ГОУВПО «АмГУ») УТВЕРЖДАЮ Зав. кафедрой ИиУС ___________ А.В. Бушманов «___» _________ 2007 г. МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ Учебно-методический комплекс дисциплины для специальности 230102 – Автоматизированные системы обработки информации и управления; Составитель: Семичевская Н.П. 2007 г.

Transcript of irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного...

Page 1: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Федеральное агентство по образованиюГосударственное образовательное учреждение высшего профессионального образования

Амурский государственный университет(ГОУВПО «АмГУ»)

УТВЕРЖДАЮ

Зав. кафедрой ИиУС

___________ А.В. Бушманов

«___» _________ 2007 г.

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

Учебно-методический комплекс дисциплины

для специальности

230102 – Автоматизированные системы обработки

информации и управления;

Составитель:

Семичевская Н.П.

2007 г.

Page 2: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Печатается по решению

редакционно-издательского совета

факультета математики

и информатики

Амурского государственного

университета

Математическая логика и теория алгоритмов для специальности 230102

«Автоматизированные системы обработки информации и управления»:

учебно-методический комплекс дисциплины. / Семичевская Н.П. –

Благовещенск. Изд-во Амурского гос. ун-та, 2007. 109с.

Амурский государственный университет, 2007

Кафедра информационных и управляющих систем, 2007

2

Page 3: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

ОГЛАВЛЕНИЕ

1. Выписка из государственного общеобразовательного стандарта высшего

профессионального образования 4

2. Рабочая программа 5

3. График самостоятельной работы студентов 13

4. Методические рекомендации по проведению самостоятельной

работы студентов 13

5. Перечень учебников, учебных пособий 14

6. Конспект лекций 15

7. Методические указания по выполнению практических работ 83

8. Методические указания по выполнению контрольных работ 88

9. Методические указания по организации межсессионного контроля

знаний студентов 91

10. Комплекты заданий к коллоквиуму 92

11. Комплекты заданий к зачету 95

12. Тестовые задания 102

13. Карта кадровой обеспеченности дисциплины 108

3

Page 4: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

1. ВЫПИСКА ИЗ ГОСУДАРСТВЕННОГО

ОБРАЗОВАТЕЛЬНОГО СТАНДАРТА ВЫСШЕГО

ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

Направление подготовки дипломированного специалиста

654600 – Информатика и вычислительная техника

Специальность

230102 – Автоматизированные системы обработки информации

и управления.

Квалификация – инженер

ИндексНаименование дисциплин и их основные разделы

Всего

часовЕН.Ф.01.04 Математическая логика и теория алгоритмов.

Логика высказываний; логика предикатов; исчисления; непротиворечивость; полнота; синтаксис и семантика языка логики предикатов. Клаузальная форма. Метод резолюций в логике предикатов. Принцип логического программирования. Темпоральные логики; нечеткая и модальные логики; нечеткая арифметика; алгоритмическая логика Ч. Хоара. Логика высказываний. Логическое следование, принцип дедукции. Метод резолюций. Аксиоматические системы, формальный вывод. Метатеория формальных систем. Понятие алгоритмической системы. Рекурсивные функции. Формализация понятия алгоритма; Машина Тьюринга. Тезис Черча; Алгоритмически неразрешимые проблемы. Меры сложности алгоритмов. Легко и трудноразрешимые задачи. Классы задач P и NP. NP – полные задачи. Понятие сложности вычислений; эффективные алгоритмы.

Основы нечеткой логики. Элементы алгоритмической логики.

100

4

Page 5: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

2. РАБОЧАЯ ПРОГРАММА

Федеральное агентство по образованию РФАМУРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

(ГОУВПО «АмГУ»)

УТВЕРЖДАЮ

Проректор по УНР____________Е.С.Астапова«___»_____________2005 г.

РАБОЧАЯ ПРОГРАММАпо дисциплине "Математическая логика и теория алгоритмов"для специальности 230102 Автоматизированные системы обработки информации и управлениякурс 2 семестр 3

Лекции 36 (час.) Экзамен

Практические (семинарские) занятия 18 (час.) Зачет 3 семестр

Лабораторные занятия___(час.)

Самостоятельная работа 36 (час.)

Всего часов 90 час.

Составитель Семичевская Наталья Петровна

Факультет Математики и информатики

Кафедра Информационных и управляющих систем

2005 г.

5

Page 6: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Рабочая программа составлена на основании Государственного образовательного стандарта ВПО по специальности 230102 «Автоматизированные системы обработки информации и управления»

Рабочая программа обсуждена на заседании кафедры Информационных и управляющих систем

« _____» _______________2005 г., протокол №______

Заведующий кафедрой___________________ А.В.Бушманов

Рабочая программа одобрена на заседании УМС 230102 «Автоматизированные системы обработки информации и управления»«______» _______________2005 г., протокол №______

Председатель__________________ А.В.Бушманов

СОГЛАСОВАНО СОГЛАСОВАНОНачальник УМУ Председатель УМС факультета_____________Г.Н.Торопчина _______________Е.Л.Еремин

«____»_____________2005 г. «_____»________________2005 г.

СОГЛАСОВАНОЗаведующий выпускающей кафедрой_____________А.В.Бушманов

«____»_____________2005 г.

6

Page 7: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Математическая логика и теория алгоритмов

1. Цели и задачи дисциплины, ее место в учебном процессе.

В современной математической науке исследования в областях, традиционно

относящихся к дискретной математике, занимают все более заметное место. Это

объясняется необходимостью создания и эксплуатации современных электронных

вычислительных машин, средств передачи и обработки информации, автоматизированных

систем управления и проектирования.

Цель преподавания

Цель преподавания дисциплины «Математическая логика и теория

алгоритмов» научить студентов основам математической логики и теории

алгоритмов. В настоящее время наряду с такими классическими разделами

математики, как математический анализ, дифференциальные уравнения в учебных

планах технических и инженерных специальностей появились разделы по

математической логике, алгебре, комбинаторике, теории графов и сетей. В связи с

этим представляется целесообразным преподавание для студентов специальности

«Автоматизированные системы обработки информации и управления»

дисциплины, которая бы объединила в себе два раздела из дискретной математики,

которые расширили бы рамки курса «Дискретная математика».

В курсе «Математическая логика и теория алгоритмов» излагаются основы

логики высказываний и логики предикатов, принципы построения формальных

теорий: исчисления высказываний и исчисления предикатов. С помощью машин

Тьюринга и частично рекурсивных функций уточняются понятия алгоритма и

вычислимости.

Перечень дисциплин, усвоение которых студентами необходимо при изучении

дисциплины: «Математический анализ» (теория функций), «Линейная алгебра и

геометрия» (алгебра матриц), «Теория графов», «Дискретная математика» (булева

алгебра, алгебра логики, логика предикатов).

2. Содержание дисциплины

2.1. Федеральный компонент

Дисциплина «Математическая логика и теория алгоритмов» является

дисциплиной, входящей в блок общематематических и естественно научных

дисциплин федерального компонента для специальности 230202

«Автоматизированные системы обработки информации и управления».

Государственный стандарт – ЕН.Ф.01.04.

7

Page 8: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

2.2 Содержание лекций - 36 час.

Математическая логикаТема 1. История логики. Основные разделы логики. Темпоральные логики. Нечеткая и модальные логики. (2ч.)Тема 2. Аксиоматические системы. Формальный вывод. Принципы построения формальных теорий. (2ч.)Тема 3. Исчисление высказываний. Исчисление высказываний и алгебра логики. Логика высказываний. Логическое следование, принцип дедукции. Метод резолюций. (4ч.)Тема 4. Исчисление предикатов и теории первого порядка. Выводимость и истинность. Предваренная нормальная форма. Метод резолюций в логике предикатов. Теории первого порядка: исчисление с равенством; исчисление частичного нестрогого порядка. Формальная арифметика. (6ч.)Тема 5. Метатеория логических исчислений. Непротиворечивость. Полнота, разрешимость. Теорема Геделя. Аксиоматический метод. (4ч.)

Теория алгоритмовТема 6. Понятие алгоритма. Основные требования к алгоритмам. Блок-схемы алгоритмов. Меры сложности алгоритмов. Понятие алгоритмической системы. Легко и трудно разрешимые задачи. (4ч.)Тема 7. Машина Тьюринга. Основные определения, представления машины Тьюринга. Примеры машин. Операции над машинами Тьюринга. Композиция машин Тьюринга. Понятие Универсальной машины Тьюринга. Тезис Тьюринга. Проблема остановки. Алгоритмически неразрешимые проблемы. (6ч.)Тема 8. Рекурсивные функции. Примитивно-рекурсивные функции. Примитивно-рекурсивные операторы. Общерекурсивные и частично-рекурсивные функции. Связь рекурсивных функций с машинами Тьюринга. Тезис Черча. (6ч.)Тема 9. Понятие сложности вычислений; эффективные алгоритмы. Основы нечеткой логики. Элементы алгоритмической логики. (2ч.)

2.3. Практические занятия - 18час.

1. Логика высказываний. Логическое следование, принцип дедукции. Метод резолюций. (2ч.)2. Исчисление высказываний. Аксиомы и правила вывода. (2ч.)3. Основные метатеоремы исчисления высказываний. Теорема дедукции. (2ч.)4. Исчисление предикатов и теории первого порядка. Аксиомы и правила вывода. Правила переименования свободных и связанных переменных. (2ч.)5. Префиксная нормальная форма в исчислении предикатов. (2ч.)6. Примеры машин Тьюринга. Описание машин Т+, Ткоп, Т2x, Т++. (2ч.)7.Композиция машин Тьюринга. Пример машин Т++, Т×. Проблема остановки.(2ч.)8. Рекурсивные функции. Примитивно-рекурсивные функции (сложение, умножение, возведение в степень, урезанное вычитание, min, max). (2ч.)9. Примитивно-рекурсивные операторы (оператор условного перехода,

ограниченный оператор наименьшего числа ( µ -оператор)). (2ч.)

8

Page 9: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

2.4. Самостоятельная работа студентов - 36 ч.

В течение семестра студентами должны быть выполнены и сданы следующие

промежуточные виды контрольных работ:

1. Контрольная работа по «Математической логике» №12. Контрольная работа по «Теории алгоритмов» №23.Коллоквиум по «Математической логике»

Вопросы к коллоквиуму по «Математической логике»

1. Понятие формальной системы.2. Принципы построения формальных теорий.3. Вывод формулы В. Доказательство формулы В.4. Теоремы теории Т. Доказательство теорем в теории.5. Исчисление высказываний. Принципы построения теории.6. Формулы схемы формул исчисления высказываний.7. Аксиомы исчисления высказываний. Аксиоматический метод.8. Правила вывода в исчислении высказываний.9. Теорема дедукции. Применение теоремы дедукции.10. Применение теоремы дедукции. Метод доказательства от противного.11. Теорема о выводимости формулы в исчислении высказываний. Пример.12. Теоремы о тождественной истинности в исчислении высказываний. Примеры.13. Исчисление предикатов и теории первого порядка. Принципы построения.14. Аксиомы исчисления предикатов.15. Правила вывода в исчислении предикатов.16. Выводимость и истинность в исчислении предикатов.17. Эквивалентности, выводимые в исчислении предикатов. Предваренная форма

или префиксная нормальная форма ПНФ.18. Пример теории первого порядка исчисления с равенством.19. Теория первого порядка исчисления частичного нестрогого порядка.20. Формальная арифметика.

Вопросы к зачетупо дисциплине «Математическая логика и теория алгоритмов»

Часть I. Математическая логика.

1. Понятие формальной системы.2. Принципы построения формальных теорий.3. Вывод формулы В. Доказательство формулы В.4. Теоремы теории Т.5. Исчисление высказываний. Принципы построения теории.6. Формулы схемы формул исчисления высказываний.7. Аксиомы исчисления высказываний. 8. Правила вывода в исчислении высказываний.9. Теорема дедукции. Применение теоремы дедукции.10. Применение теоремы дедукции. Метод доказательства от противного.11. Теорема о выводимости формулы в исчислении высказываний. Пример.12. Теоремы о тождественной истинности в исчислении высказываний. Примеры.13. Полнота и замкнутость теории. Теорема Геделя.

9

Page 10: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

14. Исчисление предикатов и теории первого порядка. Принципы построения.15. Аксиомы исчисления предикатов.16. Правила вывода в исчислении предикатов.17. Выводимость и истинность в исчислении предикатов.18. Эквивалентности, выводимые в исчислении предикатов. Предваренная форма

или префиксная нормальная форма ПНФ.19. Пример теории первого порядка исчисления с равенством.20. Теория первого порядка исчисления частичного нестрогого порядка.

Формальная арифметика (принцип индукции).

Часть II. Теория алгоритмов.

21. Понятие алгоритма. Основные требования к алгоритмам.22. Определение машины Тьюринга. Пример.23. Конфигурация или полное состояние машины Тьюринга. Стандартная

начальная конфигурация, Стандартная заключительная конфигурация. 24. Память машины Тьюринга, данные Машины Тьюринга, детерминированность

машины Тьюринга.25. Представления машин Тьюринга. Система команд, построение таблицы

переходов, построение диаграммы переходов машин Тьюринга. Примеры.26. Понятие функции правильно вычислимой по Тьюрингу.27. Машина Тьюринга вычисляющая сложение (Т+).28. Машина Тьюринга вычисляющая копирование (Ткоп).29. Машина Тьюринга - композиция машин, вычисляющая функцию f(x)=2x

(Т+(Ткоп)).30. Машина Тьюринга с правой полулентой. Пример.31. Вычисление предикатов на машинах Тьюринга. 32. Алгоритмически неразрешимые проблемы Проблема остановки. Тезис

Тьюринга.33.Рекурсивные функции. Примитивно-рекурсивные функции (f+, f×, f÷). 34.Рекурсивные функции. Примитивно-рекурсивные функции (fmin, fmax). 35. Примитивно-рекурсивные операторы. 36. Связь рекурсивных функций с машинами Тьюринга. Тезис Черча.

Зачет принимается по двум частям: 1) Математическая логика; 2) Теория алгоритмов. На зачете надо ответить на два теоретических вопроса и решить одну практическую задачу. Студенты, которые сдали 1 часть на коллоквиуме, сдают зачет только по второй части: один вопрос теоретический и практическая задача.

Критерий оценки ответа на зачете: зачет ставится за знание теории и умение решать задачи по математической логике и теории алгоритмов; не зачет получают студенты, которые в течение семестра 1) не сдавали работы по текущему контролю в семестре, 2) не ответили на теоретические зачетные вопросы, 3) не смогли решить практическую задачу.

10

Page 11: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

3. Учебно-методические материалы по дисциплине

Основная литература1. Москинова Г.И. Дискретная математика. Математика для менеджера в примерах и

упражнениях: Уч.пособие. – М.: Логос, 2000. - 240с.2. Асеев Г. Г. Дискретная математика [Текст]: учеб. пособ. / Г.Г. Асеев, О.М.

Абрамов, Д.Э. Ситников. - Ростов н/Д: Феникс; Харьков: Торсинг, 2003. - 144 с. 3. Элементы теории алгоритмов и язык программирования С [Текст]: учеб. пособие:

Рек. УМО Моск. физико-техн. ин-та / В.Я. Митницкий. - М.: Изд-во Моск. физико-техн. ин-та, 2001. - 180 с.

4. Игошин В. И. Задачи и упражнения по математической логике и теории алгоритмов [Текст]: учеб. пособ.: рек. Мин. обр. РФ / В. И. Игошин. - М.: Академия, 2005. -304 с.

5. Нефедов В.Н., Осипова В.А. Курс дискретной математики. М., 1992.

Дополнительная литература1. Никифоров А. Книга о логике. М.: «Гнозис», 1996.2. Манин Ю.И. Доказуемое и недоказуемое. М.: «Советское радио», 1979.3. Смаллиан Р. Алиса в стране смекалки. М.: Мир, 1987.4. Гарднер М. А ну-ка, догадайся! М.: Мир, 1984.5. Кориков А.М., Сафьянова Е.Н. Основы системного анализа и теории систем:

Учебное пособие. – Томск: изд-во Том. ун-та, 1989. – 207 с.6. Основы кибернетики. Математические основы кибернетики / Под. ред. К.А.

Пупкова. – М.: Высш. школа, 1974. – 416 с.7. Мальцев А.И. Алгоритмы и рекурсивные функции. 2-е изд. – М.: Наука, 1986. –368

с.8. Кузин Л.Т. Основы кибернетики.: В 2 т. Т. 2. Основы кибернетических моделей. –

М.: Энергия, 1979. – 584 с.9. Риордан Дж. Введение в комбинаторный анализ. – М. ИЛ, 1963. – 288 с.10. Рыбников К.А. Введение в комбинаторный анализ. – М.: Изд-во МГУ, 1985. – 312

с.11. Шевелев Ю.П. Высшая математика 5. Дискретная математика. Ч.1: Теория

множеств. Булева алгебра (для автоматизированной технологии обучения): Учебное пособие. – Томск: Том. гос. ун-т систем управления и радиоэлектроники, 1998. – 114 с.

12. Шевелев Ю.П. Высшая математика 6. Дискретная математика. Ч.2: Теория конечных автоматов. Комбинаторика. Теория графов (для автоматизированной технологии обучения): Учебное пособие. – Томск: Том. гос. ун-т систем управления и радиоэлектроники, 1999. – 120 с.

11

Page 12: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

4.УЧЕБНО-МЕТОДИЧЕСКАЯ (ТЕХНОЛОГИЧЕСКАЯ) КАРТА ДИСЦИПЛИНЫ

«Математическая логика и теория алгоритмов»Н

омер

нед

ели

Ном

ер т

емы Вопросы,

изучаемые на лекции

Занятия (номера)

Пра

ктич

емин

.) Лаборат.Использу

емые нагляд. и

метод. пособия

Самостоятельная работа студентов

Содержание

часы

Форма контро

ля

1 2 3 4 5 6 7 8 91 1 1,2,3,4 12 2 1,2,3 2 к/р№13 3 1,2 24 3 3,4,55 4 1,2 36 4 3,47 4 5,6 48 5 1,2 Тест9 5 3,4,5 5 1010 6 1,2,3 Коллокв. 1011 6 4,5,6 612 7 1,2,3 2 к/р№213 7 4,5,6 714 7 7,8,915 8 1,2 8 К/р№316 8 3,4 1017 9 5,6 9 Тест 18 9 1,2,3 2 Зач.

К.р. № 1 «Исчисление высказываний, исчисление предикатов»

К.р. № 2 «Машины Тьюринга. Протокол машины Тьюринга»

К.р. №3 «Примитивно-рекурсивные функции»

12

Page 13: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

3. ГРАФИК САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ

Содержание Объем в

часах

Сроки и форма

контроляКонтрольная работа №1

Контрольная работа №2

Выполнение домашних работ

Подготовка к тестированию

Подготовка к коллоквиуму

Подготовка к зачету

2

2

10

8

10

4Итого 36

4. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ПРОВЕДЕНИЮ

САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ

По каждой практической работе студенты выполняют домашнюю работу, требования к выполнению домашних работ указаны в методических разработках к практическим работам.

В течение семестра студенты выполняют контрольные работы по тематике предложенной в рабочей программе. Подготовка к контрольной работе предусматривает изучение материалов лекции и демонстрацию умения решать предложенные задачи в контрольной работе.

13

Page 14: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

5. ПЕРЕЧЕНЬ УЧЕБНИКОВ, УЧЕБНЫХ ПОСОБИЙ

Основная литература

1. Москинова Г.И. Дискретная математика. Математика для менеджера в примерах и упражнениях: Уч.пособие. – М.: Логос, 2000. - 240с.

2. Асеев Г. Г. Дискретная математика [Текст]: учеб. пособ. / Г.Г. Асеев, О.М. Абрамов, Д.Э. Ситников. - Ростов н/Д: Феникс; Харьков: Торсинг, 2003. - 144 с.

3. Элементы теории алгоритмов и язык программирования С [Текст]: учеб. пособие: Рек. УМО Моск. физико-техн. ин-та / В.Я. Митницкий. - М.: Изд-во Моск. физико-техн. ин-та, 2001. - 180 с.

4. Игошин В. И. Задачи и упражнения по математической логике и теории алгоритмов [Текст]: учеб. пособ.: рек. Мин. обр. РФ / В. И. Игошин. - М.: Академия, 2005. -304 с.

5. Нефедов В.Н., Осипова В.А. Курс дискретной математики. М., 1992.

Дополнительная литература6. Никифоров А. Книга о логике. М.: «Гнозис», 1996.7. Манин Ю.И. Доказуемое и недоказуемое. М.: «Советское радио», 1979.8. Смаллиан Р. Алиса в стране смекалки. М.: Мир, 1987.9. Гарднер М. А ну-ка, догадайся! М.: Мир, 1984.10.Кориков А.М., Сафьянова Е.Н. Основы системного анализа и теории

систем: Учебное пособие. – Томск: изд-во Том. ун-та, 1989. – 207 с.11.Основы кибернетики. Математические основы кибернетики / Под. ред.

К.А. Пупкова. – М.: Высш. школа, 1974. – 416 с.12.Мальцев А.И. Алгоритмы и рекурсивные функции. 2-е изд. – М.:

Наука, 1986. –368 с.13.Кузин Л.Т. Основы кибернетики.: В 2 т. Т. 2. Основы кибернетических

моделей. – М.: Энергия, 1979. – 584 с.14.Риордан Дж. Введение в комбинаторный анализ. – М. ИЛ, 1963. – 288

с.15.Рыбников К.А. Введение в комбинаторный анализ. – М.: Изд-во МГУ,

1985. – 312 с.16.Шевелев Ю.П. Высшая математика 5. Дискретная математика. Ч.1:

Теория множеств. Булева алгебра (для автоматизированной технологии обучения): Учебное пособие. – Томск: Том. гос. ун-т систем управления и радиоэлектроники, 1998. – 114 с.

17.Шевелев Ю.П. Высшая математика 6. Дискретная математика. Ч.2: Теория конечных автоматов. Комбинаторика. Теория графов (для автоматизированной технологии обучения): Учебное пособие. – Томск: Том. гос. ун-т систем управления и радиоэлектроники, 1999. – 120 с.

14

Page 15: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

6.КОНСПЕКТ ЛЕКЦИЙ

Тематический план лекций

№ Содержание лекций ЧасыМатематическая логика

Тема 1 История логики. Основные разделы логики. Темпоральные

логики. Нечеткая и модальные логики.

2

Тема 2 Аксиоматические системы. Формальный вывод. Принципы

построения формальных теорий.

2

Тема 3 Исчисление высказываний. Исчисление высказываний и

алгебра логики. Логика высказываний. Логическое

следование, принцип дедукции. Метод резолюций.

4

Тема 4 Исчисление предикатов и теории первого порядка.

Выводимость и истинность. Предваренная нормальная

форма. Метод резолюций в логике предикатов. Теории

первого порядка: исчисление с равенством; исчисление

частичного нестрогого порядка.

Формальная арифметика.

6

Тема 5 Метатеория логических исчислений. Непротиворечивость.

Полнота, разрешимость. Теоремы Геделя. Аксиоматический

метод.

4

Теория алгоритмовТема 6 Понятие алгоритма. Основные требования к алгоритмам.

Блок-схемы алгоритмов. Меры сложности алгоритмов.

Понятие алгоритмической системы. Легко и трудно

разрешимые задачи.

4

Тема 7 Машина Тьюринга. Основные определения, представления

машины Тьюринга. Примеры машин. Операции над

машинами Тьюринга. Композиция машин Тьюринга.

Понятие Универсальной машины Тьюринга. Тезис

Тьюринга. Проблема остановки. Алгоритмически

неразрешимые проблемы.

6

Тема 8 Рекурсивные функции. Примитивно-рекурсивные функции.

Примитивно-рекурсивные операторы. Общерекурсивные и

6

15

Page 16: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

частично-рекурсивные функции. Связь рекурсивных

функций с машинами Тьюринга. Тезис Черча. Тема 9 Понятие сложности вычислений; эффективные алгоритмы.

Основы нечеткой логики. Элементы алгоритмической

логики.

2

ИТОГО 36

. Лекция 1 .

История логики.

История логики насчитывает около 2-х с половиной тысячелетий.I этап 384-322 до н.э. до второй половины XIX в.-нач. XX в.: логика

Аристотеля развивалась очень медленно.II этап начало XX в. до нашего времени: на этом этапе в логике

произошла научная революция, на смену традиционной логике пришла современная (математическая) логика. В основе последней лежат идеи Г. Лейбница (1646-1716) о возможности представить доказательство как математическое вычисление. Д. Буль (1815-1864) истолковал умозаключение как результат решения логических равенств, в результате чего теория умозаключения приняла вид алгебры, отличающейся от обычной алгебры лишь отсутствием численных коэффициентов и степеней. С работ Г. Фреге (1848-1925) начинается применение логики для исследования оснований математики.

В 20-е годы XX века предмет логических исследований существенно расширился, с этого периода начали складываться различные направления логики.

Многозначная логика предполагающая, что утверждения являются не только истинными или ложными, но могут иметь и другие истинностные значения («неопределенно», «возможно», «бессмысленно»). В зависимости от множества истинностных значений различают конечнозначные и бесконечнозначные логики (трехзначная логика Я. Лукасевича).

Логика эпистемическая исследует высказывании, содержащие разные теоретико-познавательные понятия: «непроверяемо», «фальцифицируемо», «полагает», «сомневается», «отвергает».

Деонтическая логика изучает логические связи нормативных высказываний.

Логика оценок занимается аксиологическими модальностями (понятия «хорошо», «плохо», «безразлично»).

Логика времени занимается временными модальностями, изучает логические связи высказываний о прошлом и будущем.

16

Page 17: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Паранепротиворечивая логика, непозволяющая выводить из противоречий все что угодно.

Логика изменения, говорящая об изменении и становлении нового. Логика причинности, изучающая утверждения о детерминизме и

причинности.Парафальсифицирующая логика, не позволяющая отвергать

положения, хотя бы одно следствие которых оказалось ложным.

Нечеткая и модальная логики.Модальная логикаДля классической логики вещь существует или не существует, и нет

других вариантов. Язык классической логики слишком беден, чтобы на нем удалось передать рассуждения не только о реальных событиях, имеющих место в действительном мире, но и о возможных событиях или необходимых событиях. В естественном языке имеется большее число логических связок, которые не сводятся к стандартным “и”, “не”, “или”, например “возможно”, “обязательно”, “всегда”, “здесь”, “завтра”. Связки такого рода называются модальностями. Изучение модальностей, начатое Аристотелем, до начала 20-го века оставалось предметом философии и филологии. К середине века модальная логика стала разделом математической логики. С конца 70-х г.г. эта область начала стремительно развиваться, появились глубокие математические результаты, в информатике, в лингвистике и в других разделах математической логики возникли многочисленные приложения модальных логик.

Модальная логика рассматривает понятия необходимости, возможности, случайности. Исследуются логические связи модальных высказываний, т.е. высказываний, включающих модальности. Теория логических модальностей изучает логическое поведение высказываний, включающих модальные понятия «логически необходимо», «логически возможно», «логически случайно».

Модальная логика и теория доказательств – приложение модальной логики к исследованию аксиоматических теорий и автоматическому построению доказательств. Направление было инициировано Геделем, который заметил, что доказуемость можно рассматривать как модальность.

Временная логика – изучение временных модальностей “будет”, “было”, “сейчас” и т.п.

Основные разделы (ветви) логики

17

Page 18: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Понятие логики Логика (logos- слово, понятие, рассуждение разум) Формальная логика – наука о законах и операциях правильного

мышления. Согласно основному принципу логики правильность рассуждения (вывода) определяется только его логической формой или структурой, и не зависит от конкретного содержания входящих в него утверждений. Различие между формой и содержанием может быть сделанным явным с помощью особого языка, или символики, оно относительно и зависит от выбора языка.

БАЗИСНАЯ ЛОГИКА

Классическая Неклассическая Модальная Многозначная

Неклассическая теория логического следования

МЕТАЛОГИКА - исследует сами логические теории, их структуру и связи с реальностью

РАЗДЕЛЫ МАТЕМАТИЧЕСКОГО НАПРАВЛЕНИЯ

Теория доказательств Теория множеств Теория функций

Логика вероятностей Обоснование математики

РАЗДЕЛЫ ПРИЛОЖЕНИЙ В ЕСТЕСТВЕННЫХ И ГУМАНИТАРНЫХ НАУКАХ

Индуктивная логика

РАЗДЕЛЫ, ПРИМЕНЯЕМЫЕ ПРИ ОБСУЖДЕНИИ ФИЛОСОФСКИХ ПРОБЛЕМ

Логика бытия Логика изменения

Логические теории вопросов знания, убеждения, воображения

Логика части и целого

18

Page 19: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Отличительная особенность правильного вывода в том, что от истинных предпосылок он всегда ведет к истинному заключению. Такой вывод позволяет из истин получать новые истины с помощью чистого рассуждения, без обращения к опыту, интуиции и т.д. Неправильные выводы могут от истинных посылок вести, как к истинным, так и к ложным заключениям.

Логика занимается не только связями высказываний в правильных выводах, но и

смыслом и значением выражений языка, отношениями между терминами, операциями определения и логического деления понятий, вероятностными и статистическими рассуждениями, парадоксами и логическими ошибками.Логика не перечисляет некоторые схемы правильных рассуждений, она выявляет различные типы таких схем; устанавливает общие критерии их правильности;выделяет исходные схемы, из которых по определенным правилам

могут быть построены другие схемы данного типа;исследует проблему взаимной совместимости логических схем.

В современной логике логические процессы изучаются путем их отображения в языках формализованных или логических исчислений.

Логический синтаксис – это формальное строение логических исчислений, правила образования и преобразования входящих в них выражений.

Логическая семантика – это отношения между исчислениями и содержательными областями, служащими моделями.

. Лекция 2 .

ФОРМАЛЬНЫЕ ТЕОРИИ ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ

Формальные системы – это системы операций над объектами, понимаемыми как последовательности символов (как слова в фиксированных алфавитах); сами операции также являются операциями над символами. Термин «формальный» подчеркивает, что объекты и операции над ними рассматриваются формально, без каких бы то ни было содержательных интерпретаций символов. Предполагая, что между символами не существует никаких связей и отношений, кроме тех, которые явно описаны средствами самой формальной системы.

19

Page 20: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Принципы построения формальных теорий.

Всякая точная теория определяется:1) языком, т.е. множеством высказываний, имеющих смысл с точки зрения этой теории; 2) совокупностью теорем - подмножеством языка, состоящим из высказываний, истинных в данной теории.

Формальная теория (или исчисление) строится следующим образом.1. Определяется множество формул, или правильно построенных

выражений, образующее язык теории. Это множество задается конструктивными средствами (индуктивным определением) и перечислимо. Обычно оно и разрешимо. Множество М разрешимо (рекурсивно), если существует алгоритм А, который по любому объекту а дает ответ, принадлежит а множеству М или нет.

2. Выделяется подмножество формул, называемых аксиомами теории. Множество может быть и бесконечным; во всяком случае, оно должно быть разрешимо.

3. Задаются правила вывода теории. Правило вывода R(F1, …, Fn, G) –это вычислимое отношение на множестве формул.

Опр. 1 Если формулы F1, …, Fn, G находятся в отношении R, то формула G называется непосредственно выводимой из F1, …, Fn по правилу R. Правило R(F1, …, Fn, G) записывается в виде F1, …, Fn

G Формулы F1, …, Fn называются посылками правила R, G – его следствием.

Опр.2 Выводом формулы В из формул А1, …, Аn называется последовательность формул F1, …, Fm , такая, что Fm=В, а любая Fi (i=1,…, m) есть либо аксиома, либо одна из исходных формул A1, …,An, либо непосредственно выводима из формул F1, …, Fi-1 (или какого-то их подмножества) по одному из правил вывода. Если существует вывод В из A1, …, An, то говорят, что В выводима из A1, …, An и обозначается как А1, …, Аn|—B. Формулы А1, …, Аn называются гипотезами или посылками вывода.

Опр.3 Доказательством формулы В в теории Т называется вывод В из пустого множества формул, т.е. вывод, в котором в качестве исходных формул используются только аксиомы. Формула В, для которой существует доказательство, называется теоремой теории Т; факт доказуемости В обозначается |—B.

!Присоединение формул к гипотезам не нарушает выводимости. Поэтому если |—B, то А|—B, и если А1, …, Аn |—B, то А1, …, Аn, Аn+1|—B для любых А и Аn.

20

Page 21: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Аксиоматический метод

Аксиоматический метод – способ построения научной теории, при котором какие-то положения теории избираются в качестве исходных, а все остальные ее положения выводятся из них логическим путем, посредством доказательств.

Положения, доказываемые на основе аксиом, называются теоремами.Аксиоматический метод зародился еще в античности и приобрел

большую известность благодаря «Началам» Евклида, появивишимся около 330 – 320 гг. до н.э.. Д. Гильберт (1862 - 1943) рассматривал аксиоматическую теорию как формальную теорию, устанавливающую соотношения между ее элементами (знаками) и описывающую любые множества объектов, удовлетворяющих ей.

Опр.1 Аксиоматические теории формулируются как формализованные системы, содержащие точное описание логических средств вывода теорем из аксиом. Доказательство в такой теории представляет собой последовательность формул, каждая из которых либо является аксиомой, либо получается из предыдущих формул последовательности по одному из принятых правил вывода.

К аксиоматической формальной системе предъявляются требования непротиворечивости, полноты, независимости систем аксиом и т.д.

Как показал известный математик и логик К. Гедель (1906 - 1978), достаточно богатые научные теории (арифметика натуральных чисел) не допускают полной аксиоматизации. Это свидетельствует об ограниченности аксиоматического метода и невозможности полной формализации научного знания.

Теорема Геделя. (Теорема о неполноте арифметики 1931г.) Если система Z (содержащая арифметику натуральных чисел) непротиворечива, то в ней существует такое предложение А, что ни само А, ни его отрицание не могут быть доказаны средствами Z.

Как показывает теорема Геделя даже арифметику натуральных чисел невозможно формализовать полностью, ибо в формализованной арифметике существуют истинные предложения, которые оказываются неразрешимыми. Г.т. показывает, невозможность полной формализации человеческого знания.

Полнота теории.

Опр.2 Полнота (в логике и дедуктивных науках) – логико-методологическое требование, предъявляемое к аксиоматической теории и характеризующее достаточность для определенных целей ее выразительных и дедуктивных средств.

21

Page 22: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Аксиоматическая теория является полной, если все ее формулы, истинные при рассматриваемой интерпретации доказуемы. Полная система содержит все возможные теоремы, не противоречащие интерпретации.

Для уточнения семантического понимания полноты может быть выдвинуто требование, чтобы либо само предложение, либо его отрицание было теоремой, т.е. чтобы предложение было или доказуемо, или опровержимо.

В 1931 г. К. Гедель показал, что достаточно богатые аксиоматические системы (включающие арифметику натуральных чисел) в принципе не могут быть полными: в них имеются предложения, которые не могут быть ни доказаны, ни опровергнуты.

Требование полноты не является необходимым; неполные аксиоматические системы могут представлять и теоретический, и практический интерес.

Непротиворечивость

Опр.3 Непротиворечивость – это свойство системы предложений некоторой теории (для аксиоматической теории – система ее аксиом), заключающееся в невыводимости из них противоречия.

Если отрицание какого-то предложения может быть доказано в теории, то о самом предложении говорится, что оно опровержимо в ней.

Непротиворечивость теории означает, что никакое предложение не может быть в ней и доказано, и опровергнуто.

Требование непротиворечивости является обязательным требованием к научной и, в частности, логической теории. Противоречивая теория заведомо несовершенна: наряду с истинными положениями она включает также ложные, в ней что-то одновременно доказывается, и опровергается.

Во многих теория имеет место закон Дунса Скота. В этих условиях доказуемость противоречия означает, что становится «доказуемым» все что угодно и понятие доказательства теряет смысл.

Закон Дунса Скота. Ложное высказывание влечет (имплицирует) любое высказывание.

Закон Дунса Скота выражается формулой:¬p→ (p→q) или эквивалентной ей в классической логике формулой:(p&¬p) →q.Для простых теорий, таких как исчисление высказываний,

доказательство непротиворечивости не представляет труда. В более сложных теориях оно обычно сводится к интерпретации в терминах теории множеств.

Для сложных теорий, например, арифметики и самой теории множеств, отыскание подходящей теории, которая сама была бы непротиворечивой и вместе с тем могла бы использоваться для доказательства их непротиворечивости, представляется задачей скорее всего безнадежной.

Это указывает на нетривиальность проблемы непротиворечивости.

22

Page 23: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Лекция 3 .

Исчисление высказываний.

В исчислении высказываний мы будем иметь дело с формулами алгебры логики. Но здесь формулы рассматриваются не как способ представления функций, а как составные высказывания, образованные из элементарных высказываний с помощью логических операций или, как говорят в логике, связок дизъюнкции, конъюнкции, отрицания, импликации. При этом особое внимание уделяется тождеcтвенно-истинным (т.-и.) высказываниям, поскольку они должны входить в любую теорию в качестве общелогических законов.

Исчисление высказываний определяется следующим образом:1. Алфавит вычисления высказываний состоит из переменных

высказываний (пропозиционных букв): А, В, С, …, знаков логических связок дизъюнкции, конъюнкции, отрицания, импликации (, ∨, &, → ) и скобок.

2. Формулы a) переменное высказывание есть формула;b) если ℑ и ℜ − формулы, то (ℑ∨ℜ), (А &ℜ) (ℑ →ℜ) и ℜ - формулы;c) других формул нет.3. Аксиомы. Приведем две системы аксиом. Система аксиом I.1. А → (В → А)2. (А →В) →((А →(В →С)) →(А →С))3. (А &В) →А4. (А& В) →В5. А→ (В → (А &В))6. А → (А ∨ В)7. В → (А ∨ В)8. (А → С) → ((В → С) → ((А ∨ В) → С))9. (А → В) → ((А → В) → А)10. А →АСистема аксиом II.1. А → (В→ А)2. (А → (В → С)) → ((А → В) → (А → С))3. (А → В) → ((А → В) → А).

!Приведенные системы аксиом равносильны в том смысле, что порождают одно и тоже множество формул. Такое утверждение нуждается в доказательстве, которое заключается в том, что показывает выводимость всех аксиом системы II из аксиом системы I и, наоборот системы I из системы II.

Возможны и другие системы аксиом, равносильные первым двум системам.

23

Page 24: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

4. Правила вывода:1) правило подстановки. Если ℑ − выводимая формула, содержащая

букву А (обозначим ℑ(А)), то выводима формула ℑ(ℜ), получающаяся из ℑ заменой всех вхождений А на произвольную формулу;

2) правило заключения (Modus Ponens). Если ℑ и ℑ→ ℜ − выводимые формулы, то ℜ выводима.

В этом описании исчисления высказываний аксиомы являются формулами исчисления; формулы же, использованные в правилах вывода, это «метаформулы», или схемы формул. Схема формул, например ℑ→ℜ, обозначает множество всех тех формул исчисления, которые получаются, если ее метапеременные заменить формулами исчисления.

Примеры вывода в исчислении высказываний.

Лекция 4 .

Основные метатеоремы исчисления высказываний.

Теорема 1 (дедукции). Если Г (множество формул), ℑ |–ℜ, то Г |– ℑ→ℜ (ℑ,ℜ - формулы).

Будем исходить из системы аксиом II и рассматривать их как схемы аксиом (не пользоваться правилом подстановки).

Следствие 1 (из теоремы дедукции) (правило силлогизма) A⊂B, B⊂C |– A⊂C.Построим вывод правила силлогизма:1. A⊂B - гипотеза;2. B⊂C - гипотеза; 3. A - гипотеза; 4. B применяем правило m.p. 1. 3.5. C - применяем правило m.p. 2. 4.6. Тогда A⊂B, B⊂C, A|– C. По теореме о дедукции A⊂B, B⊂C |– A⊂C.

Следствие 2 (из теоремы дедукции) A ⊂ (B⊂C), B |– A⊂C.В результате двукратного применения правила m.p. получим A, A ⊃ (B

⊃C), B |– C. Отсюда по теореме дедукции A ⊃ (B⊃C), B |– A⊃C.

Для любых формул А и В в исчислении высказываний верны утверждения:

24

Page 25: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Утверждение 1. |– A ⊃ A.Утверждение 2. |– A ⊃ A.Утверждение 3. |– A ⊃ (A ⊃ В).Утверждение 4. |– ( В ⊃ A)⊃ (A ⊃ В).Утверждение 5. |– (A ⊃ В)⊃ ( В ⊃ A).Утверждение 6. |– A ⊃ ( В ⊃ (A ⊃ В)).Утверждение 7. |– (A ⊃ В) ⊃ ((A ⊃ В) ⊃ В).

Применение теоремы дедукции.

Пример1. Покажем, что аксиома II3 выводима из системы аксиом I.1. Подставим в I9 A вместо A. Получим: (A ⊃ В) ⊃ ((A ⊃ В) ⊃ А).2. Двойное применение правила m.p. к шагу 1 дает: A ⊃ В, A ⊃ В |– А.3. Так как из аксиомы I 10 следует по правилу m.p., что А |– А, то по

транзитивности выводимости получим A ⊃ В, A ⊃ В |– А.4. Переставим гипотезы в полученной выводимости (их порядок

неважен, как видно из определения выводимости): A ⊃ В, A ⊃ В |– А.5. Применив 2 раза к шагу 4 теорему дедукции, получим аксиому II3:(A ⊃ В) ⊃ ((A ⊃ В) ⊃ А).

Пример 2. Очень распространенным методом математических доказательств является метод доказательства от противного: предположим, что А верно, и покажем, что 1) из А выводится В, 2) что из А выводится В, что невозможно и, следовательно, А неверно, т.е. верно А.

Этот метод формулируется как правило: «если Г, А |– В и Г, А |– В, то Г|– А». Докажем, что это правило в исчислении высказываний выполняется.

По теореме дедукции, если Г, А |– В и Г, А |– В, то Г|– А⊃В и Г|– А⊃ В. Из этих импликаций и аксиомы I9 двойным применением правила заключения {m.p.} получаем Г |– А. Доказанное правило называется также правилом введения отрицания.

Пример 3. Докажем закон исключенного третьего |– А ∨ А.

1. (А ∨ А), А |– А ∨ А (аксиома I6 при В = А и m.p.).2. (А ∨ А), А |– (А ∨ А) (очевидно)3. Применяя к шагам 1 и 2 только что доказанное правило введения

отрицания, получаем: (А ∨ А) |– А.4. Аналогично доказывается (А ∨ А) |– А.5. Применяя к шагам 3 и 4 введение отрицания, получаем:

|– (А ∨А).6. С помощью аксиомы I 10 и правила m.p. снимаем двойное

отрицание в шаге 5 и получаем |– А ∨А.

25

Page 26: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Лекция 5 Исчисление высказываний и алгебра логики.

Формула F исчисления высказываний содержательно интерпретируется как составное высказывание, истинность которого зависит от истинности входящих в него элементарных высказываний. Эта зависимость в точности соответствует зависимости значения логической функции, представляемой формулой F, от значений переменных этой функции. Если задана формула F(А1, …, Аn) и распределение истинностей входящих в нее элементарных высказываний А1, …, Аn, то для выяснения истинности ее нужно вычислить как логическую функцию на наборе (σ1, …, σn).

Аi, если σi=1, т.е. если Аi истинно;Аi

σ =

Аi, если σi=0, т.е. если Аi ложно.

Если F(σ1, …, σn )=1, то высказывание F истинно при данном распределении истинностей А1, …, Аn, если F(σ1, …, σn )=0, то высказывание F ложно.

Возникает вопрос, как связано такое содержательное, “истинностное” истолкование формул с их выводимостью в исчислении высказываний?

Теорема 12. Пусть формула ℜ(А1, …, Аn) определяет логическую функцию f от n переменных. Тогда, если f(σ1, …, σn)=σ, то в вычислении высказываний А1

σ1, …, Аnσn |–ℜσ.

Теорема 13. Всякая теорема исчисления высказываний является тождественно-истинным высказыванием.

Теорема 14. Всякая тождественно-истинная формула является теоремой исчисления высказываний.

Таким образом, исчисление высказываний действительно выполняет задачу порождения общелогических законов – тождественно истинных высказываний.

Лекция 6

Полнота и непротиворечивость исчисления высказываний.

Исчисление высказываний построено как аксиоматическая теория.! Множество теорем исчисления высказываний совпадает с

множеством т-и (тождественно-истинная) формул логики высказываний.

26

Page 27: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Теорема 1. Всякая выводимая (из пустой системы гипотез) формула исчисления высказываний т-и (тождественно-истинная).Доказательство.

Теорема 2. Любая т-и (тождественно-истинная) формула выводима в исчислении высказываний, т.е. является теоремой.

Теорема о непротиворечивости

Исчисление высказываний непротиворечиво.Действительно согласно теореме 1 всякая выводимая формула т.-и.

Отрицание этой формулы не является т.-и. формулой. Следовательно, ни для какой формулы А невозможно, чтобы одновременно |– А и |– А.

Наряду с полнотой аксиоматической теории в широком смысле рассматривают ее полноту и в узком смысле, если добавление любой невыводимой формулы в качестве схемы аксиом приводит к противоречивой теории.

Теорема о полноте: Исчисление высказываний полно в узком смысле.F-произвольная невыводимая формула (согласно теореме о

непротиворечивости в качестве F можно взять любую не тождественно-истинную формулу), X1, …Xn – список ее переменных, а <σ1, …, σn> - распределение истинностей , на котором формула F принимает ложное значение. Расширенная теория оказывается противоречивой.

Во всякой формальной теории возникает вопрос о независимости ее аксиом, т.е. вопрос о том, можно ли какую-нибудь аксиому вывести из остальных, применяя правила вывода данной системы.

! Система аксиом II исчисления высказываний независима.

Лекция 7ИСЧИСЛЕНИЕ ПРЕДИКАТОВ И ТЕОРИИ ПЕРВОГО ПОРЯДКА

Аксиомы и правила вывода

1. А л ф а в и т исчисления предикатов состоит из предметных переменных x1, x2 …, предметных констант а1, а2 …, предикатных букв Р1

1, Р12, …, Р1

k… и функциональных букв f11, f1

2, …, f1k…, а

также знаков логических связок , ∨, &, → , кванторов общности и существования (∀, ∃) и скобок ().

Опр.1 n-местный предикат – это функция P(x1, …, xn) от n переменных, принимающих значения из некоторых заданных предметных областей, так, что x1 из M1, x2 из M2 …, xn из Mn, а функция P принимает логические

27

Page 28: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

значения – «истинно» или «ложно». Предикат P(x1, …, xn) является функцией типа P:M1× M2 ×… ×Mn→В, где множества M1, M2 …, Mn называются предметными областями предиката; x1, …, xn – предметными переменными предиката; В – бинарное множество{И, Л} или {0, 1}.

Квантор собственные связки логики предикатов. Верхние индексы предикатных и функциональных букв указывают

число аргументов, их нижние индексы служат для обычной нумерации букв.Переменные высказывания в исчислении предикатов вводятся либо

непосредственно как пропозиционные буквы А1, А2, …, либо как 0-местные предикаты Р0

1, Р02, …, т.е. как предикаты без переменных.

2. Ф о р м у л ы. Понятие формулы определяется в два этапа.1) Термы:a) предметные переменные и константы являются термами;b) если fn – функциональная буква, а t1, …, tn – термы, то fn(t1, …, tn) -

терм.2) Формулы:a) если Рn – предикатная буква, а t1, …, tn – термы, то Рn(t1, …, tn) –

формула; все вхождения предметных переменных в формулу вида называют свободными переменными;

b) если F1, F2 – формулы, то формулами являются ,F1, (F1→F2), (F1&F2), (F1∨ F2); все вхождения переменных, свободные в F1, F2, являются свободными и в указанных четырех видах формул;

c) если F(x) – формула, содержащая свободные вхождения переменной x, то∀x F(x) и ∃x F(x) - формулы; в этих формулах все вхождения переменной x называются связанными; вхождения остальных переменных в F остаются свободными.

3. А к с и о м ы и с ч и с л е н и я п р е д и к а т о в делятся на две группы:

1) аксиомы исчисления высказываний (любая из систем I или II);2) предикатные аксиомы:

Р1. ∀x F(x) → F(y) Р2. F(y) → ∃x F(x)

4. П р а в и л а в ы в о д а

1) правило заключения (Modus Ponens) 3) правило обобщения (∀- введения): F → G (x) F→∀xG(x)

4) правило ∃-введения:

28

Page 29: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

G (x) → F ∃xG(x)→F

Нарушение этих требований могут привести к ложным выводам из истинных высказываний.

Пусть, например, P(x) предикат «x – делится на 6», Q(x) предикат «x – делится на 3». Высказывание P(x) → Q(x), очевидно, истинно для любого x, однако применение к нему правила обобщения дает высказывание P(x)→∀x Q(x), не являющееся всегда истинным.

Если же к P(x) → Q(x) применить правило ∃-введения, получим ∃x P(x)→Q(x), из которого путем применения правила обобщения получим высказывание ∃x P(x) → ∀x Q(x), ложное на множестве натуральных чисел.

Возможны и другие системы аксиом и правил. Принцип минимизации числа логических операторов в исчислении высказываний оставляет лишь связки и → (что отражено в системе аксиом II). В исчислении предикатов этот принцип выражается в том, что квантор ∃x не считается самостоятельным символом, а рассматривается как сокращение выражения ∀x.

Примеры вывода в исчислении предикатов.

Правило переименования свободных переменныхПравило переименования связных переменных

Пример 1.

Правило переименования свободных переменных.

В исчислении предикатов из выводимости формулы F(x), содержащей

свободные вхождения x, ни одно из которых не находится в области действия

квантора по y, следует выводимость F(y).

1. |– F(x) (по условию)

2. F(x)→(G→ F(x)) (акс.II 1; в качестве G выбираем любую доказуемую

формулу, не содержащую свободных вхождений x: ее доказуемость

понадобится на шаге 5, а ограничение на x на шаге 4)

3. G→ F(x) (m.p. к шагам 1 и 2)

4. G→ ∀xF(x) (правило обобщения к шагу 3)

5. ∀xF(x) (m.p. к G и шагу 4 )

6. F(y) (m.p. к шагу 5 и аксиоме Р1)

29

Page 30: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Пример 2.

Правило переименования связанных переменных.

В исчислении предикатов из выводимости формулы ∀xF(x), следует

выводимость ∀yF(y) при условии, что F(x) не содержит свободных

вхождений y и содержит свободные вхождения x, ни одно из которых не

входит в область действия квантора по y.

1. |– ∀x F(x) (по условию)

2. ∀xF(x)→F(y) (акс. Р1)

3. ∀xF(x)→ ∀yF(y) (правило обобщения к шагу 2)

4. ∀yF(y) (m.p. к шагам 1 и 3).

Лекция 8

Выводимость и истинность. Эквивалентные преобразования в исчислении предикатов.

Теорема 5. Всякая доказуемая формула исчисления предикатов тождественно-истинна (общезначима).

Непосредственно проверяется общезначимость аксиом и показывается, что правила вывода сохраняют общезначимость, т.е. их применение к общезначимым формулам дает общезначимые формулы.

Справедлива и обратная теорема.

Теорема 6. Всякая общезначимая предикатная формула доказуема в исчислении предикатов.

! Всякому эквивалентному соотношению F=G в булевой алгебре соответствует доказуемая эквивалентность |F∼G в исчислении высказываний. Из теорем 5, 6 следует, что между соотношениями содержательной логики предикатов и формальными эквивалентностями в исчислении предикатов имеется аналогичное соответствие (F∼G рассматривается как сокращение (F→G)&(G→F)). На нем имеет смысл остановиться подробнее.

Доказательства общезначимости в логике предикатов существенно сложнее, чем в логике высказываний, и поэтому формальный вывод эквивалентностей становится важным способом их получения.

30

Page 31: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Теорема 7. Пусть F(А) – формула, в которой выделено вхождение формулы A; F(B) – формула, полученная из F(А) заменой вхождения А формулой В. Тогда если |А∼В, то |F(А)∼F(В).

Эта теорема формулируется как правило для исчисления предикатов, аналогичное правилу замены эквивалентных подформул в алгебрах. Благодаря этому правилу можно получать доказуемые эквивалентности в исчислении, не строя непосредственного вывода.

При доказательстве теоремы используются следующие производные правила:

1) если |А∼В, то | А→С∼В→С и С→ А ∼С→В;2) если |А∼В, то | А∨С∼В∨С и |С∨ А ∼С∨В;3) если |А∼В, то | А&С∼В&С и |С& А ∼С&В;4) если |А∼В, то | А∼В;5) если | F(x)∼G(x), то ∀ x F(x)∼ ∀ x G(x);6) если | F(x)∼G(x), то ∃ x F(x)∼ ∃ x G(x).Первые четыре правила проверяются таблицами истинности.С помощью этих шести правил теорема 7 доказывается индукцией по

построению формулы F(A): показывается, что если А∼В, то эта эквивалентность сохраняется на всех шагах построения F(A) из A и F(B) из В. Продемонстрируем доказательство на примере.

Пример1.Пусть F(A)= ∀y (P1(y)∨∃x P2(x, y)), A= ∃x P2(x, y). В качестве

эквивалентности А∼В возьмем эквивалентность ∃x P2(x, y) ∼ ∀x P2(x, y), верную в логике предикатов и, следовательно, в силу теоремы 7 доказуемую в исчислении предикатов.

1. ∃x P2(x, y) ∼ ∀x P2(x, y) (исходная эквивалентность)2. (P1(y) ∨∃x P2(x, y) ) ∼ (P1(y) ∨∀x P2(x, y)) (правило 2)3. ∀ y (P1(y) ∨∃x P2(x, y) ) ∼ ∀ y (P1(y) ∨∀x P2(x, y)) (правило 5)Формула из шага 3 и есть искомая эквивалентность F(А)∼ F(В).

Эквивалентности, выводимые в исчислении предикатов

A&∀x F(x) ∼∀x(A &F(x)); (1)A∨∃x F(x) ∼∃x(A ∨F(x)); (2)A&∃x F(x) ∼∃x(A &F(x)); (3)A∨∀x F(x) ∼∀x(A ∨F(x)); (4)A→∀x F(x) ∼∀x(A →F(x)); (5)A→∃x F(x) ∼∃x(A →F(x)); (6)∀x F(x) →B ∼∃x(F(x) →B); (7)∃x F(x) →B ∼∀x(F(x) →B). (8)

31

Page 32: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Эквивалентности позволяют выносить кванторы вперед. Используя при этом соотношения, полученные в алгебре логики предикатов ((∃x Р(x)) ∼∀x(Р(x)), ((∀x Р(x)) ∼∃x(Р(x)) ), позволяющие заменять один квантор другим и «спускать» отрицание внутрь области действия квантора, а также правила переименования переменных, кванторы можно вынести вперед для любой формулы.

Префиксная нормальная форма

Опр.1 Формула, имеющая вид Q1x1Q2 x2… QnxnF, где Q1, Q2 … Qn – кванторы, а F – формула, не имеющая кванторов (и являющаяся областью действия всех n кванторов), называется предваренной формой, или формулой в предваренной форме.

В исчислении предикатов для любой формулы F существует эквивалентная ей предваренная форма F*, т.е. |F∼ F*.

Этапы приведения к ПНФ:1.2.3.

Пример 2.

Теории первого порядка (прикладные исчисления предикатов).

Построенное ранее исчисление предикатов называется исчислением предикатов первого порядка. В исчислениях второго порядка возможны кванторы по предикатам, т.е. выражения вида ∀Р(Р(x)). Приложения таких исчислений встречаются гораздо реже, нами рассматриваться не будут.

Исчисление предикатов, не содержащее функциональных букв и предметных констант, называется чистым исчислением предикатов. До сих пор рассматривалось именно чистое исчисление предикатов, хотя язык исчисления (формулы) был определен с учетом его использования в прикладных исчислениях.

Прикладные исчисления (теории первого порядка) характеризуются тем, что в них к чисто логическим аксиомам добавляются собственные аксиомы, в которых участвуют конкретные (индивидуальные) предикатные буквы и константы. Примеры индивидуальных предикатных букв – предикаты =, <, функциональных букв – знаки арифметических операций, предметных констант – натуральные числа, единица в теории групп, пустое множество в теории множеств.

32

Page 33: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Важная особенность прикладных исчислений заключается в том, что в схемах аксиом Р1 и Р2 участвуют уже не предметные переменные, а произвольные термы. Более точно эти схемы аксиом принимают следующий вид:

Р1*. ∀x F(x) → F(t)Р2*. F(t) → ∃x F(x),

где F(t) – результат подстановки терма t в F(x) вместо всех свободных вхождений x, причем все переменные t должны быть свободными в F(t).

1. Исчисления с равенством.

Большинство прикладных исчислений содержит предикат равенства = и определяющие его аксиомы.

Аксиомы для =:

Е1. ∀x (x = x); (конкретная аксиома)

Е2. (x = y) → (F(x, x) → F(x, y)) (схема аксиом), где F(x, y) получается из F(x, x) заменой некоторых (необязательно всех) вхождений x на y при условии, что y в этих вхождениях также остается свободным. Всякая теория, в которой Е1 и Е2 являются теоремами или аксиомами, называется теорией (или исчислением) с равенством. Из Е1 и Е2 выводимы основные свойства равенства – рефлексивность, симметричность и транзитивность.

Теорема 8. В любой теории с равенством:

1) | t = t для любого терма t;2) | x = y→ y = x;

3) | x = y→ (y = z → x = z).

2. Теория частичного строгого порядка

Пример прикладного исчисления – теория частичного строгого порядка, содержащая две конкретные аксиомы для предиката “<”:

NE1. ∀x (x < x);

NE2. ∀x∀y∀ z (x < y→ (y < z → x < z)).Два сходных утверждения о транзитивности даются в разной форме:

теорема 8, без кванторов, в открытой форме, а в NE2 – с кванторами, в замкнутой форме. Эти два способа задания аксиом равносильны: от первого ко второму переходим по правилу обобщений, а от второго к первому – по аксиоме P1* и правилу заключения.

33

Page 34: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Если к аксиомам NE1 и NE2 добавить аксиому с предметной константой а

NE3. ∀x(x < а), то получим теорию частичного порядка с минимальным элементом а.

3. Формальная арифметика.Наиболее изученной формальной теорией, которая играет

фундаментальную роль в основаниях математики, является формальная арифметика. Перечислим ее схемы аксиом:

А1. F(0)&∀x(F(x) →F(x’))→F(x) (принцип индукции)А2. t1

’ = t2’ → t1 = t2;

А3. (t1’ = 0);

А4. t1 = t2 → ( t1 = t3 → t2 = t3);А5. t1 = t2 → t1

’ = t2’ ;

A6. t1 +0 = t1;A7. t1 + t2

’ = (t1 + t2)’;A8. t1⋅0 = 0;A9. t1 ⋅ t2

’ = t1⋅t2 + t1.В этих аксиомах использованы три функциональных символа +, ⋅, ‘,

один индивидуальный предикат (предикатная буква) = и одна предметная константа 0. Они придают схемам аксиом А2 – А9 конкретный вид: все предикатные и функциональные буквы в них зафиксированы, и единственный способ их варьировать – это подставлять различные термы вместо метапеременных t1 и t2.

Схемы А6 – А9 – это просто предикат равенства, в который подставлены термы определенного вида. Схема А1 имеет вид: F(x) – метаобозначение употребляемое в том же смысле, в каком оно использовалось в чистом исчислении предикатов. Схемы А2 – А9 можно заменить конкретными аксиомами (т.е. формулами арифметики), А2 – А9 можно получить с помощью правила обобщения и схемы аксиом Р1.

Лекция 9

МЕТАТЕОРИЯ ЛОГИЧЕСКИХ ИСЧИСЛЕНИЙ

Под метатеорией логических исследований понимается изучение их общих свойств и соответствия этих свойств целям, ради которых исчисления создавались. Некоторые задачи такого рода (связь между доказуемостью и истинностью) уже рассматривались. Здесь они будут систематизированы и изучены более подробно.

34

Page 35: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Интерпретация и модели. Ценность всякой формальной теории, в конечном счете, определяется

ее способностью описывать какие-то объекты и связи между ними. Поэтому один из первых для любой теории вопросов − это вопрос о том, для описания каких объектов пригодна данная теория. Конечно, если ставить его как общую проблему соответствия научных знаний о мире самому миру, то он не может обсуждаться средствами лишь математики (поскольку математика в отличие от естественных наук имеет дело не непосредственно с миром, а с формальными описаниями, его различных фрагментов) и становится фундаментальной проблемой философии и методологии науки. Речь пойдет о более простом случае, когда множество объектов, для которого строится формальная теория, само по себе пред-ставляет достаточно строго описанный предмет исследований. Более точно проблема адекватности формальной теории и описываемых ею объектов будет рассматриваться как математическая задача о соответствии между содержательно построенной теорией, рассматриваемой как множество объектов с операциями и отношениями на нем (т. е. как ал-гебраическая система), и множеством высказываний об этой теории, построенном как формальное исчисление. При такой постановке задачи интуитивно ясное понятие интерпретации приобретает точный математический смысл.

Интерпретация формальной теории состоит из множества М и однозначного отображения, которое каждой предикатной букве Рi

n ставит в соответствие n-местное отношение на М (интерпретирует ее как отношение на М), каждой функциональной букве fj

n − n-местную операцию на М, каж-дой предметной константе − элемент М. Постоянные термы исчисления (не содержащие предметных переменных) при таком определении также отобразятся в элементы М. Таким образом, множество М (называемое областью интерпретации) рассматривается как основное множество алгебраической системы.

Всякая замкнутая, т. е. не содержащая свободных переменных, формула теории представляет собой высказывание об элементах, отношениях и функциях М, которое может быть истинным или ложным. Значения истинности составных формул вычисляются в соответствии с входящими в них логическими операциями. Открытая формула соответствует некоторому отношению на М, при подстановке предметных констант она превращается в высказывание о том, что между элементами М, соответствующими подставленным константам выполняется данное отношение. Открытая формула называется выполнимой в данной интерпретации, если существует такая подстановка предметных констант, при которой она превращается в истинное высказывание. Формула называется истинной в данной интерпретации, если она выполняется (т. е. превращается в истинное высказывание) при любой подстановке констант. Формула называется ложной в данной интерпретации, если она невыполнима.

35

Page 36: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Интерпретация (а иногда область интерпретации М) называется моделью для множества формул Г, если любая формула Г истинна в данной интерпретации. Интерпретация называется моделью теории Т, если она является моделью множества всех теорем теории Т, т. е. если всякая формула, доказуемая в Т, истинна в данной интерпретации.

Если в Т доказуема некоторая открытая формула F (которая, строго говоря, высказыванием не является), то в модели теории Т должны быть истинными все высказывания, получающиеся из F всеми возможными подстановками констант на место свободных переменных формулы F, и, сле-довательно, должно быть истинно высказывание ∀x1 ... ∀xn F, где x1, ..., хn − свободные переменные формулы F.

Пример. В теории строгого частичного порядка (с аксиомами NE1 и NE2) моделью будет любая интерпретация, при которой предикатная буква < интерпретируется отношением «быть меньше». Однако почти столь же очевидно из аксиом NE1 и NE2 (хотя и выглядит парадоксально), что моделью этой теории будет и интерпретация, при которой символ “<” интерпретируется как отношение «быть больше».

Пример иллюстрирует существо формального подхода: в символы исчисления (даже самые привычные) не вкладывается никакого смысла, пока не введена их явная интерпретация. Но и введенная интерпретация, вообще говоря, не относится к числу средств самого исчисления: она позволяет осмыслить формулы исчисления, но не участвует в формальном выводе теорем.

О формальных свойствах самого исчисления, его формул и формальных преобразований над ними принято говорить как о синтаксисе исчисления; свойства исчисления, описанные в терминах его интерпретаций, − это семантика исчисления.

Непротиворечивость. Формула называется общезначимой, если она истинна в любой

интерпретации, и противоречивой, если она ложна в любой интерпретации, т. е. если ее отрицание общезначимо. Для любого множества общезначимых формул и, в частности, для чистого исчисления предикатов (по теореме 6.5) любая алгебраическая система и вообще любое множество является моделью. Напротив, для любого множества формул, содержащего хотя бы одну противоречивую формулу, моделей не существует.

Аксиома Е1 теории с равенством не является общезначимой: существуют интерпретации (в смысле, указанном в начале), в которых она ложна. Примером такой интерпретации может служить всякое отображение, которое предикатной букве = ставит в соответствие отношение <. (Здесь символы = и < используются на разных уровнях: символ = − как формальная предикатная буква, не имеющая смысла до ее

36

Page 37: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

интерпретации, а символ < − как символ отношения на множестве, имеющий всем известный смысл «быть меньше».) Собственные аксиомы прикладных исчислений вообще не общезначимы − иначе по теореме об общезначимой формуле в исчислении предикатов они были бы доказуемы в чистом исчислениипредикатов.

Введенное ранее определение противоречивой формулы является семантическим, т.е. связывающим непротиворечивость с истинностью. Исходя из него, можно сформулировать понятие семантически непротиворечивой теории: теория семантически непротиворечива, если ни одна из ее теорем не является противоречивой, т.е. ложной в любой интерпретации. Исчисление высказываний и исчисление предикатов семантически непротиворечивы в силу теорем (о теореме исчисления высказываний и о доказуемой формуле исчисления предикатов): все их теоремы общезначимы и, следовательно, непротиворечивы.

С помощью введенных понятий ответ на общий вопрос, поставленный в начале лекции, формулируется так: теория Т пригодна для описания тех множеств, которые являются ее моделями; модель для теории Т существует тогда и только тогда, когда Т семантически непротиворечива. Чисто логические теории − исчисление высказываний и исчисление предикатов − в силу теорем (о теореме исчисления высказываний и о доказуемой формуле исчисления предикатов) пригодны для описания любых множеств, что соответствует общенаучному принципу универсальности законов логики. Лейбниц формулировал его как выполнимость логических законов «во всех мыслимых мирах». Такой критерий пригодности теорий по существу известен уже давно; отыскание модели для теории до возникновения оснований математики было единственным общепризнанным методом доказательства законности теории. Одно из важных достижений оснований математики заключается в том, что аналог этого критерия сформулирован в терминах самих формальных теорий, без привлечения семантических понятий. Таким аналогом является понятие формальной, или дедуктивной непротиворечивости.

Теория Т называется формально непротиворечивой, если не существует формулы F, такой, что F и F являются теоремами теории Т, т. е. в Т не выводимы одновременно формула и ее отрицание. Аналогичное определение можно сформулировать и для произвольного множества формул.

Для любой теории, содержащей исчисление высказываний, из определения непосредственно следует, что если она формально противоречива, то в ней доказуема тождественно-ложная формула и, следовательно, она семантически противоречива.

37

Page 38: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Обратное утверждение (которое также оказывается верным), если понимать его конструктивно, гораздо глубже. Смысл его в том, что по всякому формально непротиворечивому множеству формул можно построить его модель. Доказательство этого факта довольно сложно и заключается в изложении метода такого построения. Вместе оба утверждения образуют важную метатеорему.

Теорема 1. Множество формул формально непротиворечиво, если и только если оно семантически непротиворечиво (т.е. имеет модель).□

Таким образом, понятие формальной непротиворечивости оказывается эквивалентным более привычному в математике понятию семантической непротиворечивости; однако оно сформулировано в синтаксических терминах и с конструктивной точки зрения более надежно.

Неприятие современниками неевклидовых геометрий Лобачевского−Бойаи объясняется именно тем, что законность этих теорий обосновывалась отсутствием в них противоречий − аргументом, по существу совпадающим с современным понятием формальной непротиворечивости. Геометрические модели для этих теорий, доказывающие их семантическую непротиворечивость, были найдены позднее.

Полнота, разрешимость, аксиоматизируемость.Пусть имеется, с одной стороны, содержательная теория S,

сформулированная в семантических терминах, т.е. совокупность истинных высказываний о некоторой алгебраической системе М; с другой стороны — формальная теория Т, т. е. множество выражений, выводимых из аксиом теории Т с помощью правил вывода теории Т. В каких случаях можно утверждать, что Т является удовлетворительной формализацией S? Каковы признаки удовлетворительности формализации?

Очевидно, необходимым признаком является условие, чтобы S была моделью теории Т, т. е. чтобы существовало отображение, При котором всякая теорема теории Т отображается в истинное высказывание из S. Однако само по себе это условие явно недостаточно, иначе для формализации любой теории S хватило бы чистого исчисления предикатов: ведь для него любое множество является моделью. Исчерпывающей формализацией S будет служить такая теория Т, для которой выполняется и обратное соответствие: каждое истинное высказывание теории S отображается в некоторую теорему теории Т. Теория Т с таким свойством называется полной относительно S, а иногда − адекватной S.

Из теорем (исчисления высказываний) следует, что исчисление высказываний полно относительно алгебры высказываний, а теоремы (исчисления предикатов) образуют известную теорему Геделя о полноте ис-числения предикатов относительно логики предикатов, т. е. множества всех общезначимых предикатных формул.

38

Page 39: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Если для семантической (содержательной) теории S удается построить непротиворечивую и полную формальную теорию Т, то S естественно назвать аксиоматизируемой, или формализуемой теорией. Из предыдущих результатов следует, что логика высказываний и логика предикатов аксиоматизируемы с помощью соответствующих исчислений.

Еще одна важная характеристика формальной теории − это ее разрешимость. Формальная теория Т называется разрешимой, если существует алгоритм, который для любой формулы языка определяет, является она теоремой в Т или нет, иначе говоря, если предикат «быть теоремой в теории Т» общерекурсивен.

Теорема 2. Исчисление высказываний разрешимо.Разрешающий алгоритм для формулы F исчисления высказываний

заключается в вычислении значений F на всех наборах значений ее переменных. Ввиду полноты исчисления высказываний F является его теоремой, если и только если она истинна на всех наборах.

Теорема 3 (теорема Черча). Исчисление предикатов неразрешимо.Несмотря на полноту исчисления предикатов, разрешающий алгоритм,

связанный с вычислением значений истинности предикатных формул, построить не удается из-за бесконечности предметной области, которая приводит в общем случае к бесконечным таблицам истинности. Идея доказательства теоремы Черча (которое здесь не приводится) состоит в том, чтобы в чистом исчислении предикатов описать предикат Q(i, а, х): «машина Тьюринга с номером i, будучи применена к исходным данным а, закончит вычисление в момент х». Предикат ∃xQ(i, а, х) − это предикат остановки, a ∃xQ(а, а, х) − предикат самоприменимости; оба предиката неразрешимы.

Отметим, что важный для приложений фрагмент исчисления предикатов разрешим: и с ч и с л е н и е о д н о м е с т ных п р е д и к а т о в (т.е. исчисление, допускающее в формулах только одноместные предикатные буквы) р а з р е шимо.

Еще тяжелее обстоит дело с формальной арифметикой, система аксиом которой приведена в конце лекции №__.

Теорема 4 (первая теорема Геделя о неполноте в форме Клини). Любая формальная теория Т, содержащая формальную арифметику, неполна: в ней существует (и может быть эффективно построена) замкнутая формула F, такая, что F истинно, но ни F, ни F не выводимы в Т.

Теорема 5 (вторая теорема Геделя о неполноте). Для любой непротиворечивой формальной теории Т, содержащей формальную арифметику, формула, выражающая непротиворечивость Т, недоказуема в Т.

Арифметика и теория чисел оказываются неаксиоматизируемыми теориями. В терминах теории алгоритмов сформулированные ранее результаты можно резюмировать как:

39

Page 40: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

1) множество всех истинных высказываний логики высказываний перечислимо и разрешимо;

2) множество всех истинных высказываний логики предикатов пере-числимо (ввиду его полноты), но неразрешимо;

3) множество всех истинных высказываний арифметики неперечислимо: если бы для него существовала перечисляющая процедура (и, следовательно, соответствующая машина Тьюринга), то по ней можно было бы построить полную формальную теорию, рассматривая правила перехода машины от одной конфигурации к другой как правила вывода, процесс вычисления − как вывод, а результаты вычисления − как теоремы.

Две знаменитые теоремы Геделя имеют важное методологическое значение. Из первой теоремы следует, что для достаточно богатых математических теорий не существует адекватных формализаций. Правда, любую неполную теорию Т можно расширить, добавив, например, к ней в качестве новой аксиомы истинную, но не выводимую в Т формулу. Однако по первой теореме Геделя новая теория Т также будет неполна. Вторая теорема может быть истолкована как невозможность исследования метасвойств теории средствами самой формальной теории (опять невозможность самоприменимости!); иначе говоря, метатеория теории Т для того, чтобы иметь возможность доказывать хотя бы непро-тиворечивость теории Т, должна быть богаче Т.

По существу при этом ставится под сомнение первоначальная, «максималистская» программа финитного подхода: нельзя построить математику как некоторую фиксированную совокупность средств, которые можно было бы объявить единственно законными и с их помощью строить метатеории любых теорий.

Не следует истолковывать результаты Геделя как крах формального подхода. Наличие алгоритмически неразрешимых проблем вовсе не бросает тень на теорию алгоритмов, а лишь сообщает «суровую правду» об устройстве мира, изучаемого этой теорией. Из этой правды не вытекает, что алгоритмический, конструктивный подход к решению проблемы не пригоден; хотя он чего-то и не может, но лишь потому, что этого не может никто. Точно так же невозможность полной формализации содержательно определенных теорий − это не недостаток подхода или концепции, а объективный факт, неустранимый никакой концепцией. Формальный подход остается основным конструктивным средством изучения множеств высказываний. Невозможность адекватной формализации теории означает, что надо либо искать формализуемые ее фрагменты, либо строить какую-то более сильную формальную теорию, которая, правда, снова будет неполна, но, быть может, будет содержать всю исходную теорию. В частности, методами, не формализуемыми в формальной арифметике, Генцен доказал непротиворечивость формальной арифметики.

40

Page 41: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Лекция 10

ТЕОРИЯ АЛГОРИТМОВ

1. ПРЕДВАРИТЕЛЬНОЕ ОБСУЖДЕНИЕНесколько вступительных слов. С алгоритмами, т. е. эффективными

процедурами, однозначно приводящими к результату, математика имела дело всегда. Школьные методы умножения «столбиком» и деления «углом», метод исключения неизвестных при решении системы линейных уравнений, правило дифференцирования сложной функции, способ построения треугольника по трем заданным сторонам − все это алгоритмы. Однако, пока математика имела дело в основном с числами и вычислениями и понятие алгоритма отождествлялось с понятием метода вычисления, потребности в изучении самого этого понятия не возникало. Традиции организации вычислений складывались веками и стали составной частью общей научной культуры в той же степени, что и элементарные навыки логического мышления. Все многообразие вычислений комбинировалось из 10 − 15 четко определенных операций арифметики, тригонометрии и анализа. Поэтому понятие метода вычисления считалось изначально ясным и не нуждалось в специальных исследованиях.

До середины XIX в. единственной областью математики, работавшей с нечисловыми объектами, была геометрия, и как раз она, не имея возможности опираться на вычислительную интуицию человека, резко отличалась от остальной математики повышенными требованиями к строгости своих рассуждений. До сих пор любой современный шестиклассник, для которого математика — это мир вычислений (и в этом он мало отличается от типичного инженера), мучительно привыкает к понятиям доказательства и математического построения и никак не может понять, зачем доказывать равенство отрезков, когда их проще измерить, и зачем строить перпендикуляр с помощью циркуля и линейки, когда есть угольник с «готовым» прямым углом или транспортир.

Такое же мучительное привыкание к новым, более жестким требованиям строгости началось в математике во второй половине XIX в., оно стимулировалось в основном математикой нечисловых объектов − открытием неэвклидовых геометрий, появлением абстрактных алгебраических теорий типа теории групп и т.д. Одним из решающих обстоятельств, приведших к пересмотру оснований математики, т. е. принципов, лежащих в основе математических рассуждений, явилось создание Кантором теории множеств. Довольно быстро стало ясно, что понятия теории множеств в силу своей общности лежат в основе всего здания математики. Однако почти столь же быстро было показано, что некоторые кажущиеся вполне естественными рассуждения в рамках этой теории приводят к неразрешимым противоречиям − парадоксам теории множеств (которые упоминались). Все это потребовало

41

Page 42: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

точного изучения принципов математических рассуждений (до сих пор казавшихся интуитивно ясными) математическими же средствами. Возникла особая отрасль математики − основания математики, или метаматематики.

Опыт парадоксов теории множеств научил математику крайне осторожно обращаться с бесконечностью и по возможности даже о бесконечности рассуждать с помощью финитных методов. Существо финитного подхода заключается в том, что он допускает только конечные комплексы действий над конечным числом объектов. Выяснение того, какие объекты и действия над ними следует считать точно определенными, какими свойствами и возможностями обладают комбинации элементарных действий, что можно и чего нельзя сделать с их помощью, − все это стало предметом теории алгоритмов и формальных систем, которая первоначально возникла в рамках метаматематики и стала важнейшей ее частью. Главным внутриматематическим приложением теории алгоритмов явились дока-зательства невозможности алгоритмического (т. е. точного и однозначного) решения некоторых математических проблем. Такие доказательства (да и точные формулировки доказываемых утверждений) неосуществимы без точного понятия алгоритма.Пока техника использовала чисто вычислительные методы, эти высокие проблемы чистой математики ее мало интересовали. В технику термин «алгоритм» пришел вместе с кибернетикой. Если понятие метода вычисления не нуждалось в пояснениях, то понятие процесса управления пришлось вырабатывать практически заново. Понадобилось осознавать, каким требованиям должна удовлетворять последовательность действий (или ее описание), чтобы считаться конструктивно заданной, т. е. иметь право называться алгоритмом. В этом осознании огромную помощь инженерной интуиции оказала практика использования вычислительных машин, сделавшая понятие алгоритма ощутимой реальностью. С точки зрения современной практики алгоритм—это программа, а критерием алгоритмичности процесса является возможность его запрограммировать. Именно благодаря этой реальности алгоритма, а также потому, что подход инженера к математическим методам всегда был конструктивным, понятие алгоритма в технике за короткий срок стало необычайно популярным (быть может, даже больше, чем в самой математике).

Однако у всякой популярности есть свои издержки. В повседневной практике слово «алгоритм» употребляется слишком широко, теряя зачастую свой точный смысл. Приблизительные описания понятия «алгоритм» (вроде того, которое приведено в первой фразе этого параграфа) часто принимаются за точные определения. В результате за алгоритм зачастую выдается любая инструкция, разбитая на шаги. Появляются такие дикие словосочетания, как «алгоритм изобретения» (а ведь наличие «алгоритма изобретения» означало бы конец изобретательства как творческой деятельности).

42

Page 43: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Ясное представление о том, что такое алгоритм, важно, конечно, не только для правильного словоупотребления. Оно нужно и при разработке конкретных алгоритмов, особенно когда имеется в виду их последующее программирование. Однако оно еще важнее при наведении порядка в бурно растущем алгоритмическом хозяйстве. Чтобы ориентироваться в море алгоритмов, захлестнувшем техническую кибернетику, необходимо уметь сравнивать различные алгоритмы решения одних и тех же задач, причем не только по качеству решения, но и по характеристикам самих алгоритмов (числу действий, расходу памяти и т.д.). Такое сравнение невозможно без введения точного языка для обсуждения всех этих вопросов; иначе говоря, сами алгоритмы должны стать такими же предметами точного исследования, как и те объекты, для работы с которыми они предназначены.Строгое исследование основных понятий теории алгоритмов начнется в следующем параграфе. Прежде чем приступить к нему, обсудим на неформальном уровне некоторые основные принципы, по которым строятся алгоритмы, и выясним, что же именно в понятии алгоритма нуждается в уточнении.

Основные требования к алгоритмам.1. Первое, что следует отметить в любом алгоритме,− это то, что он

применяется к исходным данным и выдает результаты. В привычных технических терминах это означает, что алгоритм имеет входы и выходы. Кроме того, в ходе работы алгоритма появляются промежуточные результаты, которые используются в дальнейшем. Таким образом, каждый алгоритм имеет дело с данными − входными, промежуточными и выходными. Поскольку мы собираемся уточнять понятие алгоритма, нужно уточнить и понятие данных, т. е. указать, каким требованиям должны удовлетворять объекты, чтобы алгоритмы могли с ними работать.

Ясно, что эти объекты должны быть четко определены и отличимы как друг от друга, так и от «необъектов». К алгоритмическим объектам относятся числа, векторы, матрицы смежностей графов, формулы. Изображения (например, рисунок графа) представляются менее естественными в качестве алгоритмических объектов. Если говорить о графе, то дело даже не в том, что в рисунке больше несущественных деталей и два человека один и тот же граф изобразят по-разному (в конце концов, разные матрицы смежности тоже могут задавать один и тот же граф с точностью до изоморфизма), а в том, что матрица смежности легко разбивается на элементы, причем из элементов всего двух видов (нулей и единиц) состоят матрицы любых графов, тогда как разбить на элементы рисунок гораздо труднее. Наконец, с такими объектами, как «хо-рошая книга» или «осмысленное утверждение», с которыми легко управляется любой человек (но каждый по-своему!), алгоритм работать откажется, пока они не будут описаны как данные с помощью других, более подходящих объектов.

43

Page 44: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Вместо того чтобы пытаться дать общее словесное определение четкой определенности объекта, в теории алгоритмов фиксируют конкретные конечные наборы исходных объектов (называемых элементарными) и конечный набор средств построения других объектов из элементарных. Набор элементарных объектов образует конечный алфавит исходных символов (цифр, букв и т. д.), из которых строятся другие объекты; типичным средством построения являются индуктивные определения, указывающие, как строить новые объекты из уже построенных. Простейшее индуктивное определение — это определение некоторого множества слов, классическим примером которого служит определение идентификатора в АЛГОЛе; идентификатор − это либо буква, либо идентификатор, к которому приписана справа буква или цифра. Слова конечной длины в конечных алфавитах (в частности, числа) − наиболее обычный тип алгоритмических данных, а число символов в слове (длина слова) − естественная единица измерения объема обрабатываемой информации. Более сложный случай алгоритмических объектов − формулы. Они также определяются индуктивно и также являются словами в конечном алфавите, однако не каждое слово в этом алфавите является формулой. В этом случае обычно основным алгоритмам предшествуют вспомогательные, которые проверяют, удовлетворяют ли исходные данные нужным требованиям. Такая проверка называется синтаксическим анализом.

2. Данные для своего размещения требуют памяти. Память обычно считается однородной и дискретной, т. е. состоит из одинаковых ячеек, причем каждая ячейка может содержать один символ алфавита данных. Таким образом, единицы измерения объема данных и памяти согласованы. При этом память может быть бесконечной. Вопрос о том, нужна ли одна память или несколько и, в частности, нужна ли отдельная память для каждого из трех видов данных (входных, выходных и промежуточных), решается по - разному.

3. Алгоритм состоит из отдельных элементарных или действий, причем множество различных шагов, из которых составлен алгоритм, конечно. Типичный пример множества элементарных действий — система команд Обычно элементарный шаг имеет дело с фиксированным числом символов (это удобно, например, для измерения времени работы алгоритма числом проделанных шагов), однако это требование не всегда выполняется. Например, в ЭВМ третьего поколения есть команды типа «память - память», работающие с полями памяти переменной длины.

4. Последовательность шагов алгоритма детерменирована, т. е. после каждого шага либо указывается, шаг делать дальше, либо дается команда остановки, после чего работа алгоритма считается законченной.

5. Естественно от алгоритма потребовать результативности т. е. остановки после конечного числа шагов зависящего от данных) с указанием того, что считать результатом. В частности, всякий, кто предъявляет алгоритм решения некоторой задачи, например вычисления функции f(x), обязан показать, что алгоритм останавливается после конечного числа шагов (как говорят,

44

Page 45: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

сходится) для, любого x из области задания. Однако проверить результативность (сходимость) гораздо труднее. В отличие от них сходимость обычно не удается установить простым просмотром описания алгоритма; общего же метода проверки сходимости годного для любого алгоритма А и любых данных будет показано далее, вообще не существует. Обсуждение трудностей, связанных с распознаванием сходимости далее.

6. Следует различать: а)описание алгоритма конструкцию или программу); б)механизм реализации алгоритма (например, ЭВМ), включающий средства остановки, реализации элементарных шагов, выдача результатов и обеспечения детерминированности, т.е. управления ходом вычисления; в) процесс реализации алгоритма, т. е. последовательность шагов, которая будет порождена при применении алгоритма к конкретным данным.

Будем предполагать, что описание алгоритма и механизм его реализации конечны (память, как уже говорилось, может быть бесконечной, но она не включается в механизм). Требования к конечности процесса реализации совпадают с требованиями результативности (см. п. 5).

Пример 1. Рассмотрим следующую задачу: дана последовательность Р из п

положительных чисел (п — конечное, но произвольное число); требуется упорядочить их, т. е. построить последовательность R, в которой эти же числа расположены в порядке возрастания. Почти сразу же приходит в голову следующий простой способ ее решения: просматриваем Р и находим в ней наименьшее число; вычеркиваем его из Р и выписываем его в качестве первого числа R; снова обращаемся к Р и находим в ней наименьшее число; приписываем его справа к полученной части R и так далее, до тех пор, пока в Р не будут вычеркнуты все числа. Возникает естественный вопрос: что значит «и так далее». Для большей ясности перепишем описание способа решения в более четкой форме, разбив его на шаги и указав переходы между шагами.

Ш а г 1. Ищем в Р наименьшее число. Ш а г 2. Найденное число приписываем справа к R (в начальный

момент R пуста) и вычеркиваем его из P. Ш а г 3. Если в Р нет чисел, то переходим к шагу 4. В противном случае

переходим к шагу 1.Ш а г 4. Конец. Результатом считать последовательность R, построенную

к данному моменту.Большинство читателей сочтет такое описание достаточно ясным (и

даже излишне формальным), чтобы, пользуясь им, однозначно получить нужный результат. Однако это впечатление ясности опирается на некоторые неявные предположения, к правильности которых мы привыкли, но которые нетрудно нарушить. Например, что значит «дана последовательность чисел»? В нашем описании ничего не сказано, как найти наименьшее число среди таких чисел. В нем вообще не говорится о том, как искать наименьшие

45

Page 46: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

числа, по-видимому, предполагается, что речь идет о числах, представленных в виде десятичных дробей, и что известно, как их сравнивать.

Необходимо уточнить формы представления данных. При этом нельзя просто заявить, что допустимо любое представление чисел. Ведь для каждого представления существует свой алфавит (который, помимо цифр, может включать запятые, скобки, знаки операций и функций и т. д.) и свой способ сравнения чисел (например, способ перевода в десятичную дробь), тогда как конечность алфавита требует фиксировать его заранее, а конечность описания алгоритма позволяет включить в него лишь заранее фиксированное число способов сравнения. Фиксация представления чисел в виде десятичных дробей так же не решает всех проблем. Сравнение 10—20-разрядных уже не может считаться элементарным действием: сразу нельзя сказать, какое из чисел больше: 90811557001,1 32899901467,0048. В машинных алгоритмах само представление числа еще требует дальнейшего уточнения: нужно во-первых, ограничить число разрядов (цифр) в числе, так как от этого зависит, сколько ячеек памяти будет занимать число, а во-вторых, договориться о способе» размещения десятичной запятой в числе, т, е. выбрать представление в виде числа с фиксированной или плавающей запятой, поскольку способы обработки этих двух представлений различны. Наконец, любой, кто имел дело с программированием, отметит, что на шаге 1 требуется узнать две вещи: само наименьшее число (чтобы записать его в R) и его место в Р, т. е. его адрес в той части т где хранится Р (чтобы вычеркнуть его из Р), а следовательно нужно иметь средства указания этого адреса.

Таким образом, даже в этом простом примере несложный анализ показывает, что описанию, которое выглядит вполне ясным, еще далеко до алгоритма. Мы столкнулись здесь с необходимостью уточнить почти все основные характеристики алгоритма, которые отмечались ранее: алфавит данных и форму их представления, память и размещение в ней элементов Р и R, элементарные шаги (поскольку шаг 1 явно не элементарен). Кроме того, становится ясным, что выбор механизма реализации (скажем, человека или ЭВМ) будет влиять и на сам характер уточнения: у человека требования к памяти, представлению данных и к элементарности шагов гораздо более слабые и «укрупненные», отдельные незначительные детали он может уточнить сам.

Пожалуй, только два требования к алгоритмам в приведенном описании выполнены в достаточной мере (они то и создают впечатление ясности). Довольно очевидна сходимость алгоритма: после выполнения шагов 1 и 2 либо работа заканчивается, либо из Р вычеркивается одно число; поэтому ровно после п выполнений шагов 1 и 2 из Р будут вычеркнуты все числа и алгоритм остановится, a R будет результатом. Кроме того, не вызывает сомнения детерминированность: после каждого шага ясно, что делать дальше, если учесть, что здесь и в дальнейшем используется общепринятое соглашение −

46

Page 47: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

если шаг не содержит указаний о дальнейшем переходе, то выполняем шаг, следующий за ним в описании. Поскольку использованные в примере средства обеспечения детерминированности носят довольно общий характер, остановимся на них несколько подробнее.

Блок-схемы алгоритмов. Связи между шагами можно изобразить в виде графа. Для примера 1 граф изображен на рис. 1.

Рис.1

Такой граф, в котором шаги, а ребрам — переходы между шагами, называется блок-схемой алгоритма. Его вершины могут быть двух видов: вершины, из которых выходит одно ребро (их называют операторами), и вершины, из которых выходят два ребра (их называют логическими условиями, или предикатами). Кроме того, имеется единственный оператор конца, из которого не выходит ни одного ребра, и единственный оператор начала. Важной особенностью блок-схемы является то, что связи, которые она описывает, не зависят от того, являются ли шаги элементарными или представляют собой самостоятельные алгоритмы,— как говорят в программи-ровании, блоки (по существу шаг 1 таковым и является). Возможность «разблочивать» алгоритм хорошо известна в программировании и широко там используется: большой алгоритм разбивается на блоки, которые можно раздать для программирования разным лицам. Для данного блока неважно, как устроены другие блоки; для программирования блока достаточно знать, где лежит вся исходная информация, какова форма ее представления, что должен делать блок и куда записать результат.

С помощью блок-схем можно, наоборот, несколько алгоритмов, рассматриваемых как блоки, связать в один большой алгоритм. В частности, если алгоритм А1 вычисляющий функцию f(x), соединен с алгоритмом А2, вычисляющим функцию f(x) (рис. 2), и при этом исходными данными для А2

служит результат А1, то полученная блок-схема задает алгоритм, вычисляющий

Рис. 2

f 2(f 1(x)) , т. е. композицию f 1 и f2. Такое соединение алгоритм называется композицией алгоритмов.

На блок-схеме хорошо видна разница между описанием алгоритма и процессом его реализации. Описание − это граф; процесс реализации − это путь в графе. Различные пути в одном и том же графе возникают при различных данных, которые создают разные логические условия в точках

47

А1

А2

Page 48: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

разветвления. Отсутствие сходимости означает, означает, что в процессе вычисления не появляется условий, ведущих к концу, и процесс идет по бесконечному пути (зацикливается).

При всей наглядности языка блок-схем не следует, однако, переоценивать его возможности. Он достаточно груб и отражает связи лишь по управлению (что делать в следующий момент, т. е. какому блоку передать управление), а не по информации (где этому блоку брать исходные данные). Например, рис. 2 при сделанной оговорке относительно данных изображает вычисление f 2(f 1(x)) , однако он же мог изображать последовательное вычисление двух независимых функций f1(5) и f2(100), порядок которых несуществен. Блок-схемы не содержат сведений ни о данных, ни о памяти, ни об используемом наборе элементарных шагов. В частности, надо иметь в виду, что если в блок-схеме нет циклов, это еще не значит, что нет циклов в алгоритме (они могут быть в каком-нибудь неэлементарном блоке). По существу блок-схемы − это не язык; а средство, правда, очень удобное, для одной цели — описания детерминизма алгоритма. Оно будет неоднократно использоваться в дальнейшем с одним видоизменением: условия, т.е. точки разветвления, могут быть не только двоичными, но и многозначными; важно лишь, чтобы верным был ровно один из возможных ответов. Примеры таких условий: а) x<0, x=0, x>0; б) x<5, 5<=x<20, x=20, x<20.

. Лекция 11

О подходах к уточнению понятия «алгоритм».Ранее были сформулированы основные требования к алгоритмам. Однако понятия, использованные в формулировках (ясность, четкость, элементарность), сами нуждаются в уточнении. Очевидно, что их словесные определения будут содержать новые понятия, которые потребуют уточнения, и т. д. Поэтому в теории алгоритмов принимается другой подход: выбирается конечный набор исходных объектов, которые объявляются элементарными, и конечный набор способов построения из них новых объектов. Этот подход был использован при обсуждении вопроса о данных: уточнением понятия «данные» в дальнейшем будем считать множества слов в конечных алфавитах. Для уточнения детерминизма будут использоваться либо блок-схемы и эквивалентные им словесные описания, либо описание механизма реализации алгоритма. Кроме того, нужно зафиксировать набор элементарных шагов и договориться об организации памяти. После этого получится конкретная алгоритмическая модель.

Рассматриваемые алгоритмические модели, претендуют на право считаться формализацией понятия «алгоритм». Это значит, что они должны быть универсальными, т.е. допускать описание любых алгоритмов. Может возникнуть естественное возражение против предлагаемого подхода: не

48

Page 49: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

приведет ли выбор конкретных средств к потере общности формализации? Если иметь ввиду основные цели, стоящие при создании теории алгоритмов, - универсальность и связанную с ней возможность говорить в рамках какой-либо модели о свойствах алгоритмов вообще, то это возражение снимается. Во-первых, доказывается сводимость одних моделей к другим, т.е. показывается, что всякий алгоритм, описанный средством одной модели, может быть описан средствами другой. Во-вторых, благодаря взаимной сводимости моделей в теории алгоритмов удалось выработать инвариантную по отношению к моделям систему понятий, позволяющую говорить о свойствах алгоритмов независимо от того, какая формализация алгоритма выбрана. Эта система понятий основана на понятии вычислимой функции, т. е. функции, для вычисления которой существует алгоритм. Общее понятие вычислимости и его свойства будут более подробно рассмотрены.Тем не менее, хотя общность формализации в конкретной модели не теряется, различный выбор исходных средств приводит к моделям разного вида. Можно выделить три основных типа универсальных алгоритмических моделей различающихся исходными эвристическими соображениями относительно того, что такое алгоритм.

I. Первый тип связывает понятие алгоритма с наиболее традиционными понятиями математики — вычислениями и числовыми функциями. Наиболее развитая и изученная модель этого типа рекурсивные функции − является исторически первой формализацией понятия алгоритма.

II. Второй тип основан на представлении об алгоритме как о некотором детерминированном устройстве, способном выполнять в каждый отдельный момент лишь весьма примитивные операции. Такое представление не оставляет сомнений в однозначности алгоритма и элементарности его шагов. Кроме того, эвристика этих моделей близка к ЭВМ и, следовательно, инженерной интуиции. Основной теоретической моделью этого типа (созданной в 30-х годах—раньше ЭВМ!) является машина Тьюринга.

III. Третий тип алгоритмических моделей — это преобразования слов в произвольных алфавитах, в которых элементарными операциями являются подстановки, т. е. замены куска слова (подслова) другим словом. Преимущества этого типа — в его максимальной абстрактности и возможности применить понятие алгоритма к объектам произвольной (не обязательно числовой) природы. Впрочем, как будет ясно из дальнейшего, модели второго и третьего типа довольно близки (их взаимная сводимость доказывается просто) и отличаются в основном эвристическими акцентами. Примеры моделей этого типа — канонические системы Поста и нормальные алгоритмы Маркова.

Лекция 12 .

49

Page 50: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

МАШИНЫ ТЬЮРИНГА

Основные определения.

Определение. Машина Тьюринга состоит: 1) управляющего устройства, которое может находится в одном из состояний, образующих конечное множество Q={q1 ..., qn}; 2) ленты, разбитой на ячейки, в каждой из которых может быть записан один из символов конечного алфавита A={a1, ..., am}; 3) устройства обращения к ленте, считывающей и пишущей головки, которая в каждый момент времени обозревает ячейку ленты, в зависимости от символа в этой ячейке и состояния управляющего устройства, записывает в ячейку символ (быть может, совпадающий с прежним или пустой, т. е. стирает символ), сдвигается на ячейку влево или вправо или остается на месте; при этом управляющее устройство переходит в новое состояние (или остается в старом.

Среди состояний управляющего устройства выделены начальное состояние q1 и заключительное состояние, которое будем обозначать qz (z здесь понимается не как числовая переменная, а как мнемонический знак конца). В начальном состоянии машина находится перед началом работы; по-пав в заключительное состояние, машина останавливается.

Таким образом, память машины Тьюринга − это конечное множество состояний (внутренняя память) и лента (внешняя память). Лента бесконечна в обе стороны, однако в начальный момент времени только конечное число ячеек ленты заполнено непустыми символами, остальные ячейки пусты, т. е. содержат пустой символ λ (пробел). Из характера работы машины следует, что и в любой последующий момент времени лишь конечный отрезок ленты будет заполнен символами. Поэтому важна не фактическая (как говорят в математике, актуальная) бесконечность ленты, а ее неограниченность, т. е. возможность писать на ней сколь угодно длинные, но конечные слова.

Данные машины Тьюринга − это слова в алфавите ленты; на ленте записываются и исходные данные, и окончательные результаты.

Элементарные шаги машины − это считывание и запись символов, сдвиг головки на ячейку влево и вправо, а также переход управляющего устройства в следующее состояние.

Детерминированность машины, т. е. последовательность ее шагов, определяется следующим образом: для любого внутреннего состояния qi и символа аj однозначно заданы: а) следующее состояние q’

i; б) символ а’j

который нужно записать вместо аj в ту же ячейку (стирание символа будем понимать как запись пустого символа λ); в) направление сдвига головки dk, обозначаемое одним из трех символов, L (влево), R (вправо), Е (на месте). Это задание может описываться либо системой правил (команд), имеющих вид:

qi аj → q’i а’

j dk, (1)

50

Page 51: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

либо таблицей, строкам которой соответствуют состояния, столбцам — входные символы, а на пересечении строки qi и столбца аj записана тройка символов q’

i а’j dk и, наконец, блок-схемой, которую будем называть

диаграммой переходов. В диаграмме переходов состояниям соответствуют вершины, а правилу вида (1)—ребро, ведущее из qi в q’

i , на котором написано аj → а’

j dk,. Условие однозначности требует, чтобы для любого j и любого i≠z в системе команд имелась одна команда, аналогичная (1), с левой частью qi аj; состояние qz в левых частях команд не встречается. На диаграмме переходов это выражается условием, что из каждой вершины, кроме qz, выходят ровно т ребер, причем на разных ребрах левые части различны; в вершине qz нет выходящих ребер. В дальнейшем договоримся опускать символы q’

i а’j, если q’

i = qi , а’j = аj .

Полное состояние машины Тьюринга, по которому однозначно можно определить ее дальнейшее поведение, определяется ее внутренним состоянием, состоянием ленты (т. е. словом, записанным на ленте) и положением головки на ленте.

Полное состояние будем называть конфигурацией, или машинным словом, и обозначать тройкой α1qiα2, где qi — текущее внутреннее состояние, α1 — слово слева от головки, а α2—слово, образованное символом, обозре-ваемым головкой, и символами справа от него, причем слева от α1 и справа от α2 нет непустых символов. Например, конфигурация с внутренним состоянием qi, в которой на ленте записано a b c d e, а головка обозревает d, запишется как abcqide.

Стандартной начальной конфигурацией назовем конфигурацию вида q1α, т. е. конфигурацию, содержащую начальное состояние, в которой головка обозревает крайний левый символ слова, написанного на ленте. Ана-логично стандартной заключительной конфигурацией назовем конфигурацию вида qzα. Ко незаключительной конфигурации К машины Т применима ровно одна команда вида (1), которая К переводит в конфигурацию К.'. Это отношение между конфигурациями обозначим К →T

К; если из контекста ясно, о какой машине T идет речь, индекс T будем опускать. Если для К1 и К.n существует последовательность конфигураций К1, К2,..., Кn, такая, что К1 →T К2 →T... →T Кn, обозначим это K1=>T Kn.

Например, если в системе команд машины Т имеются команды q2a5→q3a4R и q3a1L→q4a2, то q2a5a1a2→a4q3a1a2→q4a2q4a4a2a2 и, следовательно q2a5a1a2=>T q4a2q4a4a2a2. Последовательность конфигураций К1→TК2→TК3→T…однозначно определяется исходной конфигурацией К1 и полностью описывает работу машины Т, начиная с К1. Она конечна, если в ней встретится заключительная конфигурация, и бесконечна в противном случае.

Пример 1.

51

Page 52: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

а. Машина с алфавитом A=={1, λ}, состояниями {q1, qz} и системой команд q11→q11R, q1λ→q11R из любой начальной конфигурации будет работать бесконечно, заполняя единицами всю ленту вправо от начальной точки.б. Для любой машины Т, если K1=>T Kl =>T Kj и Ki=Kj, последовательность K1=>Ki=>Kj=>... является бесконечной; ее отрезок K1=>Kj будет повторяться (зациклится).

Если α1q1α2=>β1qzβ2, то будем говорить, что машина T перерабатывает слово α1α2 в слово β1β2, и обозначать это T(α1α2) ==β1β2. Запись T(α) иногда будем употреблять и в другом смысле — просто как обозначение машины Т с исходными значениями α.

Действия машины Тъюринга.Для того чтобы говорить о том, что могут делать машины Тьюринга,

необходимо уточнить, как будет интерпретироваться их поведение, и как будут представляться данные. Исходными данными машины Тьюринга будем считать записанные на ленте слова в алфавите исходных данных Aисх

(Aисх ⊆ A) и векторы из таких слов (словарные векторы над Aисх). Это значит, что для каждой машины будут рассматриваться только те начальные конфигурации, в которых на ленте записаны словарные векторы над Aисх. Запись на ленте словарного вектора (α1..., αk) назовем правильной, если она имеет вид α1λα2λ... αk-1λαk. (при условии, что λ∉ Aисх) либо α1*α2*... αk-1*αk, где * — специальный символ-разделитель, не входящий в Aисх. Для любого вектора Vисх над Aисх машина T либо работает бесконечно, либо перерабатывает его в совокупность слов (разделенных пробелами) в алфавите, который назовем алфавитом результатов и обозначим Aрез; Aисх и Aреэ могут пересекаться и даже совпадать. В ходе работы на ленте могут появляться символы, не входящие в Aисх и Aреэ и образующие промежуточный алфавит Aпр (содержащий, в частности, разделитель). Таким образом, алфавит ленты A == Aисх ∪Aреэ ∪Aпр. В простейшем случае Aисх ==Aрез и A ==Aисх ∪{λ}.

Пусть f — функция, отображающая множество векторов над Aисх в множество векторов над Aрез. Машина T правильно вычисляет функцию f, если: 1) для любых V и W, таких, что f{V) =W, q1V*=>qzW*, где V* и W*, —правильные записи V и W соответственно; 2) для любого V, такого, что f(V) не определена, машина Т, запущенная в стандартной начальной конфигурации q1V*, работает бесконечно. Если для f существует машина Т, которая ее правильно вычисляет, функция f называется правильно вы-числимой по Тьюрингу.

С другой стороны, всякой правильно вычисляющей машине Тьюринга, т. е. машине, которая, начав со стандартной начальной конфигурации q1α, может остановиться только в стандартной заключительной конфигурации qz

β, можно поставить в соответствие вычисляемую ей функцию. Две машины

52

Page 53: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Тьюринга с одинаковым алфавитом Aисх будет называть эквивалентными, если они вычисляют одну и ту же функцию. В частности, машины из примеров 1 a) б) эквивалентны, так как они вычисляют одну и ту же нигде не определенную (пустую) функцию.

Пример 2. Если машина T содержит команды qiаj→q’

iа’jE и q’

iа’j→q”

iа”jdk,

то, заменив эти две команды командой qiаj→ q”iа”

jdk, получим машину Т', эквивалентную T. Путем таких преобразований можно в машине T убрать все команды, содержащие E, для случая, когда q’

i — незаключительное состояние, при этом может сократиться число состояний (некоторые q’

i не войдут в правые части новых команд и станут недостижимыми из q1). Если q’

i

— заключительное состояние, то, введя новое заключительное состояние qn+1

и заменив команду qiаj→q’iа’

jE на m+1 команду qiаj→q’iа’

jR, q’iа1→qn+1а1L,…,

q’iаm→qn+1аmL (m—число букв в A), получим машину, также эквивалентную

Т. Таким образом, для любой машины T существует эквивалентная ей машина, не содержащая в командах Е; поэтому можно рассматривать машины, головки которых на каждом шаге движутся.

Определения, связанные с вычислением функций, заданных на словарных векторах, даны с явным «запасом общности» и имеют в виду переработку нечисловых объектов. В дальнейшем это понадобится; однако в ближайшее время будут рассматриваться числовые функции, точнее, функции, отображающие N в N. Договоримся представлять натуральные числа в единичном (унарном) коде, т.е. для всех числовых функций Aисх == {1} либо Aисх == {1, *} и число х представляется словом 1…1 ==1x, состоящим из х единиц. Таким образом, числовая функция f(x1,...., xn) правильно вычислима по Тьюрингу, если существует машина Т, такая, что q11x1*1x2*…1xn=>T qz1y, когда f(x1,...., xn) =у, и Т работает бесконечно, начиная с q11x1*1x2*…1xn , когда f(x1,...., xn) не определена.

Начав с общих определений абстрактных машин, мы затем ввели при определении вычислений на этих машинах ряд ограничений, связанных с правильной записью, правильным вычислением, представлением чисел в весьма неэкономном единичном коде и т.д. Не теряется ли при этом общность? Действительно, возможны другие определения вычисления: например, можно в заключительной конфигурации допускать символы из промежуточного алфавита Aпр, а результатом считать слово в Арез, которое получится, если символы из Aпр выкинуть и «сдвинуть» оставшиеся куски. В частности, если Aрез= {1}, то результатом будет число, равное числу единиц на ленте в заключительной конфигурации. Оказывается, что потери общности не происходит; в частности, если функция вычислима в последнем смысле, то она правильно вычислима. Не будем заниматься детальным доказательством этого утверждения в общем виде, однако проиллюстрируем его справедливость на примерах (см. далее пример).

53

Page 54: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

. Лекция 13 .

Обычно прилагательное «правильный» будем опускать и говорить просто о функциях, вычислимых по Тьюрингу.

Пример 3. а. Сложение. Во введенном ранее представлении чисел сложить числа а и b − это значит слово 1a * 1b переработать в слово 1a+b, т.е. удалить разделитель* и сдвинуть одно из слагаемых, скажем первое, к другому. Это преобразование осуществляет машина Т+ с четырьмя состояниями и следующей системой команд (первая команда введена для случая, когда а=0 и исходное слово имеет вид *1b):

q1* → qzλR;q11 → q2λR; q21 → q21R; q2* → q31L; q31 → q31R; q3λ → qzλR;

В этой системе команд перечислены не все сочетания состояний машины и символов ленты: опущены те из них, которые при стандартной начальной конфигурации никогда не встретятся. Опускать ненужные команды будем в дальнейшем; в таблицах это будет отмечено прочерками. Диаграмма переходов Т+ приведена на рис. 1; заключительное состояние отмечено двойным кружком.

Рис. 1

б. Копирование (перезапись) слова, т. е. переработка слова α в α*α. Для чисел эту задачу решает машина Ткоп, система команд которой приведена в табл. 1.

Таблица 1

54

q1

q2

q3

qz

*→λR

*→1L

1→λR λ→λR

1→1LL1→1L

Page 55: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

λ →R

q1

q2

q3

qz

q4

* →L0 →1L 1 →R 1 →R *,1 →L

1 →0R *, λ →*R λ →1L

0 →R

1 λ * 0

q1

q2

q3

q4

q20Rq21Rq31Rq41L

qzλRq3*Rq41L

q1*Lq3*R

q4*L

q11L

q10RДиаграмма переходов Tкоп дана на рис. 2. На этой диаграмме (а также

последующих) приняты сокращения:1) если из qi в qj ведут два ребра с одинаковой правой частью, то они объединяются в одно ребро, на котором левые части записаны через запятую; 2) если символ на ленте не изменяется, то он в правой части команды не пи-шется. На петле в q4 использованы одновременно оба сокращения.

Машина Ткоп при каждом проходе исходного числа 1a заменяет левую из его единиц нулем и пишет (в состоянии q3) одну единицу справа от 1a в ближайшую пустую клетку. При первом проходе, кроме того, в состоянии q2

ставится маркер. Таким образом, копия 1a строится за а проходов. После записи очередной единицы машина переходит в состояние q4, которое передвигает головку влево от ближайшего нуля, после чего машина переходит в q1 и цикл повторяется. Он прерывается, когда q1 обнаруживает на ленте не единицу, а маркер. Это значит, что все единицы 1a исчерпаны, т.е. сделано а проходов. Тогда головка возвращается влево в свое исходное положение, заменяя по дороге все нули единицами.

Рис. 2

Операции над машинами Тьюринга.Работа машины Тьюринга полностью определяется исходными дан-

ными и системой команд. Однако для понимания того, как конкретная машина решает данную задачу, как правило, возникает потребность в содержательных пояснениях типа тех, которые приводились для машины Ткоп. Эти пояснения часто можно сделать более формальными и точными,

55

Page 56: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

если использовать блок-схемы и некоторые операции над машинами Тьюринга.

Композицией двух функций f1(x) и f2(x) называется функция g(x)=f2(f1(x)), которая получается при применении f2 к результату вычисления f1. Для того чтобы g{x) была определена при данном х, необходимо и достаточно, чтобы f1

была определена на х и f2 была определена на f1(x).Теорема 1. Если f1(x) и f2(x) вычислимы по Тьюрингу, то их

композиция g(x)=f2(f1(x)), также вычислима по Тьюрингу.Пусть T1 — машина, вычисляющая f1, а T2 — машина, вычисляющая f2 и

множества их состояний соответственно Q1=={q11, …, q1n1} и Q2=={q21, …, q2n1}. Построим диаграмму переходов машины Т из диаграмм Т1 и Т2

следующим образом: отождествим начальную вершину q21 диаграммы машины Т2 с конечной вершиной q1z диаграммы машины Т1 (для систем команд это равносильно тому, что систему команд Т2 приписываем к системе команд Т1 и при этом q1z в командах T1 заменяем на q21). Получим диаграмму с n1+n2 −1 состояниями. Начальным состоянием Т объявим q11, а заключительным − q2z. Для простоты обозначений будем считать f1 и f2

числовыми функциями одной переменной.Пусть f2(f1(x)) определена. Тогда T1(1x) = 1f1(x) и q11⇒T1 q1z 1f1(x). Машина

Т пройдет ту же последовательность конфигураций с той разницей, что вместо q1z 1f1(x) она перейдет в q21 1f1(x). Эта конфигурация является стандартной начальной конфигурацией для машины Т2, поэтому q21 1f1(x) ⇒T2

q2z1f2(f1(x)). Но так как все команды Т2, содержатся в Т, то q111x ⇒T q21 1f1(x) ⇒T

q2z1f2(f1(x)) и, следовательно, T(1x) == 1f2(f1(x)). Если же f2(f1(x)) не определена, то T1 или Т2 не остановится и, следовательно, машина Т не остановится. Итак, машина Т вычисляет f2(f1(x)).

Построенную таким образом машину Т будем называть композицией машин T1 и T2 и обозначать T2(T1), а также изображать блок-схемой (рис. 3).

Рис.3Эта блок-схема имеет более точный смысл, чем изображенная на рис.2 (введение в теорию алгоритмов), так как она всегда предполагает, что исходными данными машины T2 являются результаты T1. При этом они уже «готовы к употреблению», так как благодаря правильной вычислимости (которая существенна при композиции) заключительная конфигурация T1

легко превращается в стандартную начальную конфигурацию Т2.Поскольку машина Тьюринга вектор над Аисх воспринимает как слово в

алфавите Аисх ∪ {*}, определение композиции и теорема 1 остаются в силе, если T1 и Т2 вычисляют функции от нескольких переменных. Важно лишь,

56

T1

T2

Page 57: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

чтобы данные для Т2 были в обусловленном виде подготовлены машиной T1. Это видно на следующем примере.

Пример 4. Машина, диаграмма которой приведена на рис.4, —это машина Т+(Ткоп). Она вычисляет функцию f(х)=2х для х≠0; при этом машина Tкоп строит двухкомпонентный вектор, а Т+ вычисляет функцию от двух переменных.

Для удобства последующих построений установим следующий важный факт. Оказывается, что для вычисления на машине Тьюринга достаточно, чтобы лента была бесконечной только в одну сторону, например вправо. Такая лента называется правой полулентой.

Теорема 2. Любая функция, вычислимая по Тьюрингу, вычислима на машине Тьюринга с правой полулентой; иначе говоря, для любой машины Тьюринга Т существует эквивалентная ей машина ТR с правой полулентой. Аналогичная теорема формулируется для левой полуленты.

Рис.4

Можно предположить, по крайней мере, две идеи построения такой эквивалентной машины: 1) всякий раз, когда головке прежней машины надо зайти за левый край ленты, новая машина предварительно сдвинет все написанное (вместе с головкой) на клетку вправо; б) лента «перегибается пополам»; при этом ячейки правой половины прежней ленты размещаются, скажем, в нечетных ячейках полуленты, а ячейки левой половины − в четных.

. Лекция 14 .

Вычисление предикатов на машинах Тьюринга

57

q11

q12 q

13

q

q14

* →L

0 →1L 1 →R 1 →R *,1 →L

1 →0R *, λ →*R λ →1L

0 →R

q22 q

23 q24

1 →R

* →1L λ → λL

1 →L

1 → λR

λ → R

* →λ R

Page 58: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Рассмотрим теперь вычисление предикатов на машинах Тьюринга. Машина Т вычисляет предикат Р(α) (α—слово в Аисх), если T(α)==ϖ, где ϖ==И, когда Р(α) истинно, и ϖ=Л, когда Р(α) ложно. Если же Р(α) не определен, то машина T, как и при вычислении функций, не останавливается. При обычном вычислении предиката уничтожается α, что может оказаться неудобным, если после Т должна работать другая машина. Поэтому введем понятие вычисления с восстановлением: машина T вычисляет Р(α) с восстановлением, если T(α)==ϖα. Если существует машина T, вычисляющая Р(α), то существует и Т~, вычисляющая Р(α) с восстановлением. Действительно, вычисление с восстановлением можно представить следующей последовательностью конфигураций: q1α⇒qn1α*α⇒α*qn2α⇒α*qn3ϖ⇒qn4ϖα. Первая часть этой последовательности реализуется машиной Tкоп, вторая—простым сдвигом головки до маркера *, третья—машиной TR, вычисляющей Р(α) на правой полуленте (одного копирования мало для восстановления, так как копию может испортить основная машина T; нужна машина, не заходящая влево от α), четвертая —переносом ϖ в крайнее левое положение. Машина T является композицией указанных четырех машин. Однако в конкретных случаях возможны и более простые способы восстановления α.

Пример 5. Машина с диаграммой на рис. 5 вычисляет предикат «α—четное число»; головка достигает конца числа в состоянии q2, если число единиц четно, и в состоянии q3 если число единиц нечетно, после чего она перемещается в исходное положение в состоянии q4 либо q5 и печатает И либо Л соответственно. Для того чтобы этот предикат вычислялся с восстановлением, достаточно в петлях q4 и q5 не стирать, а сохранять единицы, т. е. заменить команды 1→λL на команды 1→L.

58

q3

q5

q1

q2

q6

q4

λ→L

λ→И

λ→Л

1→λL

1→λL

λ→L1→R

1→R 1→R

λ→И

Page 59: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Рис.5

Так как машина Тьюринга с алфавитом Aисх= {И, Л} и командами q1И →qzЛЕ и q1Л→ qzИЕ вычисляет отрицание логической переменной, то из вычислимости всюду определенного Р(α) следует вычислимость Р(α).

Пусть функция f(α) задана описанием: «если Р(α) истинно, то f(α)=g1(α), иначе f(α)=g2(α)» (под «иначе» имеется в виду «если Р(α) ложно»; если же Р(α) не определен, то f(α) также не определена). Функция f(α) называется разветвлением или условным переходом g1(α) и g2(α) по условию Р(α).

Теорема 3. Если g1(α),g2(α) и Р(α) вычислимы по Тьюрингу, то разветвление g1 и g2 no P также вычислимо.

Пусть Т1 — машина с состояниями q11, q12, …, q1n1, и системой команд Σ1, вычисляющая g1; Т2 — машина с состояниями состояниями q21, q22, …, q2n2, и системой команд Σ2, вычисляющая g2; Тр вычисляет с восстановлением Р(α). Тогда машина Т, вычисляющая разветвление g1 и g2 по P, — это компози-ция Тр и машины Тз, система команд Σ3 которой имеет следующий вид:

Σ3 = Σ1 U Σ2 U {q31И→λ q11R, q31Л→λ q21R, q1zИ→q2zE}.Первые две из новых команд передают управление системам команд Σ1

или Σ2 в зависимости от значения предиката Р(α). Третья команда введена для того, чтобы Тз имела одно заключительное состояние q2z. Отсутствие символа ленты в этой команде означает, что она выполняется при любом символе.

Разветвление встречается в структуре диаграмм переходов многих машин Тьюринга.

Пример 6. а. В примере 3, а было описано построение машины Т+ для сложения

двух чисел. На рис. 6 приведена диаграмма машины Т++ для сложения п чисел (п=1, 2...). Цикл из состояний q1, q2, q3 — это «зацикленная» машина Т+, в которой заключительное состояние совмещено с начальным.

59

Page 60: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Рис.6

Сумма, полученная на очередном цикле, является первым слагаемым следующего цикла. Состояние q4 реализует разветвление. В нем проверяется условие — есть ли второе слагаемое. Если да (о чем говорит наличие маркера *), то происходит переход к следующему циклу; если нет (о чем говорит λ после единиц), то машина выходит из цикла.

б. Пусть машина Т с алфавитом АT и с Аисх = {1} не является правильно вычисляющей и ее заключительная конфигурация стандартна, но может содержать любые символы из АT (кроме пробелов), а результат интерпретируется как число, равное числу единиц на ленте. Построим для T машину Т’++, которая работает как Т++, а все символы, кроме 1 и λ, она воспринимает как маркеры, т. е. команды для них − те же, что и для *. Тогда Т’++ соберет все единицы в один массив и, следовательно, Т’++ (Т’++(α)) правильно вычисляет функцию, вычисляемую машиной Т.Пример 6, а иллюстрирует важный частный случай разветвления — выход из цикла по условию, хорошо известный в программировании. В словесных описаниях (см. пример 1) и во многих языках программирования (например, в АЛГОЛе) этот случай формулируется так: повторять вычисление f1 до тех пор, пока истинно условие P; если Р ложно, перейти к вычислению f2. Благодаря вычислимости композиции и разветвления словесные описания и язык блок-схем можно сделать вполне точным языком для описания работы машин Тьюринга. Каждый блок — это множество состояний, в котором выделены начальное и заключительное состояния, и система команд. Правильное вычисление для промежуточных блоков не обязательно, поэтому при стыковке блоков важно согласовывать всю конфигурацию. Переход к блоку — это обязательно переход в его начальное состояние. Машина Тьюринга, описываемая блок-схемой, — это объединение состояний и команд, содержащихся во всех блоках. В частности, блоком может быть одно состояние. Блоки, вычисляющие предикаты, обозначим буквой Р.

Пример 7. На рис. 7 приведена блок-схема машины Тьюринга T×, осуществляющей умножение двух чисел:T×(1a * 1b) = 1ab. Ее заключительное состояние – q03. Блоки реализуют следующие указания и вычисления:P1 — вычислить с восстановлением предикат «оба слагаемых больше нуля»;

T1 — стереть все непустые символы справа; Т2 — установить головку у ячейки, следующей за маркером *; маркер * заменить на ~;

60

Page 61: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Ткоп—см. пример 4,б, в котором команду q1λ → qzR, надо заменить на команду q1 ~→ qzR;

Рис. 7

Ткоп(а—1) раз копирует 1b; после i-го цикла она останавливается в конфигурации 1(a-i-1) (~1b)i-1~q1b * 1b;Тз — вернуть головку к крайнему слева непустому символу. После (а-1)-го цикла этим символом окажется ~(или *, если а=1), и происходит выход из цикла и переход к Т~++.

T~++работает как T++ (см. пример 6, а) с той разницей, что числа, которые она суммирует, разделены двумя видами маркеров: ~ и *; для этой цели в нее к командам с маркером * в левой части добавлены такие же команды для маркера ~.

Аналогично тому, как из машины Т+ была построена T++, можно из T×

построить машину T××, которая перемножает несколько чисел, и по схеме, аналогичной приведенной на рис. 7, с использованием T~×× вместо T~++ по-строить машину, осуществляющую возведение в степень. Другой важный пример, который читатель может либо построить, либо найти перевод унарного представления чисел в позиционное — двоичное или десятичное.

Универсальная машина ТьюрингаПостроение универсальной машины UОтметим, что при построении U (как, впрочем, и для многих других машин, описанных в этом параграфе) мы не преследовали целей оптимизации и не жалели ни символов ленты, ни состояний, стремясь к наглядности построения. Нетрудно показать, - а инженер-дискретчик, привыкший к двоичному кодированию, легко в это поверит - что можно построить машину U всего с двумя символами на ленте. Шеннон установил менее очевидный факт — он построил универсальную машину с двумя состояниями. !В тоже время показано (Боброу и Минский), что универсальная машина с двумя состояниями и двумя символами невозможна. Вообще в определенных пределах уменьшение числа символов U ведет к увеличению числа состояний, и наоборот, Подробная сводка результатов о минимальных универсальных машинах приведена в [Минский М. Вычисления и автоматы. М.: Мир, 1971].

61

Page 62: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Существование универсальной машины Тьюринга означает, что систему команд ΣT

любой машины Т можно интерпретировать двояким образом: либо как описание работы конкретного устройства машины Т, либо как программу для универсальной машины U. Для современного инженера, проектирующего систему управления, это обстоятельство вполне естественно. Он хорошо знает, что любой алгоритм управления может быть реализован либо аппаратурно − построением соответствующей схемы, либо программно − написанием программы для универсальной управляющей ЭВМ. Однако важно сознавать, что сама идея универсального алгоритмического устройства совершенно не связана с развитием современных технических средств его реализации (электроники, физики твердого тела и т. д.) и является не техническим, а математическим фактом, описываемым в абстрактных математических терминах, не зависящих от технических средств, и к тому же опирающимся на крайне малое количество весьма элементарных исходных понятий. Основополагающие работы по теории алгоритмов (и, в частности, работы Тьюринга) появились в 30-х годах, до создания современных ЭВМ.Указанная двоякая интерпретация сохраняет на абстрактном уровне основные плюсы и минусы двух вариантов инженерной реализации. Конкретная машина Т работает гораздо быстрее; кроме того, управляющее устройство машины U довольно громоздко (т.е. велико число состояний и команд). Однако его сложность постоянна, и, будучи раз построено, оно годится для реализации сколь угодно больших алгоритмов, понадобится лишь больший объем ленты, которую естественно считать более дешевой и более просто устроенной, чем управляющее устройство. Кроме того, при смене алгоритма не понадобится строить новых устройств; нужно лишь написать новую программу.

Тезис Тьюринга.

До сих пор нам удавалось для всех процедур, претендующих на алгоритмичность, т. е. конструктивных процедур, строить реализующие их машины Тьюринга. Будет ли это удаваться всегда? Утвердительный ответ на этот вопрос содержится в тезисе Тьюринга, который формулируется так: «Всякий алгоритм может быть реализован машиной Тьюринга».Доказать тезис Тьюринга нельзя, поскольку само понятие алгоритма (или эффективной процедуры) является неточным. Это не теорема и не постулат математической теории, а утверждение, которое связывает теорию с теми объектами, для описания которых она создана. По своему характеру тезис Тьюринга напоминает гипотезы физики об адекватности математических моделей физическим явлениям и процессам. Подтверждением тезиса Тьюринга является, во-первых, математическая практика, а во-вторых, то обстоятельство (уже отмечавшееся в конце §1), что описание алгоритма в терминах любой другой известной алгоритмической модели может быть сведено к его описанию в виде машины Тьюринга.

Тезис Тьюринга позволяет, с одной стороны, заменить неточные утверждения о существовании эффективных процедур (алгоритмов) точными утверждениями о существовании машин Тьюринга, а с другой стороны, утверждения о несуществовании машин Тьюринга истолковывать как ут-

62

Page 63: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

верждения о несуществовании алгоритмов вообще. Однако не следует понимать тезис Тьюринга в том смысле, что вся теория алгоритмов может быть сведена к теории машин Тьюринга. Например, в быстро развивающейся сейчас теории сложности алгоритмов (которая рассматривает сравнительную сложность алгоритмов по памяти, числу действий и т. д.) результаты, верные в рамках одной алгоритмической модели (скажем, о числе действий, необходимых для вычисления данной функции), могут оказаться неверными в другой модели.

Проблема остановки.В числе общих требований, предъявляемых к алгоритмам (см. §1),

упоминалось требование результативности. Наиболее радикальной формулировкой здесь было бы требование, чтобы по любому алгоритму А и данным α можно было определить, приведет ли работа А при исходных данных α к результату или нет. Иначе говоря, нужно построить алгоритм В, такой, что В(А, α) =И, если А (α) дает результат, и В(А, α)=Л, если А(α) не дает результата. В силу тезиса Тьюринга эту задачу можно сформулировать как задачу о построении машины Тьюринга; построить машину Т0, такую, что для любой машины Тьюринга Т и любых исходных данных α для машины Т Т0(ΣT, α)==И, если машина Т(α) останавливается, и Т0(ΣT, α) ==Л, если машина Т(α) не останавливается.Эта задача называется проблемой остановки. Ее формулировка несколько напоминает задачу о построении универсальной машины и, в частности, также предполагает выбор подходящего кодирования ΣT и α в алфавите машины Т0. Однако в данном случае никакое кодирование не приводит к успеху.

Теорема (проблема остановки) Не существует машины Тьюринга Т0, ре-шающей проблему остановки для произвольной машины Тьюринга Т.

Предположим, что машина Т0 существует. Для определенности будем считать, что маркером между ΣT и α на ленте машины Т0 служит *. Построим машину Т1(ΣT)=Т0 (Ткоп(Σт)). Исходными данными машины Т1 являются системы команд (точнее, их коды) любой машины Т. Запись ΣT на ленте машина Т1 преобразует в ΣT*ΣT (машина Ткоп для чисел описана в примере 4, б), а затем работает как машина Т0. Таким образом, Т1 также решает про-блему остановки для любой машины Т, но только в том случае, когда на ленте Т в качестве данных αT написана ее собственная система команд ΣT. Иначе говоря, Т1(ΣT)=И, если машина Т(ΣT) останавливается, и Т1(ΣT)=Л, если машина Т(ΣT) не останавливается. Пусть q1n — заключительное состояние Т1. Добавим к системе команд Т1 одно состояние q1,n+1, объявив его

63

Page 64: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

заключительным, и m команд (т—число символов Т1) q1nЛ → q1,n+1E, q1naj → q1,nR для любого аj, (в том числе И), кроме Л. Получим машину T1

’(ΣT), которая останавливается, если Т не останавливается, и не останавливается, если Т останавливается. Запишем теперь на ленте машины T1

’ ее собственную систему команд ΣT’1. Тогда T1

’ остановится, если она не останавливается, и не остановится, если она останавливается. Очевидно, такая машина T1

невозможна. Но поскольку она получена из Т0 вполне конструктивными, не вызывающими сомнений средствами и при этом никак не связана с кон-кретной структурой машины Т0, остается заключить, что никакая машина Т0, решающая проблему остановки, невозможна.

В силу тезиса Тьюринга невозможность построения машины Тьюринга означает отсутствие алгоритма решения данной проблемы. Поэтому полученная теорема дает первый пример алгоритмически неразрешимой проблемы, а именно, алгоритмически неразрешимой оказывается проблема остановки для машин Тьюринга, т. е. проблема определения результативности алгоритмов.

При истолковании утверждений, связанных с алгоритмической неразрешимостью, следует иметь в виду следующее важное обстоятельство. В таких утверждениях речь идет об отсутствии единого алгоритма, решающего данную проблему; при этом вовсе не исключается возможность решения этой проблемы в частных случаях, но различными средствами для каждого случая. В частности, теорема (проблема остановки) не исключает того, что для отдельных классов машин Тьюринга проблема остановки может быть решена'. Например, она решается для всех машин, приведенных в примерах 2 - 8. Поэтому неразрешимость общей проблемы остановки вовсе не снимает необходимости доказывать сходимость предлагаемых алгоритмов, а лишь показывает, что поиск таких доказательств нельзя полностью автоматизировать.

Неразрешимость проблемы остановки можно интерпретировать как несуществование общего алгоритма для отладки программ, точнее, алгоритма, который по тексту любой программы и данным для нее определял бы, зациклится ли программа на этих данных или нет. Если учесть сделанное ранее замечание, такая интерпретация не противоречит тому эмпирическому факту, что большинство программ, в конце концов, удается отладить, т. е. установить наличие зацикливания, найти его причину и устранить ее. При этом решающую роль играют опыт и искусство про-граммиста.

. Лекция 15 .

РЕКУРСИВНЫЕ ФУНКЦИИ

64

Page 65: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Всякий алгоритм однозначно ставит в соответствие исходным данным (в случае, если он определен на них) результат. Поэтому с каждым алгоритмом однозначно связана функция, которую он вычисляет. Верно ли обратное: для всякой ли функции существует вычисляющий ее алгоритм? Исследование проблемы остановки для машин Тьюринга показывает, что нет: для предиката Р(Т, α), истинного, если и только если машина Тьюринга Т останавливается при исходных данных α, алгоритма его вычисления не существует. Возникает вопрос: для каких функций алгоритмы существуют? Как описать такие алгоритмические, эффективно вычислимые функции?Исследование этих вопросов привело к созданию в 30-х годах нашего века теории рекурсивных функций. В этой теории, как и вообще в теории алгоритмов, принят конструктивный, финитный подход, основной чертой которого является то, что все множество исследуемых объектов (в данном случае функций) строится из конечного числа исходных объектов базиса − с помощью простых операций, эффективная выполнимость которых достаточно очевидна. Операции над функциями в дальнейшем будем называть операторами.

Примитивно-рекурсивные функции. Определение и примеры. Займемся теперь конкретным выбором средств, с помощью которых будут строиться вычислимые функции. Очевидно, что к вычислимым функциям следует отнести все константы, т. е. 0 и все натуральные числа 1, 2... Однако в прямом включении бесконечного множества констант в базис нет необходимости. Опр. 1. Достаточно одной константы 0 и функции следования f(x)=x+l, которую иногда обозначают х', чтобы получить весь натуральный ряд. Опр. 2. Кроме того, в базис включим семейство {In

m} функций тождества (или введения фиктивных переменных): In

m(x1,… xn) = xm (m ≤ n).

Весьма мощным средством получения новых функций из уже имеющихся является суперпозиция, знакомая нам. Cуперпозицией называлась любая под-становка функций в функции. Здесь ей для большей обозримости удобно придать стандартный вид.

Опр. 3. Оператором суперпозиции Snm называется подстановка в функцию от

m переменных m функций от п одних и тех же переменных. Она дает новую функцию от п переменных. Например, для h(x1,… xm), g1(x1,… xn), …, gm(x1,… xn)

Snm(h, g1,… gm) = h(g1(x1,… xn), …, gm(x1,… xn)) = f(x1,… xn).

Это определение порождает семейство операторов суперпозиции {Snm}.

Благодаря функциям тождества стандартизация суперпозиции не уменьшает ее возможностей: любую подстановку функций в функции можно выразить через Sn

m и Inm.

65

Page 66: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Например, f(x1,x2) = h(g1(x1,x2), g2(x1)) в стандартном виде запишется как f(x1,x2) = S2

2 (h(x1,x2), g1(x1,x2), S12(I2

1(x1,x2)), g2(x1), g3(x1)), где g3 — любая фyнкция от x1. В свою очередь, используя подстановку и функции тождества, можно переставлять и отождествлять аргументы в функции:

f(x2, x1, x3, …, xn ) = f(I22(x1,x2), I2

1(x1,x2), x3, …, xn);f(x1, x1, x3, …, xn) = f(I2

1(x1,x2), I21(x1,x2), x3, …, xn).

Таким образом, если заданы функции Inm и операторы Sn

m, то можно считать заданными всевозможные операторы подстановки функций в функции, а также переименования, перестановки и отождествления переменных.

Еще одно семейство операторов, которое здесь понадобится, − это операторы примитивной рекурсии.

Опр. 4. Оператор примитивной рекурсии Rn определяет (n+1)-местную функцию f через n-местную функцию g и (n+2)-местную функцию h следующим образом:

f(x1, …, xn, 0) = g(x1, …, xn); f(x1, …, xn, y +1) = h(x1, …, xn, y, f(x1, …, xn, y)). (1)

Пара равенств (1) называется схемой примитивной рекурсии. Тот факт, что функция f определена схемой (1), выражается равенством f(x1, …, xn, y) = Rn(g, h). В случае, когда n=0, т. е. определяемая функция f является одно-местной, схема (1) принимает более простой вид:

f(0) = c; f(y +1) = h(y, f( y)). (2)где с — константа.

Схемы (1) и (2) определяют f рекурсивно не только через другие функции g и h, но и через значения f в предшествующих точках: значение f в точке у+1 зависит от значения f в точке у. Для вычисления f(x1, …, xn, k) понадо-бится k+1 вычислений по схеме (1) - для y=0,1,...,k.

Пример такого определения функции приводился для функции п!; здесь оно будет рассмотрено более подробно. Существенным в операторе примитивной рекурсии является то, что независимо от числа переменных в f рекурсия ведется только по одной переменной у; остальные п переменных x1, …, xn на момент применения схем (1), (2) зафиксированы и играют роль параметров.

Опр. 5. Функция называется примитивно-рекурсивной, если она может быть получена из константы 0, функции х' и функций In

m с помощью конечного числа применений операторов суперпозиции и примитивной рекурсии. Этому определению можно придать более формальный индуктивный вид.

1. Функции 0, х' и Inm для всех натуральных п,m, где m≤n, являются

примитивно-рекурсивными.

66

Page 67: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

2. Если h(x1,… xm), g1(x1,… xn), …, gm(x1,… xn) - примитивно-рекурсивные функции, то Sn

m(h, g1,… gm) - примитивно-рекурсивные функции для любых натуральных п, т.

3. Если g1(x1,… xn) и h(x1,… xn, y, z) — примитивно-рекурсивные функции, то

Rn(g, h) - примитивно-рекурсивная функция.4. Других примитивно-рекурсивных функции нет. Из такого

индуктивного описания нетрудно извлечь процедуру, порождающую все примитивно-рекурсивные функции.

Пример 1. (сложение, умножение, возведение в степень).1. Сложение f+(x, y)=x+y примитивно-рекурсивно:

f+(x, 0) = x = I11(x);

f+(x, y+1) = f+(x, y) +1 = (f+(x, y))'.Таким образом, f+(x, y) = R1(I1

1(x), h(x, y, z)), где h(x, y, z) = z’ = z +1.2. Умножение f×(x, y)=xy примитивно-рекурсивно:

f×(x, 0)=0;f×(x, y+1)= f×(x, y) + x= f+( x, f×(x, y)) .

3. Возведение в степень fexp(x, у) = хy примитивно-рекурсивно:fexp(x, 0) = 1;fexp(x, у+1) = хy x = f×(x, fexp(x, у)).

Определим функцию х ÷ у (арифметическое или урезанное вычитание) следующим образом:

Пример 2. (вычитание). Примитивно-рекурсивными являются следующие функции:

1) f(x)=x÷1, определяемая схемой:f(0)=0÷1=0;

f(y+1)=y; 2) f (х, у) = х ÷ у, определяемая схемой:

f(x,0)=x;f(x,y+1)= x÷ (y+1)=(x÷y) ÷l=f(x, у) ÷1

(для определения функции из п.2 использована функция из п.1);

3) f(x, y)=|х-у|=(х÷у)+(у÷х);4) функция знака (сигнум)

0, если x=0;

67

Page 68: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

sg(x)= 1, если x≠0;ее схема имеет вид:

sg(0)= 0;sg(x+1)=1;

5) min(х, у)=х÷ (х÷у);6) mах(х, у)=у+(х÷у).

С помощью функции sg (сигнум) из примера 2 и ее отрицания sg(x) = l ÷ sg(x) построим примитивно-рекурсивное описание функций, связанных с делением.

Пример 3. (деление)а. Функция r(х, у) - остаток от деления у на х:

r(х, 0) = 0; r(х, у+1) = (r(х, у) +1) sg(|x – (r(х, у) +1)|).

Смысл второй строки определения в следующем: если у+1 не делится на х, то sg(|x ÷ (r(х, у) +1)|) =1 и r(х, у+1) = r(х, у)+1; если же у+1 делится на х, то r(х, у+1) = sg(|x – (r(х, у) +1)|)=0.

б. Функция q(х, у)= [у/х] — частное от деления у на х, т, е. целая часть дроби у/х:

q(x,0)=0;q(x, y+l)=q(x, y)+ sg(|x – (r(х, у) +1)|).

Второе слагаемое, как и в случае r(х, у), зависит от делимости у+1 на х. Если у+1 делится на х, то q(x, y+1) на единицу больше, чем q(x, у); если нет, то q(x,y+1) =q(x,y).

В рекурсивных описаниях функций примера 3 отчетливо видны логические действия: проверка условия (делимости у+1 на х) и выбор дальнейшего хода вычислений в зависимости от истинности условия. Займемся теперь более подробным выяснением того, какие возможности для логических операций имеются в рамках примитивно-рекурсивных функций.

Из функций примера 2 легко получается примитивная рекурсивность «арифметизованных» логических функций, т. е. числовых функций, которые на множестве {0,1} ведут себя как логические функции. Действительно, если х, у ∈{0, 1}, то

x =1÷x;x ∨ y = max(x,y); x & y = min(x,y).

68

Page 69: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Из функциональной полноты (см. §) этого множества функций и того, что суперпозиция является примитивно-рекурсивным оператором (см. далее), следует примитивная рекурсивность всех логических функций.

Отношение R(x1, ..., xn) называется примитивно-рекурсивным, если примитивно-рекурсивна его характеристическая функция χR:

1, если R(x1, ..., xn) выполняется;χR(x1, ..., xn) = 0 в противном случае.

Ввиду взаимно однозначного соответствия между отношениями и предикатами χR будет характеристической функцией и для соответствующего предиката.Напомним, что сам предикат принимает логические значения «И» и «Л», с которыми нельзя производить арифметических действий, даже когда эти значения изображаются числами 0 и 1 (см. § ). Поэтому следует проводить различие между предикатами и их характеристическими функциями. В алгоритмических языках типа АЛГОЛ предикат будет принимать значения true и false, а его характеристическая функция − значения 0 и 1. Опр.5. Предикат называется примитивно-рекурсивным, если его характеристическая функция примитивно-рекурсивна. В силу соотношений (3), если предикаты Р1 .., Pk примитивно-рекурсивны, то и любой предикат, полученный из них с помощью логических операций, примитивно-рекурсивен.

Пример 4. (предикаты и отношения) а. Предикат Pdn(x) «х делится на n» примитивно-рекурсивен для любого n:

χPdn(x) = sg(r(n,x)).

б. Предикат Pdn,m(x) «х делится на m и на n» примитивно-рекурсивен для любых т, п, так как Pn,m(x) = Pm(x) & Pn(x).

в. Отношение х1> х2 примитивно-рекурсивно:

χ>( х1, х2) = sg(х1÷ х2).

г. Если f(x) и g(x) примитивно-рекурсивны, то предикат «f(x)=g(x)» примитивно-рекурсивен, так как его функция χ имеет вид:

χ(x) = sg(|f(x) - g(x)|).

69

Page 70: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Лекция 16 .

Примитивно-рекурсивные операторы.Оператор называется примитивно-рекурсивным (сокращенно ПР-

оператором), если он сохраняет примитивную рекурсивность функций, т. е., если результат его применения к примитивно-рекурсивным функциям дает снова примитивно-рекурсивную функцию. Операторы Sn

m и Rn являются ПР-операторами по определению. Рассмотрим другие ПР-операторы. Их использование позволяет существенно сократить примитивно-рекурсивные описания функций.

Мы встречались с оператором условного перехода (обозначим его здесь В), который по функциям g1(x1, ... xn ), g2(x1, ... xn ) и предикату P(x1,... xn) строит функцию f(x1, ..., xn ) = В (g1, g2,,Р):

g1(x1, ..., xn ), if P(x1, ..., xn ) истинно;f(x1,...,xn) = (1) g2(x1, ..., xn ), if P(x1, ..., xn ) ложно.

Теорема 1. В вычислим по Тьюрингу. Примитивная рекурсивность В видна из следующего соотношения,

эквивалентного (1):f(x1, ..., xn ) = g1(x1, ..., xn )χP(x1, ..., xn )+ g2(x1, ..., xn )χ|P(x1, ..., xn )Обобщение оператора В на случай многозначного перехода по

предикатам P1,…,Рk, из которых истинен всегда один и только один предикат: f(x1, ..., xn) = B(g1, ...,gk P1,…,Рk), также примитивно-рекурсивно, поскольку

f(x1, ..., xn) = g1χP1+ ...+gkχPk

(отметим, что это соотношение определяет В и в том случае, когда ни один из P1,…,Рk не истинен: В при этом равно нулю).

С помощью оператора В удобно задавать функции, определенные на конечных множествах. Правда, В, как и любой другой ПР-оператор, всегда определяет функцию на всем натуральном ряде, т. е. производит доопределение функции вне области задания. Например, функцию f, опре-деленную на множестве {1, 2, 6, 17} равенствами f(1)=5, f(2)=1, f(6)==0, f(17) =8, с помощью оператора В можно описать так:

5, if x=1; f(x ) = 1, if x=2; | 0, if x=6; 8, в остальных случаях.

70

Page 71: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Такое описание полагает f(x)=8 вне исходной области задания.Пусть f(x1, ..., xn, y)—функция от (n+1)-й переменной. Хорошо

известные операции суммирования Σy<z и перемножения Пy<z по переменной у с пределом z — это операторы, которые из функции f(x1, ..., xn, y) порождают новые функции g(x1, ..., xn, z)= Σy<zf(x1, ..., xn, y) и h(x1, ..., xn, z)= Пy<zf(x1, ..., xn, y). Покажем их примитивную рекурсивность:

g(x1, ..., xn, 0)=0 (по определению);g(x1, ..., xn, z+1) = g(x1, ..., xn, z) + f(x1, ..., xn, z);h(x1, ..., xn, 0)=1;h(x1, ..., xn, z+1) = h(x1, ..., xn, z) f(x1, ..., xn, z).Таким образом, g и h могут быть определены по схеме "примитивной

рекурсии с использованием сложения и умножения, примитивная рекурсивность которых доказана, а также функции f. Следовательно, g и h примитивно-рекурсивны, если f примитивно-рекурсивна.

С помощью Σy<z и Пy<z нетрудно показать, что операторы Σzy=k и Пz

y=k и (т. е. суммирование и умножение от k до z) — так же ПР-операторы.

Рассмотрим теперь оператор, играющий важную роль в теории рекурсивных функций, — ограниченный оператор наименьшего числа (µ-оператор), называемый также ограниченным оператором минимизации, который применяется к предикатам и определяется как:

наименьшему y<=z, такому, чтоP(x1, ...,xn, y)=И,µ yy<=z P(x1, ..., xn y ) = если такой y существует; z в противном случае.Из предиката P(x1, ..., xn y ) с помощью оператора µyy<=z получается

функция f(x1, ..., xn, z). Второй случай в определении µ добавлен для того, чтобы f была всюду определена.

Пример 1. Пусть P(x1,x2, y)=Pdx1,x2(у) (пример). Тогда µ yy<=z P(x1,x2, y) равен наименьшему общему кратному (НОК) x1 и x2, если z>=НОК, и равен z, если z<= НОК.

Ограниченный µ-оператор примитивно-рекурсивен:µ yy<=z P(x1, ..., xn y ) = Σz

i=0 Пij=0(1- χP(x1, ..., xn,, j)).

Ограничение z в ограниченном µ-операторе дает гарантию окончания вычислений, поскольку оно оценивает сверху число вычислений предиката Р. Возможность оценить сверху количество вычислений является существенной особенностью примитивно-рекурсивных функций. Уже отмечалось, что если f(x1,..., xn, k) = Rn(g, h), то для вычисления f(x1,..., xn, k) понадобится k+ 1 вычислений по схеме (?5.2); одно вычисление g и k вы-числений h. Правда, каждое из них может, в свою очередь, состоять из некоторого количества вычислений функций, входящих в определение g и h;

71

Page 72: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

но в силу конечности общего числа операторов Snm и Rn, использованных для

построения f из базисных функций 0, х,' и 1nm, для любого k можно оценить

количество элементарных действий (т. е. вычислений базисных функций), необходимых для вычисления f(x1,..., xn, k). В дальнейшем будет показано, что неограниченный µ-оператор не является примитивно-рекурсивным.

µ-оператор (как ограниченный, так и неограниченный) является удобным средством для построения обратных функций. Действительно, функция g(x)= µ y(f{y)=x) («наименьший у, такой, что f(y)=x») является обратной к функции f(x). Поэтому в применении к одноместным функциям µ-оператор иногда называют оператором обращения.

Пример 2. а. С помощью ограниченного µ-оператора определим деление, точнее

функцию [z/x] (частное от деления z на x;—см. пример), как функцию, обратную умножению:

[z/x]= µ yy<=z (x(y+1)>z).Целая часть от деления — функция, «не совсем обратная» умножению;

точнее, обратная ему только в тех точках, где z делится нацело на х. Поэтому в ее описании используется не предикат равенства (как в определении обратной функции), а предикат >.

б. Целая часть √х — функция [√х]— примитивно-рекурсивная, так как[√х]= µ yy<=x ((y+1)2>x).

в. [logk x] = µ yy<=x ((ky+1>x), следовательно, целая часть логарифма по любому целому основанию k примитивно-рекурсивна.

Еще один ПР-оператор — это оператор совместной или одновременной рекурсии, точнее, целое семейство операторов {Rnk}. С помощью Rnk строится рекурсивное описание сразу нескольких функций f1, ..., fk от (n+1)-й переменной, причем значение каждой функции у+ 1 зависит от значения всех функций в точке у:

f1(x1, …, xn, 0) = g1(x1, …, xn); ……………………………… fk(x1, …, xn, 0) = gk(x1, …, xn); f1(x1, …, xn, y+1) = h1(x1, …, xn, y, f1(x1, …, xn, y), …, fk(x1, …, xn,y)); …………………………………… fk(x1, …, xn, y+1) = hk(x1, …, xn, y, f1(x1, …, xn, y), …, fk(x1, …, xn,y)).

По существу совместная рекурсия дает рекурсивное описание функции-вектора (f1, ...,fk). Для того чтобы доказать примитивную рекурсивность совместной рекурсии, нужно закодировать этот вектор числом, причем так, чтобы существовала однозначная и примитивно-

72

Page 73: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

рекурсивная расшифровка этого кода (т. е. извлечение нужного разряда вектора). В качестве такого кода можно предложить число

ϕ(x1, …, xn, y) = 2f1(x1, …, xn, y)•3f2•5f3• … •pk-1fk(x1, …, xn, y),

где pi – i-e простое число (2 считается 0-м простым числом). Про-демонстрируем эту идею на примере оператора R12.

Пусть f1(x, у), f2 (x, у) заданы совместной рекурсией:f1(x, 0)= g1(x);f2(x, 0)= g2(x);f1(x, y+1)= h1(x, y, f1(x, y), f2(x,y));f2(x, y+1)= h2(x, y, f1(x, y), f2(x,y)).Определим кодирующую функцию F: F(x,0) = 2g1(x) •3g2(x);F(x,y+1) = 2h1(x, y, f1(x,y),f2(x,y)) •3h2(x, y, f1(x,y), f2(x,y)).

Тогда f1(x, у)= µ zz<=F(x, y)(¬Pd.2z+1(F(x, у)) т. е. равна показателю при 2 в

разложении F(x, у) на простые множители; f2(x, y)= µ zz<=F(x, y)(Pd.3z+1(F(x, у)),

т.е. равна показателю при 3 в разложении F(x, у) на простые множители. (Определение предиката Pd см. в примере _).

Следует иметь в виду, что такая кодировка вовсе не предлагается в качестве метода рекурсивного вычисления функций-векторов. Наоборот, предлагается прямой и более простой метод совместной рекурсии, а кодировка является лишь доказательством того, что этот метод относится к числу примитивно-рекурсивных средств вычисления.

Можно предложить полезную схемную интерпретацию примитивной рекурсии вообще и совместной рекурсии в частности. На рис. 1, и изображена схема, состоящая из устройства, вычисляющего за один такт функцию h от двух переменных, и элемента задержки на один такт; по каналам схемы могут передаваться натуральные числа. Время t будем считать дискретным: t=0, I, 2... Схема имеет один вход х и выход f. Однако выход f зависит не только от значения х, но и от момента t, в который он рассматривается, т. е. представляет собой некоторую функцию f(x, t). Рассмотрим эту зависимость подробнее. Будем считать значение х на все время рассмотрения, начиная с t=0, произвольным, но фиксированным. В начальный момент t=0 значение второго входа h является константой с, зависящей от начального состояния схемы: f(x, 0)=h(x, c)=g(x). В момент t=1 f(x, l)=h(x, f(x, 0)); в общем случае f(x, t+l)=h(x, f(x, t)). Таким образом, схема рис. 1,а реализует примитивную рекурсию по переменной t, т.е. по времени. Нетрудно убедиться, например, что если h выполняет умножение, а с=1, то f(x, t)=xt+1, При аналогичной интерпретации (с начальными константами c1, с2;) схема на рис.1 реализует схему совместной рекурсии, причем рекурсия также ведется по времени, общему для устройств h1 и h2. Доказательство

73

Page 74: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

того, что совместная рекурсия − это ПР-оператор, в терминах таких схем означает, что перекрестные обратные связи на рис.1 можно заменить простыми контурами

Рис. 1обратной связи на рис. 1,б можно заменить простыми контурами обратной связи типа приведенных на рис. 1, а. Структура схемы при этом станет проще, однако понадобятся дополнительные вычислительные устройства, формирователь числового кода вектора (fi, f2), передаваемого по одному каналу, и декодирующее устройство с двумя выходами fi и f2.

Описанная схемная интерпретация примитивно-рекурсивных функций проходит при одном предположении, что за один такт любой канал схемы способен передать, а вычислительное устройство — воспринять и переработать любое, сколь угодно большое натуральное число. Такое предположение физически нереализуемо, поэтому теория таких схем не будет представлять самостоятельного интереса. Если же наложить ограничения на возможности каналов и элементов схем, то это приведет к теории конечных автоматов и схем из автоматов.

Подведем некоторые итоги. Из простейших функций − константы 0, функции х+1 и функций

тождества Inm − с помощью операторов суперпозиции и примитивной

рекурсии было получено огромное разнообразие функций, включающих основные функции арифметики, алгебры и анализа (с поправкой на целочисленность). Тем самым выяснено, что эти функции имеют примитивно-рекурсивное описание, которое однозначно определяет процедуру их вычисления; следовательно, их естественно отнести к классу вычислимых функций.

Сделаем два замечания. Во-первых, все примитивно-рекурсивные функции всюду определены.

Это следует из того, что простейшие функции всюду определены, а операторы Sn

m и Rn это свойство сохраняют. Во-вторых, строго говоря, мы имеем дело не с функциями, а с их

примитивно-рекурсивными описаниями. Различие здесь имеет тот же смысл, что и отмечавшееся неоднократно в гл. 3 различие между функциями и их

74

Page 75: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

представлениями в виде формул. Примитивно-рекурсивные описания также можно разбить на классы эквивалентности, отнеся в один класс все описания, задающие одну и ту же функцию.

Однако задача распознавания эквивалентности примитивно-рекурсивных описаний, как будет показано, алгоритмически неразрешима.

Лекция 17 .

Функции Аккермана. Пора уже задать вопрос: все ли функции яв-ляются примитивно-рекурсивными? Простые теоретико-множественные соображения показывают, что нет. Было показано, что множество всех функций типа N→ N (т. е. одноместных целочисленных функций) несчетно, тем более это верно для функций типа Nn → N. Каждая примитивно-рекурсивная функция имеет конечное описание, т. е. задается конечным словом в некотором (фиксированном для всех функций) алфавите. Множество всех конечных слов счетно, поэтому примитивно-рекурсивные функции образуют не более чем счетное подмножество несчетного множества функций типа Nn → N. В действительности рассматривается более узкий вопрос: все ли вычислимые функции можно описать как примитивно-рекурсивные? Чтобы показать, что ответ на этот вопрос также является отрицательным, построим пример вычислимой функции, не являющейся примитивно-рекурсивной. Идея примера в том, чтобы, построив последовательность функций, каждая из которых растет существенно быстрее предыдущей, сконструировать с ее помощью функцию, которая растет быстрее любой примитивно-рекурсивной функции.

Начнем с построения последовательности функций ϕ0, ϕ1, ϕ2. Положим ϕ0(а, у)=а+у; ϕ1(a, y)=ay, ϕ2(а, y)=ay. Эти функции связаны между собой следующими рекурсивными соотношениями:

ϕ1(a, y+1) = a+ay = ϕ0(a, ϕ1(a, y)); ϕ1(a, 1) = a;ϕ2(a, y+1) = aay = ϕ1(a, ϕ2(a, y)); ϕ2(a, 1) = a. Продолжим эту последовательность, положив по определению

ϕn+1(a, 0) = 1;

ϕn+1(a,1)=a; (1)

ϕn+1(a, y+1) ϕn = (a, ϕn+1(a, y)).Эта схема имеет вид примитивной рекурсии, следовательно, все

функции ϕn примитивно-рекурсивные. Растут они крайне быстро; например, ϕ3(а,1)=a; ϕ3(а,2)=ϕ2(а,a) =aa; ϕ3(а,3)=a(a)a;…;ϕ3(а,k) =a(a)…a}k раз.

Зафиксируем теперь значение a: a=2.

75

Page 76: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Получим последовательность одноместных функций: ϕ0(2,у), ϕ1(2, у)... Определим те-перь функцию В(х, у), которая перечисляет эту последовательность: В(х, у) = ϕx(2,у), т.е. й(0, В(0, у) = ϕ0(2,у) = 2+у; B(1, у)= ϕ1(2,у) = 2у т.д., а также диагональную функцию А(х)=В(х,х). Эти функции называются функциями Аккермана. Из соотношений (1) следует, чтоВ(0, у) = 2+у;В(x+1,у)=sgx; (2)В(x+1, у+1) = В(x, В(x+1, у)).

Эти соотношения позволяют вычислять значения функций В(х, у) и, следовательно, А(х), причем для вычисления функции в данной точкe нужно обратиться к значению функции в предшествующей точке — совсем как в схеме примитивной рекурсии. Однако здесь рекурсия ведется сразу по двум переменным (такая рекурсия называется двойной, двукратной, или рекурсией 2-й ступени), и это существенно, усложняет характер упорядочения точек, а следовательно, и понятие предшествования точек также усложняется. Например, В(3, 3) = В(2, В(3, 2)), а так как B(3, 2) = ϕ3(2, 2)= 22 = 4, то вычислению B и в точке (3,3) по схеме (2) должно предшествовать вычисление В в точке (2,4); читатель может убедиться, что вычислению В в точке (3,4) должно предшествовать вычисление в точке (2,16). Важно отметить, что это упорядочение не предопределено заранее, как в схеме примитивной рекурсии, где n всегда предшествует п+1, а выясняется в ходе вычислений и для каждой схемы вида (2), вообще говоря, различно. Поэтому схему двойной рекурсии (в отличие от рассмотренной ранее одновременной рекурсии) не всегда удается свести к схеме примитивной рекурсии.

Теорема. Функция Аккермана A(х) растет быстрее, чем любая примитивно-рекурсивная функция, и, следовательно, не является примитивно-рекурсивной. Более точно, для любой одноместной примитивно-рекурсивной функции f(x) найдется такое n, что для любого x>=n A(x)>f(x).

Ограничимся наброском доказательства, опустив некоторые выкладки.1. Вначале доказываются два свойства функции В(х, y);

В(х, у+1)>В(х, у) (х, у=1, 2 ...); (3) В (х + 1, у) >= В (х, у+1) (х >= 1, у >= 2). (4)2. Назовем функцию f(x1,,.., xn) В-мажорируемой, если существует

натуральное m от, такое, что для любых x1,,.., xn удовлетворяющих условию max (x1,,.., xn) >1, f(x1,,.., xn) < B(m, max (x1,,.., xn)). Покажем, что все примитивно-рекурсивные функции B-мажорируемы:

а) для простейших функций 0, x+1, Inm их B-мажорируемость очевидна.

76

Page 77: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

б) рассмотрим оператор суперпозиции Snm, причем для простоты

выкладок ограничимся случаем n=1, m=2, т.е. функцией f(x) = h(g1(x), g2(x)).

Тезис Черча. Связь рекурсивных функций с машиной Тьюринга

Определение 1 Функция называется частично-рекурсивной, если она может быть построена из простейших функций 0, x+1, In

m с помощью конечного числа применений оператора суперпозиции Sn

m, примитивной рекурсии Rn и µ-оператора.

Тезис Черча является аналогом тезиса Тьюринга для рекурсивных функций: всякая функция, вычислимая некоторым алгоритмом, частично-рекурсивна.

Утверждение: функция вычислима машиной Тьюринга, тогда и только тогда, когда она частично-рекурсивна.

Это утверждение об эквивалентности двух алгоритмических моделей является (в отличие от тезисов) вполне точным математическим утверждением и должно быть доказано.

Разобьем утверждение на две теоремы.Теорема 1.(достаточности) Всякая частично-рекурсивная функция

вычислима на машине Тьюринга.Теорема 2.(необходимости) Всякая функция вычислимая на машине

Тьюринга, частично-рекурсивна.

Лекция 18.

Трудоемкость вычислений

В классической теории алгоритмов задача считается разрешимой, если существует решающий ее алгоритм. Однако для реализации некоторых алгоритмов при любых разумных с точки зрения физики предположениях о скорости выполнения элементарных шагов может потребоваться больше времени, чем по современным воззрениям существует вселенная. Поэтому возникает потребность конкретизировать понятие разрешимости и придать ему оценочный, количественный характер, введя такие характеристики алгоритмов, которые позволяли бы судить о возможности и целесообразности их практического применения.

Среди различных характеристик алгоритмов наиболее важными с прикладной точки зрения являются: время и память, расходуемые при вычислении.

Физическое время вычисления алгоритма характеризуется произведением τ t, где t – число действий вычисления, τ – среднее физическое время реализации одного шага. Число шагов t определяется

77

Page 78: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

описанием алгоритма в данной алгоритмической модели, это – величина математическая, не зависящая от особенностей физической реализации модели. Напротив, τ зависит от реализации и определяется скоростью обработки сигналов в элементах, записи и считывания информации и т.д. Поэтому число действий t считают математическим временем вычисления алгоритма, определяющим физическое время вычисления с точностью до константы τ, зависящей от реализации.

Память как количественная характеристика алгоритма определяется количеством s единиц памяти (ячеек ленты машины Тьюринга или машинных слов в современных ЭВМ). Ясно, что эта величина по порядку не может превосходить числа шагов вычисления: s ≤ µt , где µ - максимальное число единиц памяти, используемых в данной машине на одном шаге. Напротив, t может существенно превосходить s. С этой точки зрения время более тонко определяет сложность алгоритма, чем память; и это – одна из причин, по которой исследованию временных характеристик алгоритма уделяется большее внимание.

Трудоемкость алгоритма – это число элементарных действий, выполненных при его вычислении.

Полной характеристикой конкретного варианта задачи является его формальное описание. Характеристикой сложности описания можно считать его объем, который называют размерностью задачи (например, для изоморфизма графов размерностью задачи можно считать число символов в матрицах смежности графов); тогда исследование трудоемкости алгоритма рассматривается как исследование зависимости трудоемкости вычисления от размерности задачи, решаемой алгоритмом.

И в математике, и на практике в конечном счете нас интересуют не алгоритмы сами по себе, а задачи, которые они решают. Одна и та же задача может решаться различными алгоритмами и на разных машинах. Если машина М зафиксирована, то трудоемкостью данной задачи относи-тельно машины М называется минимальная из трудоемкостей алгоритмов, решающих задачу на машине М. Задач, трудоемкость которых была бы определена точно, довольно мало; хорошим результатом считается определение ее по порядку, т. е. с точностью до множителя, ограниченного некоторой константой. Чаще удается оценить ее сверху или снизу. Оценку сверху получают, указав конкретный алгоритм решения задачи: по определению, трудоемкость задачи не превосходит трудоемкости любого из решающих ее алгоритмов. Оценки трудоемкости снизу − гораздо более трудное дело; их получают обычно из некоторых общих соображений (например, мощностных или информационных).

Можно ли говорить об инвариантности теории трудоемкости вычислений? Иначе говоря, возможны ли утверждения о трудоемкости вычислений, сохраняющиеся при переходе к любой алгоритмической модели? Что касается прямых количественных оценок, то инвариантами не являются не только константы, но и степени. Например, доказано, что

78

Page 79: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

трудоемкость распознавания симметричности слова длины п относительно его середины на машине Тьюринга не меньше, чем сп2, тогда как для любой ЭВМ, имеющей доступ к памяти по адресу, допускающей операции над адресами, легко написать программу, решающую эту задачу с линейной трудоемкостью.

Таким образом, скорости вычислений на разных моделях различны. Однако строить теорию трудоемкости вычислений, привязываясь к некоторым конкретным моделям, неудобно ни для теории, ни для практики. Для теории − потому, что такая привязка не дает достаточно объективных характеристик трудоемкости задачи, т.е. не позволяет отделить влияние особенностей выбранной модели от специфики самой задачи; для практики — потому, что разнообразие реальных машин растет, и нужны общие понятия и методы оценки трудоемкости решения задач, которые сохраняют свою силу при любых изменениях в мире компьютеров. Поэтому инвариантная теория трудоемкости нужна, и вопрос не в том, возможна ли она, а в том, как ее построить (т.е. какие инварианты найти). Для того чтобы обсуждать этот вопрос, прежде всего следует посмотреть, как меняется трудоемкость при переходе от одной машины к другой. Это рассмотрение мы начнем с некоторого краткого обзора парка абстрактных машин, о которых будет идти речь.

До сих пор в явном виде была описана только одна абстрактная машина − машина Тьюринга. Можно неявно использовать машину другого типа, гораздо более близкую к современным ЭВМ, в которой возможен доступ к памяти по адресам. Такая машина, называемая машиной с произвольным доступом к памяти, может на следующем шаге переходить к любой ячейке с указанным адресом (команды условного и безусловного переходов) и реализовать команды-операторы вида b: =f(a1, a2, ..., ap) (выполнить операцию f над содержимым ячеек a1, a2, ..., ap и результат положить в ячейку b) . Возможны различные варианты моделей машины с произвольным доступом к памяти, в более сложных вариантах допускаются операции над адресами. Здесь мы не будем рассматривать все эти варианты, ограничившись фиксацией лишь одной простой модели − машины элементарных логических операций, или кратко L-машины. Относительно других моделей абстрактных машин ограничимся констатацией их основных свойств, которых будет достаточно при последующих рассмотрениях. Будем считать, что каждая машина имеет конечное число устройств (головок, устройств управления головками, процессоров-устройств, выполняющих элементарные операции, и т.д.), каждое устройство и каждая ячейка памяти могут находиться в одном из конечного числа возможных состояний (состояние ячейки памяти − это записанный в ней символ), и выполнение любого элементарного действия (шага) зависит от информации из конечного числа ячеек памяти, ограниченного некоторой константой µ . Будем говорить, что все ячейки читаются на данном шаге. Полное состояние машины, т. е. набор

79

Page 80: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

состояний устройств, состояний ячеек памяти и указание ячеек, читаемых в настоящий момент, называется, конфигурацией машины.

Еще одно вступительное замечание. Алгоритм, осуществляемый машиной, может быть реализован двояким образом: он может быть «встроен» в управляющее устройство или записан в памяти машины. В первом случае машина является специализированной и может выполнять только данный алгоритм; чтобы изменить алгоритм, надо поменять управляющее устройство. Таковы машины Тьюринга в примерах. Во втором случае запись алгоритма в памяти называется программой, а сама машина − программируемой; алгоритм, встроенный в управляющее устройство, решает задачу исполнения программ, записанных в памяти машины. Такова универсальная машина Тьюринга и все реальные универ-сальные ЭВМ. В обоих случаях начальная конфигурация машины − состояния всей памяти и всех устройств − полностью определяет процесс вычисления.

Машина элементарных логических операций (L-машина) − это машина с произвольным доступом к памяти, имеющая следующую систему команд:

х: = 0;х: = 1;х: = y;

х: = ¬ y; х: =y& z; х: = y∨ z; “конец”,

где х, у, z — адреса ячеек памяти; := − знак присвоения.Программа элементарных логических операций (L-npoграмма) с

однократной записью − это программа, состоящая из указанных команд, в которой запись в каждую ячейку памяти производится не более одного раза (читать ячейку можно неоднократно).

Можно было бы дополнить систему команд L-машины командами ввода информации в ячейки памяти для данных, ввода программ и вывода результатов решения задач, однако будем считать, что эти элементы памяти доступны для ввода информации и обозрения извне (трудоемкость этих действий следует считать пропорциональной количеству элементов памяти, куда надо ввести или откуда надо вывести информацию). Пусть программа и данные (значения двоичных переменных) находятся в разных секциях па-мяти, и каждая секция имеет свою адресацию. Тогда можно так перекодировать программу с однократной записью, что номера команд программы и адреса ячеек памяти, в которых эти команды производят запись станут одинаковыми, и будут иметь вид i:i:= Ui (i=1,2, …, t-1), где выражения Ui имеют вид либо 0, либо 1, либо j, либо ¬ j, либо j& k, либо j∨k (в конце программы стоит команда “конец”).

80

Page 81: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Интерпретация машинных действийИнтерпретация элементарных действий

Теоремы о трудоемкости

Теорема 1. Пусть Манина М2 полиномиальным образом со степенью С интерпретируема на машине М1, и задача p решается на машине М2 из частичной конфигурации CM2

π не более чем за t шагов, после чего машина останавливается. Тогда задача p может быть решена на машине М1 не более чем за BtC шагов, где B – положительная константа, т.е. ее сложность относительно машины М1 не больше BtC.

Теорема 2. Если трудоемкость задачи р относительно машины Тьюринга Т не больше t, то ее можно решить при помощи не более чем Bt2+Ct=0 (t2) элементарных логических операций.

Полиномиальная интерпретируемость машин друг на друга. Аналогичным образом доказывается, что машина с произвольным доступом к памяти и «полным» набором команд − конечным набором операторов вычисления функций от конечного же количества двоичных переменных, ус-ловными и безусловными переходами и индексированными командами − полиномиальным образом интерпретируема на машине элементарных логических операций. Однако в этом случае степень больше трех (сложнее всего интерпретация индексированных команд, особенно адресов, которые могут появиться в результате индексации). Обратная полиномиальная интерпретируемость машины элементарных логических операций L на машине с произвольным доступом к памяти тривиальна, так как в системе команд последней машины есть все команды первой.

Так как машина с произвольным доступом к памяти полиномиальным образом интерпретируема на машине элементарных логических операций L, для доказательства ее полиномиальной интерпретируемости на некоторой машине Тьюринга PU достаточно доказать полиномиальную ин-терпретируемость машины L на машине PU. Кроме того, этим будет доказана полиномиальная интерпретируемость произвольных машин Тьюринга Т на машине PU.

Теорема 3. L-машина полиномиальным образом интерпретируется на машине Тьюринга. Для доказательства нужна определенная техника программирования машин Тьюринга, и мы его опускаем.

81

Page 82: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

82

Page 83: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

7. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ

ПРАКТИЧЕСКИХ РАБОТ

План практических работ

№ Содержание практического занятия ЧасыМатематическая логика

1 Логика высказываний. Логическое следование, принцип

дедукции. Метод резолюций.

2

2 Исчисление высказываний. Аксиомы и правила вывода. 2 3 Основные метатеоремы исчисления высказываний. Теорема

дедукции.

2

4 Исчисление предикатов и теории первого порядка. Аксиомы

и правила вывода. Правила переименования свободных и

связанных переменных.

2

5 Доказательства в исчислении предикатов. Префиксная

нормальная форма

2

Теория алгоритмов6 Примеры машин Тьюринга. Описание машин Т+,Ткоп,Т2x,Т++. 27 Композиция машин Тьюринга. Пример машин Т++, Т×.

Вычисление предикатов на примере предиката P(x) – “x

четное”. Проблема остановки.

2

8 Рекурсивные функции. Примитивно-рекурсивные функции

(сложение, умножение, возведение в степень, урезанное

вычитание, min, max).

2

9 Примитивно-рекурсивные операторы (оператор условного

перехода, ограниченный оператор наименьшего числа)

2

Итого 18ч.

Практическое занятие №1 Тема: Логика высказываний. Логическое следование, принцип

дедукции. Метод резолюций.

Для практического занятия использовать материалы лекций 1 и 2.

Контрольные вопросы и задания

83

Page 84: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Практическое занятие №2 Тема: Исчисление высказываний. Аксиомы и правила вывода.

Для практического занятия использовать материалы лекции 2 и 3. Из логики высказываний использовать понятия: тождественно-истинные формулы, логически верные умозаключения логики высказываний, логические схемы рассуждений, правило утверждения. Из построения исчисления высказываний использовать понятия: вывод и выводимость в исчислении высказываний, доказательство в теории Т.

Контрольные вопросы и задания

1. Как построено исчисление высказываний (основные принципы)?2. Какие формулы являются аксиомами исчисления высказываний?3. Какие правила вывода используются в исчислении высказываний?4. Выводимость в исчислении высказываний, показать на примерах.5. Выучить систему аксиом II.

Практическое занятие №3 Тема: Основные метатеоремы исчисления высказываний. Теорема

дедукции.

Для практического занятия использовать материалы лекции 4. Из исчисления высказываний использовать понятия: метатеорема исчисления, теорема дедукции, применение теоремы дедукции на примерах.

Контрольные вопросы и задания

1. Теорема дедукции.2. Применение теоремы дедукции. Примеры3. Теорема о выводимости в исчислении высказываний.4. Применение теоремы о выводимости. Проверка формул исчисления

высказываний на выводимость.

Практическое занятие №4 Тема: Исчисление предикатов и теории первого порядка. Аксиомы и

правила вывода. Правила переименования свободных и связанных переменных.

84

Page 85: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Для практического занятия использовать материалы лекций 5 и 6. Из исчисления предикатов использовать понятия: теория первого порядка, принципы построения исчисления предикатов, на примере правил переименования показать выводимость в исчислении предикатов.

Контрольные вопросы и задания1. Как построено исчисление предикатов (основные принципы)?2. Аксиомами исчисления предикатов?3. Какие правила вывода используются в исчислении предикатов?4. Выводимость в исчислении предикатов, показать на примерах.5. Выучить систему аксиом исчисления предикатов.

Практическое занятие №5 Тема: Доказательства в исчислении предикатов. Префиксная

нормальная форма.

Для практического занятия использовать материалы лекции 7. Из исчисления предикатов использовать понятия: доказательства в исчислении предикатов, понятие префиксной нормальной формы, этапы приведения формулы исчисления предикатов к префиксной нормальной форме, эквивалентности, используемые в исчислении предикатов.

Контрольные вопросы и задания

1) Метод доказательства от противного. Показать на примере предикатной формулы.

2) Понятие префиксной нормальной формы.3) Процедура приведения к ПНФ формулы исчисления предикатов.4) Эквивалентности, используемые в исчислении предикатов.5) Заданные формулы привести к ПНФ.6) Доказательство в исчислении предикатов.

Практическое занятие №6

Тема: Примеры машин Тьюринга. Описание машин Т+,Ткоп,Т2x,Т++.

Для практического занятия использовать материалы лекций 11 и 12. Использовать понятия: машина Тьюринга, конфигурация машины Тьюринга, правильное вычисление функции на машине Тьюринга, протокол машины Тьюринга.

Контрольные вопросы и задания

85

Page 86: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

1. Для машины Тьюринга Т+ использовать разные представления.2. Для заданных машин Т+, Ткоп,Т++ построить протоколы, описать

работу машин.

Практическое занятие №7 Тема: Композиция машин Тьюринга. Примеры машин Т2x, Т×.

Вычисление предикатов на примере предиката P(x) –“x четное”. Проблема остановки.

Для практического занятия использовать материалы лекций 13 и 14. Использовать понятия: композиция машин Тьюринга, построение композиции машин Тьюринга, вычисление предикатов на машине Тьюринга, вычисление предикатов с восстановлением и без восстановления, тезис Тьюринга, проблема остановки, тезис Черча для машин Тьюринга.

Контрольные вопросы и задания

1. Ввести понятие композиции машин Тьюринга.2. Для машины Т+(Ткоп) построить протокол, определить какую

функцию вычисляет эта машина.3. Пример машины Тьюринга, вычисляющей предикат, построение

протокола этой машины.4. В чем заключается проблема остановки? 5. Тезис Тьюринга и Черча.

Практическое занятие №8 Тема: Рекурсивные функции. Примитивно-рекурсивные функции

(сложение, умножение, возведение в степень, урезанное вычитание, min, max).

Для практического занятия использовать материалы лекции 15. Использовать понятия: оператора суперпозиции, примитивно-рекурсивной функции, схема рекурсии.

Контрольные вопросы и задания

1. Понятие примитивно-рекурсивной функции.2. Схема рекурсии, привести примеры.3. Тестирование примитивно-рекурсивных функций.

86

Page 87: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Практическое занятие №9

Тема: Примитивно-рекурсивные операторы.

Для практического занятия использовать материалы лекций 16 и 17. Использовать понятия: характеристическая функция примитивно-рекурсивного оператора, примитивно-рекурсивного оператора, оператор условного перехода, ограниченный оператор наименьшего числа µ-оператор.

Контрольные вопросы и задания

1. Понятие примитивно-рекурсивного оператора.2. На примере применения ограниченного оператора наименьшего

числа показать, что этот оператор примитивно рекурсивный.

87

Page 88: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

8. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ

КОНТРОЛЬНЫХ РАБОТ

Контрольная работа №1

«Исчисление высказываний, исчисление предикатов»

Вариант – I.1. Определить истинность, ложность либо выполнимость в области N0

натуральных чисел формулы: ∃x S(x,y,y) → ∀x S(x,y,y), где S(x,y,y)=’x+y=y’.

2. Получить ПНФ: ∃x∀yP1(x,y) →∀x∃yP2(x,y).

3. Являются ли аксиомами следующие формулы:

1.((A→B)&A) →B 2.(A→B) →B 3.A→(A →B)

Вариант – II.1. Определить истинность, ложность либо выполнимость в области N0

натуральных чисел формулы: ∃x ∏( y, x, y) → ∀y ∏( y, x ,y), где ∏(y,x,y)=’yx=y’.

2. Получить ПНФ: ∃yP1(x,y) →∀xP2(x,y).

3. Являются ли аксиомами следующие формулы:

1.(A→A) 2.A→(A →B) 3.((A→B)&A) →B

Вариант – III.1. Определить истинность, ложность либо выполнимость в области N0

натуральных чисел формулы: ∃y ∏( x, x, y) → S( x, x ,y), где ∏(x, x, y)=’xx=y’; S( x, x ,y)= ’x+x=y’.

2. Получить ПНФ: ∀x∀yP1(x,y) →∃x∃ yP2(x,y).

3. Являются ли аксиомами следующие формулы:1. (A→B) 2. A→( B→ A).3. ((A→B)&B) →A

88

Page 89: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Для выполнения контрольной работы №2 использовать материалы лекций 6, 7, 8 и 9.

Контрольная работа №2

«Машины Тьюринга. Протокол машины Тьюринга»

Вариант 1

Построить диаграмму переходов для машины Тьюринга4. сложения и написать протокол для x = 4 y =5;5. Какую функцию натурального аргумента вычисляет машина Тьюринга,

заданная диаграммой переходов:

Вариант 2

Построить систему команд для машины Тьюринга

1) копирования и написать протокол для x = 5;

6. Какую функцию натурального аргумента вычисляет машина Тьюринга,

заданная диаграммой переходов:

89

q3

q5

q1

q2

q6

q4

λ→L

λ→Л

λ→И

1→λL

1→λL

λ→L1→R

1→R 1→R

λ→И

q1

q2

q3

qz

λ→R

*,λ→*R1→0R

*,1→L1→R1→1R

q4λ→1L

0→R

0→1L

*→L

Page 90: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Вариант 3

Построить таблицу переходов для машины Тьюринга

7. вычисления предиката P(x)–“x нечетное число” с восстановлением и

написать протокол для x = 4;

8. Какую функцию натурального аргумента вычисляет машина Тьюринга,

заданная таблицей переходов:q1 q2 q3

1 λ q2+1 1 q2 +1 1q3 –1* λ qz+1 1q3 –1λ λ qz +1

Для выполнения контрольной работы №2 использовать материалы лекций 12

и 13.

Контрольная работа №3

«Примитивно-рекурсивные функции»

Используя схему рекурсии, предложенных в вариантах примитивно-

рекурсивных функций определить значения функции для заданных значений

переменных, составив протокол.

Вариант 1

1) сложение при x = 4 y =5;2) урезанное вычитание при x = 14 y =3.

Вариант 2

1) умножение x = 4 y =5;

2) min(x = 25 y =13), max(x = 11 y = 45).

Вариант 3

1) возведение в степень x = 2 y =6;

2) сигнум (sg) при x = 13.

Для выполнения контрольной работы №3 использовать материалы лекции 15.

90

Page 91: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

9. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ОРГАНИЗАЦИИ

МЕЖСЕССИОННОГО КОНТРОЛЯ ЗНАНИЙ СТУДЕНТОВ

1. Межсессионная аттестация студентов проводится дважды в семестр

на 7 и 13 неделях семестра.

2. Аттестационная оценка выставляется по результатам работы в

семестре: выполнения домашних заданий, выполнения контрольных работ,

сдачи промежуточного коллоквиума по 1-ой части дисциплины, успешного

тестирования по 1-ой и 2-ой частям дисциплины, а также посещения

практических занятий и посещений лекционных занятий.

3. Организация аттестации студентов, проводится в соответствии с

положением АмГУ о курсовых, экзаменах и зачетах.

91

Page 92: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

10. КОМПЛЕКТЫ ЗАДАНИЙ К КОЛЛОКВИУМУ

Практические задания к коллоквиуму по части «Математическая

логика»

1.Какие формулы являются аксиомами исчисления предикатов?а) ∀xF(x) → F(y);б) ∃yF(y) → ∀xF(x);в) нет таких формул.

а) ∀xF(x) → F(y);б) F(y) → ∃xF(x);в) нет таких формул.

Какие формулы являются аксиомами исчисления предикатов?а) ∀xF(x) → ∃yF(y);б) ∃yF(y) → ∀xF(x);в) F(y) → ∃xF(x).

Являются ли соотношения эквивалентными?а) ¬(∃xF(x)) ~ ∃x ¬F(x);б) ¬(∀xF(x)) ~ ∃x ¬F(x).

Убедиться, что формула является тавтологией (тождественно ложной)

A&(B→A) & (A→A&(B→A))

2.“Всякая тождественно-истинная формула является теоремой исчисления высказываний.” Указать варианты, содержащие теоремы:а) Г, U | B, то Г | U→B;б) | U→B;в) | A→(A→A);г) | (U→B) →B.

а) Г, U | B, то | U→B;б) | ¬(A&B) ~ ¬A∨¬B;в) | A→(A→A);г) | (U→B) →B.

Если Г,А | В и Г,А | ¬В, то Г| ¬А.а) это теорема дедукции;б) это правило введения отрицания.

92

Page 93: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Если Г,А | В, то Г| А.→B.а) это теорема дедукции;б) это правило введения отрицания.

Если ℜ – выводимая формула, содержащая букву А (ℜ (А)), то выводима формула ℜ(В), где В тождественно-истинная формула: ℜ ( А ) ℜ (В)а) это правило заключения;б) это правило подстановки;в) это не есть правило.

3.Проверить истинность, ложность, выполнимость формул:

∀x((P(x) →Q(x)) & ( Q(x) →P(x)))а) тождественно-истинная формулаб) тождественно-ложная формулас) формула принимает разные значения на наборах предикатов P,Q.

∃xS(x,y,y) →∀yS(x,y,y), где S(x,y,z) = “x+y = z ”, x,y,z ∈ N;а) тождественно-истинная формулаб) тождественно-ложная формулас) формула принимает разные значения на N

∃xS(y,x,y) →∀yS(y, x,y), где S(x,y,z) = “x+y = z ”, x,y,z ∈ N0;а) тождественно-истинная формулаб) тождественно-ложная формулас) формула принимает разные значения на N0

∃xП(x,y,y) →∀yП(x,y,y), где П(x,y,z) = “x*y = z ”, x,y,z ∈ N;а) тождественно-истинная формулаб) тождественно-ложная формулас) формула принимает разные значения на N

∃x∀y П(x,y,y) →∃y∀xП(x,y,y), где П(x,y,z) = “x*y = z ”, x,y,z ∈ N0;а) тождественно-истинная формулаб) тождественно-ложная формулас) формула принимает разные значения на N0

Доказать истинность формулы

∀x(P(x) → Q(x)) ∨ (Q(x) →P(x)),

93

Page 94: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

∀x(P(x) ∨ P(x))∀x(P(x) &P(x))∀x(P(x) →P(x)).

4.Привести формулу логики предикатов к ПНФ

∀xF(x) → F(y)∀y(F1(x,y) ∨ ∃x F2(x,y))∃x∀yP1(x,y) → ∃x∀yP2(x,y)∃x∀yP1(x,y) → ∀x∃yP2(x,y)(∃x∀yP1(x,y) ∨ ∃xP2(x))→ ∃y∀z P3(y,z)

5.Выводимость в исчислении высказываний

| A→AA | B→A| (A→B) → ((A→B) →A)выводимость в правиле введения отрицания ((Г, A|B, Г, A|B) → Г| A)закон исключенного третьего (| A∨ A)Правило переименования связанных переменных с доказательством выводимости (если | ∀x F(x), то | ∀y F(y))Правило переименования свободных переменных с доказательством выводимости (если | F(x), то | F(y))

94

Page 95: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

11. КОМПЛЕКТЫ ЗАДАНИЙ К ЗАЧЕТУ

Зачет по дисциплине «Математическая логика и теория алгоритмов» состоит из двух частей: «Математическая логика» и «Теория алгоритмов».

Часть I.Математическая логика

1. Принципы построения формальных теорий.

2. Вывод формулы В. Доказательство формулы В.

3. Теоремы теории Т. Доказательство теорем в теории.

4. Исчисление высказываний. Принципы построения теории.

5. Формулы схемы формул исчисления высказываний.

6. Аксиомы исчисления высказываний. Аксиоматический метод.

7. Правила вывода в исчислении высказываний.

8. Теорема дедукции. Применение теоремы дедукции.

9. Применение теоремы дедукции. Метод доказательства от противного.

10. Теорема о выводимости формулы в исчислении высказываний. Пример.

11. Теоремы о тождественной истинности в исчислении высказываний. Примеры.

12. Полнота и непротиворечивость теории. Теоремы Геделя.

13. Исчисление предикатов и теории первого порядка. Принципы построения теории.

14. Аксиомы исчисления предикатов.

15. Правила вывода в исчислении предикатов.

16. Выводимость и истинность в исчислении предикатов. Эквивалентности, выводимые в исчислении предикатов.

17. Предваренная форма или префиксная нормальная форма (ПНФ). Эквивалентности необходимые для приведения формулы к ПНФ.

95

Page 96: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

18. Пример теории первого порядка исчисления с равенством.

19. Теория первого порядка исчисления частичного нестрогого порядка.

20.Формальная арифметика (принцип индукции).

Часть II. Теория алгоритмов

1. Понятие алгоритма. Основные требования к алгоритмам.

По заданной машине Т с внешним алфавитом А ={|, λ, *} и слову u = | |*| λ| найти слово Т(u):

q1 q2 q3

| λ q2 +1 | q2 +1 | q1 -1* λ qz+1 | q3 -1λ λ qz +1

Построить диаграмму переходов.

2. Определение машины Тьюринга. Пример.

По заданной машине Т с внешним алфавитом А ={|, λ} и слову u = | | λ | λ | | найти слово Т(u):

q1 q2

| λ q2 +1 | q2 -1λ | qz 0 λ q1 +1

Построить диаграмму переходов.

3. Конфигурация или полное состояние машины Тьюринга. Стандартная начальная конфигурация, стандартная заключительная конфигурация. Правильная запись слов над алфавитом Аисх на ленте.

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная диаграммой переходов:

96

Page 97: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

По заданной машине Т с внешним алфавитом А и слову u = | * | | найти слово Т(u).

4. Память машины Тьюринга, данные Машины Тьюринга, детерминированность машины Тьюринга.

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная таблицей:

Тq1 q2 q3 q4

| 0 q2 +1 |q2 +1 |q3 +1 |q4 -1* *q1 -1 *q3 +1 - *q4-1λ λ qz+1 *q3 +1 |q4 -1 -0 |q1 -1 - - 0 q1 +1

Построить диаграмму переходов.

5. Представления машин Тьюринга. Система команд, построение таблицы переходов, построение диаграммы переходов машин Тьюринга. Примеры.

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная диаграммой переходов:

q1

q2

q3

qz

*→λR

*→1L

1→λR λ→λR

1→1LL1→1L

97

Page 98: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

По заданной машине Т с внешним алфавитом А и словам u1 = | | λ | | и u2 = | | | найти слова на ленте Т(u1) и Т(u2).

6. Понятие функции правильно вычислимой по Тьюрингу. Пример.

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная диаграммой переходов:

По заданной машине Т с внешним алфавитом А и слову u = | | | | найти слово Т(u).

7. Машина Тьюринга вычисляющая сложение (Т+).

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная таблицей: Т

q1 q2

| | q2 +1 | q2 +1λ | qz 0 | qz 0

По заданной машине Т с внешним алфавитом А ={|, λ} и слову u = | | λ | λ | | найти слово Т(u).

8. Машина Тьюринга вычисляющая копирование (Ткоп).

98

λ → | E

q1

q2

qz

| → λ R | → | L

λ → λ R

λ → | E

q1

q2

qz

| → λ R | → | L

λ → λ R

q3

q5q

1

q2

q6

q4

λ→L

λ→И

λ→Л

1→λL

1→λL

λ→L1→R

1→R 1→R

λ→И

Page 99: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

9. Машина Тьюринга - композиция машин, вычисляющая функцию f(x)=2x (Т+(Ткоп)).

10. Машина Тьюринга с правой полулентой. Пример машины Т++.

11. Вычисление предикатов на машинах Тьюринга. Пример машины с восстановлением.

12. Тезис Тьюринга. Проблема остановки.

По заданной машине Т с внешним алфавитом А ={|, λ} и слову u = | λλ | найти слово Т(u):

q1 q2

| | q2 +1 | q2 +1λ | qz 0 | qz 0

Построить диаграмму переходов.

13. Понятие рекурсивной функции. Схема рекурсии.

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная таблицей:

Тq1 q2 q3 q4 q5

| λ q2 +1 |q2 +1 |q3 -1 |q4 +1 |q5 -1* λq4 +1 |q4 +1 - *q3 -1 -λ - - λq1 +1 λq5 -1 λqz+1

Построить диаграмму переходов.

99

Page 100: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

14. Схемы рекурсии функций сложения f+(x, y)=x+y, умножения f×(x, y)=xy.

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная диаграммой переходов:

По заданной машине Т с внешним алфавитом А и слову u = | | И | найти слово Т(u).

15. Схема рекурсии функции возведения в степень fexp(x, у) = хy.

16. Схемы рекурсии функций арифметическое или урезанное вычитание f (х, у) = х ÷ у и f(x, y) =|х - y|.

17.Схемы рекурсии функций min(х, у) и mах(х, у).

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная таблицей:

Тq1 q2 q3 q4

| λ q2 +1 |q2 +1 |q3 -1 |q4 +1* λq4 +1 |q4 +1 - *q3 -1λ - - λq1 +1 λqz-1

По заданной машине Т с внешним алфавитом А и слову u = | |*| *| *| | найти слово Т(u).

18. Примитивно-рекурсивные предикаты. Характеристическая функция предиката. Пример характеристической функции отношения R> = “>”.

100

q3

q5q

1

q2

q6

q4

λ→L

λ→Л

λ→И

1→1L

1→1L

λ→L1→R

1→R 1→R

λ→Л

Page 101: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная диаграммой переходов:

По заданной машине Т с внешним алфавитом А и слову u = | | | найти слово Т(u).

101

λ → | E

q1

q2

qz

| → | R | → | R

λ → | E

Page 102: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

12. ТЕСТОВЫЕ ЗАДАНИЯ

«Математическая логика»

Вариант1

I. “Всякая тождественно-истинная формула является теоремой исчисления высказываний.” Указать варианты, содержащие теоремы:

а) Г, U | B, то Г | U→B;б) | U→B;в) | A→(A→A);г) | (U→B) →B.

II. Какие формулы являются аксиомами исчисления предикатов?а) ∀xF(x) → F(y);б) ∃yF(y) → ∀xF(x);в) нет таких формул.

III. ∀x((P(x) →Q(x)) & ( Q(x) →P(x)))а) тождественно-истинная формулаб) тождественно-ложная формулас) формула принимает разные значения на наборах предикатов P,Q.

«Математическая логика»Вариант2

I. Если ℜ – выводимая формула, содержащая букву А (ℜ (А)), то выводима формула ℜ(В), где В произвольная формула: ℜ ( А )

ℜ (В)а) это правило заключения;б) это правило подстановки;в) это не есть правило.

II. Какие формулы являются аксиомами исчисления предикатов?а) ∀xF(x) → F(y);б) F(y) → ∃xF(x);в) нет таких формул.

III. ∀x((P(x) →Q(x)) ∨ ¬ (P(x) →Q(x)))а) тождественно-ложная формулаб) тождественно-истинная формулас) формула принимает разные значения на наборах предикатов P,Q.

102

Page 103: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

«Математическая логика»Вариант3

I. “Всякая тождественно-истинная формула является теоремой исчисления высказываний.” Указать варианты, содержащие теоремы:

а) Г, U | B, то | U→B;б) | ¬(A&B) ~ ¬A∨¬B;в) | A→(A→A);г) | (U→B) →B.

II. Какие формулы являются аксиомами исчисления предикатов?а) ∀xF(x) → ∃yF(y);б) ∃yF(y) → ∀xF(x);в) F(y) → ∃xF(x).

III. Если Г,А | В и Г,А | ¬В, то Г| ¬А.а) это теорема дедукции;б) это правило введения отрицания.

«Математическая логика»Вариант4

I. Если ℜ – выводимая формула, содержащая букву А (ℜ (А)), то выводима формула ℜ(В), где В тождественно-истинная формула: ℜ ( А )

ℜ (В)а) это правило заключения;б) это правило подстановки;в) это не есть правило.

II. Являются ли соотношения эквивалентными?а) ¬(∃xF(x)) ~ ∀x ¬F(x);б) ¬(∀xF(x)) ~ ∃x ¬F(x).

III. ∀x((P(x) →Q(x)) ∨ ( Q(x) →P(x)))а) тождественно-истинная формулаб) тождественно-ложная формулас) формула принимает разные значения на наборах предикатов P,Q.

103

Page 104: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

«Математическая логика»Вариант5

I. “Всякая тождественно-истинная формула является теоремой исчисления высказываний.” Указать варианты, содержащие теоремы:

а) | (U→B) →B;б) | (A&B)→B;в) | ¬ ¬A→A;г) Г,U | B, то Г | U→B.

II. Являются ли соотношения эквивалентными?а) ¬(∃xF(x)) ~ ∃x ¬F(x);б) ¬(∀xF(x)) ~ ∃x ¬F(x).

III. Если Г,А | В, то Г| А.→B.а) это теорема дедукции;б) это правило введения отрицания.

«Математическая логика»Вариант6

I. Если ℜ и ℜ → ℵ – выводимые формулы, то ℵ выводима: ℜ , ℜ → ℵ ℵа) это правило заключения;б) это правило подстановки;с) это не есть правило.

II. Какие формулы являются аксиомами исчисления предикатов?а) ∀xF(x) → ∃yF(y);б) ∃yF(y) → ∀xF(x);в) нет таких формул.

III. ∀x(¬ (P(x) → Q(x)) → P(x)))а) тождественно-ложная формулаб) тождественно-истинная формулас) формула принимает разные значения на наборах предикатов P,Q.

104

Page 105: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

«Теория алгоритмов»Вариант1

I. Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная таблицей переходов: а) суммирование двух чисел, представленных в унарной форме;б) копирование чисел, представленных в унарной форме;в) функцию f(x)=2x, для целого положительного x, представленного в унарной форме;г) предикат P(x)={“ x-четное число”}, без востановления;д) нет такой функции.

q1 q2 q3 q4 q5

1 1 q3 +1 1 q3 +1 1 q2 +1 λ q4-1 λ q5-1λ И qz 0 λ q4-1 λ q5-1 И qz0 Л qz0

II. Машина Т правильно вычисляет функцию f, если 1) для любых Vи W, таких, что f(V)=W, q1V*⇒T qzW*, где V* и W*- правильные записи

V и W соответственно; 2) для любого V, такого, что f(V) не определена, машина T, запущенная в стандартной

начальной конфигурации q1V*, работает бесконечно;3) пункт 1) и 2) вместе.

«Теория алгоритмов»Вариант2

I. Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная таблицей переходов: а) суммирование двух чисел, представленных в унарной форме;б) копирование чисел, представленных в унарной форме;в) функцию f(x)=4x, для целого положительного x, представленного в унарной форме;г) предикат P(x)={“ x-нечетное число”}, с востановлением;д) нет такой функции.

q1 q2 q3

1 λ q2+1 1 q2 +1 1q3 -1* λ qz+1 1q3 -1λ λ qz +1

II. “Всякий алгоритм может быть реализован машиной Тьюринга”1) для алгоритмичных конструктивных процедур невозможно строить реализующие их

машины Тьюринга;2) это есть тезис Тьюринга;3) это есть проблема остановки.

«Теория алгоритмов»Вариант3

I. Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная диаграммой переходов: а) суммирование двух чисел, представленных в унарной форме;б) копирование чисел, представленных в унарной форме;в) функцию f(x)=2x, для целого положительного x, представленного в унарной форме;

105

Page 106: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

г) предикат P(x)={“ x-четное число”}, без востановления;д) нет такой функции.

II. Построение машины T0, такой, что для любой машины Тьюринга Т и любых исходных данных α для машины Т T0(ΣТ, α) = И, если Т(α) останавливается, и T0(ΣТ, α) = Л, если Т(α) не останавливается:1) это есть тезис Тьюринга;2) это есть алгоритмически неразрешимая проблема остановки;3) для подобных алгоритмичных процедур можно строить реализующие их машины

Тьюринга.

«Теория алгоритмов»Вариант 4

I. Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная диаграммой переходов: а) умножение двух чисел, представленных в унарной форме;б) копирование чисел, представленных в унарной форме;в) функцию f(x)=x, для целого положительного x, представленного в унарной форме;г) предикат P(x)={“ x-четное число”}, без востановления;д) нет такой функции.

II. Не существует машины Тьюринга T, реализующей проблему остановки для произвольной машины Тьюринга:1) это есть тезис Тьюринга;2) это есть теорема об алгоритмически неразрешимой проблеме остановки.

106

q1

q2

q3

qz

λ→R

*,λ→*R1→0R

*,1→L1→R1→1R

q4λ→1L

0→R

0→1L

*→L

q3

q5

q1

q2

q6

q4

λ→L

λ→Л

λ→И

1→λL

1→λL

λ→L1→R

1→R 1→R

λ→И

Page 107: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

«Теория алгоритмов»Вариант5

I. Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная диаграммой переходов: а) суммирование двух чисел, представленных в унарной форме;б) копирование чисел, представленных в унарной форме;в) предикат P(x)={“ x- нечетное число”}, с востановлением;г) функцию f(x)=2x, для целого положительного x, представленного в унарной форме;д) нет такой функции.

II. Машина Тьюринга с алфавитом Аисх = {И, Л} и командами q1 И→ T qz Л0, q1 Л→ T qz И0 вычисляет:1) отрицание логической переменной (¬P(α)); 2) значение логической переменной (P(α));3) предикат P(α) = {α- целое число}.

«Теория алгоритмов»Вариант 6

I. Какую функцию натурального аргумента вычисляет машина Тьюринга, заданная таблицей переходов: а) суммирование двух чисел, представленных в унарной форме;б) копирование чисел, представленных в унарной форме;в) функцию f(x)=2x, для целого положительного x, представленного в унарной форме;г) предикат P(x)={“ x - нечетное число”}, с востановлением;д) нет такой функции.

q1 q2 q3 q4 q5

1 1 q3 +1 1 q3 +1 1 q2 +1 λ q4-1 λ q5-1λ И qz 0 λ q4-1 λ q5-1 И qz0 Л qz0

II. “Всякий алгоритм может быть реализован машиной Тьюринга”1) для алгоритмичных конструктивных процедур невозможно строить реализующие их

машины Тьюринга;2) это есть проблема остановки;3) неверны оба утверждения.

107

q3

q5

q1

q2

q6

q4

λ→L

λ→Л

λ→И

1→1L

1→1L

λ→L1→R

1→R 1→R

λ→И

Page 108: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

13. КАРТА КАДРОВОЙ ОБЕСПЕЧЕННОСТИ ДИСЦИПЛИНЫ

Лектор к.т.н., доцент Семичевская Н.П.Руководитель лабораторных работ

к.т.н., доцент Семичевская Н.П.

108

Page 109: irbis.amursu.ru · ОГЛАВЛЕНИЕ 1. Выписка из государственного общеобразовательного стандарта высшего ...

Наталья Петровна СЕМИЧЕВСКАЯ

доцент кафедры информационных управляющих систем АмГУ

Редактор О.К. Мамонтова

МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВУчебно-методический комплекс дисциплины

Издательство АмГУ. Подписано к печати ___.___.07. Формат _____. Усл. печ.л. ________, уч.-изд. л. ______. Тираж _____. Заказ ___.

109