Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Что то с инета.rtf
Скачиваний:
5
Добавлен:
20.09.2019
Размер:
1.41 Mб
Скачать

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

Пусть задана последовательность ф-ий ).

Определение. Примитивно рекурсивное описание (ПРО) функции f относительно совокупности ψ называется конечная последовательность функций вида ), удовлетворяющая следующим условиям:

1. .

2. Для любого i=1,…,n, – есть либо элементарная функция, либо Î ψ, либо получается из предшествующих ей функций в этой последовательности с помощью одной из операций примитивной рекурсии или подстановки.

Определение. Функция f называется ПРФ относительно совокупности ψ, если существует ее ПРО относительно совокупности ψ.

Осн. свойства ПРФ относительно совокупности ψ.

10. Если функция f – ПРФ относительно совокупности ), и ψ c Г, то функция f, также является ПРФ относительно совокупности функций из Г. (где Г– множество, включающее произвольные арифметические функции).

Доказательство. Пусть функция f ПРФ относительно совокупности ). Тогда существует ее ПРО относительно совокупности ψ, т.е. . Если , то в силу того что ψ c Г, . Следовательно, ПРО функции f относительно совокупности ψ является и ПРО функции f относительно совокупности Г. Отсюда следует, что f есть ПРФ относительно Г. ч.т.д.

20. Если f ПРФ относительно совокупности и получается из ψ при удалении какой – то функции (где - ПРФ), т.е. , то функция f будет также ПРФ относительно совокупности .

30. Если f – ПРФ относительно совокупности ) и каждая функция из ψ есть ПРФ относительно Г, то f является ПРФ относительно Г.

Доказательство. Доказательство аналогично доказательству свойства 20. Рассмотрим ПРО функции f относительно совокупности ψ, т.е. . Каждая функция , где i=1,…,k принадлежит совокупности ψ. Так как каждая функция совокупности ψ является ПРФ, то некоторые из них заменим на ПРО относительно Г. Таким образом, образуем ПРО функции f относительно Г. Следовательно функция f–ПРФ относительно совокупности Г.

40. Если f– ПРФ относительно совокупности ), и каждая функция из совокупности ψ, есть ПРФ, то f тоже является ПРФ.

14. Машина Тьюринга (мт). Применение мт к словам

Машина Тьюринга

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

Машина располагает конечным числом знаков (символов, букв), образующих так называемый внешний алфавит А = {а0, а1 ..., ап}. В каждую ячейку обозреваемой ленты в каждый дискретный мо­мент времени может быть записан только один символ из алфавита А. Ради единообразия удобно считать, что среди букв внешнего алфавита А имеется «пустая буква», и именно она записана в пустую ячейку ленты. Условимся, что «пустой буквой» или симво­лом пустой ячейки является буква а0. Лента предполагается неограниченной в обе стороны, но в каждый момент времени на ней записано конечное число непустых букв.

Далее, в каждый момент времени машина способна находиться в одном состоянии из конечного числа внутренних состояний, совокупность которых Q = {q0 , q1, .., qm}. Среди состояний выделяются два — начальное q1 и заключительное (или состояние остановки) q0. Находясь в состоянии q1, машина начинает рабо­тать. Попав в состояние q0, машина останавливается.

Находясь в какой-либо момент времени в незаключительном состоянии (т.е. в состоянии, отличном от q0) машина совершает шаг, который полностью определяется ее текущим состоянием qi и символом aj, восприни­маемым ею в данный момент на ленте. При этом содержание шага регламентировано соответствующей командой T(i,j): qiajqkal X, где X Î {С, П, Л}. Шаг заключается в том, что:

1) содержимое aj обозреваемой на ленте ячейки стирается и на его место записывается символ аl, (который может совпадать с aj );

2) машина переходит в новое состояние qk (оно также может совпадать с предыдущим состоянием qi);

3) машина переходит к обозрению следу­ющей правой ячейки от той, которая обозревалась только что, если Х=П, или к обозрению следующей левой ячейки, если Х= Л, или же продолжает обозревать ту же ячейку ленты, если Х= С.

В следующий момент времени (если qk¹q0) машина делает шаг, регламентированный командой T(k, l): qkal-> qrasX и т.д.

Поскольку работа машины, по условию, полностью определяет­ся ее состоянием qi в данный момент и содержимым обозревае­мой в этот момент ячейки, то для каждых qi и aj, (i= 1, 2, ..., т; j = 0, 1, ..., n) программа машины должна содержать одну и толь­ко одну команду, начинающуюся символами qiaj. Поэтому про­грамма машины Тьюринга с внешним алфавитом А = 0, а1, ..., ап} и алфавитом внутренних состояний

Q = {q0 , q1, .., qm} содержит т(п + 1) команд.

Словом в алфавите А или в алфавите Q, или в алфавите AUQ называется любая последовательность букв соответствующего ал­фавита. Под k-й конфигурацией будем понимать изображение лен­ты машины с информацией, сложившейся на ней к началу k-го шага (или слово в алфавите А, записанное на ленту к началу k-го шага), с указанием того, какая ячейка обозревается в этот шаг и в каком состоянии находится машина. Имеют смысл лишь конеч­ные конфигурации, т.е. такие, в которых все ячейки ленты, за исключением, быть может, конечного числа, пусты. Конфигура­ция называется заключительной, если состояние, в котором при этом находится машина, заключительное.

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

Будем говорить, что непустое слово a в алфавите А \ {a0} = {а1,...,an} воспринимается машиной в стандартном положении, если оно записано в последовательных ячейках ленты, все другие ячейки пусты, и машина обозревает крайнюю справа ячейку из тех, в которых записано слово а. Стандартное положение называется начальным (заключительным), если машина, воспринимающая слово в стандартном положении, находится в начальном состоянии q1 (соответственно в состоянии остановки q0). Наконец, будем гово­рить, что слово a перерабатывается машиной в слово b, если от слова a, воспринимаемого в начальном стандартном положении, машина после выполнения конечного числа команд приходит к слову b, воспринимаемому в положении остановки.

Применение машин Тьюринга к словам

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

Пример. Машина Тьюринга задается внешним алфавитом А = (0, 1, *} (как и в предыдущем примере 0 — символ пустой ячей­ки), алфавитом внутренних состояний Q ={q0, q1, q2, q3}и программой:

A\Q

q1

q2

q3

0

1

*

q1

q2

q00

q3

q2

q2

q1

q3

q3

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

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

В этой клетке записано q21Л. Это означает, что на следующем шаге машина останется в прежнем состоянии q2, сохранит содержимое обозреваемой ячейки 1 и перейдет к обозрению следующей левой ячейки на ленте.

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

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

Этот маленький опыт работы с машинами Тьюринга позволяет сделать некоторые выводы. Так тщательно описанное устройство этой машины (разбитая на ячейки лента, считывающая головка) по существу не имеет никакого значения. Машина Тьюринга — не что иное, как некоторое правило (алгоритм) для преобразования слов алфавита A U Q, т.е. конфигураций. Таким образом, для опре­деления машины Тьюринга нужно задать ее внешний и внутрен­ний алфавиты, программу и указать, какие из символов обознача­ют пустую ячейку и заключительное состояние.