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

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

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

       Николай Гребенщиков, 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
Какое множество строк допускает этот автомат?

                           1   2 2 2              1
Q = Q1 Q2, где Q1 = q0 ; Q2 = q1 , q2 , q3 ; R = q0 ; V = 0, 1,
                       1
начальное состояние - q0 .

МКА обрабатывает наборы слов (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} имеет мно-
                           k k          k
жество состояний QA = {q1, q2, . . . , qk }, где верхний индекс
k = 1, 2 определяет номер активной головки. Преобразова-
ние этого автомата в двоичный начнем с кодировки симво-
лов и слов из V ∗ словами в алфавите {0, 1} по следующему
правилу:

код (#) = 0;

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

код (ai ) =код(a)код(ai).
      a
                                                         25
Доказательство

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




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

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

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

                                  k
б) для каждого старого состояния qj n новых состояний, n
- число символов алфавита V ;

                        1    1
в) два новых состояния r1 и r2 .



                                                   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

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

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