chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление...

76
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образо- вания «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ» Кафедра информатики и методики преподавания математики УТВЕРЖДАЮ Проректор по учебной работе ___________Г.П.Иванова «_____»_____________200___г. Учебно-методический комплекс по дисциплине Теория алгоритмов для направления 540200 «Физико-математическое образование» Профиль «Информатика» Воронеж – 200_

Upload: others

Post on 10-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образо-

вания «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра информатики и методики преподавания математики

УТВЕРЖДАЮ Проректор по учебной работе ___________Г.П.Иванова «_____»_____________200___г.

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

Теория алгоритмов

для направления 540200 «Физико-математическое образование»

Профиль «Информатика»

Воронеж – 200_

Page 2: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образо-

вания «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра информатики и методики преподавания математики

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

дисциплины «Теория алгоритмов» для направления 540200 «Физико-математическое образование»

Профиль «Информатика» Курс обучения 2 Семестр 10 Всего часов по учебному плану: 90 В том числе по формам обучения: очная

- лекции 38 - лабораторные работы 19

- самостоятельная работа 33 Формы итогового контроля знаний:

- зачет - экзамен 3

Составитель: доцент Р.Х. Вахитов Программа утверждена на заседании кафедры «_29_»__августа__2008_г., протокол №__1__ Заведующий кафедрой _____________________А.С. Потапов

Воронеж 2008

Page 3: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Дисциплина «Теория алгоритмов» для направления 540200 «Физико-

математическое образование», профиль «Информатика», относится к циклу

общепрофессиональных дисциплин направления – ОПД.Р.04.

В учебных планах направление «Физико-математическое образование»

имеет новый номер после перекодировки:

540200 «Информатика» → 050200.03 «Информатика».

Дисциплина «Теория алгоритмов» изучается в 3 семестре.

Понятия алгоритма и вычислимой функции относятся к фундаменталь-

ным понятиям информатики и математики. Исследование алгоритмов и вы-

числимых функций привело к созданию новой дисциплины – теории вычис-

лимости. Первые компьютеры появились в 40-х годах, и их появление стало

возможным благодаря достижениям теории вычислимости. Созданная теория

NP-полноты имеет большое практическое значение для анализа алгоритмов.

Межпредметные связи: математическая логика, теоретические основы

информатики, основы дискретной математики.

Цель – формирование систематизированных знаний в области теории

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

сти, творческого подхода к решению теоретико-алгоритмических задач в

компьютерных науках.

Задачи: знать интуитивное определение алгоритма и разрешимого от-

ношения, уметь составлять программы машин Тьюринга машин с неограни-

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

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

Рассматриваются интуитивные понятия алгоритма, вычислимой функ-

ции, разрешимого и перечислимого множеств, а также их формальные уточ-

нения в виде частично рекурсивных функций, машин Тьюринга, машин с не-

ограниченными регистрами, рекурсивных и рекурсивно-перечислимых мно-

жеств (предикатов). Изучаются построение рекурсивных функций и предика-

тов, понятия эффективной нумерации, универсальных функций, примеры не-

Page 4: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

вычислимых функций и неразрешимых проблем в математике и информати-

ке, простейшие машины Тьюринга и операции на машинах Тьюринга.

Выполняются лабораторные работы по представлению в системе ком-

пьютерной алгебры Mathematica 5.0 частично рекурсивных функций и отно-

шений и составлению программ для вычисления различных одноместных и

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

2. ТЕМАТИЧЕСКОЕ ПЛАНИРОВАНИЕ

№ ТЕМА

Всего

в трудоем

-

кости

В том числе

аудиторных

СРС

Всего

Лекции

Лаборат

.

1. Алгоритмы и частично рекурсивные

функции и отношения 22 14 10 4 8

2. Машины Тьюринга 27 18 8 10 9

3. Разрешимые отношения 23 15 10 5 8

4. Сложность алгоритмов 18 10 10 8

Всего: 90 57 38 19 33

3. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ

1. Частично рекурсивные функции. Основные требования к алгорит-

мам. Необходимость уточнения понятия алгоритма. Понятие вычислимой

функции. Числовые функции, исходные для построения частично рекурсив-

ных функций. Операторы подстановки, примитивной рекурсии, минимиза-

ции. Тезис Черча. Частично рекурсивные функции и рекурсивные предикаты.

Определение примитивно рекурсивных функций. Рекурсивные предикаты

(отношения). Ограниченные суммы, произведения, обобщения и подтвер-

ждения с ограниченными кванторами, ограниченные μ-операторы.

2. Машины Тьюринга. Вычислимые по Тьюрингу функции. Тезис

Тьюринга. Понятие нумерации множества и эффективно счетного множест-

ва. Нумерация машин Тьюринга и ее применение к проблеме остановки.

Page 5: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

3. Разрешимые отношения. Определение машины с неограниченными

регистрами (МНР) и функции, вычислимой при помощи МНР. Универсаль-

ной функции. Применение универсальной функции к проблеме неразреши-

мости. Теорема о параметризации. Разрешимые и перечислимые множества.

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

другой проблеме. Временная сложность машины Тьюринга. Теорема Блюма

об ускорении. Классы P и NP.

4. ТЕМАТИКА ЛАБОРАТОРНЫХ ЗАНЯТИЙ

п/п

Наименование

раздела

учебной дисцип-

лины

Наименование

лабораторных работ

Всего

часов

1 Частично рекур-

сивные функции и

отношения

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

функций в системе Mathematica 5.0 2

Представление частично рекурсивных

функций в системе Mathematica 5.0 2

2 Машины Тьюрин-

га

Знакомство с симулятором машины Тью-

ринга 2

Одноместные функции, вычислимые по

Тьюрингу 2

Двухместные функции, вычислимые по

Тьюрингу 2

Функции, определяемые по кусочной

схеме 2

Удвоение. Синтез машин Тьюринга 2

3 Разрешимые от-

ношения

Усеченная разность и модуль разности 2

Разрешимые по Тьюрингу отношения 3

ИТОГО: 18

Page 6: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

7. РЕКОМЕНДАЦИИ К САМОСТОЯТЕЛЬНОЙ РАБОТЕ СТУДЕНТОВ

Рекомендации по организации самостоятельной работы студентов:

1) Практические занятия по всем разделам с последующей проверкой

домашней работы.

2) Самостоятельное изучение отдельных вопросов, решение задач и до-

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

ного решения.

На самостоятельную работу выносятся следующие вопросы.

1) Доказательство вычислимости частично рекурсивных функций.

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

произведениях, кванторах и μ-операторах.

3) Проверка изменений конфигураций для всех рассматриваемых про-

грамм машин Тьюринга.

4) Применение универсальной функции и теоремы о параметризации к

доказательству теорем о неразрешимости проблем

5) Меры сложности

9. ВОПРОСЫ К ЭКЗАМЕНУ

1. Интуитивное определение алгоритма и вычислимой функции

2. Определение и простейшие свойства разрешимых множеств

3. Определение перечислимого множества как образа вычислимой функ-

ции и через частичную характеристическую функцию

4. Определение примитивно рекурсивных функций (ПРФ)

5. Определение частично рекурсивных функций

6. Вычислимость частично рекурсивных функций. Тезис Черча

7. Общерекурсивные, но не примитивно рекурсивные функции

8. Применение оператора подстановки для построения ПРФ

9. Применение схемы рекурсии для одноместной функции

10. Применение схемы рекурсии для двухместной функции

Page 7: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

11. Усеченная разность и модуль разности как ПРФ

12. Отношения равенства и неравенства примитивно рекурсивны

13. Отношения порядка примитивно рекурсивны

14. Разрешимые отношения (рекурсивные предикаты)

15. Ограниченные суммы как операторы для построения ПРФ

16. Ограниченные произведения как операторы для построения ПРФ

17. Обобщение и подтверждение с ограниченными кванторами

18. Построение ПРФ с помощью ограниченного μ-оператора

19. Функции, задаваемые по кусочной схеме

20. Команды, конфигурации и программы машины Тьюринга

21. Функции, вычислимые по Тьюрингу. Тезис Тьюринга

22. Нумерация множества упорядоченных пар натуральных чисел

23. Применение нумерации машин Тьюринга к проблеме остановки

24. Существование функции, невычислимой по Тьюрингу

25. Машины с неограниченными регистрами (МНР)

26. Определение и примеры МНР вычислимых функций

27. Определение и примеры универсальных функций

28. Универсальная функция для класса всех ПРФ

29. Применение универсальной функции к неразрешимым проблемам

30. Теорема о параметризации (с неформальным доказательством)

31. Разрешимые и неразрешимые отношения (проблемы)

32. Алгоритмическая сводимость одной проблемы к другой

33. Теорема Райса

34. Временная сложность машины Тьюринга. Аксиомы Блюма

35. Верхняя граница меры сложности

36. Теорема Блюма об ускорении

37. Недетерминированные машины Тьюринга и классы NP.

38. Взаимоотношения между классами P и NP

Page 8: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

10. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА

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

1. Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. – М.: БИНОМ, Лабо-

ратория знаний, 2008. – 208 с.

2. Игошин В.И. Задачи и упражнения по математической логике и теории ал-

горитмов. - М.: Академия, 2007. – 304 с.

3. Игошин В.И. Математическая логика и теория алгоритмов. – М.: Акаде-

мия, 2008. – 448 с.

4. Судоплатов С.В., Овчинникова Е.В. Математическая логика и теория алго-

ритмов. - М.: Инфра-М, 2008. – 224 с.

2. Дополнительная литература

1. Мальцев А.И. Алгоритмы и рекурсивные функции. – М. Наука, 1986. – 368

с.

2. Фалевич Б.Я. Теория алгоритмов. – М.: Машиностроение, 2008. – 160 с.

3. Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. –

М.: Мир, 1983. – 256 с.

4. Мирзоев В.Н. Теория алгоритмов (теория вычислимых функций). –

Воронеж, 2004. – 74 с.

5. Кормен Е., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и

анализ. М., «Вильямс». – 2005. – 1296 с.

Page 9: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образо-

вания «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра информатики и методики преподавания математики

Комплект учебно-методических материалов к учебной дисциплине:

Теория алгоритмов

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

для направления 540200 «Физико-математическое образование» Профиль «Информатика»

Ведущий лектор:

Вахитов Р.Х, доцент, кандидат физико-математических наук, доцент

Воронеж 2011

Page 10: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Лекция № 1.

ТЕМА: СЧЕТНЫЕ МНОЖЕСТВА. ОПРЕДЕЛЕНИЕ АЛГОРИТМА

Основные вопросы, рассматриваемые на лекции:

1. Счетные множества

2. Интуитивное понятие алгоритма

3. Определение эффективно вычислимой функции

4. Необходимость уточнения понятия алгоритма и вычислимой функции

Краткое содержание лекционного материала

Множество V называется n-элементным, если множество первых n на-

туральных чисел {1,…,n} взаимно однозначно отображается на множество V.

Множество V называется счетным, если множество всех натуральных

чисел N взаимно однозначно отображается на множество V.

Множество V называется конечным, если V=∅ (т.е. 0-элементное) или

оно n-элементное для некоторого натурального числа n.

Множество V называется бесконечным, если оно не является конечным.

Множество V называется несчетным, если оно бесконечно и не счет-

ное. Например, множества N, Z, Q – счетные, а множества R, C – несчетные.

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

(1) бесконечное подмножество счетного множества – счетное множество;

(2) множество V{1,2 ,…,n} всех последовательностей конечной длины элемен-

тов счетного множества V есть счетное множество;

(3) объединение счетного множества счетных множеств есть счетное множе-

ство;

(4) множество VN всех счетных последовательностей элементов счетного

множества V есть несчетное множество.

Алфавит A – это конечный список символов. Слово в алфавите A – это

конечная последовательность символов алфавита A.

В силу (2), множество An всех слов длины n в алфавите A, – счетное.

В силу (2) и (3), множество A* всех слов в алфавите A, – счетное.

Page 11: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Пусть U и V – счетные множества, а M – множество всех отображений

f:U→V, определяемых каким-либо конечным списком слов в алфавите A. То-

гда, в силу (1), (2) и (3), множество M счетное.

В силу (4), множество VU всех отображений f :U→V несчетное.

Множество M счетное, а множество VU несчетное. Отсюда следует, что

существуют отображения счетного множества в счетное же множество, кото-

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

Основные черты (или основные требования к определению) интуитив-

ного понятия алгоритма: массовость, определенность, дискретность, детер-

минированность, направленность. Примеры алгоритмов: арифметические

действия над числами в десятичной записи; алгоритм Евклида нахождения

НОД двух чисел. Эффективно вычислимые и вычислимые функции. Необхо-

димость уточнения понятия алгоритма: 1) для решения задач неразрешимо-

сти; 2) для изучения теоретических вопросов информатики.

Строгие определения понятия алгоритма (машины Тьюринга, нормаль-

ные алгорифмы Маркова, частично рекурсивные функции и т.д.) найдены,

изучены и успешно применяются в математике и информатике.

Лекция № 2.

ТЕМА: ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ

Основные вопросы, рассматриваемые на лекции:

1. Функции, исходные для построения частично рекурсивных функций

2. Оператор подстановки, или суперпозиции

3. Оператор примитивной рекурсии

4. Оператор минимизации, или μ-оператор

5. Определение частично рекурсивной функции

Краткое содержание лекционного материала

Функции, исходные в построении частично рекурсивных функций:

• одноместная нулевая функция o(x)=0;

• одноместная функция прибавления единицы, или следования, s(x)=x+1;

• n-местные функции выбора координаты, или проекции (n>0, i=1,…,n),

Page 12: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Iin(x1,...,x n)=xi. В частности, – тождественная функция. xxI =)(1

1

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

раторы, используемые в построении частично рекурсивных функций:

• (m+1)-местные операторы суперпозиции, или подстановки, S m +1;

• двухместный оператор примитивной рекурсии R;

• одноместный оператор минимизации M (или μ-оператор).

Говорят, что функция h получена из функций f и m функций g1, …, gm

при помощи оператора суперпозиции S m +1 и пишут h=S m +1(f,g1,…,gm), если

h(x1,...,xn)=f(g1(x1,...,xn),…,gm(x1,...,xn)) для всех x1,...,x n∈N (m≥1, n≥0).

Когда определено значение функции h(x1,...,x n)?

h(x1,...,xn) определено и равно z, если

g1(x1,...,xn) определено и равно y1,

………………………………………,

gm(x1,...,xn) определено и равно ym,

f (y1,…,ym) определено и равно z;

иначе h(x1,...,x n) не определено.

Если m=1, то h=S 2 (f,g) является обычной композицией функций g и f.

Говорят, что функция h получена из функций f и g при помощи опера-

тора примитивной рекурсии R и пишут h=R(f,g), если:

h(x1,…,xn−1,0)=f(x1,…,xn−1),

h(x1,…,xn−1,y+1)=g(x1,…,xn−1,y,h(x1,…,xn−1,y))

для всех x1,…,xn−1,y∈N (n≥1). При n=1 f является константой.

Когда определено значение функции h(x1,…,xn−1,y)?

h(x1,…,xn−1,y) определено и равно zy, если

f(x1,…,xn−1) определено и равно z0,

g(x1,…,xn−1,0,z0)) определено и равно z1,

g(x1,…,xn−1,1,z1)) определено и равно z2,

……………………………………………….,

Page 13: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

g(x1,…,xn−1,y−1,zy−1)) определено и равно zy;

иначе h(x1,…,xn) не определено.

Пусть функция f(x1,…,xn−1,y) удовлетворяет условию "либо значение

f(x1,…,xn−1,y) не определено для всех y, либо найдется число y0, такое, что

значение f(x1,…,xn−1,y) определено для всех y≤y0 и равно xn для y=y0".

Запись μy[f(x1,…,xn−1,y)=xn] означает "наименьшее y, такое, что

f(x1,…,xn−1,y) определено и равно xn".

Говорят, что функция g получена из функции f при помощи оператора

минимизации M и пишут g=M(f), если g(x1,…,xn)=μy[f(x1,…,xn−1,y)=xn]

для всех x1,…,xn,y∈N (n≥1).

Когда определено значение функции g(x1,…,xn)?

g(x1,…,xn) определено и равно y, если

f(x1,…,xn−1,0) определено и не равно xn,

f(x1,…,xn−1,1) определено и не равно xn,

…………………………… ….……………,

f(x1,…,xn−1,y−1) определено и не равно xn,

f(x1,…,xn−1,y) определено и равно xn;

иначе g(x1,…,xn) не определено.

Если n=1, f – биекция, то g=f−1 является функцией, обратной к f.

Заметим, что операторам примитивной рекурсии и минимизации в про-

граммировании соответствуют циклы типа for ("для") и while ("пока").

Числовая функция называется частично рекурсивной функцией, если

построена строго по следующим правилам:

1) функции o, s, I in f частично рекурсивны;

2) если функции f, g1, …, gm частично рекурсивны, то функция

h=S m +1(f,g1,…,gm) тоже частично рекурсивна;

3) если функции f, g частично рекурсивны, то функция h=R(f,g) тоже

частично рекурсивна;

Page 14: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

4) если функции f частично рекурсивна, то функция g=M(f) тоже час-

тично рекурсивна.

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

Теорема 1. Любая частично рекурсивная функция вычислима.

Утверждение, обратное к теореме 1, не является теоремой и даже ак-

сиомой, а является непреложным фактом (законом) практики.

Тезис Чёрча. Любая вычислимая функция частично рекурсивна.

Аргументы в пользу тезиса Черча: 1) все известные нам вычислимые

функции оказываются частично рекурсивными: 2) все уточнения понятия ал-

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

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

равны; 3) машины Тьюринга послужили прообразом первых электронно-

вычислительных машин; 4) замена вычислимых функций частично рекур-

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

теоретические вопросы компьютерных наук.

Частично рекурсивные функции, вообще говоря, не всюду определен-

ны, например, функция x−1 частично рекурсивна: μy[sy=x]=μy[y+1=x]=x−1, но

не определена при x=0.

Лекция № 3.

ТЕМА: ПРИМИТИВНО РЕКУРСИВНЫЕ ФУНКЦИИ И ОТНОШЕНИЯ

Основные вопросы, рассматриваемые на лекции:

1. Определение примитивно рекурсивных функций (ПРФ)

2. Применение оператора подстановки для построения ПРФ

3. Схема примитивной рекурсии для одноместной функции

4. Схема примитивной рекурсии для двухместной функции

5. Усеченная разность и модуль разности

Краткое содержание лекционного материала

Числовая функция называется примитивно рекурсивной функцией, если

построена строго по следующим правилам:

1) функции o, s, I in f частично рекурсивны;

Page 15: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

2) если функции f, g1, …, gm частично рекурсивны, то функция

h=S m +1(f,g1,…,gm) тоже частично рекурсивна;

3) если функции f, g частично рекурсивны, то функция h=R(f,g) тоже

частично рекурсивна.

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

Теорема 2. Любая частично рекурсивная функция всюду определенна и

вычислима.

Утверждение, обратное к теореме 2, неверно: т.н. функция Аккермана

частично рекурсивна и всюду определена, но не примитивно рекурсивна.

При помощи оператора подстановки доказывается, что постоянные

функции примитивно рекурсивны. Доказательство приведем, без потери

общности, на примере функции f (x,y)=3: f (x,y)=ssoI12(x,y).

Еще одно применение оператора подстановки: если функция получена

из ПРФ перестановкой, повторением или удалением аргументов, то тоже бу-

дет ПРФ. Доказательство приведем, без потери общности, на примере функ-

ции g(x,y,z)=f (y,x,z), где f (x,y,z) есть ПРФ: g=S4(f ,I23,I3

3,I13).

Приведем схему примитивной рекурсии для одноместной функции:

h(0)=f0=const,

h(x+1)=g(x,h(x)).

При помощи этой схемы доказываем, что функции – сигнум sg и анти-

сигнум gs являются ПРФ. Например, сигнум sg – ПРФ:

sg(0)=0,

sg(x+1)=1=soI12(x,sg(x)).

Приведем схему примитивной рекурсии для двухместной функции:

h(x,0)=f(x),

h(x,y+1)=g(x,y,h(x,y)).

При помощи этой схемы доказываем, что сложение x+y, умножение xy

и возведение в степень xy – ПРФ. Например, функция f+(x,y)=x+y – ПРФ:

Page 16: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

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

f+(x,y+1)=sI33(x,y,f+(x,y)).

Вычитание не всюду определенная функция. Рассматриваются сле-

дующие две ПРФ: усеченная разность yxyx −=−& , если yx ≥ , иначе усе-

ченная разность считается, равной 0, и модуль разности. При помощи опера-

тора примитивной рекурсии последовательно доказывается, что 1−&x и yx −&

ПРФ. Модуль разности тоже ПРФ, так как )()(|| xyyxyx −+−=− && .

Лекция № 4.

ТЕМА: ПРИМИТИВНО РЕКУРСИВНЫЕ ПРЕДИКАТЫ

Основные вопросы, рассматриваемые на лекции:

1. Рекурсивные предикаты и операции над ними

2. Определение примитивно рекурсивных отношений

3. Отношения равенства и неравенств (≠, <, >, ≤, ≥)

Краткое содержание лекционного материала

Предикат – это математическое предложение, которое при замене пе-

ременных их значениями принимает истинностное значение. Логические

операции над предикатами определяются также как и над высказываниями.

Какие бы числовые значения из N не принимали переменные x1, …, xn

отрицание истинно ⇔ предикат ) истинен, ),...,)(( 1 nxxP¬ ,...,( 1 nxxP

дизъюнкция истинна ⇔ хотя бы один из предика-

тов и истинен,

),...,)(( 1 nxxQP ∨

),...,( 1 nxxQ),...,( 1 nxxP

конъюнкция истинна ⇔ одновременно оба предиката

и истинны.

),...,)(( 1 nxxQP ∧

),..., nx),...,( 1 nxxP ( 1xQ

Теорема 3. Если предикаты P и Q примитивно рекурсивны, то предика-

ты P¬ , QP ∨ и QP ∧ тоже примитивно рекурсивны.

Доказательство. Из условия следует, что характеристические функции

λP и λQ примитивно рекурсивны. Представим характеристические функции

λ¬P, λP∨Q и λP∧Q в виде примитивно рекурсивных функций:

Page 17: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

PP gs λ=λ¬ ,

)( QPQP sg λ+λ=λ ∨ ,

QPQP λ⋅λ=λ ∧ .

Функция называется ⎩⎨⎧

=λ.ложно),...,(если,0

истинно,),...,(если,1),...,(

1

11

n

nnP xxP

xxPxx

характеристической функцией отношения P(x1,…,xn), x1,…,xn∈N.

Предикат (отношение) P(x1,…,xn) называется примитивно рекурсив-

ным, если примитивно рекурсивна его характеристическая функция.

Полное и пустое отношения nNP = и ∅=P примитивно рекурсивны,

так как их характеристические функции 1=nNχ и 0=χ∅ – постоянные.

Теорема 4. Отношения равенства и порядка примитивно рекурсивны.

Доказательство. Вначале установим связь операций усеченной разно-

сти и модуля разности с отношениями равенства и порядка:

1||0||0|| =−⇔=−⇔=−⇔= yxgsyxsgyxyx ;

1)(0)(0 =−⇔=−⇔=−⇔≤ yxgsyxsgyxyx &&& ;

0)(1)(0 =−⇔=−⇔≠−⇔> yxgsyxsgyxyx &&& .

Затем представим характеристические функции отношений равенства,

неравенства и четырех порядков в виде примитивно рекурсивных функций:

yxsgyx −=λ= ),( ,

yxgsyx −=λ≠ ),( ,

)(),( yxgsyx −=λ≤ & ,

)(),( yxsgyx −=λ> & ,

)),(),((),( 21

22 yxIyxIgsyx −=λ≥ & ,

)),(),((),( 21

22 yxIyxIsgyx −=λ< & .

Пример. Отношение ≤ примитивно рекурсивно, так как характеристи-

ческая функция λ≤ выражается через ПРФ антисигнума и усеченной разности

при помощи оператора подстановки, поэтому примитивно рекурсивна.

Page 18: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Лекция № 5.

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

Основные вопросы, рассматриваемые на лекции:

1. Ограниченные суммы примитивно рекурсивны

2. Ограниченные произведения примитивно рекурсивны

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

4. Формулы обобщения с ограниченными кванторами существования

5. Ограниченные операторы минимизации

Краткое содержание лекционного материала

Мы рассмотрим новые операторы построения ПРФ.

Применяя оператор подстановки, можно доказать, что суммы и произ-

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

тивно рекурсивны. Кроме конечных сумм и произведений, в математике

встречаются также ограниченные суммы и произведения

Пример. Последовательность an является функцией f(n) от натурально-

го аргумента n. Ограниченная сумма 11

...v

ii

a a a=

v= + +∑ является функцией от

от натурального аргумента v. Обозначим эту функцию fΣ(v). Заметим, что мы

имеем дело с неким оператором с аргументом f и значением fΣ (у нас нет не-

обходимости обозначать этот оператор).

Теорема 5. Пусть f(x1,…,xn,y) – примитивно рекурсивная функция.

Тогда также примитивно рекурсивны следующие функции:

( )( )

⎪⎩

⎪⎨⎧

<=

∑<≤

; если,0

, если,,,...,,,,...,

11Σ

vu

vuixxfvuxxf viu

nn

( )( )

⎪⎩

⎪⎨⎧

<=

∏<≤

. если,1

, если,,,...,,,,...,

11Π

vu

vuixxfvuxxf viu

nn

Доказательство. Применим рекурсию (параметры опустим) для fΣ:

( ) ( )( ) ( ) ( ) ( )⎩

⎨⎧

−⋅+=+==

.),(1,,00,

ΣΣ

Σ

vugsvfvufvufuouf

&

Page 19: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Действительно, fΣ(u,v+1)=f(u)+…+f(v)=fΣ(u,v)+f(v), если u<v−1, т.е.

u≤v, или 1)( =− vugs & . Аналогично применим рекурсию для fΠ:

( ) ( )( ) ( ) ( ) ( )

⎩⎨⎧

⋅=+==

− .),(1,,10,

ΠΠ

Πvugsvfvufvuf

usouf&

Заметим, что: )()()( vfififviuviu

+= ∑∑<≤≤≤

и ∏ ∏≤≤ <≤

+=viu viu

vfifif )()()( .

Далее рассмотрим формулы с ограниченными кванторами.

Допустим, что на множестве N определено (m+1)-местное отношение

P(x1,…,xm,y). Для краткости опустим параметры x1,…,xm∈N. Напомним:

подтверждение ∃yP(y) истинно, если истинно P(y) хотя бы при одном

значении y, и ложно, если ложно P(y) для всех значений y;

обобщение ∀yP(y) истинно, если истинно P(y) для всех значений y, и

ложно, если ложно P(y) хотя бы при одном значении y.

Навешивание кванторов на примитивно рекурсивные отношения, во-

обще говоря, не приводит к примитивно рекурсивным отношениям.

Рассмотрим подтверждение и обобщение с ограниченными квантора-

ми. Если P(x1,…,xm,y) – (m+1)-местный предикат, то определим следующие

два (m+2)-местных предиката (с временным обозначением E и A):

( ) ( ) ( )[ ]( ) ( ) ( )[ ].,,...,,,...,,,,...,

,,,...,,,...,,,,...,

111

111

yxxPvyuyyxxPyvuxxA

yxxPvyuyyxxPyvuxxE

mmvyum

mmvyum

⇒≤≤∀⇔∀⇔

∧≤≤∃⇔∃⇔

≤≤

≤≤

Для краткости, без потери общности, предположим, что m=0.

Теорема 6. Если P(y) –примитивно рекурсивное отношение, то отно-

шения E(u,v) и A(u,v) тоже примитивно рекурсивны.

Доказательство. Характеристическая функция λP(y) примитивно ре-

курсивна по условию. Характеристические функции λE(u,v) и λA(u,v) мож-

но представить в виде примитивно рекурсивных функций:

( ) ( )

( ) ( ).,

,,

≤≤

≤≤

λ=λ

λ=λ

vyuPA

vyuPE

yvu

ysgvu

Page 20: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

В силу теоремы 4, функции λE(u,v) и λA(u,v) являются ПРФ.

Оператор минимизации μy[…] не сохраняет примитивную рекурсив-

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

зации μyy≤z[…], который сохраняет примитивную рекурсивность функций.

μyy≤z[f(x1,…,xn−1,y)=xn] равно μy[f(x1,…,xn−1,y)=xn], если последнее

определено и не больше z; иначе μyy≤z[f(x1,…,xn−1,y)=xn] равно z.

Теорема 7. Пусть примитивно рекурсивная функция f(x1,…,xn−1,y), та-

кая, что либо значение f(x1,…,xn−1,y) не определено для всех y, либо най-

дется число y0, такое, что значение f(x1,…,xn−1,y) определено для всех y≤y0 и

равно xn для y=y0. Тогда функция g(x1,…,xn−1,z)=μyy≤z[f(x1,…,xn−1,y)=xn]

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

Доказательство. Мы, без потери общности, опускаем параметры (n=1,

xn=x). Предположим, что f(0)≠x, f(1)≠x, …, f(y0−1)≠x, f(y0)=x, где 0≤y0≤z.

Тогда sg |f(0)−x |+sg |f(0)−x |⋅sg |f(1)−x |+…+sg |f(0)−x |⋅…⋅sg |f(y0−1)−x |+…

+sg |f(0)−x |⋅…⋅sg |f(y0)−x |+…+sg |f(0)−x |⋅…⋅sg |f(z)−x |=1+1⋅1+…+{0 1

1 ... 1y −

⋅ ⋅ +…

+{0 1

1 ... 1y −

⋅ ⋅ ⋅0+…+{0 1

1 ... 1y −

⋅ ⋅ ⋅0⋅∗⋅…⋅∗=0

1 1 ... 1y

+ + +14243 +0+…+0=y0 (где ∗ равно 0 или 1).

Значит, функция ( ) ( )0 0

|kz

k i

g z sg f i x= =

|= −∑ ∏ примитивно рекурсивна.

Лекция № 6.

ТЕМА: МАШИНЫ ТЬЮРИНГА. ВЫЧИСЛИМОСТЬ ПО ТЬЮРИНГУ

Основные вопросы, рассматриваемые на лекции:

1. Устройство машины Тьюринга

2. Команды машины Тьюринга

3. Работа машины Тьюринга

4. Вычислимые по Тьюрингу функции. Тезис Тьюринга

5. Примеры вычислимых по Тьюрингу функций

6. Синтез машин Тьюринга

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

Page 21: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Краткое содержание лекционного материала

Алан Тьюринг в 1936 году с целью точного определения понятия алго-

ритма придумал абстрактную вычислительную машину, которую впоследст-

вии назвали машиной Тьюринга.

Устройство машины Тьюринга:

1) лента, разделенная на ячейки и бесконечная в обе стороны;

2) «вычислитель», который обозревает некоторую ячейку, считывает

символ с ячейки, стирает этот символ и вписывает новый символ в ячейку,

затем перемещается на одну ячейку влево или вправо;

3) конечный список внутренних состояний с началь-

ным состоянием и заключительным состоянием ;

0 1{ , ,..., }mQ q q q=

0q1q

4) конечный список внешних символов – символов яче-

ек и символа , обозначающего пустую ячейку;

0 1{ , ,..., }nV v v v=

1,..., nv v 0v

5) программа – список команд вида , или , при-

чем, каждой паре соответствует не более одной пары ,

i j k lq v v q i j lq v Lq i j lq v Rq

l li jq v kv q Lq или lRq

(где , , 0,1,...,i l m= , 0,1,...,j k = n 0i, ≠ , а ,L R – дополнительные символы,

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

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

Пусть s1 – крайний левый и s2 – крайний правый символ на ленте. Тогда

последовательность символов ленты s1...s2 называется машинным.

Программа машины Тьюринга – это список команд, т.е. четверок вида

qiajakql, qiajLql или qiajRql, где i,j,k,l∈N, i≠0, причем, каждой паре qiaj соответ-

ствует не более одной пары akql, Lql или Rql.

Конфигурация машины Тьюринга – это слово машины Тьюринга, до-

полненное в любом месте одним из символов qi, причем, слева и справа мо-

жет быть дописано любое число символов пустой клетки a0. Смысл конфигу-

рации s1...qisj...s2 в том, что в данный момент времени машина находиться в

Page 22: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

состоянии qi и обозревает клетку с символом sj. При этом машина выполняет

команду, начинающуюся с пары qisj, и переходит к следующей конфигура-

ции, согласно следующим правилам:

конфигурация до выполне-

ния команды команда

конфигурация до выпол-

нения команды

s1...qiaj...s2 qiajakql s1...qlak...s2

s1...sxqiaj...s2 qiajLql s1...qlsxaj...s2

qis1...s2, s1=aj qiajLql qla0s1...s2

s1...qiajsx...s2 qiajRql s1...ajqlsx...s2

s1...qis2, s2=aj qiajRql s1...s2qla0

Рассмотрим следующий двухэлементный список внешних символов:

. Представим натуральное число как слово, состоящее из

единиц: . Числовая -местная функция

0 1{ , } {_,1}Q q q= =

1k + 1k

k

{1

1

1...1k

k

+

+

= = n 1( ,..., )nf x x назы-

вается вычислимой по Тьюрингу, если существует машина Тьюринга, которая

конфигурацию 1 11 _..._x 11 nx1q ++ преобразует в конфигурацию с машинным

словом , если функция 11y+1( ,..., )nf x x определена и равна , и останавлива-

ется не в заключительном состоянии (нет команды для очередной конфигу-

рации!) или не останавливается, если функция

y

1 ,( ..., )nf x x не определена.

Нетрудно убедиться, что для машины Тьюринга выполняются все тре-

бования, предъявляемые к интуитивному понятию алгоритма. Отсюда и из

определения вычислимой функции следует следующее утверждение:

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

Обратное утверждение называется тезисом Тьюринга:

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

Тезис Тьюринга не доказывается, а принимается как закон науки. Пе-

речислим аргументы в его пользу: 1) все известные вычислимые функции

оказываются вычислимыми по Тьюрингу; 2) все методы построения вычис-

Page 23: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

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

лимых по Тьюрингу; 3) машина Тьюринга была прообразом первых элек-

тронно-вычислительных машин; 4) машина Тьюринга существенно исполь-

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

Приведем примеры вычисления функций на машинах Тьюринга.

1) Функция следования ( ) 1s x x= + вычислима по Тьюрингу. Вот под-

ходящая программа машины Тьюринга: . Если на входе дано 1 1 11 ; _1q Lq q q0

3x = , то изменения конфигурации следующие: . 1 1 0_1111 11111q q q→ →1111

2) Нулевая функция ( ) 0o x = вычислима по Тьюрингу. Пишем про-

грамму: q q . Изменения конфигурации (1 2 21_ ; _q Rq0 1 0; _1q q 3x = ):

1 2 1 2 1 2 1111 _11 _ 11 _ _1 __ 1 __ _ ___ ___ 1q q q q q q q→ → → → → → → 0q

k

.

3) Функция проекции 1( ,..., )nk nI x x x= , где 1 k n≤ ≤ , вычислима по Тью-

рингу. Составим программу функции nkI в случае 2,n 1k= = , то есть функ-

ции 21 1 2 1( , )I x x x= : . Изменения кон-

фигурации выглядят следующим образом (

1 1 31 ; ;q Rq q1 2 2 3_ ; 1_q Rq q q 2 2_ ; _Rq q

2, 1

0_ q

x y= = ):

1 1 1 1111_11 1 11_11 11 1_11 111 _11 111_ 11q q q q q→ → → → 2 →

0q

3 2 3 2111_ _1 111__ 1 111__ _ 111___ 111___q q q q→ → → → .

Предположим, что машины T и U имеют общий внешний алфавит A и

их внутренние состояния q1, …, qi, q00 и qi+1, …, qn, q0 соответственно. Тогда

произведением TU машин T и U называется машина с внешним алфавитом A

и с внутренними состояниями q1, …, qi, qi+1, …, qn, q0, при условии, что в ко-

мандах T символ q00 заменяется на qi+1. На ленте мы располагаем "память", и

поэтому должны следить за тем, чтобы работа T и U не затрагивала те участ-

ки ленты, в которых располагается "память".

Синтез машин Тьюринга позволяет доказывать, операторы подстанов-

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

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

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

Page 24: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Лекция № 7.

ТЕМА: ФУНКЦИИ, ВЫЧИСЛИМЫЕ ПО ТЬЮРИНГУ

Основные вопросы, рассматриваемые на лекции:

1. Одноместные функции, вычислимые по Тьюрингу

2. Двухместные функции, вычислимые по Тьюрингу

3. Функции, определяемые по кусочной схеме

Краткое содержание лекционного материала

Функция f:N0n→N0 с областью определения D⊆N0

n называется вычис-

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

чисел x1,x2,…,xn∈N0

начальную конфигурацию 1111 1_..._1_1 21 +++ nxxxq преобразует в заклю-

чительную конфигурациюq01y+1, если (x1,x2,…,xn)∈D и y=f(x1,x2,…,xn),

и не выдает никакого результата, если (x1,x2,…,xn)∉D.

В частности, одноместная функция f:N0→N0 с областью определения

D⊆N0 называется вычислимой по Тьюрингу, если существует машина Тью-

ринга, которая для любых чисел x∈N0

начальную конфигурацию 111

xq + преобразует в заключительную

конфигурациюq01y+1, если x∈D и y=f(x),

и не выдает никакого результата, если x∉D.

Примеры

1) Программа Тьюринга для функции s:

_ 1

1 1 Н 0 1 Л 1

Преобразования конфигурации при x=2 (и y=3): q1111, q1_111, q01111.

2) Программа Тьюринга для функции o:

_ 1

1 1 Н 0 _ П 1Преобразования конфигурации при x=2 (и y=0):

q1111, _ _ _q1_, _ _ _q01.

Page 25: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Двухместная функция f:N0×N0→N0 с областью определения D⊆N0×N0

называется вычислимой по Тьюрингу, если существует машина Тьюринга, ко-

торая для любых чисел x,y∈N0

начальную конфигурацию 111 _1 1x yq + + преобразует в заключительную

конфигурациюq01z+1, если (x,y)∈D и z=f(x,y),

и не выдает никакого результата, если (x,y)∉D.

Примеры

1) Программа машины Тьюринга для функции I12:

I12 _ 1

1 _ П 2 1 П 12 _ Н 0 _ П 2

Преобразования конфигурации для I12при x=2, y=1, z=2:

q1111_11, 111q1_11, 111_q211, 111_ _ _q2, 111_ _ _q0.

2) Программа машины Тьюринга для функции o2:

o2 _ 1 1 _ П 2 _ П 1

2 1 Л 0 _ П 2

Преобразования конфигурации для o2 при x=2, y=1, z=0:

q1111_11, _ _ _q1_11, _ _ _ _q211, _ _ _ _ _ _q2, q0_1.

3) Программа машины Тьюринга для функции z=x+y:

x+y _ 1 1 1 П 2 1 П 1 2 _ Л 3 1 П 2 3 _ Л 4 4 _ Л 0

Преобразования конфигурации для z=x+y при x=2, y=1, z=3:

q1111_11, 111q1_11, 1111q211, 111111q2, 11111q31, 1111q41_, 111q01_ _.

Пусть заданы одноместные функции f1(x),…,fm(x) и одноместные пре-

дикаты (предложения) P1(x),…,Pm(x), причем, для всех x∈N0 ровно одно из

высказываний P1(x), …, Pm(x) истинно. Говорят, что одноместная функция

g(x) определена кусочной схемой (или перебором случаев), если

Page 26: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

⎪⎩

⎪⎨

⎧=

истинно.)(если,.......................................

истинно,)(если,)(

11

xPf

xPfxg

mm

для всех x∈N0.

Примеры

1) Программа машины Тьюринга для функции sg:

_ 1

1 1 П 2

2 _ Н 0 1 П 3

3 _ Н 0 _ П 3

Преобразования конфигурации: если x=0, y=0, то q11, 1q2, 1q0;

если x=1, y=1, то q111, 1q21, 11q3, 11q0;

если x=3, y=1, то q11111, 1q2111, 11q311, 11_ _q3, 11_ _q0.

2) Программа машины Тьюринга для функции

⎩⎨⎧

+==

=12если,1

,2если,0)2,(

mxmx

xrest

_ 1

1 1 Л 2 _ П 2

2 1 Н 0 _ П 1

Правый столбец задает цикл длины 2, пересчитывающий счетные еди-

ницы. При этом считывающая головка стирает все счетные единицы и оста-

навливается перед пустой ячейкой: в состоянии q2, если счетных единиц бы-

ло нечетно, и в состоянии q1, если счетных единиц было четно. Левый стол-

бец определяет соответствующие состояниям q2 и q1 ответы на ленте.

Преобразования конфигурации для четных чисел: если x=4, y=0, то

q111111, _q21111, _ _q1111, _ _ _q211, _ _ _ _q11, _ _ _ _ _q2, _ _ _ _ _q01.

Преобразования конфигурации для нечетных чисел: если x=3, y=1, то

q11111, _q2111, _ _q111, _ _ _q21, _ _ _ _q1, _ _ _q2_1, _ _ _q011.

Page 27: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Лекция № 8.

ТЕМА: НУМЕРАЦИЯ МАШИН ТЬЮРИНГА. ПРОБЛЕМА ОСТАНОВКИ

Основные вопросы, рассматриваемые на лекции:

1. Нумерация с повторениями и без повторений

2. Счетные и эффективно счетные множества

3. Нумерация декартова квадрата множества натуральных чисел

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

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

Краткое содержание лекционного материала

Отображение f:A→N называется нумерацией (или перечислением)

множества A, если f – сюръекция, т.е. ∀a∈A ∃n∈N f(a)=n . Само множество

A при этом может быть задано перечислением элементов:

A={a0,a1,…,an,…}, где a=an, если f(a)=n . Вообще говоря, нумерация

множества A является нумерацией с повторениями. Нумерация f:A→N назы-

вается нумерацией без повторения, если также f – инъекция, т.е. ∀a ,b∈A

[(f(a)=f(b)⇒a=b] (то есть f будет биекцией, или взаимно однозначным ото-

бражением множества A на N).

Множество A называется счетным, если существует биекция f:A→N.

Заметим, что при этом обратная функция f−1:N→A тоже биекция.

Счетное множество A называется эффективно счетным, если сущест-

вует биекция f:A→N, такая, что обе функции f и f−1 являются вычислимыми.

Теорема 8. Существуют биекция :C N N N× → и функции :L N N→ и

:R N N→ , которые ПРФ, и такие, что ( ( ), ( ))C L n R n n= для всех . n N∈

Доказательство. Построим нумерацию Кантора множества N N× .

Строка, начинающаяся с пары (0, )x y+ , содержит 1x y+ + пар. Первые

x y+ строк содержат ( ) ( )( )11 2 ...

2x y

x yx y+ + +

+ + + + = пар.

Следовательно, ( ) ( )( )1,

2x y x y

C x y x+ + +

= + , и ( ),C x y − ПРФ.

Page 28: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

(0,0)(0,1) (1,0)(0,2) (1,1) (0,2)............................................(0, 1) ... ( 1, ) ( , 1) ... ( 1,0)(0, ) ... ( 1, 1) ( , ) ( 1, 1) ... ( ,0)..........................

x y x y x y x yx y x y x y x y x y

→→ →→ → →

+ − → → − → − → → + − →+ → → − + → → + − → → + →

..........................................................................................

Чтобы показать, что соответствия ( )L n x= и ( )R n = y являются функ-

циями, причем, примитивно рекурсивными, мы обозначим: . Тогда

из равенства

k x y= +

( 1)2

k k x n++ = следует, что ( 1)

2k kx n +

= − и . y k x= −

Легко увидеть, что − это наибольшее число , что k k ( 1)2

k k n+< . Что-

бы применить ограниченный μ -оператор, мы рассмотрим l − это наимень-

шее число l , такое, что ( 1)2

l l n+≥ . Тогда k l 1= − .

Теперь мы последовательно построим следующие ПРФ:

2( 1)

2l nl ll l n≤

+⎡ ⎤= μ ≥⎢ ⎥⎣ ⎦; 1k l= −& ; ( 1( )

2k kL n n )+

= −& ; ( ) ( )R n k L n= −& .

Покажем, что C − биекция. Пусть 1 1 2 2( , ) ( , )C x y C x y n= =

1 2 ( )

. Тогда по оп-

ределению понятия функции получим, что x x L n= = и . 1 2 ( )y y R n= =

Рассмотрим все машины Тьюринга с одним и тем же (конечным или

счетным) внешним алфавитом A и такие, что их внутренние состояния при-

надлежат одному и тому же счетному множеству Ω. Без доказательства при-

ведем следующее утверждение: множество всех указанных машин эффек-

тивно счетное. Пусть T0, T1, … – нумерация машин Тьюринга с внешним ал-

фавитом A и с множеством внутренних состояний Ω. Тогда машина Ti вычис-

ляет некоторую n-местную функцию ϕni, i∈N, так, что: ϕn

i(x1,…,xn)=y, если

машина Ti начальную конфигурацию 1 1111 _..._1 nxxq ++ преобразует в заключи-

тельную конфигурацию q01y+1; иначе ϕni(x1,…,xn) не определено.

Page 29: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

При n=1 обозначим ϕni=ϕ1

i через ϕi.

Ясно, что ϕn0, ϕn

1, … – нумерация (с повторениями) всех n-местных вы-

числимых по Тьюрингу функций.

Пусть T0, T1, … – нумерация машин Тьюринга с алфавитом {0,1}.

Машина Tn называется самоприменимой, если машина Tn при примене-

нии к числу n останавливается.

Проблема самоприменимости. Существует ли вычислимая по Тью-

рингу функция s(n), такая, что s(n)=1, если машина Tn самоприменима, и

s(n)=0, если машина Tn несамоприменима.

Теорема 9. Проблема самоприменимости неразрешима.

Доказательство. Допустим, что существует машина S, которая вычис-

ляет функцию s(n). Рассмотрим машину S ′, отличающуюся от машины S до-

полнительным состоянием q0′, которое будет и новым заключительным со-

стоянием, а также отличающуюся от машины S двумя дополнительными ко-

мандами q011q0 и q000q0′.Если машина Tn самоприменима, то машина S ′ при

применении к числу n не останавливается (бесконечно переходит с 1 на 1).

Если машина Tn не самоприменима, то машина S ′ при применении к

числу n останавливается (и выдает результат 0). Значит, при применении к

числу n машина Tn останавливается тогда и только тогда, когда машина S ′ не

останавливается. Машина S ′ совпадает с некоторой машиной Ti, i∈N. Являет-

ся ли машина S ′=Ti самоприменимой? Мы не можем ответить ни да, ни нет,

так как при применении к числу i получается, что машина S ′=Ti и останавли-

вается, и не останавливается. Значит, машины S ′ и S не существуют.

Проблема остановки. Существует ли машина Тьюринга T, которая

вычисляет функцию t(m,n), такую, что t(m,n)=1, если машина Tm при приме-

нении к числу n останавливается, и t(m,n)=0, если машина Tn при применении

к числу n не останавливается.

Теорема 10. Проблема остановки неразрешима.

Page 30: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Доказательство. Если функция t(m,n) вычислима, то функция

s(n)=t(n,n) тоже вычислима, что противоречит теореме 9.

Лекция № 9.

ТЕМА: ФУНКЦИИ, НЕВЫЧИСЛИМЫЕ ПО ТЬЮРИНГУ

Основные вопросы, рассматриваемые на лекции:

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

2. Метод «усердного бобра», или соревнование машин Тьюринга

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

Краткое содержание лекционного материала

Используя нумерацию машин Тьюринга T0, T1, … и нумерацию функ-

ций вычислимых по Тьюрингу ϕn0, ϕn

1, …, построим двумя способами число-

вые функции, невычислимые по Тьюрингу. В силу тезиса Черча невычисли-

мые по Тьюрингу функции будут невычислимыми.

Теорема 11. Существует невычислимая k-местная числовая функция.

Доказательство. Определим функцию ψk(x,x1,…,xk−1) следующим об-

разом: ψk(x,x1,…,xk−1)=ϕxk(x,x1,…,xk−1)+1, если ϕx

k(x,x1,…,xk−1) определено, и

ψk(x,x1,…,xk−1)=0, если ϕxk(x,x1,…,xk−1) не определено.

Функция ψk отлична от всех функций ϕxk, x∈N. Значит, функция ψk не

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

Рассмотрим еще один метод построения невычислимых функций, из-

вестный в литературе также как метод «усердного бобра».

Для каждой машины Тьюринга Mi, i∈N, определим продуктивность

p(Mi) машины Mi следующим образом:

p(Mi)=ϕ i1(0), если ϕ i

1(0) определено;

p(Mi)=0, если ϕ i1(0) не определено.

Далее определим функцию p(n), n∈N. Число p(n) равно продуктивности

самой продуктивной машины Тьюринга с n состояниями (не считая q0).

Теорема 12 (Тибор Радо, 1962 г.). Функция p(n) невычислимая.

Page 31: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Доказательство. 1) p(n+1)>p(n). Действительно, если T – самая про-

дуктивная машина с n состояниями, то машина T ′, отличающаяся от машины

T дополнительным (и новым заключительным) состоянием q0′, а также отли-

чающаяся от машины T двумя дополнительными командами q001q0′ и q01Lq0.

Машина T′ имеет n+1 состояний и продуктивность p(n)+1, а продуктивность

самой продуктивной машины с n+1 состояниями будет не меньше продук-

тивности машины T′: p(n+1)≥p(n)+1>p(n).

2) Если m>n, то p(m)>p(n) (так как отношение порядка транзитивно).

3) Если ¬p(m)>p(n), то ¬m>n (по правилу контрапозиции).

4) Если p(m)≤p(n), то m≤n (так как отношение порядка линейно).

5) Легко увидеть, что существует машина Tn с n состояниями, продук-

тивность которой равна n.

6) Допустим, что машина S с k состояниями вычисляет функцию p(n).

Тогда продуктивность машины TnSS, с n+2k состояниями, полученной соеди-

нением трех машин Tn, S и S, равна p(p(n)). Так как продуктивность самой

продуктивной машины с n+2k состояниями не меньше продуктивности ма-

шины TnSS, то p(n+2k)≥p(p(n)).

7) Из пунктов 6) и 4) следует, что n+2k≥p(n). Это неравенство справед-

ливо для любого n∈N, поэтому верно, что n+2k+11≥p(n+11).

8) Ранее была построена машина T с n+11 состояниями и с продуктив-

ностью 2n. Так как продуктивность самой продуктивной машины с n+11 со-

стояниями не меньше продуктивности машины T, то p(n+11)≥2n.

9) Из пунктов 7) и 8) следует, что n+2k+11≥2n.

10) Сократив на n, получим: 2k+11≥n. Полученное неравенство неверно

для всех n, начиная с n=2k+12. Следовательно, не существует машины Тью-

ринга S, вычисляющей функцию p(n).

Page 32: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Лекция № 10.

ТЕМА: МАШИНЫ С НЕОГРАНИЧЕННЫМИ РЕГИСТРАМИ

Основные вопросы, рассматриваемые на лекции:

1. Устройство машин с неограниченными регистрами (МНР)

2. Программа и выполнение команд МНР

3. Конфигурации и примеры программ МНР

4. Избыточность команды переадресации

Краткое содержание лекционного материала

В 1963 г. Шепердсон и Стерджис рассмотрели идеализированный ком-

пьютер – машину с неограниченными регистрами (МНР).

МНР – это лента, бесконечная в одну сторону и разбитая на ячейки, ко-

торые называются регистрами и обозначаются R1,R2,… Каждый регистр со-

держит некоторое неотрицательное целое число. Содержимое регистра Rn

обозначается rn, причем, только в конечном числе регистров rn≠0.

Программа МНР – это конечный список команд I1,I2,…,Is 4-х видов:

команда обнуления Z(n) (по этой команде rn:=0),

команда прибавления единицы S(n) (по этой команде rn:=rn+1),

команда переадресации T(m,n) (по этой команде rn:=rm),

команда условного перехода J(m,n,q).

Работа МНР начинается с выполнения команды I1. Допустим, что МНР

выполняет команду Ik, k=1,2,…,s. Если Ik одна из трех т.н. арифметических

команд Z(n), S(n) или T(m,n), то МНР меняет соответствующим образом

содержимое регистра Rn и переходит к следующей команде Ik+1. Если же

Ik=J(m,n,q), то МНР при rn=rm переходит к команде Iq и при rn≠rm перехо-

дит к следующей команде Ik+1. МНР останавливается тогда, когда нет коман-

ды для выполнения.

Конфигурацией МНР называется слово, составленное из символов на

регистрах ленты, включая все ненулевые символы.

Page 33: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Функция f(x1,…,xn) называется вычислимой МНР, если существует

МНР, которая, начиная работу с конфигурацией x1…xn000…, останавлива-

ется с конфигурацией y…, если f(x1,…,xn) определено и равно y, и не оста-

навливается, если f(x1,…,xn) не определенно.

Пример 1. Программа МНР для вычисления функции f(x,y)=5:

команды конфигурации

xy000

I1 Z(1) 0y00

I2 S(1) 1t00

I3 S(1) 2t00

I4 S(1) 3t00

I5 S(1) 4t00

I6 S(1) 5t00

Пример 2. Программа МНР для вычисления функции сигнума sg(x):

команды конфигурации

0000 (x+1)000

I1 J(1,2,4) 0000 (x+1)000

I2 Z(1) 0000

I3 S(1) 1000

Пример 3. Программа МНР для вычисления сложения x+y:

команды конфигурации

x000 xy00

I1 J(2,3,5) x000 xy00 (x+1)y10 … (x+y−1)y10 (x+y)yy0

I2 S(1) (x+1)y00 (x+2)y10 … (x+y)y(y−1)0

I3 S(3) (x+1)y10 (x+2)y20 … (x+y)yy0

I4 J(1,1,1) (x+1)y10 (x+2)y20 … (x+y)yy0

Page 34: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Пример 4. Программа МНР для вычисления функции выбора коорди-

наты 54 1 2 3 4 5( , , , , ) 4I x x x x x x= :

команды конфигурации

x1x2x3x4x50

I1 T(4,1) x4x2x3x4x5

Пример 5. Команда T(m,n) избыточная. Эту команду можно заменить

следующей программой, составленной из других команд:

команды конфигурации

x1…xm…

I1 Z(1) 0…xm…

I2 J(1,m,5) 0…xm… 1…xm… … xmxm…xm…

I3 Z(1) 1…xm… 2…xm… …

I4 J(1,1,2) 1…xm… 2…xm… …

Лекция № 11.

ТЕМА: УНИВЕРСАЛЬНЫЕ ФУНЦИИ. ТЕОРЕМА О ПАРАМЕТРИЗАЦИИ

Основные вопросы, рассматриваемые на лекции:

1. Определение универсальной функции

2. Универсальная функция для класса всех ЧРФ

3. Универсальная функция для класса всех ПРФ не является ПРФ

4. Применение универсальной функции к проблеме неразрешимости

5. Теорема о параметризации

Краткое содержание лекционного материала

Сечением (n+1)-местной функции f по (первой) переменной x называет-

ся n-местная функция fx, x∈N, такая, что для всех t1,…,tn∈N

fx(t1,…,tn)=f(x,t1,…,tn).

Существует ли программа, которая вычисляла бы все функции? В не-

котором смысле такие программы существуют.

Page 35: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

(n+1)-местная функция u называется универсальной для класса C, со-

стоящего из некоторых вычислимых n-местных функций, если:

1) ∀x∈N ux∈C;

2) ∀f∈C ∃x∈N f=ux.

Иначе говоря, класс C будет задано перечислением функций вида ux:

C={u0,u1,…,ui,…}.

Существует вычислимая универсальная функция для класса всех вы-

числимых n-местных функций.

Теорема 13. Пусть функция ψ определена следующим образом:

ψn(x,t1,…,tn)=(ϕx)n(t1,…,tn), (1)

где x,t1,…,tn∈N. Тогда ψ – вычислимая универсальная функция для класса

всех вычислимых на МНР n-местных функций.

(Неформальное) доказательство. Дано: x,t1,…,tn∈N. Декодируем но-

мер x, т.е. найдем МНР Tx с номером x. Затем Tx должно вычислить (1).

Вычислимые универсальные функции не всегда существуют.

Теорема 14. Не существует примитивно рекурсивной (общерекурсив-

ной) универсальной функции для класса всех n-местных примитивно рекур-

сивных (общерекурсивных) функций.

Доказательство. Допустим, что существует примитивно рекурсивная

универсальная функции u(x,t1,…,tn) для класса всех n-местных примитивно

рекурсивных функций. Тогда определим новую n-местную функцию сле-

дующим образом: для всех x,t1,…,tn∈N

g(t1,…,tn)=u(t1,t1,…,tn)+1.

Функция g примитивно рекурсивна, но отлична от каждой n-местной

примитивно рекурсивной функции ux. Получается противоречие.

Следовательно, не существует примитивно рекурсивной универсальной

функции для класса всех n-местных примитивно рекурсивных функций.

Page 36: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Следующую теорему мы приводим без доказательства: существует об-

щерекурсивная универсальная функция для класса всех n-местных прими-

тивно рекурсивных функций.

Отсюда и из теоремы 14 следует, что существует n-местная общерекур-

сивная, но не примитивно рекурсивная, функция.

Применим универсальную функцию ψ=ψ2 из теоремы 13 к решению

проблемы разрешимости "ϕx всюду определено".

Теорема 15. Пусть для всех x∈N отношение P(x) определено как от-

ношение "ϕx всюду определено". Тогда отношение P(x) неразрешимо.

Доказательство. Допустим, что отношение P разрешимо, т.е. его ха-

рактеристическая функция λP частично рекурсивна.

Определим новую числовую функцию: для всех x∈N

⎩⎨⎧

==+ϕ

=.0)(λ если 0,

,1)(λ если,1)()(

xxx

xgP

Px

Функция g(x) частично рекурсивна: g(x)=(ψ(x,x)+1)⋅sgλP.

Вычислимая функция g совпадает с одним из сечений ψ: ∃x∈N…g=ϕx.

Функция g=ϕx всюду определенная, поэтому, в частности, λP(x)=1, и

g(x)=ϕx(x)+1. Получается противоречие: ϕx(x)=ϕx(x)+1.

Следовательно, отношение P неразрешимо.

Каждое из сечений fx, x∈N, вычислимой двухместной функции f явля-

ется также вычислимой (одноместной) функцией. Значит, существует номер

i∈N, такой, что fx=ϕ i. Следующая теорема показывает, что номер i можно

эффективно вычислить по x. Эта теорема называется теоремой о параметри-

зации (или простой формой s-m-n-теоремы).

Теорема 16. Пусть f(x,t) – вычислимая функция. Тогда существует

всюду определенная вычислимая функция k(x), такая, что fx=ϕk (x ) .

(Неформальное) доказательство. Пусть МНР Ta с программой F вы-

числяет функцию f. Определим МНР с новой программой:

Page 37: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

команды конфигурации

t000

I1 T(1,2) tt00

I2 Z(1) 0t00

I3 S(1) 1t00

I4 S(1) 2t00

… … …

Ix+2 S(1) xt00

F f(x,t)…

Пусть y – номер этой программы в эффективной нумерации программ

МНР, т.е. построили МНР Ty. Определим: y=k(x). Эта функция по построе-

нию эффективно вычислима. f(x,t)=ϕy(t)=ϕk (x )(t).

Лекция №12.

ТЕМА: РАЗРЕШИМЫЕ И ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА

Основные вопросы, рассматриваемые на лекции:

1. Определение разрешимых множеств (отношений, предикатов)

2. Простейшие свойства разрешимых множеств

3. Определение перечислимых множеств

4. Основные свойства перечислимых множеств

Краткое содержание лекционного материала

Определение разрешимого множества и простейшие свойства, доказы-

ваемые с помощью интуитивного понятия алгоритма.

Характеристической функцией множества A⊆N называется функция

λA :N→N , такая, что λA (x )=1 для x∈A и λA (x )=0 для x∉A .

Аналогично определяются характеристические функции λR отношения

R(x)⊆Nn и λP предиката P(x), где x= (x1,…,xn)∈Nn – числовой вектор.

Множество A⊆N называется разрешимым, если его характеристиче-

ская функция λA является вычислимой. Иначе говоря, множество A⊆N раз-

решимо, если существует алгоритм, который для всех x∈N на вопрос «Верно

Page 38: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ли, что x∈A?» за конечное число шагов выдает ответ «Да», если x∈A , или

ответ «Нет», если x∉A .

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

ма), можно доказать следующие свойства разрешимых множеств.

1) Пустое множество ∅ и само множество N – разрешимые множества,

поскольку λ∅=0 и λN=1 (постоянные функции) – вычислимые функции.

2) Конечное множество A разрешимо: характеристическая функция λA

равна 0 за исключением конечного числа точек, поэтому вычислима.

3) Дополнение A′ разрешимого множества A (до множества N ) – раз-

решимое множество. Действительно, если функция λA вычислима, то функ-

ция λA ′ (x )=1−λA (x ) тоже вычислима.

4) Объединение A∪B двух разрешимых множеств A и B – разрешимое

множество. Действительно, если функции λA и λB вычислимые, то функция

λA∪B(x)=λA(x)+λB(x)−λA(x)⋅λB(x) тоже вычислима.

5) Пересечение A∩B двух разрешимых множеств A и B – разрешимое

множество. Действительно, если функции λA и λB вычислимые, то функция

λA∩B(x)=λA(x)⋅λB(x) тоже вычислима.

Определение перечислимого множества и основные свойства, доказы-

ваемые с помощью интуитивного понятия алгоритма.

Множество A⊆N называется перечислимым, если существует вычис-

лимая функция f :N→N , такая, что множество A является областью значений

функции f, т.е. A= f (N )={ f (n ) |n∈N}. Также говорят, что множество A пере-

числимо при помощи функции f.

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

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

1) Множества ∅ и N перечислимы, поскольку ∅ – образ нигде не опре-

деленной функции, а N – образ тождественной функции f (n )=n .

2) Конечное множество перечислимо, так как является областью значе-

ний функции, определенной на конечном множестве точек.

Page 39: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Дополнение A′ перечислимого множества A, вообще говоря, не являет-

ся перечислимым множеством.

3) Если множество A разрешимо, то A и его дополнение A′ – перечис-

лимые множества. Определим функции f и g следующим образом:

f (n )=n , если λA (n )=1, f (n ) не определено, если λA (n )=0;

g (n )=n , если λA (n )=0, g (n ) не определено, если λA (n )=1.

Тогда функции f и g вычислимы, A= f (N ) , B=g (N ) .

4) Объединение A∪B двух перечислимых множеств A и B – перечис-

лимое множество. Пусть функции f и g вычислимы, A= f (N ) , B=g (N ) . Тогда

определим функцию h следующим образом:

h (2m )= f (m ), если f (m ) определено, иначе h (2m ) не определено;

h(2m+1)=g(m), если g(m) определено, иначе h(2m+1) не определено.

Функция h вычислима и A∪B=h (N ) .

5) Пересечение A∩B двух перечислимых множеств A и B – перечисли-

мое множество. Пусть функции f и g вычислимы, A= f (N ), B=g (N ) . Тогда

вначале определим функцию h :N×N→N следующим образом:

h (m ,n )= f (m )=g (n) , если f (m ), g (n) определены и f (m )=g (n) , иначе

h (m ,n ) не определено. Функция h вычислима и A∩B=h (N×N ) .

Затем определим вычислимую функцию p :N→N×N , такую, что

N×N=p (N ) :

p (2m ⋅3 n)= (m ,n ) , иначе p(x) не определено.

Композиция функций p и h – вычислимая функция и A∩B=h (p (N ) ) .

Частичной характеристической функцией множества A⊆N называется

функция λA∗:N→N , такая, что λA∗(x )=1 для x∈A и λA∗(x ) неопределенно

для x∉A . Например, λ∅∗(x ) неопределенно для всех x∉N .

6) Если функция λA∗ вычислима, то множество A⊆N перечислимо.

Действительно, функция f, такая, что f (n)=n, если λA∗(x )=1, иначе

f (n) не определено, – вычислима и A= f (N ).

Page 40: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Лекция №13.

ТЕМА: СВОЙСТВА ПЕРЕЧИСЛИМЫХ МНОЖЕСТВ

Основные вопросы, рассматриваемые на лекции:

1. Теоремы о перечислимых множествах, доказываемые с помощью свой-

ства пошагового выполнения алгоритма

2. Теорема о частично характеристических функциях

3. Теорема Поста

4. Теорема о графике вычислимой функции

Краткое содержание лекционного материала

Мы рассмотрим теоремы перечислимых множеств, доказываемых с

помощью свойство пошагового выполнения алгоритма: при применении к

любому объекту алгоритм или не останавливается, или останавливается в ко-

нечное число шагов.

1) Множество A⊆N перечислимо тогда и только тогда, когда его час-

тичная характеристическая функция λA∗ вычислима.

Докажем, что если множество A⊆N перечислимо, то функция λA∗ вы-

числима. Пусть функция f вычислима, A= f (N ) . Тогда построим алгоритм

вычисления функции λA∗(x ) следующим образом:

(i) выполняется не более чем по n шагов для вычисления каждого из

значений f (k ), k≤n ;

(ii) если найдется такое число k, что f (k )=x , то λA∗(x )=1;

(iii) иначе пункты (i) - (ii) выполняются для числа n+1.

Если этот процесс продолжается бесконечно, то λA∗(x ) не определено.

Таким образом, перечислимое множество можно определить следую-

щим образом. Множество A⊆N перечислимо, если существует алгоритм, ко-

торый для всех x∈N на вопрос «Верно ли, что x∈A?» за конечное число ша-

гов выдает ответ «Да», если x∈A , и не выдает никакого ответа, если x∉A .

Page 41: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

2) (теорема Поста). Множество A⊆N разрешимо тогда и только тогда,

когда множества A и A′ перечислимы. Докажем, что если множества A и A′

перечислимы, то множество A разрешимо. Пусть функции f и g вычислимы,

A= f (N ) , A′=g (N ) . Тогда построим алгоритм вычисления функции λA (x ):

(i) выполняется не более чем по n шагов для вычисления каждого из

значений f (k ) и g (k ), k≤n ;

(ii) если найдется такое число k, что f (k )=x , то λA (x )=1;

(iii) если найдется такое число k, что g (k )=x , то λA (x )=0;

(iv) иначе пункты (i) - (iii) выполняются для числа n+1.

Построенный алгоритм правильный: так как A∪A′=N , то найдется та-

кое k, что f (k )=x или найдется такое l, что g ( l )=x ; так как A∩A′=∅ , то будет

либо f (k )=x , либо g ( l )=x .

Графиком функции f называется множество Γf={(x , f (x ) ) |x∈N}.

3) (теорема о графике вычислимой функции). График Γf функции f есть

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

Если функция f вычислима, то Γf – перечислимое множество: функция

g (x )= (x , f (x )) вычислима и Γf= f (N ) .

Докажем теперь, что если Γf – перечислимое множество, то функция f

вычислима. Пусть g :N→N×N , g (N )=Γ f . Построим алгоритм для вычисле-

ния функция f (x ) следующим образом:

(i) выполняется не более чем по n шагов для вычисления каждого из

значений g(k ), k≤n ;

(ii) если найдется такое число k, что g (k )= (x ,y ), то y= f (x );

(iii) иначе пункты (i) - (ii) выполняются для числа n+1.

Этот процесс либо останавливается с результатом y= f (x ) в случае, ко-

гда f (x ) определено, либо продолжается бесконечно в случае, когда f (x ) не

определено. Значит, построенный алгоритм вычисляет функцию f (x ).

Page 42: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

4) Множество A⊆N перечислимо тогда и только тогда, когда множест-

во A является областью определения некоторой вычислимой функции f, т.е.

A=Df = {x∈N | f (x ) определено}.

Докажем, что если A перечислимо, то A является областью вычислимой

функции. Пусть функция f вычислима, A= f (N ) . Тогда построим алгоритм

вычисления функции g(y) следующим образом:

(i) выполняется не более чем по n шагов для вычисления каждого из

значений f (x ), x≤n ;

(ii) если найдется такое число x, что f (x )=y , то g(y)=x ;

(iii) иначе пункты (i) - (ii) выполняются для числа n+1.

Если этот процесс продолжается бесконечно, то g(y) не определено.

Функция g вычислима и A=Dg.

Пусть теперь g – вычислимая функция и A=Dg. Тогда построим алго-

ритм вычисления функции h(x,n) следующим образом:

(i) выполняется не более чем по n шагов для вычисления каждого из

значений g(y), y≤n ;

(ii) если найдется такое число x, что g(y)=x , и h(x,k)≠y для всех k≤n ,

то h(x,k)=y ;

(iii) иначе пункты (i) - (ii) выполняются для числа n+1.

Функция h(x,n) вычислима и A=h (N×N ) . Используя функцию какую-

либо вычислимую функцию p :N→N×N , получим A= f (N )=p (h (N ) ) .

5) Множество A≠∅ перечислимо тогда и только тогда, когда множест-

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

Пусть функция f вычислима, A= f (N ) . Надо определить всюду опреде-

ленную вычислимую функцию g, такую, что A=g (N ). Предположим, что

A≠N , и δ∉A. Заметим, что нельзя просто определить g (n )=a , если f (n )=a , и

g (n )=δ, если f (n ) не определено. Алгоритм будет работать бесконечно, а мы

запишем результат? Построим алгоритм вычисления функции g(x):

Page 43: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

(i) выполняется не более чем по n шагов для вычисления каждого из

значений f(k), k≤n ;

(ii) если найдется такое число k, что f (k )=a , и g(k)≠a для всех k≤n , то

g(n)=a ; иначе принимается g(n)=δ.

Функция g всюду определенна, вычислима и A=g(N ) .

Двухместным отношением на множестве N называется любое множе-

ство упорядоченных пар чисел (x,y): R={(x,y)|x,y∈N}. Вместо (x,y)∈R пи-

шут R(x,y) (и говорят, что отношение R(x,y) истинно).

Отношение R(x,y) называется разрешимым, если вычислима его харак-

теристическая функция λR :N×N→N , такая, что λR (x ,y)=1, если R(x,y) ис-

тинно, и λR (x ,y)=0, если R(x,y) ложно.

Первой и второй проекциями отношения R(x,y) называются множества

π 1={x∈N |R (x ,y ) истинно} и π 2={y∈N |R (x ,y ) истинно}.

6) Множество A⊆N перечислимо тогда и только тогда, когда является

(первой или второй) проекцией некоторого разрешимого отношения. Иначе

говоря, множество A⊆N перечислимо тогда и только тогда, когда существует

отношение R(x,y), такое, что n∈A⇔ (∃y∈N )R (n ,y ) для всех n∈N (или

n∈A⇔ (∃x∈N )R (x ,n ) для всех n∈N).

Докажем, что если отношение R(x,y) разрешимо (даже, если перечис-

лимо), то его проекция π1 есть перечислимое множество. Пусть функция f

вычислима, R= f (N ) . Тогда функция g, такая, что g(n)=x, если f (n )= (x ,y ), и

g(n) не определено, если f (n ) не определено, – вычислима и π 1= f (N ).

Докажем, что если множество A перечислимо, то A есть проекция π 1

некоторого разрешимого отношения R(x,n). Пусть функция f вычислима,

A= f (N ) . Построим алгоритм для вычисления λR (x ,n):

(i) выполняется не более чем по n шагов для вычисления каждого из

значений f(k), k≤n ;

(ii) если найдется такое число k, что f (k )=x , то λR (x ,n )=1; иначе

λR (x ,n )=0.

Page 44: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Функция λR всюду определенна, вычислима и A=π 1.

Задачи

№ 1. Рассмотрим некоторую функцию f : U→V . Образом множества

A⊆U называется множество f (A )={ f (x ) |x∈A}, а прообразом множества

B⊆V – множество f −1(B )={x∈U | f (x ) определено и x∈B}. В частности, об-

раз множества U есть область значений функции f, а прообраз множества V –

область определения функции f. Теперь, допустим, что f :N→N – вычислимая

функция, A,B⊆N – перечислимые множества. Доказать, что образ f (A ) мно-

жества A и прообраз f −1(B ) множества B – тоже перечислимые множества.

№ 2. Функция f :N→N называется не строго возрастающей, если для

всех x,y∈N из x≤y следует, что f (x)≤f (y). Доказать, что непустое множество

A⊆N разрешимо тогда и только тогда, когда оно перечислимо помощи всюду

определенной не строго возрастающей функции.

№ 3. Пусть A,B⊆N – перечислимые множества, но непересекающиеся,

т.е. A∩B≠∅. Доказать, что существует перечислимые множества A ′⊆A,

B′⊆B, такие, что A′∩B′=∅ и A′∪B′=A∪B.

№ 4. Доказать, что любое бесконечное перечислимое множество вклю-

чает в себя бесконечное разрешимое множество.

№ 5. Доказать, что для любой вычислимой функции f :N→N существу-

ет вычислимая функция g :N→N , такая, что g( f (x))=x для всех x∈N, для ко-

торых f (x) определено.

№ 6. Диофантово уравнение – это уравнение P(x1,…,xn)=0, где

P(x1,…,xn) – многочлен с целыми коэффициентами. Пусть A – множество

диофантовых уравнений, имеющих целые решения. Множество A неразре-

шимо (так называемая «10-я проблема Гильберта», ее решил Ю.В. Матиясе-

вич в 1970 г.). Доказать, что множество A перечислимо.

Page 45: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Лекция № 14.

ТЕМА: СВОДИМОСТЬ ПРОБЛЕМ

Основные вопросы, рассматриваемые на лекции:

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

2. Сведение одной проблемы к другой проблеме

3. Проблема остановки для ЧРФ

4. Лемма о сведении проблемы P(x,x) к проблеме P(x,y).

5. Лемма о сведении проблемы P(k(x)) к проблеме P(x)

Краткое содержание лекционного материала

Говорят, что проблема P(x1,…,xn), x1,…,xn∈N, неразрешима, если от-

ношение P(x1,…,xn) неразрешимо. Сводимость проблем используется при

доказательстве неразрешимости проблем следующим образом. Если пробле-

ма Q(x1,…,xn) сводится к проблеме P(x1,…,xn) и проблема Q(x1,…,xn) не-

разрешима, то проблема P(x1,…,xn) тоже неразрешима.

Пусть P(x1,…,xn), Q(x1,…,xn) – два отношения, x1,…,xn∈N. Говорят,

что проблема Q(x1,…,xn) сводится к проблеме P(x1,…,xn), если из разре-

шимости отношения P(x1,…,xn) следует разрешимость отношения

Q(x1,…,xn).

Лемма 1. Проблема Q(x)≡P(x,x) сводится к проблеме P(x,y).

Доказательство. Пусть отношение P(x,y) разрешимо, т.е. характери-

стическая функция λP(x,y) рекурсивна. Тогда

λQ(x)=λP(x,x)= (x), т.е. характеристическая функция λQ(x) ре-

курсивна, а отношение Q(x) разрешимо. Значит, проблема Q(x) сводится к

проблеме P(x,y).

3 11 1(λ , , )QS I I1

Алгоритм вычисления частично рекурсивной функции f для каждого

входа x либо не останавливается (⇔ f(x) не определено), либо останавлива-

ется с результатом f(x) (⇔ f(x) определено).

Теорема 17. Проблема (самоприменимости для частично рекурсивных

функций) Q(x)≡«ϕx(x) определено» неразрешима.

Page 46: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Доказательство. Предположим, что отношение Q(x) разрешимо, т.е.

характеристическая функция λQ(x) рекурсивна. Тогда функция −λQ(x) час-

тично рекурсивна. Значит, −λQ=ϕn для некоторого индекса n∈N. Тогда:

если ϕn(n) определено, то λQ(n)=1, ϕx(n)=−1, ϕn(n) не определено;

если ϕn(n) не определено, то λQ(n)=0, ϕx(n)=0, ϕn(n) определено.

Получается противоречие. Значит, проблема Q(x) неразрешима.

Теорема 18. Проблема (остановки для частично рекурсивных функ-

ций) P(x,y)≡«ϕx(y) определено» неразрешима.

Доказательство. Применим лемму 1 к теореме 17.

Таким образом, теоремы 17 и 18 показывают, что невозможно написать

программу, которая для каждой вычислимой функции f и для каждого числа x

определяла бы – значение функции f(x) определено или нет, равно 0 или нет.

Теорема 19. Проблемы «ϕx(x)=0» и «ϕx(y)=0» неразрешимы.

Доказательство. Пусть Q(x)≡«ϕx(x)=0» и P(x,y)≡«ϕx(y)=0» Пред-

положим, что Q(x) разрешимо, т.е. характеристическая функция λQ(x) ре-

курсивна. Значит, λQ=ϕn для некоторого индекса n∈N. Тогда:

если ϕn(n)=0, то λQ(n)=1, ϕn(n)=λQ(n)≠0;

если ϕn(n)≠0, то λQ(n)=0, ϕn(n)=λQ(n)=0.

Получается противоречие. Значит, проблема Q(x) неразрешима.

В силу леммы 1, проблема P(x,y) тоже неразрешима.

Лемма 2. Пусть k(x) – всюду определенная рекурсивная функция. То-

гда проблема Q(x)≡P(k(x)) сводится к проблеме P(x).

Доказательство. Пусть отношение P(x) разрешимо, т.е. характеристи-

ческая функция λP(x) рекурсивна. Тогда λQ(x)=λP(k(x)), т.е. характеристи-

ческая функция λQ(x) рекурсивна, а отношение Q(x) разрешимо. Значит,

проблема Q(x) сводится к проблеме P(x).

Теорема 20. Проблема «ϕx – всюду определенная функция» неразре-

шима.

Page 47: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Доказательство. Пусть P(x)≡«ϕx – всюду определенная функция».

Рассмотрим функцию f(x,y)=ϕx(x), x,y∈N. Функция f(x,y) частично рекур-

сивна, так как f(x,y)= (x,y), где U(x,y)=ϕx(y) – частично рекур-

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

функций. По теореме о параметризации f(x,y)=ϕk (x )(y) для некоторой всюду

определенной рекурсивной функции k(x).

3 21 1( , , )S U I I 2

Если ϕx(x) определено, то f(x,y) определено для всех y∈N, ϕk (x )(y)

определено для всех y∈N, функция ϕk (x ) всюду определенная.

Если ϕx(x) не определено, то f(x,y) не определено для всех y∈N,

ϕk (x )(y) не определено для всех y∈N, функция ϕk (x ) нигде не определенная.

Значит, ϕx(x) определено ⇔ функция ϕk (x ) всюду определенная.

Отсюда следует, проблемы «ϕx(x) определено» и P(k(x)) одновремен-

но разрешимы или неразрешимы. В силу теоремы 17, проблема P(k(x)) не-

разрешима. В силу леммы 2, проблема P(x) неразрешима.

Теорема 21. Проблема «ϕx=o» неразрешима.

Доказательство. Пусть P(x)≡«ϕx=o». Рассмотрим частично рекурсив-

ную функцию f(x,y)=o(ϕx(x)), x,y∈N. Вновь по теореме о параметризации

f(x,y)=ϕk (x )(y) для некоторой всюду определенной рекурсивной функции

k(x).

Если всюду ϕx(x) определено, то f(x,y)=0 для всех y∈N, ϕk (x )(y)=0

для всех y∈N, функция ϕk (x ) совпадает с нулевой функцией o.

Если всюду ϕx(x) не определено, то f(x,y) не определено для всех

y∈N, ϕk (x )(y) не определено для всех y∈N, в частности, ϕk (x )≠o.

Значит, ϕx(x) определено ⇔ ϕk (x )=o. Отсюда, в силу теоремы 14, сле-

дует, что проблема P(k(x)) неразрешима. Отсюда, в силу леммы 2, следует,

что проблема P(x) неразрешима.

Page 48: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Лекция № 15.

ТЕМА: ТЕОРЕМА РАЙСА. ЗАДАЧИ НА НЕРАЗРЕШИМОСТЬ ПРОБЛЕМ

Основные вопросы, рассматриваемые на лекции:

1. Теорема Райса

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

3. Другие задачи на неразрешимость проблем

Краткое содержание лекционного материала

Оказывается не существует программы, эффективная процедуры для

решения следующего вопроса:обладает ли данная вычислимая функция не-

которым нетривиальным свойством или нет?

Теорема 22 (Райс). Пусть W – множество всех частично рекурсивных

одноместных функций, ∅⊂A⊂W. Тогда проблема «ϕx∈A» неразрешима.

Доказательство. Пусть f∅ – нигде не определенная функция, и допус-

тим, что f∅∉A (если f∅∈A, то рассмотрим проблему «ϕx∈ A»). Так как A≠∅,

то ϕ i∈A для некоторого индекса i∈N. Определим новую функцию f(x,y)

следующим образом: f(x,y)=ϕ i(y)⋅ sg ϕx(x) для всех y∈N. По теореме о па-

раметризации f(x,y)=ϕk (x )(y) для некоторой всюду определенной рекурсив-

ной функции k(x).

Если ϕx(x) определено, то f(x,y)=ϕ i(y) для всех y∈N, ϕk (x )∈A.

Если ϕx(x) не определено, то f(x,y) нигде не определено, ϕk (x )=f∅∉A.

Значит, ϕx(x) определено ⇔ ϕk (x )∈A. Отсюда, в силу теоремы 1, лем-

мы 2, следует, что проблема «ϕx∈A» неразрешима.

Если f∅∈A, то f∅∉ A . Так как ∅⊂ A⊂W, то аналогично доказывается,

что проблема «ϕx∈ A» неразрешима. ϕx∈ A ⇔ ϕx∉A. Пусть λ1 и λ2 – харак-

теристические функции отношений ϕx∈A и ϕx∉A. Так как λ2= sg λ1, то про-

блема ϕx∉A сводится к проблеме ϕx∈A.

Таким образом, теоремы 20-22 показывают, что невозможно написать

программу, которая для каждой вычислимой функции определяла бы – явля-

Page 49: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ется ли эта функция всюду определенной или нулевой, обладает ли каким-

либо нетривиальным свойством вычислимых функций.

Теорема 23. Проблема «ϕx=ϕy» неразрешима.

Доказательство. Пусть P(x)≡«ϕx=o», Q(x,y)≡«ϕx=ϕy», и ϕ i=o для

некоторого индекса i∈N. Тогда λP(x)= (x), значит, проблема P(x)

сводится к проблеме Q(x,y). Отсюда, в силу теоремы 17, следует, что про-

блема Q(x,y) неразрешима.

3 11(λ , , )QS I o

Таким образом, теорема 23 показывает, что невозможно написать про-

грамму, которая для любых двух вычислимых функций определяла бы – рав-

ны эти функции или нет.

Задачи для самостоятельного решения. Докажите, что

1) ϕ i=o для некоторого индекса i∈N;

2) проблема входа «ϕx(c) не определено» неразрешима (c – константа);

3) проблема выхода «∃n∈N ϕx(n)=c» неразрешима (c – константа);

4) проблема «ϕx – нигде не определенная функция» неразрешима;

5) проблема «ϕx – постоянная функция» неразрешима;

6) проблема «ϕx=ϕc» неразрешима (c – константа);

7) проблема «ϕx – сюръекция» неразрешима;

8) проблема «ϕx – инъекция» неразрешима;

9) проблема «∃n∈N ϕx(n)=y» неразрешима;

10) проблема «∃m,n∈N ϕx(m)=ϕy(n)» неразрешима;

11) проблема «область определения ϕx бесконечна» неразрешима;

12) проблема «множество значений ϕx бесконечно» неразрешима.

Лекция № 16.

ТЕМА: МЕРЫ СЛОЖНОСТИ ФУНКЦИЙ

Основные вопросы, рассматриваемые на лекции:

1. Временная и емкостная сложность машин Тьюринга

2. Абстрактная мера сложности

3. Верхняя граница сложности алгоритмов

Page 50: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

4. Теорема об ускорении Блюма

Краткое содержание лекционного материала

Каждая машина Тьюринга Ti с номером i вычисляет для каждого числа

n>0 функцию ϕin от n переменных с номером i. Временной сложностью ма-

шины Ti называется функция tin, равная числу шагов машины Ti, сделанных

при вычислении функции ϕin (функция ti

n не определена тогда и только тогда,

когда функция ϕin не определена). Емкостной сложностью машины Ti назы-

вается функция sin, равная числу ячеек ленты машины Ti посещаемых в про-

цессе вычисления функции ϕin (функция si

n также не определена тогда и

только тогда, когда функция ϕin не определена).

Семейство функций {tin} называется абстрактной мерой сложности

семейства функций {ϕin}, если выполнены следующие аксиомы Блюма:

1) для каждого номера i функция tin не определена тогда и только тогда,

когда функция ϕin не определена;

2) для каждого номера i график Γ(tin) функции ti

n является разрешимым

множеством (определение: Γ in={(x1,…,xn,y)|y=ti

n(x1,…,xn,y)}).

Заметим, что график Γ(fin) (вычислимой) функции fi

n является только

перечислимым множеством. Напомним, что множество A⊆Nn является пере-

числимым (разрешимым), если существует алгоритм, который для каждого

числового вектора x=(x1,…,xn) на вопрос "x∈A?" отвечает положительно, если

x∈A, и не отвечает (отвечает отрицательно), если x∉A.

Временная и емкостная сложности машин Тьюринга являются абст-

рактными мерами сложности (удовлетворяют аксиомам Блюма).

Результаты о мерах сложности, которые выводятся из свойств вычис-

лимых функций и аксиом Блюма, называются машинно-независимыми.

Приведем некоторые теоремы о машинно-независимой сложности.

Вопрос о верхней границе сложности: существует ли вычислимая всю-

ду определенная функция h(x), такая, что для любой вычислимой функции

f(x) найдется машина Тьюринга Ti, вычисляющая функцию ϕi(x)=f(x), для ко-

Page 51: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

торой t i(x)≤h(x). Значения f(x) не могут быть сколь угодно большими. Ина-

че на запись ответа потребуется больше шагов машины Ti, чем h(x)).

Приведем без доказательства теоремы о верхней границе сложности.

Теорема 24. Для всякой общерекурсивной функция h(x) существует

общерекурсивная функция f(x) со значениями 0,1, которая вычисляется ма-

шиной Тьюринга Ti, так, что t i(x)>h(x) для всех x≥x0 для некоторого числа x0.

Это значит, верхняя граница меры сложности может быть больше поч-

ти всюду любой общерекурсивной функции.

Теорема 25. (теорема Блюма об ускорении). Для всякой общерекурсив-

ной функция r(x) существует общерекурсивная функция f(x) со значениями

0,1, которая вычисляется машиной Тьюринга Ti, и для которой найдется ма-

шина Тьюринга Tj, вычисляющая тоже функцию f(x), такая, что

r(t j(x))<t i(x) для всех x≥x0 для некоторого числа x0.

Если r(x)=2x, то запись 2(t j(x))<t i(x) означает, что мера сложности

уменьшена в 2 раза.

Лекция № 17.

ТЕМА: ЯЗЫКИ И ГРАММАТИКИ. ИЕРАРХИЯ ХОМСКОГО

Основные вопросы, рассматриваемые на лекции:

1. Слова в данном алфавите. Пустое слово. Конкатенация слов

2. Определения языка в данном алфавите

3. Определение грамматики. Грамматики типа 0,1,2,3

Краткое содержание лекционного материала

Алфавит A – это конечное непустое множество символов.

Конечная последовательность символов u=u1…um, где u1…um∈A, m∈N,

называется словом в алфавите A (или словом над алфавитом A). При этом

число m называется длиной слова u и обозначается |u | .

Слово длины 0 называется пустым словом и обозначается ε.

Два слова u=u1…um и v=v1…vn, где u1,…,um,v1,…,vn∈A, могут быть

соединены в одно слово uv=u1…umv1…vn (конкатенация слов u и v).

Page 52: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Через A∗ обозначается множество всех слов в алфавите A. Через A+ обо-

значается множество всех слов длины m>0 в алфавите A.

Конкатенацию двух слов можно рассматривать как бинарную опера-

цию u⋅v=uv в множестве A∗. Алгебраическая система (A∗,⋅,ε) является моно-

идом, а именно обладает следующими свойствами:

1) операция ⋅ ассоциативна, т.е. (u⋅v)⋅w=u⋅(v⋅w) для всех u,v,w∈A∗;

2) элемент ε является единицей операции ⋅, т.е. ε⋅u=u⋅ε=u для всех u∈A∗.

(Формальный) язык L в алфавите A – это произвольное подмножество

множества A∗, т.е. L⊆A∗.

Грамматика – это четверка Γ=(AN,AT,P,S), состоящая из двух непере-

секающихся алфавитов AN и AT, множества правил P и символа S∈AN. Сим-

волы алфавитов AN и AT называются соответственно нетерминалами и тер-

миналами (иначе, вспомогательными и основными символами). Символ S на-

зывается стартовым. Правила грамматики являются упорядоченными пара-

ми (u,v) слов в алфавите A∪B и обозначаются u→v.

Пусть α,β,u,v∈(AN∪AT)∗. Говорят, что слово γ непосредственно вы-

водится из слова δ, и пишут γ|=Γδ (или γ|=δ), если γ=αuβ, δ=αvβ, u→v –

правило из P. Говорят, что слово γ выводится из слова δ, если существует

последовательность слов α, θ1, …, θk, β слов в алфавите A∪B, такая, что

α|=θ1, θ1|=θ2, …, θk−1|=θk, θk|=β.

Грамматика Γ порождает язык L=L(Γ), если L={w∈A∗|w выводится из

S}. Две грамматики Γ1 и Γ2 называются эквивалентными, если L(Γ1)=L(Γ2).

В 1957 г. Ноам Хомский предложил следующую классификацию грам-

матик (и порождаемых ими языков): грамматики типа 0, 1, 2, 3.

Грамматика типа 0 (неограниченная) – это грамматика, в которой каж-

дое правило u→v из P никакими условиями не ограничивается.

Грамматика типа 1 (контекстно-зависимая) – это грамматика, опреде-

ляемая правилами вида αСβ→αwβ, где α,β,w∈(AN∪AT)∗, С∈AN, w≠ε, или,

эквивалентным образом, правилами вида u→v, для которых |u|≤|v|.

Page 53: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Грамматика типа 2 (контекстно-свободная) – это грамматика, которая

определяется такими же правилами, что и контекстно-зависимая грамматика,

но без контекстов α и β, т.е. правилами вида С→w, где w∈(AN∪AT)+, С∈AN.

Грамматика типа 3 (или регулярная грамматика) – это грамматика, оп-

ределяемая правилами вида С→aD, С→a, где a∈AT, С,D∈AN.

Лекция № 18.

ТЕМА: КЛАССЫ СЛОЖНОСТИ P И NP

Основные вопросы, рассматриваемые на лекции:

1. Асимптоптические оценки функций

2. Класс P задач, решаемых за полиномиальное время

3. Примеры задач, решаемых и не решаемых за полиномиальное время

4. Класс NP . Взаимосвязь классов P и NP

Краткое содержание лекционного материала

Говорят, что функция )(ng является асимптотически точной оценкой

функции )(nf , и пишут ))((( n) gnf Θ= , если

)()()(00, 21021 ngcnfngcNnNncc ≤≤≤∈∀∈∃>∃ .

Говорят, что функция )(ng является асимптотически верхней оценкой

функции )(nf , и пишут ))((( n) gnf Ο= , если

)()(00 0 ncgnfNnNnc ≤≤∈∀∈∃>∃ .

Говорят, что функция )(ng является асимптотически точной нижней

оценкой функции )(nf , и пишут ))(()( ngnf Ω= , если

)()(00 0 nfncgNnNnc ≤≤∈∀∈∃>∃ .

Говорят, что функция )(nf асимптотически меньше функции )(ng , и

пишут ))(()( ngnf ο= , если

)()(00 0 ncgnfNnNnc <≤∈∀∈∃>∀ .

Говорят, что функция )(nf асимптотически больше функции )(ng , и

пишут ))(()( ngnf ω= , если

)()(00 0 nfncgNnNnc <≤∈∀∈∃>∀ .

Page 54: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Пусть ) - временная сложность решения задачи (max)(||

xtnt TnxT=

= Π , за-

писанной в виде строки x длины n символов машиной T по худшему слу-

чаю. Говорят, что машина T решает задачу Π за полиномиальное время, если

для некоторого полинома )))(n()( pOntT = (np . В проивном случае говорят,

что машина T решает задачу Π за экспоненциальное время.

Класс P - это класс задач, решаемых за полиномиальное время.

Нахождение эйлеровости графа осуществляется алгоритмом сложности

. Тривиальное нахождение гамильтоности графа осуществляется за

шагов. Полиномиального алгоритма для этой задачи неизвестно.

)( 2nO !n

В настоящее время неизвестно алгоритма полиномиальной сложности

для нахождения выполнимости формул КНФ (конъюнктивной нормальной

формы). Тривиальный алгоритм – это перебор наборов значений. n2

Недетерминированная машина Тьюринга (НТМ) имеет дополнительное

угадывающее устройство. Вначале угадывается решение, а потом НТМ как

машина Тьюринга проверяет, верно ли это решение.

Page 55: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Класс NP - это класс задач, решаемых за полиномиальное время НТМ.

Ясно, что . Скорее всего это включение строгое, но доказатель-

ства неизвестно. Если

NPP ⊆

NP∈Π , то существует полином )(np , - размерность

задачи Π , такой, что задача

n

Π решается детерминированным алгоритмом

сложности . ))(np2(O

Лекция № 19.

ТЕМА: NP-ПОЛНЫЕ ЗАДАЧИ

Основные вопросы, рассматриваемые на лекции:

1. Полиномиальная сводимость задач

2. NP-полные задачи

3. Теорема Кука

Краткое содержание лекционного материала

Пусть задачи распознавания, задаваемые в алфавитах со-

отвественно. Задача сводится к задаче

21 , ΠΠ 21 , AA

1Π 2Π , если существует словарная

функция , такая, что , где запись

означает, что

*2

*1 AA →:f ))(( 2

*1

+Π∈∈∈∀ xfxAx 1+ ⇔Π +Π i∈x

x задача из с ответом «Да», iΠ 2,1=i .

Отношение полиномиальной сводимости является рефлексивным,

симметричным и транзитивным.

Задача назыается NP-полной, если Π Π принадлежит классу NP и лю-

бая задача NP полиномиально сводится к задаче Π

Теорема Кука. Задача выполнимости КНФ является NP-полная.

Если NP-полная задача сводится к задаче 1Π 2Π класса NP, то задача

тоже NP-полная. 2Π

Примеры. 1) Задача о гамильтоновых циклах NP-полная.

2) Задача о целочисленном рюкзаке тоже NP-полная.

Page 56: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образо-

вания «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра информатики и методики преподавания математики

Комплект учебно-методических материалов к учебной дисциплине:

Теория алгоритмов

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ

для направления 540200 «Физико-математическое образование» Профиль «Информатика»

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

Вахитов Р.Х, доцент, кандидат физико-математических наук, доцент

Воронеж 2011

Page 57: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ЛАБОРАТОРНАЯ РАБОТА №1

Тема: Представление примитивно рекурсивных функций

в системе Mathematica 5.0

Продолжительность 2 часа

Цель: научиться применять систему компьютерной алгебры

Mathematica 5.0 для решения представления примитивно рекурсивных функ-

ций.

Задача: Представить функции следования, обнуления, проекции и опе-

раторы подстановки, примитивной рекурсии в системе Mathematica 5.0.

Теоретические сведения: Окно слева – «Блокнот» заполняется с кла-

виатуры: 2+2. Вычисление выполняется нажатием клавиш Enter+Shift. Файлы

можно сохранять. При первом сохранении файл именуется.

Окно справа – панель (палитра) математических символов. Для умно-

жения, например, можно использовать знак * с клавиатуры или знак × с ма-

тематической палитры.

Числовая функция f называется примитивно рекурсивной функцией, ес-

ли f построена за конечное число шагов из функций o, s, Iin применением

операторов подстановки S m+1 и примитивной рекурсии R.

Порядок выполнения работы

Нулевую функцию и функцию следования в системе Mathematica 5.0

можно определить по следующим командам:

o[x_]:=0;

s[x_]:=x+1;

Применение оператора подстановки g(f1(x1,…,xm),…,fm(x1,…,xm)) осуще-

ствляется следующим образом: g[f1[x1_,…,xm_],…,fm[x1_,…,xm_]].

Пример 1. Определение функции перестановкой аргументов. I31[x_,y_,z_]:=x; I32[x_,y_,z_]:=y; I33[x_,y_,z_]:=z; g[x_,y_,z_]:=f[I32[x,y,z],I33[x,y,z],I31[x,y,z]]; g[x,y,z] f[y,z,x]

Page 58: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Пример 2. Определение постоянной функции. h[x_,y_,z_]:=s[s[s[s[s[o[I31[x,y,z]]]]]]]; h[x,y,z] 5

Применение схемы примитивной рекурсии для одноместной функции.

Пример 3. Построение функции – сигнума. sg[0]=0; sg[x_]:=s[o[I21[x,sg[x-1]]]]; sg[5] 1

Применение схемы примитивной рекурсии для двухместной функции.

Пример 4. Построение операции сложения. S[x_,0]:=I1[x]; S[x_,y_]:=s[I33[x,y-1,S[x,y-1]]]; S[4,5] 9

Самостоятельно задание. Представить в системе Mathematica 5.0 по-

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

отношений равенств, "больше", "не больше".

ЛАБОРАТОРНАЯ РАБОТА №2

Тема: Представление частично рекурсивных функций

в системе Mathematica 5.0

Продолжительность 2 часа

Цель: научиться применять систему компьютерной алгебры

Mathematica 5.0 для решения представления частично рекурсивных функций.

Задача: Представить функцию Аккермана и оператор минимизации (на

примерах) в системе Mathematica 5.0.

Теоретические сведения: Числовая функция f называется частично

рекурсивной функцией, если f построена за конечное число шагов из функций

o, s, Iin применением операторов S m+1, R и M.

Числовая функция f называется общерекурсивной функцией, если f по-

строена за конечное число шагов из функций o, s, Iin применением операто-

ров S m+1, R и M, причем, оператор минимизации g=Mf применяется тогда и

только когда, когда f и g – всюду определенные функции. Примитивно ре-

Page 59: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

курсивные функции общерекурсивны, но, обратное утверждение, вообще го-

воря, неверно. так называемая функция Аккермана общерекурсивна, но не

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

Функция Аккермана определяется рекурсией по двум аргументам:

(0, ) 1y yα = + ;

( ,0) ( 1,1)x xα = α − , если 0x > ;

( , ) ( 1, ( , 1))x y x x yα = α − α − , если 0x > и . 0y >

Запись μy[f(x1,…,xn−1,y)=xn] означает "наименьшее y, такое, что

f(x1,…,xn−1,y) определено и равно xn".

Порядок выполнения работы

Функция Аккермана в системе Mathematica 5.0 можно определить по

следующей программе:

a[0,0]=1;

a[0,y_]:=y+1;

a[x_,0]:=a[x-1,1];

a[x_,y_]:= a[x-1,a[x,y-1]];

В компьютерной системе Mathematica 5.0 с целью представления при-

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

функций используем команду while. Программа

x=1; While[P[x],x++]; Print[x]

тестирует P[x] для x, и если P[x] истинно, то тестирует P[x] для x+1, если

P[x] ложно, то печатает x.

Пример 1. Функция x−1=μy[s(x)=0]. y=1; While[s[y]≠x,y++]; x=12; Print[y] 11

Пример 2. Функция x−y=μz[x+z=y]. x=12; y=15; z=1; While[x+z≠y,z++];

Page 60: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Print[z] 3

Пример 3.Функция [y ]x= (целая часть квадратного корня).

x= 50;y= 1;WhileAy2 <x,y++E;Print@ D 7

y−1

ЛАБОРАТОРНАЯ РАБОТА №3

Тема: Знакомство с симулятором машины Тьюринга

Продолжительность 2 часа

Цель: приобрести навыки обращения с симулятором машины Тьюрин-

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

Теоретические сведения: Каждая машина Тьюринга имеет конечное

число внутренних состояний q1, …, qn, q0 (на симуляторе обозначаются 1,…,

n, 0; состояния 1, …, n в программе занимают соответственно 1-ю, …, n-ю

строки). Состояние q1 называется начальным, а состояние q0 – заключитель-

ным. Машина Тьюринга начинает работу с состояния q1 и останавливается в

состоянии q0. Лента машины Тьюринга потенциально бесконечна в обе сто-

роны и разбита на ячейки. Внешний алфавит A – это конечное непустое

множество символов, которые по одному вписываются в ячейки ленты. Один

из символов алфавита A должен обозначать пустую ячейку. На симуляторе

для обозначения пустой ячейки используется символ _ (нижняя черта).

Мы используем обозначение 1k для слова на ленте, состоящего из k

единиц, причем, справа и слева все ячейки пустые. Неотрицательное целое

число n∈N0 на ленте записывается как 1n+1. (В примерах на симуляторе по-

ложительное целое число n∈N записывается как 1n). В каждый момент вре-

мени машина находится в некотором состоянии qi, где i=1,2,…,n, и обозре-

вает некоторую ячейку с символом aj∈A. Команда машины Тьюринга – это

упорядоченная пятерка qiajakДql (qiaj→akДql), где qi, ql – состояния маши-

Page 61: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ны, i≠0, aj,ak∈A, Д∈{Л,П,Н}, причем, для каждой пары qiaj определяется

не более одной тройки akДql. Поэтому команда можно обозначить qiaj.

Выполнение машиной команды qiajakДq: она, в состоянии qi и при

чтении символа aj, заменяет символ aj на символ ak, двигается вдоль ленты

на одну ячейку влево (Д=Л) или вправо (Д=П), или остается на месте (Д=Н),

и переходит на новое состояние ql.

Программа машины Тьюринга – это множество команд для данного

множества состояний q1, q2, …, qn, q0 и данного внешнего алфавита A.

В симуляторе машины Тьюринга программа представлена в виде таб-

лицы: со строками – состояниями и со столбцами – символами. На пересече-

нии строки "qi" и столбца "aj" пишется команда "ak Д ql" (с пробелами!).

Конфигурация машины Тьюринга – это слово _..._s1…qisj…sk_..._, где

qi – состояние машины, s1,…,sk∈A, s1…sk – слово на ленте, s1,sk≠_, 1≤j≤k,

sj – символ, который в данный момент обозревается на ленте.

Задания по знакомству с работой симулятора машины Тьюринга.

1. Добавить 3 ячейки с выбором символа 1; удалить ячейку.

2. Записать на ленте число 5 и пару (3,7).

3. Добавить строку; удалить строку.

4. Добавить столбец с выбором символа 1; удалить столбец.

5. Загрузить программу: умножение. Выполнить: 5⋅2.

6. Заменить исходные данные в ленте: добавить ячейку во втором ар-

гументе и удалить ячейку в первом аргументе. Выполнить 4⋅3.

7. Загрузить программу: вычитание. Выполнить: 5−2.

8. Заменить исходные данные в ленте: удалить 3 ячейки в первом аргу-

менте и прибавить 3 ячейки во втором аргументе. Выполнить 2−5.

ЛАБОРАТОРНАЯ РАБОТА №4

Тема: Одноместные функции, вычислимые по Тьюрингу

Продолжительность 2 часа

Цель: научиться решать задачи на составление программ машин Тью-

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

Page 62: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Задача: Составьте программу машины Тьюринга для вычисления од-

номестной функции y=f(x) и напишите пример преобразования начальной

конфигурации q11x+1 в заключительную конфигурацию (q0)1y+1 (с q0 на лю-

бом месте):

1) функция прибавления единицы s(x)=x+1;

2) функция f (x )=x+2;

3) нулевая функция o(x)=0;

4) функция g(x)=1.

Теоретические сведения: Функция f:N0n→N0 с областью определения

D⊆N0n называется вычислимой по Тьюрингу, если существует машина Тью-

ринга, которая для любых чисел x1,x2,…,xn∈N0

начальную конфигурацию 1111 1_..._1_1 21 +++ nxxxq преобразует в заклю-

чительную конфигурациюq01y+1, если (x1,x2,…,xn)∈D и y=f(x1,x2,…,xn),

и не выдает никакого результата, если (x1,x2,…,xn)∉D.

В частности, одноместная функция f:N0→N0 с областью определения

D⊆N0 называется вычислимой по Тьюрингу, если существует машина Тью-

ринга, которая для любых чисел x∈N0

начальную конфигурацию 111

xq + преобразует в заключительную

конфигурациюq01y+1, если x∈D и y=f(x),

и не выдает никакого результата, если x∉D.

Порядок выполнения работы

1) Программа Тьюринга для функции s:

_ 1

1 1 Н 0 1 Л 1

Преобразования конфигурации при x=2 (и y=3): q1111, q1_111, q01111.

2) Программа Тьюринга для функции f:

_ 1

1 1 Л 0 1 Л 1

Page 63: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

2 1 Н 0

Преобразования конфигурации при x=2 (и y=4):

q1111, q1_111, q2_1111, q011111.

3) Программа Тьюринга для функции o:

_ 1

1 1 Н 0 _ П 1Преобразования конфигурации при x=2 (и y=0):

q1111, _ _ _q1_, _ _ _q01.

4) Программа Тьюринга для функции g:

_ 1

1 1 Л 2 _ П 12 1 Н 0

Преобразования конфигурации при x=2 (и y=1):

q1111, _ _ _q1_, _ _ _q2_1, q011.

Самостоятельно выполнить задание для одной из функций вида

f(x)=x+k, k=3,4,5,…, и для одной из функций вида g(x)=k, k=2,3,4,…

ЛАБОРАТОРНАЯ РАБОТА №5

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

Продолжительность 2 часа

Цель: научиться решать задачи на составление программ машин Тью-

ринга для вычисления двухместных функций.

Задача: Составьте программу машины Тьюринга для вычисления

двухместной функции z=f(x,y) и напишите существенно отличающиеся

примеры преобразований начальной конфигурации q11x+1_1y+1 в заключи-

тельную конфигурацию (q0)1z+1 (с q0 на любом месте), если даны функции:

1) выбор координаты I12(x,y)=x и I2

2(x,y)=y;

2) f (x,y)=x+1 и f (x,y)=y+1;

3) нуль-функция o2(x,y)=0 и f (x,y)=1;

4) z=x+y+2 и сложение z=x+y;

Page 64: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

5) ⎩⎨⎧

≠∨≠=∧=

=,00если,1,00если,0

),(1 yxyx

yxf и ⎩⎨⎧

≠∧≠=∨=

=.00если,1,00если,0

),(2 yxyx

yxf

Теоретические сведения: Двухместная функция f:N0×N0→N0 с обла-

стью определения D⊆N0×N0 называется вычислимой по Тьюрингу, если су-

ществует машина Тьюринга, которая для любых чисел x,y∈N0

начальную конфигурацию 111 _1 1x yq + + преобразует в заключительную

конфигурациюq01z+1, если (x,y)∈D и z=f(x,y),

и не выдает никакого результата, если (x,y)∉D.

Порядок выполнения работы

1) Программа машины Тьюринга для функции I12:

I12 _ 1

1 _ П 2 1 П 12 _ Н 0 _ П 2

Преобразования конфигурации для I12при x=2, y=1, z=2:

q1111_11, 111q1_11, 111_q211, 111_ _ _q2, 111_ _ _q0.

Программа машины Тьюринга для функции I22:

I22 _ 1

1 _ П 0 _ П 1Преобразования конфигурации для I2

2 при x=2, y=1, z=1:

q1111_11, _ _ _q1_11, _ _ _ _q011.

2) Программа машины Тьюринга для функции f (x,y)=x+1:

x+1 _ 1 1 _ П 2 1 П 12 _ Н 3 _ П 23 _ Л 3 1 П 44 1 П 0

Преобразования конфигурации для f (x,y)=x+1 при x=2, y=1, z=3:

q1111_11, 111q1_11, 111_q211, 111_ _ _q2, 111_ _ _q3,

11q31_ _ _, 11q31_ _ _, 111q4, 111q4, 1111q0.

Программа машины Тьюринга для функции f (x,y)=y+1:

y+1 _ 1 1 1 Л 0 _ П 1

Page 65: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Преобразования конфигурации для f (x,y)=y+1 при x=2, y=1, z=2:

q1111_11, _ _ _q1_11, _ _ q0_111.

3) Программа машины Тьюринга для функции o2:

o2 _ 1 1 _ П 2 _ П 1

2 1 Л 0 _ П 2

Преобразования конфигурации для o2 при x=2, y=1, z=0:

q1111_11, _ _ _q1_11, _ _ _ _q211, _ _ _ _ _ _q2, q0_1.

Программа машины Тьюринга функции f (x,y)=1:

f (x,y)=1 _ 1

1 _ П 2 _ П 1

2 1 Л 3 _ П 2

3 1 Л 0

Преобразования конфигурации для f (x,y)=1 при x=2, y=1, z=1:

q1111_11, _ _ _q1_11, _ _ _ _q211, _ _ _ _ _ _q2, q3_1, q0_11.

4) Программа машины Тьюринга для функции z=x+y+2:

x+y+2 _ 1 1 1 П 0 1 П 1

Преобразования конфигурации для z=x+y+2 при x=2, y=1, z=5:

q1111_11, 111q1_11, 1111q011.

Программа машины Тьюринга для функции z=x+y:

x+y _ 1 1 1 П 2 1 П 1 2 _ Л 3 1 П 2 3 _ Л 4 4 _ Л 0

Преобразования конфигурации для z=x+y при x=2, y=1, z=3:

q1111_11, 111q1_11, 1111q211, 111111q2, 11111q31, 1111q41_, 111q01_ _.

5) Программа машины Тьюринга для функции f1(x,y):

f1(x,y) _ 1 1 1 Н 0 1 П 2 2 _ П 3 1 П 5

Page 66: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

3 1 Л 7 _ П 4 4 _ Н 0 1 Н 7

5 _ П 6 _ П 5

6 _ Н 0 _ П 6

7 _ Н 8 _ П 7

8 _ Л 8 1 Л 1

Команды q11, q2_, q31, q4_ вычисляют f1(0,0)=0.

Команды q11, q21, q51, q5_, q61, q6_ вычисляют f1(x+1,y)=1.

Команды q11, q2_, q31, q41, q71, q7_, q8_, q81, q1_ вычисляют f1(0,y+1)=1.

Самостоятельно выполнить задание для одной из функций вида

f (x,y)=x+k, f (x,y)=y+k и f (x,y)=k, где k=2,3,4,5,…, а также для одной из

функций вида z=x+y+k, где k=1,3,4,5,… Составить программу для f2.

ЛАБОРАТОРНАЯ РАБОТА №6

Тема: Функции, определяемые по кусочной схеме

Продолжительность 2 часа

Цель: научиться решать задачи на составление программ машин Тью-

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

Задача: Составьте программу машины Тьюринга для вычисления

функции y=f(x), определенной кусочной схемой, и напишите существенно

отличающиеся примеры преобразований начальной конфигурации q11x+1 в

заключительную конфигурацию вида (q0)1y+1 (с q0 на любом месте):

1) функция сигнум ⎩⎨⎧

>=

=;0если,1,0если,0

)(xx

xsg

2) функция антисигнум ⎩⎨⎧

>=

=;0если,0,0если,1

)(xx

xgs

3) функция усечённой разности yx −& (в случае, когда y=1)

⎩⎨⎧

≤>−

=−;1если,0

,1если,11

xxx

x &

Page 67: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

4) функция "остатка при делении на 2"

⎩⎨⎧

+==

=;12если,1

,2если,0)2,(

mxmx

xrest

5) функция "остатка при делении на 3"

⎪⎩

⎪⎨

+=+=

==

.23если,2,13если,1

,3если,0)3,(

mxmxmx

xrest

Теоретические сведения: Пусть заданы одноместные функции

f1(x),…,fm(x) и одноместные предикаты (предложения) P1(x),…,Pm(x), при-

чем, для всех x∈N0 ровно одно из высказываний P1(x), …, Pm(x) истинно.

Говорят, что одноместная функция g(x) определена кусочной схемой (или пе-

ребором случаев), если

⎪⎩

⎪⎨

⎧=

истинно.)(если,.......................................

истинно,)(если,)(

11

xPf

xPfxg

mm

для всех x∈N0.

Порядок выполнения работы

1) Программа машины Тьюринга для функции sg:

_ 1

1 1 П 2

2 _ Н 0 1 П 3

3 _ Н 0 _ П 3

Преобразования конфигурации: если x=0, y=0, то q11, 1q2, 1q0;

если x=1, y=1, то q111, 1q21, 11q3, 11q0;

если x=3, y=1, то q11111, 1q2111, 11q311, 11_ _q3, 11_ _q0.

Page 68: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

2) Программа машины Тьюринга для функции gs :

_ 1

1 1 П 2

2 1 Н 0 _ П 3

3 _ Н 0 _ П 3

Преобразования конфигурации: если x=0, y=0, то q11, 1q2_, 1q01;

если x=1, y=1, то q111, 1q21, 1_q3, 1_q0;

если x=3, y=1, то q11111, 1q2111_, 1_q311, 1_ _ _q3, 1_ _ _q0.

3) Программа машины Тьюринга для функции 1−&x :

_ 1

1 _ П 2

2 1 Н 0 1 Н 0

Преобразования конфигурации: если x=0, y=0, то q11, 1q2, 1q0;

если x=1, y=1, то q111, _q21, _q01;

если x=3, y=1, то q11111, _q2111, _q0111.

4) Программа машины Тьюринга для функции rest(x,2):

_ 1

1 1 Л 2 _ П 2

2 1 Н 0 _ П 1

Правый столбец задает цикл длины 2, пересчитывающий счетные еди-

ницы. При этом считывающая головка стирает все счетные единицы и оста-

навливается перед пустой ячейкой: в состоянии q2, если счетных единиц бы-

Page 69: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ло нечетно, и в состоянии q1, если счетных единиц было четно. Левый стол-

бец определяет соответствующие состояниям q2 и q1 ответы на ленте.

Преобразования конфигурации для четных чисел: если x=4, y=0, то

q111111, _q21111, _ _q1111, _ _ _q211, _ _ _ _q11, _ _ _ _ _q2, _ _ _ _ _q01.

Преобразования конфигурации для нечетных чисел: если x=3, y=1, то

q11111, _q2111, _ _q111, _ _ _q21, _ _ _ _q1, _ _ _q2_1, _ _ _q011.

5) Программа машины Тьюринга для функции rest(x,3):

_ 1 1 1 Л 3 _ П 22 1 Н 0 _ П 33 1 Л 2 _ П 1

Преобразования конфигурации для чисел, кратных 3: если x=3, y=0, то

q11111, _q2111, _ _q311, _ _ _q11, _ _ _ _q2, _ _ _ _q01.

Преобразования конфигурации для чисел вида 3m+1: если x=4, y=1, то

q111111, _q21111, _ _q3111, _ _ _q111, _ _ _ _q21, _ _ _ _ _q3, _ _ _ _q2_1,

_ _ _ _q011.

Преобразования конфигурации для чисел вида 3m+2: если x=5, y=1, то

q1111111, _q211111, _ _q31111, _ _ _q1111, _ _ _ _q211, _ _ _ _ _q31,

_ _ _ _ _ _q1, _ _ _ _ _q3_1, _ _ _ _ q2_11, _ _ _ _q0111.

Самостоятельно выполнить задание для одной из функций вида kx −&

f (x)=x+k, k=2,3,4,5,…, и для одной из функций вида rest(x,k), k=4,5,…

ЛАБОРАТОРНАЯ РАБОТА №7

Тема: Удвоение. Синтез машин Тьюринга

Цель: знать понятие синтеза машин Тьюринга и научиться решать за-

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

стических функций отношения равенства и отношений неравенств.

Задача 1: Составьте программу машины Тьюринга для вычисления для

функции удвоения y=2x.

Page 70: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Задача 2: Составьте программу машины Тьюринга для вычисления

двухместной функции

⎩⎨⎧

++

=+=2. на делится не если,1

2, на делится если,0)2)(mod(),(

yxyx

zxyxf

Порядок выполнения работы

Решение задания 1. Программа машины Тьюринга для функции уд-воения y=2x:

_ 1

1 _ Л 8 1 П 2

2 _ Л 3 1 П 2

3 _ Л 4

4 _ Л 5 1 Л 4

5 1 Л 6 1 Л 5

6 1 П 7

7 _ П 1 1 П 7

8 _ Л 8 _ Л 9

9 _ П 0 1 Л 9

Если x≠0, то начальная конфигурация состоит из x+1 единиц, а заклю-чительная – из 2x+1 единиц.

Запись самого числа x используется как счетчик числа единиц: стирая по одной единице в “счетчике”, мы на другом месте пишем две единицы.

Преобразования конфигурации при x=4 и y=8 до первой циклической перестановки включительно: q111111, 1q21111, 11111q2_, 1111q31_, 111q41_, q4_1111, q5_ _1111, q6_1_1111, 1q71_1111, 11q7_111_, 11_q1111.

Дальнейшие преобразования конфигурации до второй циклической пе-рестановки включительно: 11_1q2111, 11_1111q2_, 11_111q31, 11_11q41_, 11q4_111, 1q51_111, q5_11_ _111, q6_111_111, 1q8111_111, 1111q8_111, 1111_q1111.

Конфигурация после третьей циклической перестановки: 111111_q111.

Page 71: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Конфигурация после 4-й циклической перестановки: 11111111_q11.

Конфигурация после 5-й циклической перестановки: 1111111111_q1.

Следующие преобразования уменьшают конфигурацию на единицу: 1111111111q8_, 111111111q91, 11111111q91_, q9_111111111, _q0111111111.

Если x=0, то y=0. При этом начальная и заключительная конфигурации состоят из одной единицы. Преобразования конфигурации: q11, 1q2_, q31, q4_, q5_, q6_1, 1q71, 11q7_, 11_q1_, 11q8_, 1q81, q91_, q9_1, q01.

Упражнение. Проверьте выполнение программы для x=0, x=1 и x=4.

Решение задания 2. К программе для сложения присоединим програм-му для функции "остаток при делении на 2".

x+y(mod2) _ 1 1 1 П 2 1 П 1 2 _ Л 3 1 П 2 3 _ Л 4 4 _ Л 5

5 1 П 6 1 Л 5

6 1 Л 6 _ П 7

7 1 Н 7 _ П 6

В программе x+y команда для q4 теперь не останавливает работу ма-шины, а направляет к команде для q5.

Команда q5 возвращает считывающую головку к началу числа.

В программе rest(x,2) внутренние состояния q1 и q2 заменяются q5 и q6.

Упражнение. Составьте программу машины Тьюринга для вычисления двухместной функции f (x,y)=(остаток при делении x+1 на 3).

ЛАБОРАТОРНАЯ РАБОТА №8

Тема: Усеченная разность и модуль разности

Продолжительность 2 часа

Цель: научиться решать задачи на составление программ машин Тью-

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

Page 72: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

Задача: Составьте программу машины Тьюринга для функций разно-

сти, усеченной разности и модуля разности (с q0 на любом месте).

Теоретические сведения: Вычитание не всюду определено, но с ним

тесно связаны всюду определенные функции усеченной разности и модуля

разности: ⎩⎨⎧

≤>−

=−;если,0

,если,yx

yxyxyx &

⎩⎨⎧

≤−>−

=−.если,,если,

||yxxyyxyx

yx

Порядок выполнения работы

Мы вначале построим программу машины Тьюринга для функции мо-

дуля разности, а затем эту программу используем для построения программы

для функции усеченной разности.

Программа машины Тьюринга для функции | |yx − :

_ 1 1 _ П 22 _ Н 0 1 Н 33 _ П 4 1 П 34 _ Л 5 1 П 45 _ Л 66 1 Н 0 1 Н 77 _ Л 8 1 Л 78 _ П 1 1 Л 8

Команды q11, q21, q31, q3_, q41, q4_, q51, q61, q71, q7_, q81, q8_ создают

цикл, поочередно стирающий у x единицу слева и у y единицу справа.

Команда q2_ задействована, если x≤y. Программа выдает ответ y−x.

Команда q6_ задействована, если x>y. Программа выдает ответ x−y.

Программа машины Тьюринга для функции yx −& , полученная из про-

граммы для функции || yx − :

Page 73: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

_ 1 1 _ П 22 _ П 9 1 Н 33 _ П 4 1 П 34 _ Л 5 1 П 45 _ Л 66 1 Н 0 1 Н 77 _ Л 8 1 Л 78 _ П 1 1 Л 89 1 Н 0 _ П 9

Изменения в командах q2_, q91, q9_, задействованных при x≤y. В этом

случае программа теперь выдает ответ 0.

Самостоятельно выполнить задание для разности.

ЛАБОРАТОРНАЯ РАБОТА №9

Тема: Разрешимые по Тьюрингу отношения

Продолжительность 3 часа

Цель: знать понятие разрешимого отношения и научиться решать зада-

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

ческих функций отношения равенства и отношений неравенств.

Задача: Составьте программу машины Тьюринга для характеристиче-

ских функций отношений =, ≠, ≤, ≥, < и > (с q0 на любом месте).

Теоретические сведения: Отношение P⊆N0n называется разрешимым

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

⎩⎨⎧

=ложно.),...,(если,0истинно,),...,(если,1

),...,(λ1

11

n

nnP xxP

xxPxx

Двухместное отношение P⊆N0×N0 является разрешимым по Тьюрингу,

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

⎪⎩

⎪⎨⎧

=ложно.),(если,0

истинно,),(если,1),(λ

yxP

yxPyxP

Характеристическая функция отношения порядка >:

Page 74: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

⎩⎨⎧

≤>

=> . если,0, если,1

),(yxyx

yxλ

Порядок выполнения работы

Чтобы построить программу машины Тьюринга для вычисления функ-

ции λ>, мы используем программу для функции yx −& .

Программу машины Тьюринга для функции λ≤ будем преобразовывать

в программу для характеристической функции отношения равенства =:

1, если ,( , )

0, если .x y

x yx y=

=⎧λ = ⎨ >⎩

Изменения должны произойти для команд q2_, q91, q9_, q10_, задейство-

ванных при x≤y. Теперь ответ 1 должен быть только при x=y. Для x>y мы

должны получить ответ 0.

Программа машины Тьюринга для функции λ=:

_ 1 1 _ П 22 _ П 9 1 Н 33 _ П 4 1 П 34 _ Л 5 1 П 45 _ Л 66 _ Л 11 1 Н 77 _ Л 8 1 Л 78 _ П 1 1 Л 89 1 П 1210 1 Н 0 11 1 Н 0 _ Л 1112 1 Н 0 1 Н 1313 _ Н 0 _ П 13

Команды q2_, q91, q12_ задействованы при x=y. В этом случае програм-

ма выдает ответ 1.

Команды q2_, q91, q121, q131, q13_ задействованы при x<y. В этом случае

программа теперь выдает ответ 0.

Самостоятельно выполнить задание для отношений ≠, ≥, и <.

Page 75: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образо-

вания «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра информатики и методики преподавания математики

Комплект учебно-методических материалов к учебной дисциплине:

Теория алгоритмов

для направления 540200 «Физико-математическое образование» Профиль «Информатика»

ЗАДАЧИ К ЭКЗАМЕНУ

1. Пусть f(x,y,z,t) – примитивно рекурсивная функция. Докажите, что

функция g(x,y,z,t)=f(t,x,y,z) примитивно рекурсивная.

2. Пусть f(x,y,z,t) – примитивно рекурсивная функция. Докажите, что

функция g(x,y,z)=f(x,x,y,z) примитивно рекурсивная.

3. Пусть f(x,y,z,t) – примитивно рекурсивная функция. Докажите, что

функция g(x,y,z,t,u)=f(y,z,t,u) примитивно рекурсивная.

4. Докажите, что функция g(x,y,z,t,u)=8 примитивно рекурсивная.

5. Докажите, что функция g(x,y,z,t,u)=x+1 примитивно рекурсивная.

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

f(x)=2x+5 примитивно рекурсивна.

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

f(x,y)=2x+y примитивно рекурсивна.

8. Докажите, что отношение ≥ примитивно рекурсивно.

9. Докажите, что отношение < примитивно рекурсивно.

10. Докажите, что функция f(x,y)=x+y+5 вычислима по Тьюрингу.

11. Докажите, что функция f(x,y)=x+y−2 вычислима по Тьюрингу.

Page 76: chul/gosvpo/files/fmo_inf/teor_alg.pdfВ учебных планах направление «Физико-математическое образование» имеет новый

12. Докажите, что функция f(x,y)=5 вычислима по Тьюрингу.

13. Докажите, что функция f(x,y)=x−3 вычислима по Тьюрингу.

14. Докажите, что функция f(x,y)=y−1 вычислима по Тьюрингу.

15. Докажите, что функция f(x,y)=1−x вычислима по Тьюрингу.

16. Докажите, что функция f(x,y)=x+y+7 МНР вычислима.

17. Докажите, что функция f(x,y)=x+y−4 МНР вычислима.

18. Докажите, что функция f(x,y)=8 МНР вычислима.

19. Докажите, что функция f(x,y)=x−5 МНР вычислима.

20. Докажите, что функция f(x,y)=y−3 МНР вычислима.

21. Докажите, что функция f(x,y)=1−y МНР вычислима.

22. Пусть A и B - разрешимые множества. Докажите, что разность мно-

жеств A\B={x∈A|x∉B} - тоже разрешимое множество.

23. Пусть A и B - разрешимые множества. Докажите, что разность мно-

жеств A⊕B=(A\B)∪(B\A) - тоже разрешимое множество.

24. Пусть P и Q - разрешимые предикаты. Докажите, что импликация пре-

дикатов P⇒Q - тоже разрешимый предикат.

25. Пусть P и Q - разрешимые предикаты. Докажите, что импликация пре-

дикатов P⇔Q - тоже разрешимый предикат.