
- •Теория алгоритмов. Общие положения.
- •Исходные понятия теории алгоритмов.
- •Свойства и параметры алгоритма:
- •Основная гипотеза теории алгоритмов.
- •Формальные модели, уточнение понятия алгоритм.
- •Блок-схемы детерминированных алгоритмов.
- •Алгоритмический язык
- •Алгоритмическая система а.Тьюринга.
- •Разрешимость и неразрешимость языков машиной Тьюринга
- •Проблема остановки машины Тьюринга
- •Алгоритмическая система а.Чёрча
- •Базисные функции
- •Операторы построения производных рекурсивных функций
- •Примитивно-рекурсивные функции.
- •Алгоритмическая система а.А.Маркова.
- •Ассоциативное исчисление
- •Алгоритмически неразрешимые проблемы.
- •Теоремы алгоритмически разрешимых и неразрешимых проблем. Теоремы Геделя.
- •Теорема о неполноте
- •Теорема о полноте
- •Словарь основных терминов.
- •Теорема о неполноте:
- •Теорема о полноте
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Московский государственный институт электроники и математики
(Технический университет)
Маркин П.М.
Дискретная математика
Теория алгоритмов
Для студентов специальности "Вычислительные машины, комплексы, системы и сети"
2009 учебный год
Содержание:
Общие положения. 2
Аналогично, ImSf есть перечислимое (рекурсивно-перечислимое) множество, т.к. оно является областью значений рекурсивной функции f с областью определения DomSf. Для множества ImSf алгоритм Sf есть порождающий для М1. 4
Предмет и содержание читаемого курса. 5
Исходные понятия теории алгоритмов. 5
Свойства и параметры алгоритма: 6
Основная гипотеза теории алгоритмов. 7
Формальные модели, уточнение понятия алгоритм. 7
Блок-схемы детерминированных алгоритмов. 8
Алгоритмический язык 9
Алгоритмическая система А.Тьюринга. 9
1.Разрешимость и неразрешимость языков машиной Тьюринга 10
2.Проблема остановки машины Тьюринга 10
Алгоритмическая система А.Чёрча 11
a.Базисные функции 11
2.Операторы построения производных рекурсивных функций 12
Примитивно-рекурсивные функции. 14
Алгоритмическая система А.А.Маркова. 15
Ассоциативное исчисление 17
Алгоритмически неразрешимые проблемы. 18
Теоремы алгоритмически разрешимых и неразрешимых проблем. 19
Теоремы Геделя. 19
I.Теорема о неполноте 19
II.Теорема о полноте 19
Словарь основных терминов. 21
Теория алгоритмов. Общие положения.
Теория алгоритмов - раздел математической логики, в котором изучаются теоретические возможности эффективных процедур вычисления (алгоритмов) и их приложения.
Основное понятие этой теории – алгоритм – в интуитивном (наивном) понимании существует в математике довольно давно, а точные математические понятия, которые в том или ином смысле формализуют интуитивное понятие алгоритма, предложены только в середине 30-х годов 20-го века. Необходимость такой формализации была обусловлена как вопросами обоснования математики, так и вопросами доказательства алгоритмической разрешимости и неразрешимости тех или иных задач. Очевидно, что в математике доказываемый объект должен быть точно формализован.
В настоящее время теорию алгоритмов делят на дескриптивную (абстрактную) и метрическую (структурную, прикладную).
Абстрактная теория алгоритмов исследует алгоритмы с точки зрения устанавливаемого ими соответствия между исходными данными и результатами; к ней относятся, в частности, проблемы построения алгоритма, обладающего теми или иными свойствами, - алгоритмические (массовые) проблемы (т.е. нахождение единого метода решения бесконечной серии однотипных единичных задач).
q = <M1, M2, Sf>, где M1 -множество возможных исходных данных, M2 – множество возможных результатов применения алгоритма Sf к M1:
М1 М2
Sf
DomSf (область
применимости алгоритмов Sf) ImSf (область
значений Sf)
Пример:
f2 : N2 →N, где f2 – операция сложения чисел N. В этом случае M1 = N2 = Domf2, M2 = N
Метрическая теория алгоритмов исследует алгоритмы с точки зрения сложности, как самих алгоритмов, так и задаваемых ими вычислений, т.е. процессов последовательного преобразования конструктивных объектов.
Замечание:
-
Абстрактная теория алгоритмов не учит строить конкретные алгоритмы. Этим занимается прикладная (метрическая) теория алгоритмов.
-
Ниже изучаются сводящиеся друг к другу теоретические модели алгоритмов из 3 классов формальных систем F.S = <L, D>:
-
алгоритм рассматривается как исключение формул (рекурсивные функции);
-
алгоритм, как гипотетически вычислимое устройство (машины Тьюринга (МТ));
-
алгоритм есть конечный набор правил подстановки слов (нормальные алгорифмы)
-
Проблемы построения алгоритма, обладающего теми или иными свойствами. Называется массовой (алгоритмической) проблемой.
Если искомый алгоритм не существует, то говорят, что рассматриваемая массовая проблема неразрешима.
-
В отличие от абстрактной теории алгоритмов прикладная теория рассматривает не только детерминированные, но также вероятностные (стохастические) и эвристические алгоритмы. В последнем случае, кроме детерминированных или статически заданных правил, алгоритм включает также содержательные указания о целесообразном направлении процесса.
-
Любой алгоритм Sf однозначно сопоставляется исходным данным (если DomSf ≠ Ø) результат. Это означает, что с каждым алгоритмом Sf однозначно связана функция f, которую алгоритм Sf вычисляет. Однако обратное утверждение неверно (т.е. существуют невычислимые функции).
-
Доказательством существования алгоритма Sf вычисления функции f не означает описание этого алгоритма. Так, например, функция
f (x) = 1, если теорема Ферма верна,
0, если теорема не верна,
вычислима, т.к. она равна либо функции, тождественно равной 1, либо функции, тождественно равной 0, а обе эти функции вычислимы.
-
М
ножество DomSf есть разрешимое(рекурсивное) множество исходных данных алгоритма Sf , т.к. характеристическая функция
f DomSf (x) = 1, если x не принадлежит DomSf,
0, если x принадлежит DomSf ,
вычислима.
В этом плане говорят о разрешающем алгоритме Sf на множестве исходных данных М1.
Аналогично, ImSf есть перечислимое (рекурсивно-перечислимое) множество, т.к. оно является областью значений рекурсивной функции f с областью определения DomSf. Для множества ImSf алгоритм Sf есть порождающий для М1.
Предмет и содержание читаемого курса.
Предмет изучения в читаемом курсе - формальные уточнения интуитивного понятия «алгоритм» с различных точек зрения: арифметизации, нормализации и построения абстрактной машины.
Цель читаемой дисциплины студентам специальности 2201 - усвоение необходимости формулировать алгоритмические проблемы как проблемы решения вопроса о существовании алгоритма для решения данной бесконечной серии однотипных задач и нахождение такого алгоритма в случае, если он существует.
Содержание курса - математические модели алгоритмических систем, формы их записи и оценки сложности алгоритмов. В этом аспекте изучаются:
-
рекурсивные функции как математический вариант уточнения понятия вычислимой арифметической функции f: Nn→ N;
-
машины Тьюринга как математический эквивалент для общего интуитивного представления об алгоритме;
-
системы подстановок слов в заданном алфавите;