Хакасский государственный университет им. Н.Ф. Катанова
Теория вычислительных процессов
Лекция: Свойства и моделирование
стандартных схем
Николай Гребенщиков, www.grebenshikov.ru
Тотальность
ССП S в базисе B тотальна, если для любой интерпретацииI базиса программа (S, I) останавливается.
Пустота
ССП S в базисе B пуста, если для любой интерпретации I
базиса программа (S, I) зацикливается.
1
Какая тотальна, какая пуста?
2
Функцианальная эквивалентность
Стандартные схемы S1, S2 в базисе B функционально экви-валентны (S1˜S2), если либо обе зацикливаются, либо обеостанавливаются с одинаковым результатом, т. е. val(S1, I) =
val(S2, I).
3
Эти схемы эквивалентны?
4
Цепочкой стандартной схемы (ЦСС) называют:
1. конечный путь по вершинам схемы, ведущий от началь-ной вершины к заключительной;
2. бесконечный путь по вершинам, начинающийся началь-ной вершиной схемы.
В случае, когда вершина-распознаватель v, то дополнитель-но указывается верхний индекс (1 или 0), определяющий 1-дугу или 0-дугу, исходящую из вершины.
5
Примеры цепочек:
(0,1,21,5); (0,1,20,3,4,203,4,21,5)
6
Цепочкой операторов (ЦО) называется последователь-ность операторов, метящих вершины некоторой цепочки схе-мы.
Например: (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
Пусть S - ССП в базисе B, I - некоторая его интерпретация,(0,1, . . . , l2, l3, . . . ) - последовательность меток инструкций S,выписанных в том порядке, в котором эти метки входят вконфигурации протокола выполнения программы (S, I). Яс-но, что эта последовательность – цепочка схемы S. Считают,что интерпретация I подтверждает (порождает) эту це-почку.
ЦСС в базисе называют допустимой, если она подтвержда-ется хотя бы одной интерпретацией этого базиса.
8
Допустимы ли данные ЦСС?
(0,1,20,5,61,7), (0,1,21,3,40,7)
9
ССП свободна, если все ее цепочки допустимы.
Допустимая цепочка операторов - это цепочка операто-ров, соответствующая допустимой цепочке схемы. В тоталь-ной схеме все допустимые цепочки (и допустимые цепочкиоператоров) конечны. В пустой схеме - бесконечны.
10
Моделирование стандартных схем программ с помощьюдетерминированных конечных автоматов
• Одноленточные автоматы
• Многоленточные автоматы
• Двухголовочные автоматы
11
Одноленточные автоматы 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
Какие слова допускает этот одноленточный автомат?
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
Свойства одноленточных автоматов
Автомат называется пустым, если MA = �.
Автоматы A1 и A2 эквивалентны, если MA1= MA2
.
14
Свойства одноленточных автоматов
• Проблема пустоты ОКА разрешима.Доказательство основано на проверке допустимости ко-нечного множества всех слов, длина которых не превы-шает числа состояний ОКА - n. Если ни одно слово изэтого множества не допускается, то ОКА «пуст».
• Предположение о том, что минимальная длина допускае-мого слова больше n отвергается на том основании, чтооно может быть сведено к слову меньшей длины, путемвыбрасывания участков между двумя повторяющимися впути узлами.
15
• Проблема эквивалентности ОКА разрешима.Доказательство основано на использовании отношенияэквивалентности двух состояний q и q′: если состояния q
и q′ эквивалентны, то для всех a ∈ A состояния d(q, a) иd′(q′, a) также эквивалентны. Формируемые пары не долж-ны входить одновременно заключительное и незаключи-тельное состояния.
Многоленточный автомат определяется как и ОКА.
Отличие: множество состояний Q разбивается на n подмно-жеств (непересекающихся) Q1, ..., Qn.
Физическая интерпретация: он имеет n лент и n головок, поголовке на ленту.
16
Какое множество строк допускает этот автомат?
Q = Q1⋃
Q2, где Q1 = q10;Q2 = q21, q22, q23;R = q10;V = 0,1,начальное состояние - q10.
МКА обрабатывает наборы слов (U1, U2), где слово U1 запи-сано на первой ленте, а U2 - на второй.
17
Свойство многоленточных автоматов
Доказана разрешимость проблемы эквивалентности двухлен-точных автоматов.
18
Двухголовочные автоматы. Почему?
Проблема пустоты разрешима для многоленточных автома-тов и неразрешима для многоголовочных.
19
Двухголовочный автомат (ДКА) имеет одну ленту и двеголовки, которые могут независимо перемещаться вдоль лен-ты в одном направлении.
Множество состояний Q разбито на два непересекающихсямножества. В состояниях Q1 активна первая головка, а всостояниях Q2 - вторая.
20
Двухголовочный автомат
21
Свойства двухголовочного автомата
• Лемма (Розенберг). Существует алгоритм, который длялюбой машины Тьюринга и для любого начального словастроит двухголовочный автомат, моделирующий ее рабо-ту над этим словом.
• Теорема. Проблема пустоты ДКА не является частичноразрешимой.
• Теорема. Проблема эквивалентности ДКА не являетсячастично разрешимой.
22
Двоичный двухголовочный автомат - двухголовочный ав-томат, где V = {0,1}.
Cтандартные схемы могут моделировать двухголовочные ав-томаты, что позволяет свести проблему пустоты этих авто-матов к проблеме пустоты схем.
Лемма. Существует алгоритм преобразования двухголовоч-ных автоматов в двоичные двухголовочные автоматы (ДДКА),сохраняющий пустоту автоматов (построенный двоичный ав-томат Ab пуст тогда и только тогда, когда пуст исходныйавтомат A).
23
Двоичный двухголовочный автомат - двухголовочный ав-томат, где V = {0,1}.
Cтандартные схемы могут моделировать двухголовочные ав-томаты, что позволяет свести проблему пустоты этих авто-матов к проблеме пустоты схем.
Лемма. Существует алгоритм преобразования двухголовоч-ных автоматов в двоичные двухголовочные автоматы (ДДКА),сохраняющий пустоту автоматов (построенный двоичный ав-томат Ab пуст тогда и только тогда, когда пуст исходныйавтомат A).
24
Доказательство
Пусть ДКА 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
Доказательство
Так как символ # кодируется нулем, то любому непустомуслову на ленте автомата A соответствует двоичное слово наленте автомата Ab, оканчивающееся двумя нулями.
26
Доказательство
Множество состояний автомата Ab включает:
а) все старые состояния из QA;
б) для каждого старого состояния qkj n новых состояний, n
- число символов алфавита V ;
в) два новых состояния r11 и r12.
27
Доказательство
В граф b вводятся вершины Sa (останов допускающий) и Sr
(останов отвергающий).
28
Пример
29
Принципы преобразования
30
Польза двоичного двухголовочного автомата
По заданному ДДКА можно построить ССП и наоборот, чтопозволяет решить задачу разрешимости (не разрешимости)свойств ССП, так как эта задача решена ДДКА решена.
31
Построение схемы моделирующей автомат
Двоичное слово b1b2 . . . bn согласовано с свободной интерпре-тацией базиса B, если для любого 1 ≤ i ≤ n, I(p)(′f ia′) = bi,где p - единственный предикатный символ.
32
Построение схемы моделирующей автомат
Если на ленту автомата A подано произвольное двоичноеслово a, то программа (S, I), где I - любая свободная ин-терпретация базиса B, согласованная с a, останавливаетсяв том и только в том случае, когда автомат допускает словоa.
33
Основные теоремы
Лемма. ДДКА пуст в том и только в том случае, если пустамоделирующая его стандартная схема.
Лемма. Для любого ДДКА можно построить моделирующуюего стандартную схему.
Теорема (Лакхэм - Парк - Патерсон). Проблема пустотыстандартных схем не является частично разрешимой.
Теорема (Лакхэм - Парк - Патерсон, Летичевский). Пробле-ма функциональной эквивалентности стандартных схем неявляется частично разрешимой.
34
Теорема (Лакхэм - Парк - Патерсон). Проблема тотальностистандартных схем частично разрешима.
Теорема (Патерсон). Проблема свободы стандартных схемне является частично разрешимой.
Список литературы
• Рабинович Е.В. Теория вычислительных процессов. Раз-делы “Свойства и виды стандартных схем программ” и “Моделирование стандартных схем программ ” .
• Котов В.Е., Сабельфельд В.К. Теория схем программ. -М.: Наука, 1991. - 248 с. сс.83-110.
35