Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек ТА 4ПИ заочн.doc
Скачиваний:
118
Добавлен:
27.01.2017
Размер:
523.26 Кб
Скачать
  1. Машины с неограниченными регистрами

МНР – это лента, бесконечная в одну сторону и разбитая на ячейки, которые называются регистрами и обозначаются 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 и переходит к следующей команде Ik1. Если же IkJ(m,n,q), то МНР при rnrm переходит к команде Iq и при rnrm переходит к следующей команде Ik1. МНР останавливается тогда, когда нет команды для выполнения.

Конфигурацией МНР называется слово, составленное из символов на регистрах ленты, включая все ненулевые символы.

Функция f(x1,…,xn) называется вычислимой МНР, если существует МНР, которая, начиная работу с конфигурацией x1xn000…, останавливается с конфигурацией y…, если f(x1,…,xn) определено и равно y, и не останавливается, если f(x1,…,xn) не определенно.

Пример 1. Программа МНР для вычисления функции сигнума sg(x):

команды

конфигурации

0000

(x1)000

I1

J(1,2,4)

0000

(x1)000

I2

Z(1)

0000

I3

S(1)

1000

Пример 2. Программа МНР для вычисления сложения xy:

команды

конфигурации

x000

xy00

I1

J(2,3,5)

x000

xy00

(x1)y10

(xy1)y10

(xy)yy0

I2

S(1)

(x1)y00

(x2)y10

(xy)y(y1)0

I3

S(3)

(x1)y10

(x2)y20

(xy)yy0

I4

J(1,1,1)

(x1)y10

(x2)y20

(xy)yy0

  1. Нормальные алгоритмы Маркова

Нормальный алгоритм Маркова (НАМ) над конечным алфавитом V состоит из подстановок (команд) двух видов: ab и ab. (a,bV). Оба вида подстановок объединяются в следующем обозначении: ab(.).

Программа НАМ представляет собой конечный список подстановок:

a1b1 (.);

a2b2 (.);

…………

anbn (.).

На вход подается слово u в алфавите V, которое преобразуется подстановками программы. Допустим, что слово u преобразовано (пока) в слово u в алфавите V. Если в u не содержит ни одного из вхождений a1, …, an, то программа останавливается с результатом в u. Предположим, что aibi (.) первая из подстановок программы, для которой ai входит в u (i1,…,n). Тогда первое вхождение ai в u заменяется на bi. Если эта постановка с точкой, то программа останавливается с полученным результатом. Иначе этот процесс продолжается.

Некоторые из ai и bi могут быть пустыми.

Представим натуральное число как слово, состоящее из единиц: . Числовая -местная функция называется вычислимой по Маркову, если существует НАМ, который слово преобразует в слово , если функция определена и равна , и останавливается без результата, если функция не определена.

Пример 1. НАМ для вычисления функции сигнума sg(x):

1

b1b

2

a1b

3

1a

4

a1.

5

b11.

Пример 2. НАМ для вычисления сложения xy:

1

a*a

2

a11a

3

a.

4

1a