Лекция №3. Свойства и моделирование стандартных схем...

38
Хакасский государственный университет им. Н.Ф. Катанова Теория вычислительных процессов Лекция: Свойства и моделирование стандартных схем Николай Гребенщиков, www.grebenshikov.ru

Upload: nikolay-grebenshikov

Post on 07-Jul-2015

2.850 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Хакасский государственный университет им. Н.Ф. Катанова

Теория вычислительных процессов

Лекция: Свойства и моделирование

стандартных схем

Николай Гребенщиков, www.grebenshikov.ru

Page 2: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Тотальность

ССП S в базисе B тотальна, если для любой интерпретацииI базиса программа (S, I) останавливается.

Пустота

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

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

1

Page 3: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Какая тотальна, какая пуста?

2

Page 4: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Функцианальная эквивалентность

Стандартные схемы S1, S2 в базисе B функционально экви-валентны (S1˜S2), если либо обе зацикливаются, либо обеостанавливаются с одинаковым результатом, т. е. val(S1, I) =

val(S2, I).

3

Page 5: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Эти схемы эквивалентны?

4

Page 6: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

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

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

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

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

5

Page 7: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Примеры цепочек:

(0,1,21,5); (0,1,20,3,4,203,4,21,5)

6

Page 8: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

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

Например: (start(x), y := a, p1(x), stop(y)) или (start(x), y :=

a, p0(x), y := g(x, y), x := h(x), p0(x), y := g(x, y), x := h(x), p0(x), y :=

g(x, y), x := h(x), . . . )) и т. д.

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

7

Page 9: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

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

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

8

Page 10: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Допустимы ли данные ЦСС?

(0,1,20,5,61,7), (0,1,21,3,40,7)

9

Page 11: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

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

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

10

Page 12: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Моделирование стандартных схем программ с помощьюдетерминированных конечных автоматов

• Одноленточные автоматы

• Многоленточные автоматы

• Двухголовочные автоматы

11

Page 13: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Одноленточные автоматы A = {V, Q, R, q0,#, I}

Программа автомата I представляет собой множество ко-манд вида qa→ q′, в которой q, q′ ∈ Q, a ∈ V и для любой пары(q, a) существует единственная команда, начинающаяся эти-ми символами.

V - алфавит; Q - конечное непустое множество состояний(Q

⋂V = �); R - множество выделенных заключительных со-

стояний (R ⊆ Q); q0 - выделенное начальное состояние; I -программа автомата; # - «пустой» символ.

12

Page 14: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Какие слова допускает этот одноленточный автомат?

A = ({a, b}, {q0, q1, q2, q3}, {q2}, q0,#, I)

I = {q0a → q1; q0b → q3; q1a → q1; q1b → q2; q2a → q3; q2b →q2; q3a→ q3; q3b→ q3}

13

Page 15: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Свойства одноленточных автоматов

Автомат называется пустым, если MA = �.

Автоматы A1 и A2 эквивалентны, если MA1= MA2

.

14

Page 16: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Свойства одноленточных автоматов

• Проблема пустоты ОКА разрешима.Доказательство основано на проверке допустимости ко-нечного множества всех слов, длина которых не превы-шает числа состояний ОКА - n. Если ни одно слово изэтого множества не допускается, то ОКА «пуст».

• Предположение о том, что минимальная длина допускае-мого слова больше n отвергается на том основании, чтооно может быть сведено к слову меньшей длины, путемвыбрасывания участков между двумя повторяющимися впути узлами.

15

Page 17: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

• Проблема эквивалентности ОКА разрешима.Доказательство основано на использовании отношенияэквивалентности двух состояний q и q′: если состояния q

и q′ эквивалентны, то для всех a ∈ A состояния d(q, a) иd′(q′, a) также эквивалентны. Формируемые пары не долж-ны входить одновременно заключительное и незаключи-тельное состояния.

Page 18: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Многоленточный автомат определяется как и ОКА.

Отличие: множество состояний Q разбивается на n подмно-жеств (непересекающихся) Q1, ..., Qn.

Физическая интерпретация: он имеет n лент и n головок, поголовке на ленту.

16

Page 19: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Какое множество строк допускает этот автомат?

Q = Q1⋃

Q2, где Q1 = q10;Q2 = q21, q22, q23;R = q10;V = 0,1,начальное состояние - q10.

МКА обрабатывает наборы слов (U1, U2), где слово U1 запи-сано на первой ленте, а U2 - на второй.

17

Page 20: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Свойство многоленточных автоматов

Доказана разрешимость проблемы эквивалентности двухлен-точных автоматов.

18

Page 21: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Двухголовочные автоматы. Почему?

Проблема пустоты разрешима для многоленточных автома-тов и неразрешима для многоголовочных.

19

Page 22: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Двухголовочный автомат (ДКА) имеет одну ленту и двеголовки, которые могут независимо перемещаться вдоль лен-ты в одном направлении.

Множество состояний Q разбито на два непересекающихсямножества. В состояниях Q1 активна первая головка, а всостояниях Q2 - вторая.

20

Page 23: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Двухголовочный автомат

21

Page 24: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Свойства двухголовочного автомата

• Лемма (Розенберг). Существует алгоритм, который длялюбой машины Тьюринга и для любого начального словастроит двухголовочный автомат, моделирующий ее рабо-ту над этим словом.

• Теорема. Проблема пустоты ДКА не является частичноразрешимой.

• Теорема. Проблема эквивалентности ДКА не являетсячастично разрешимой.

22

Page 25: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Двоичный двухголовочный автомат - двухголовочный ав-томат, где V = {0,1}.

Cтандартные схемы могут моделировать двухголовочные ав-томаты, что позволяет свести проблему пустоты этих авто-матов к проблеме пустоты схем.

Лемма. Существует алгоритм преобразования двухголовоч-ных автоматов в двоичные двухголовочные автоматы (ДДКА),сохраняющий пустоту автоматов (построенный двоичный ав-томат Ab пуст тогда и только тогда, когда пуст исходныйавтомат A).

23

Page 26: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Двоичный двухголовочный автомат - двухголовочный ав-томат, где V = {0,1}.

Cтандартные схемы могут моделировать двухголовочные ав-томаты, что позволяет свести проблему пустоты этих авто-матов к проблеме пустоты схем.

Лемма. Существует алгоритм преобразования двухголовоч-ных автоматов в двоичные двухголовочные автоматы (ДДКА),сохраняющий пустоту автоматов (построенный двоичный ав-томат Ab пуст тогда и только тогда, когда пуст исходныйавтомат A).

24

Page 27: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Доказательство

Пусть ДКА A над алфавитом V = {a1, a2, ..., an} имеет мно-жество состояний QA = {qk

1, qk2, . . . , qk

k}, где верхний индексk = 1,2 определяет номер активной головки. Преобразова-ние этого автомата в двоичный начнем с кодировки симво-лов и слов из V ∗ словами в алфавите {0,1} по следующемуправилу:

код (#) = 0;

код (ai) = 11....10(i = 1, . . . , n);

код (aia) =код(a)код(ai).

25

Page 28: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Доказательство

Так как символ # кодируется нулем, то любому непустомуслову на ленте автомата A соответствует двоичное слово наленте автомата Ab, оканчивающееся двумя нулями.

26

Page 29: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Доказательство

Множество состояний автомата Ab включает:

а) все старые состояния из QA;

б) для каждого старого состояния qkj n новых состояний, n

- число символов алфавита V ;

в) два новых состояния r11 и r12.

27

Page 30: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Доказательство

В граф b вводятся вершины Sa (останов допускающий) и Sr

(останов отвергающий).

28

Page 31: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Пример

29

Page 32: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Принципы преобразования

30

Page 33: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Польза двоичного двухголовочного автомата

По заданному ДДКА можно построить ССП и наоборот, чтопозволяет решить задачу разрешимости (не разрешимости)свойств ССП, так как эта задача решена ДДКА решена.

31

Page 34: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Построение схемы моделирующей автомат

Двоичное слово b1b2 . . . bn согласовано с свободной интерпре-тацией базиса B, если для любого 1 ≤ i ≤ n, I(p)(′f ia′) = bi,где p - единственный предикатный символ.

32

Page 35: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Построение схемы моделирующей автомат

Если на ленту автомата A подано произвольное двоичноеслово a, то программа (S, I), где I - любая свободная ин-терпретация базиса B, согласованная с a, останавливаетсяв том и только в том случае, когда автомат допускает словоa.

33

Page 36: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Основные теоремы

Лемма. ДДКА пуст в том и только в том случае, если пустамоделирующая его стандартная схема.

Лемма. Для любого ДДКА можно построить моделирующуюего стандартную схему.

Теорема (Лакхэм - Парк - Патерсон). Проблема пустотыстандартных схем не является частично разрешимой.

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

34

Page 37: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Теорема (Лакхэм - Парк - Патерсон). Проблема тотальностистандартных схем частично разрешима.

Теорема (Патерсон). Проблема свободы стандартных схемне является частично разрешимой.

Page 38: Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теория вычислительных процессов"

Список литературы

• Рабинович Е.В. Теория вычислительных процессов. Раз-делы “Свойства и виды стандартных схем программ” и “Моделирование стандартных схем программ ” .

• Котов В.Е., Сабельфельд В.К. Теория схем программ. -М.: Наука, 1991. - 248 с. сс.83-110.

35