
dm_bilety (1)
.docx
На каждом такте выполняется
одна команда. Пусть в некоторый момент
времени t
УУ находится в состоянии qi,
а головка обозревает ячейку, в которой
записан символ aj,
тогда выполняется qiaj
… .
Замечание. В программе не должно быть двух разных команд с одной и той же первой частью.
Выполнение команды
заключается в том, что символ aj
стирается и на его место записывается
al;
головка сбивается на одну ячейку влево
или вправо, либо остается на месте в
зависимости от
;
и к моменту времени t+1
УУ переходит в состоянии qr
функционирование М
прекращается, когда
УУ перейдет в стоп-состояние (q0).
Машина Тьюринга M
вычисляет словарную функцию
Берем x=x1,x2, …,xn ϵ X*.
Пусть f(x)=y1,y2, …yp , тогда M должна, начиная со стандартной начальной конфигурации со словом Х, перейти в заключительную стандартную конфигурацию со словом У.
Если f(x) не определена, то М не должна останавливаться.
Т.е. было
стало:
Т.
1) Говорят, что словарная
функция
вычислима по Тьюрингу, если существует
машина Тьюринга, вычисляющая эту функцию
(мы работаем не с числами, а с их
изображением).
2) А – конечный алфавит, что связано с ограничением на выпускающую (разрешающую) способность.
3) Q – конечное (количество состояний).
БИЛЕТ 52
Примеры построения машин Тьюринга
Таблица управления машиной Тьюринга – распознавание симметрии.
qi\aj |
0 |
1 |
˄ |
коммент. |
q1 |
˄Rq2 |
˄Rq3 |
1Sq0 |
|
q20 |
0Rq2 |
1Rq2 |
˄Lq4 |
|
q3 |
|
|
|
|
q4 |
˄Lq5 |
˄Lq6 |
1Sq0 |
|
q5 |
0Lq5 |
1Lq5 |
˄Rq1 |
|
q6 |
˄Lq6 |
˄Lq6 |
0Sq0 |
|
q7 |
^Lq6 |
˄Lq5 |
1Sq0 |
|
БИЛЕТ 53
Функции, вычислимые по
Тьюрингу.
Пусть =(1,
..., n),
n1-
произвольный набор целых неотрицательных
чисел. Слово 11+1012+10...01n+1 называется основным
машинным кодом или
просто кодом набора
в
алфавите {0,1} и обозначается k().
Слово 1+1 также
является основным машинным кодом. Для
ясности 13 это
111.
Определение. Функция
f(x1,...,xn),
n1,
называется частичной
числовой функцией,
если переменные xi принимают
целые неотрицательные значения из
натурального ряда N={0,1,2,…,m,…} и на
наборе
функция
определена, т.е. f(
)=f(1,...,n),
и также принимаeт целые неотрицательные
значения.
Определение. Частичная
числовая функция называется вычислимой
по Тьюрингу, если
существует МТ Тf,
обладающая следующими свойствами:
1)
если функция f(
)
определена, то результатом применения
МТ к коду будет являться код целого
неотрицательного числа.
Тf(k(
))=k(f(
))
2)
если f()
не определенна, то либо МТ Tf не
применима к слову k(
),
либо Tf(k(
))
не является кодом никакого целого
неотрицательного числа.
Предполагается,
что в начальный момент времени головка
МТ Tf обозревает
самую левую крайнюю единицу слова
k(
).
Если
функция f вычислима по Тьюрингу с помощью
МТ Tf ,
то говорят, что МТ вычисляет
функцию. Кроме
того, т.к. понятие вычислимой функции
дано нами через понятие МТ, которое еще
математически точно не определено,
будем говорить об интуитивно вычисляемой
функции.
^ Тезис
Тьюринга: Всякий
интуитивный алгоритм может быть
реализован с помощью МТ.
Тезис
Черча-Тьюринга:
Всякая интуитивно вычисляемая функция
вычислима по Тьюрингу.
^ МТ
как математическое понятие алгоритма.
В
каждой МТ имеются: три конечных множества
A, Q, T, выделенные элементы a0A,
q0,q1Q
и программа, представляющая собой
отображение вида F: AQ\{q0}A
TQ.
(7.3)
Определение. МТ
называется система вида 0, Q, q0, q1, T,
>,
где
- программа МТ.
Какую бы МТ ни взяли,
можно считать, что имеется алгоритм,
исходным объектом, промежуточным и
окончательным результатами которого
являются слова в алфавите А.
Предписанием,
задающим этот алгоритм, является
программа
- точное математическое понятие
отображения. Т.о., с математической точки
зрения МТ - это алгоритм переработки
слов, заданных в алфавите этой
машины.
Применительно к МТ можно
рассматривать все свойства, рассматриваемые
применительно к интуитивному понятию
алгоритма. В частности, результативность
алгоритма и его конечность - это
остановится ли МТ за конечное число
тактов работы и в какое слово
перерабатывается исходное.
Чтобы
доказать, что функция вычислима по
Тьюрингу, необходимо построить МТ,
вычисляющую данную функцию.
Пример:
1) Построить МТ, вычисляющую функцию
f(x,y)=x+y. В качестве внешнего алфавита
возьмем
A={a0, 1} , где a0- пустой
символ.
Тогда в этом алфавите
0 - 1
1
- 11
2 – 111
3 - 1111, и т.д. Q={q0,q1,q2,q3,q4} X и Y будут записаны на ленте и разделены одной ячейкой, содержащей пустой символ. МТ обозревает самую левую крайнюю непустую ячейку. Программа, вычисляющая данную функцию будет иметь вид: 1q11Пq1
a0 q11Пq2 1q21Пq2 a0q2 a0Лq3 1q3 a0Лq4 1q4 a0Лq0 Можно показать, что все арифметические функции вычислимы по Тьюрингу.
БИЛЕТ 54
Тезис Тьюринга-Чёрча.
Класс функций, вычислимых алгоритмически (в интуитивном смысле слова), совпадает с классом функций вычислимых по Тьюрингу.
Доводы:
-
Все формализации понятия алгоритма и алгоритмически вычислимой функции оказались равнообъемными.
Примеры формализации: частично рекурсивные функции Чёрча, машины Комогорова-Успенского (мощнее машины Тьюринга), программы на алгоритмическом языке (Pascal).
-
Любая функция по Тьюрингу является алгоритмически вычислимой.
-
Все функции, которые признавались алгоритмически вычислимыми, оказались вычислимыми по Тьюрингу.
-
Деятельность тысяч программистов.