Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория вычислительных процессов.-1.pdf
Скачиваний:
50
Добавлен:
05.02.2023
Размер:
1.14 Mб
Скачать

Таблица 1.2 Протокол выполнения программы (S1, I2 )

Конфигурация

U0

U1

U2

U3

U4

U5

U6

U7

U8

U9

U10

U11

U12

Метка

 

0

1

2

3

4

2

3

4

2

3

4

2

5

Значения

x

abc

abc

abc

abc

bc

bc

bc

c

c

c

e

e

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у

e

e

e

a

a

a

ba

ba

ba

cba

cba

cba

cba

1.3 Свойства и виды стандартных схем программ

 

 

 

1.3.1 Эквивалентность, тотальность, пустота, свобода

 

 

 

ССП S

в базисе B тотальна, если для любой интерпретации I

базиса B программа (S, I ) останавливается.

 

 

 

 

 

 

 

 

 

ССП S

в базисе B пуста, если для любой интерпретации I

бази-

са B программа (S, I ) зацикливается

 

 

 

 

 

 

 

 

 

 

 

 

 

Стандартные схемы S1 и S2 в базисе

B функционально

эквива-

лентны (S1

S2 ) , если либо обе зацикливаются,

либо обе останавли-

ваются с одинаковым результатом, т. е. val (S1, I ) = val (S2 , I ) .

 

 

 

Примеры тотальных (а), пустых (б) и эквивалентных (в,

г)

схем

приведены на рисунке 1.4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

Start(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

y:=f (x)

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p(y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

x:=f (y)

 

5

x:=f (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

p(y)

 

6 p(x)

 

 

 

 

 

1

 

0

1

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Stop(y)

a

б

y:=f (x)

y:=f (y)

y:=f (x) x:=f (x)

 

 

в

г

Рис. 1.4 Примеры схем программ

Цепочкой стандартной схемы (ЦСС) называют:

1)конечный путь по вершинам схемы, ведущий от начальной вершины к заключительной;

2)бесконечный путь по вершинам, начинающийся начальной вершиной схемы.

Вслучае, когда вершина-распознаватель, то дополнительно указывается верхний индекс(1 или 0), определяющий 1-дугу или 0-дугу, исходящую из вершины.

Примеры цепочек схемы S1 (рисунок 1.3, а): (0, 1, 21, 5); (0, 1, 20, 3, 4, 20,3,4,21,5) и т. д.

Цепочкой операторов (ЦО) называется последовательность операторов, метящих вершины некоторой цепочки схемы.

Например для S1 : (start(х), у:=a, р1(x), stop(у)) или

(start(х), у:=a, р0(x), y:=g(x, y), x:=h(x), р0(x), y:=g(x, y), x:=h(x), р0(x), y:=g(x, y), x:=h (x), …))

и т. д.

Предикатные символы ЦО обозначаются так же, как вершины распознавателей в ЦСС.

Пусть S - ССП в базисе B , I - некоторая его интерпретация, (0,1, 2,K, k1 , k2 , k3 ,K) - последовательность меток инструкций S , выписанных в том порядке, в котором эти метки входят в конфигурации протокола выполнения программы(S, I ) . Ясно, что эта последова-

тельность – цепочка схемы S . Считают, что интерпретация I под-

тверждает (порождает) эту цепочку.

ЦСС в базисе B называют допустимой, если она подтверждается хотя бы одной интерпретацией этого базиса.

Не всякая ЦСС является допустимой. В схеме S1 (рисунок 1.4, а)

цепочки (0, 1, 20, 5, 61, 7), (0, 1, 21, 3, 40, 7) и все другие конечные це-

почки не подтверждаются ни одной интерпретацией.

Свойство допустимости цепочек играет чрезвычайно важную роль в анализе ССП. В частности оно определяет те случаи, когда стандартная схема свободна.

ССП свободна, если все ее цепочки допустимы.

Допустимая цепочка операторов - это цепочка операторов, соот-

ветствующая допустимой цепочке схемы. В тотальной схеме все допустимые цепочки (и допустимые цепочки операторов) конечны. В пустой схеме - бесконечны.

1.3.2 Свободные интерпретации

Множество всех интерпретаций очень велико и поэтому вводится класс свободных интерпретаций (СИ), который образует ядро класса всех интерпретаций в том смысле, что справедливость высказываний о семантических свойствах ССП достаточно продемонстрировать для программ, получаемых только с помощью СИ.

Все СИ базиса B имеют одну и ту же область интерпретации, которая совпадает с множеством T всех термов базиса B . Все СИ одинаково интерпретируют переменные и функциональные символы, а именно:

a)для любой переменной x из базиса B и для любой СИ Ih этого

 

базиса Ih (x) = x ;

b)

для любой константы a из базиса B Ih (a ) = a ;

c)

для любого функционального символа f (n ) из базиса B , где n ³1 ,

 

Ih ( f (n )) = F (n ) : T (n ) ® T , где F (n ) - словарная функция такая, что

F (n )(t1 ,t2 ,K,tn ) = f (n )(t1 ,t2 ,K,tn ),

т. е. функция F (n ) по термам t1 ,t2 ,K,tn из T строит новый терм, ис-

пользуя функциональный смысл символа f (n ).

Интерпретация предикатных символов полностьюсвободна, т. е. разные СИ различаются лишь интерпретаций предикатных символов.

Таким образом, после введения СИ термы используются в двух разных качествах, как функциональные выражения в схемах и как значения переменных и выражений

1.3.3 Согласованные свободные интерпретации

Полагают, что интерпретация I и СИ Ih (того же базиса B ) согласованы, если для любого логического выражения p справедливо Ih (p ) = I (p ) . Справедливы прямое и обратное утверждения, что для

каждой интерпретации I

базиса B

существует согласованная с ней СИ

этого базиса.

 

 

 

 

 

 

 

 

x1 , x2 ,K, xn (n ³ 0)

 

Введем

понятие подстановки

термов. Если

попарно

различные

переменные,

t1 ,t2 ,K,tn

термы из T , а p

-

функциональное

 

 

 

или

логическое

выражение, то

через

p t

x ,t

2

x ,K,t

n

x ,

]

будем обозначать выражение, получающееся

[ 1

1

2

 

n

 

 

 

 

 

 

из выражения p

одновременной заменой каждого из вхождений пере-

менной xi

на терм ti (i =

 

).

 

 

 

1, n

 

 

 

Например:

 

 

 

 

 

 

 

 

 

 

a[y x] = a, f (x, y )[y x, x y] = f (y, x ), g (x)ëég (x) xûù = g (g (x)) ,

 

p (x)[a x] = p (a) .

 

 

 

 

 

 

 

 

Приведем без доказательства несколько важных утверждений:

 

Если интерпретация I

 

и свободная интерпретация Ih согласованы,

то программы (S, I )

и (S, Ih ) либо зацикливаются, либо обе останав-

ливаются

 

и val (S, I ) = val (S, Ih ) ,

т. е. каждой конкретной программе

можно поставить во взаимно-однозначное соответствие свободно интерпретированную (стандартную) согласованную программу.

Если интерпретация и свободная интерпретация согласованы, они порождают одну и ту же цепочку операторов схемы.

Теорема Лакхэма – Парка – Паттерсона. Стандартные схемы S1 и

S2 в базисе B функционально эквивалентны тогда и только тогда,

когда они функционально эквивалентны на множестве всех свободных интерпретаций базиса B , т. е. когда для любой свободной интерпре-

тации Ih программы (S1, Ih ) и (S2 , Ih ) либо обе зацикливаются, либо обе останавливаются и

val (S1 , Ih ) = {I (S1 , Ih ) = I (S2 , Ih )} = val (S2 , Ih )