- •Теория алгоритмов. Общие положения.
- •Исходные понятия теории алгоритмов.
- •Свойства и параметры алгоритма:
- •Основная гипотеза теории алгоритмов.
- •Формальные модели, уточнение понятия алгоритм.
- •Блок-схемы детерминированных алгоритмов.
- •Алгоритмический язык
- •Алгоритмическая система а.Тьюринга.
- •Разрешимость и неразрешимость языков машиной Тьюринга
- •Проблема остановки машины Тьюринга
- •Алгоритмическая система а.Чёрча
- •Базисные функции
- •Операторы построения производных рекурсивных функций
- •Примитивно-рекурсивные функции.
- •Алгоритмическая система а.А.Маркова.
- •Ассоциативное исчисление
- •Алгоритмически неразрешимые проблемы.
- •Теоремы алгоритмически разрешимых и неразрешимых проблем. Теоремы Геделя.
- •Теорема о неполноте
- •Теорема о полноте
- •Словарь основных терминов.
- •Теорема о неполноте:
- •Теорема о полноте
-
Разрешимость и неразрешимость языков машиной Тьюринга
-
Множество слов, для которого МТ однозначно решает задачу принадлежности или не принадлежности данного слова языку, т.е. машина либо переходит в состояние qz1, соответствующее заключению о принадлежности слова языку, либо в состояние qz2 – слово не принадлежит языку, называется рекурсивным (разрешимым).
-
Множество называется рекурсивно-перечислимым (частично-разрешимым), если МТ останавливается в заключительном состоянии для лексем (слов заданного алфавита) и «зависает» (зацикливается) или останавливается в состоянии qi
qz
(безрезультатная остановка) для
непринадлежащих языку слов.
-
Проблема остановки машины Тьюринга
Эта проблема заключается в нахождении алгоритма, который позволял бы по любой машине Тьюринга и любой её конфигурации узнать, остановится или нет машина, начав работу с этой конфигурации.
Теорема.
«Не существует алгоритма распознавания остановки произвольной МТ для произвольной начальной её конфигурации».
Замечание:
Известны два способа доказательства неразрешимости той или иной массовой проблемы: прямой (основанный на так называемом «диагональном» методе) и косвенный (использующий сводимость к данной проблеме другой массовой проблеме, неразрешимость которой была доказана раньше).
Алгоритмическая система а.Чёрча
Все известные примеры алгоритмов можно свести к вопросу вычисления подходящей функции. Считая эту черту алгоритмов основной, можно построить формальное уточнение понятия вычислимой функции. В основе этого утверждения лежит тезис Черча: “Всякая функция, значение которой может вычисляться эффективно, является частично-рекурсивной” (т.е. вычислимыми функциями являются частично-рекурсивные функции – функции, получаемые за конечное число шагов из простейших с помощью суперпозиции, примитивной рекурсии и μ-оператора).
В
свете изложенного в алгоритмической
системе Черча исходными конструктивными
объектами являются базисные функции
,
,
(x1,
x2,…,xm,…,xn)=
xm,
конструктивный
процесс обусловлен применением к
базисным функциям операторов суперпозиции
S,
примитивной рекурсии R
и минимизации μ, а результатом конечного
процесса являются рекурсивные функции,
т.е.:
Результат
Отметим, что:
-
вычислимая функция всегда имеет сопутствующий ей алгоритм Sp;
-
невычислимая функция не имеет сопутствующего алгоритма (заранее заданной эффективной процедуры Sf);
-
класс всюду определенных вычислимых функций эквивалентен классу рекурсивных функций;
-
всякая вычислимая функция вычислима на подходящей машине Тьюринга;
-
вопрос о вычислимости функции равносилен вопросу о ее рекурсивности.
-
Базисные функции
Базисные
(простейшие элементарные) функции –
числовые вычислимые функции
,
сопутствующие алгоритмы которых –
одношаговые (очевидно, что это всюду
определенные рекурсивные функции)
-
Нуль-функция Z(x1, x2,…,xk)=0 – k-арная функция (оператор аннулирования Z), соответствующий алгоритм вычисления которой: “Любой совокупности значений аргументов xi функции Z ставится в соответствие ее значение 0”.
Примеры:
;
;
![]()
-
Функция тождества
(x1,
x2,…,xm,…,xn)=
xm
(
- оператор проектирования) – n-арная
функция, алгоритм вычисления которой:
“Значением функции принять значение
m-го
аргумента.” (m,
n>0, m
n).
Примеры:
(7,6,1,4)=
6,
(6)=
6,
(7,15)=
15.
-
Функция следования
(λ
– оператор сдвига) – унарная функция,
для которой: “Значением
принять натуральное число, следующее
за числом, являющимся значением аргумента
x”.
Примеры:
;
.
Замечание: базисные функции имеют значения только для заданных значений их аргументов.
