Опубликован: 17.02.2011 | Доступ: свободный | Студентов: 367 / 35 | Оценка: 5.00 / 5.00 | Длительность: 25:24:00
ISBN: 978-5-9963-0268-0
Специальности: Математик
Лекция 10:

Синхронизирующие эксперименты с линейными автоматами

< Лекция 9 || Лекция 10: 12 || Лекция 11 >

Условия существования синхронизирующей последовательности

Приведенное выше определение СП применительно к ЛА формулируется следующим образом: входную последовательность \bar u(0), \bar u(1), \dots, \bar u(k-1) ЛА А назовем СП, если

\forall \bar {s_i}(0), \bar {s_j}(0) \in S_n\\
A^k \bar {s_i}(0)+A^{k-1}B\bar u(0)+ \dots +B \bar u(k-1)=A^k \bar {s_j}(0)+A^{k-1}B\bar u(0)+ \dots +B \bar u(k-1) ( 10.9)

Перенося в (10.9) правую часть равенства влево, получим

\forall \bar {s_j}(0), \bar {s_j}(0) \in S_n A^k(\bar {s_i}(0)-\bar {s_j}(0))=[0] ( 10.10)

Символом [0] здесь и далее обозначается нулевая матрица или нулевой вектор подходящей размерности.

Поскольку в (10.10) \bar {s_i}(0) и \bar {s_j}(0) есть произвольные состояния, то (10.10) эквивалентно предикату

\forall \bar s \in S_n A^k \bar s=[0] ( 10.11)

Теорема 10.1. Для того чтобы ЛА А имел СП длины k, необходимо и достаточно, чтобы А^k=[0] .

Доказательство. Соотношение

A^k\bar s=[0] ( 10.12)

можно интерпретировать как систему линейных алгебраических уравнений (СЛАУ) относительно переменных s_1, s_2,\dots , s_n, являющихся координатами вектор-столбца \bar s. Пусть ранг матрицы А^k равен r, где r \le n. Из алгебры известно, что в этом случае число свободных неизвестных s_{r+1}, s_{r+2},\dots, s_n в системе (10.12) равно n-r. Тогда переменные s_1 , s_2,\dots, s_r будут выражаться через свободные переменные и, следовательно, число решений системы равно р^{n-r}. Поскольку СП для ЛА существует тогда и только тогда, когда решением системы (10.12) является любой вектор \bar s \in S_n, где |S_n|=p^n, то из сравнения p^n и p^{n-r} вытекает, что r должно равняться нулю, т. е. ранг матрицы А^k равен 0. Из последнего равенства следует, что А^k =[0] .

Определение 10.4. Линейный автомат А будем называть синхронизируемым, если у него существует СП.

Из теоремы 10.1 вытекает следующее следствие.

Следствие. Для того чтобы ЛА А был синхронизируем, необходимо, чтобы его главная характеристическая матрица А была вырожденной.

Доказательство. Пусть ЛА синхронизируем, тогда существует такое целое k, что А^k = [0] . Это означает, что матрица А^k является вырожденной. Из алгебры известно, что определитель произведения матриц равен произведению определителей. Отсюда следует, что |A^k| = |A|^k, где |A^k| и |A| - определители матриц A^k и A соответственно. Поскольку А^k = [0] , то |A^k| = 0, но |A^k| = |A|^k, следовательно |A|^k= 0.Отсюда следует, что |A| = 0, т. е. матрица А является вырожденной.

Теорема 10.2. Если для ЛА А существует хотя бы одна СП длины k, то для этого автомата синхронизирующими являются любые входные последовательности длины k и более.

Доказательство. Из теоремы 10.1 следует, что для ЛА, имеющего СП \bar u(0), bar u(1), \dots, \bar u(k-1) длины k, конечное состояние ЛА после подачи СП выражается по формуле (10.3) следующим образом:

\bar s(k)=A^{k-1}B\bar u(0)+A^{k-2}B\bar u(1)+ \dots +AB \bar u(k-2)+B \bar u (k-1) ( 10.13)

Поскольку правая часть последнего равенства не зависит от начального состояния \bar s(0) ЛА, это означает, что при любом начальном состоянии некоторая фиксированная входная последовательность \bar u(0), bar u(1), \dots, \bar u(k-1) переводит ЛА в одно и то же конечное состояние. Этот факт остается справедливым и для любой другой фиксированной входной последовательности. Иными словами, любая входная последовательность длины k является для этого ЛА синхронизирующей. Ясно, что и любая входная последовательность большей длины также будет синхронизирующей.

Заметим, что последняя теорема свидетельствует о принципиальном различии между общими автоматами Мили и линейными автоматами с точки зрения возможности их синхронизации. Если для некоторого автомата Мили СП длины k существует, то общее их число может быть невелико. В частности, автомат Мили может иметь одну единственную СП. В то же время для ЛА существование одной СП длины k автоматически влечет существование p^k СП такой же длины.

Обратимся теперь к вопросу о том, как практически установить существование у заданного ЛА СП и если таковая существует, то как найти длину минимальной СП. Из теории автоматов известно, что установочная задача для автомата с \nu состояниями и с \nu допустимыми начальными состояниями всегда может быть решена с помощью простого безусловного эксперимента длины l, где l \le (\nu -1)^2. Задача синхронизации автомата является, очевидно, частным случаем установочной задачи. Используя этот факт, для установления факта существования СП необходимо вычислять последовательно степени А^k главной характеристической матрицы ЛА для k = 1, 2, \dots, до тех пор, пока на очередном шаге она не выродится в нулевую. Очевидно, что наименьшее целое k такое, для которого А^k=[0] , равно длине минимальной СП. Если же в процессе вычисления окажется, что А^k \ne [0] при k = (\nu-1)^2, где \nu = 2^n, n - размерность ЛА, то СП для этого ЛА не существует и на этом процесс вычисления степеней матриц прекращается.

Упомянутая выше верхняя граница длины минимальной СП, равная величине (2^n-1)^2, достаточно велика. Укажем один частный вид ЛА, для которого эта верхняя граница существенно ниже.

Назовем квадратную матрицу верхней (нижней) треугольной, если все ее элементы, лежащие на главной диагонали и ниже (выше) нее, равны нулю.

Теорема 10.3. Если главная характеристическая матрица ЛА размерности n является верхней (нижней) треугольной, то длина минимальной СП для этого ЛА не превосходит n.

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

\left [
\begin {matrix}
0&a_{12}&a_{13}&\dots &a_{1, n-1}&a_{1,n}\\
0&0&a_{23}& \dots &a_{2,n-1}& a_{2,n}\\
\dots & \dots & \dots & \dots & \dots & \dots\\
0& 0& 0& \dots & a_{n-2, n-1}& a_{n-2,n}\\
0 & 0 & 0 & \dots & 0 & a_{n-1, n}\\
0 & 0 & 0 &  \dots & 0 & 0
\end {matrix}
\right ]

Условимся нумеровать диагонали матрицы, параллельные ее главной диагонали и расположенные выше нее, в порядке убывания числа элементов в них. Тогда диагональ, содержащая элементы a_{12}, a_{23}, \dots, a_{n-2,n-1}, a_{n-1,n}, получит номер 1, а диагональ, содержащая единственный элемент a_{1n}, - номер n-1. Непосредственными вычислениями можно убедиться, что в матрице А^2 все элементы первой диагонали равны 0, в матрице А^3 все элементы первой и второй диагонали также равны 0. Методом индукции можно доказать, что в матрице А^k наряду с ее нулевой нижней треугольной подматрицей диагонали с номерами 1, 2,\dots , k-1 также содержат только нули. Из последнего утверждения следует, что по крайней мере в матрице А^n все элементы равны 0. Тогда на основании теоремы 10.1 рассматриваемый ЛА имеет СП, длина которой не превосходит n.

Для нижней треугольной матрицы соответствующее утверждение доказывается аналогично.

Ниже будет показано, что в действительности длина минимальной СП не превосходит n для произвольного синхронизируемого ЛА размерности n, а не только для частного вида ЛА, фигурирующего в теореме 10.3.

Состояние ЛА А, в котором он оказывается после подачи некоторой его СП, назовем синхросостоянием.

Обозначим через \Synh (A) множество всех возможных синхросостояний ЛА. Ясно, что в общем случае попарно различные СП могут переводить ЛА как в различные, так и в совпадающие синхросостояния, т. е. |\Synh(A)| \le p^n.

Рассмотрим следующую задачу. Пусть задан синхронизируемый ЛА А, синхросостояние \bar s \in \Synh(A) и пусть k - длина минимальной СП этого автомата. Требуется найти такую входную последовательность длины k, которая переводит ЛА А в синхросостояние \bar s.

Для рассматриваемого ЛА выражение (10.13) можно переписать в виде

A^{k-1}B\bar u(0) +A^{k-1} B \bar u(1)+\dots + AB\bar u(k-2)+ B \bar u(k-1)= \bar s ( 10.14)

Далее (10.14) будем рассматривать как СЛАУ (неоднородных) относительно неизвестных u_1(0), \dots, u_l(0), \dots, u_1(k-1), \dots, u_l(k-1) , общее число которых равно l \times k.

Пусть Q = [q_{ij}]_{n x lk} есть матрица системы (10.14), а \bar Q есть расширенная (добавлением к матрице Q столбца \bar s ) матрица той же системы и \rank Q = r. Необходимым и достаточным условием совместности системы (10.14) является, как известно из алгебры, условие rank Q = \rank \bar Q (теорема Кронекера - Капелли). Понятно, что для выполнения этого условия вектор-столбец \bar s должен быть линейной комбинацией r линейно независимых столбцов матрицы Q. Иными словами, только для вектор-столбцов \bar s, представляющих собой такие комбинации, соответствующая СП может быть найдена. Ясно, что если для некоторого \bar s система (10.14) оказывается несовместной, это означает, что заданное \bar s не принадлежит множеству синхросостояний \Synh(A) .

Напомним, как могут быть найдены решения системы (10.14) в случае ее совместности. С этой целью выберем в матрице Q r линейно независимых строк и в (10.14) оставим лишь те уравнения, коэффициенты которых вошли в выбранные строки. В левых частях этих уравнений оставляем такие r неизвестных, что определитель из коэффициентов при них отличен от нуля. Остальные неизвестные в этих уравнениях объявляем свободными и переносим в правые части уравнений. Варьируя значения свободных переменных (все они являются элементами поля GF(p) ) и вычисляя значения остальных неизвестных (например, по правилу Крамера), получим все решения системы (10.14).

Проиллюстрируем сказанное на примере. Пусть ЛА над полем GF(2) задан характеристическими матрицами:

A=
\left [
\begin {matrix}
0& 0& 0& 0\\
1& 0& 0& 0\\
1& 1& 0& 0\\
1& 1& 1& 0
\end {matrix}
\right ],\\
b=
\left [
\begin {matrix}
1& 1\\
1& 1\\
1& 1\\
1&1
\end {matrix}
\right ]

где n = 4, l = 2, тогда \bar u=[u_1, u_2]' .

По теореме 10.3 этот ЛА синхронизируем и длина его минимальной СП равна 4. Система (10.14) в нашем случае в матричной форме имеет вид

A^3B\bar u(0)+ A^2B(1)+AB\bar u(2)+B\bar u(3)= \bar s ( 10.15)

Вычислим матрицы A^3 B, A^2 B, AB:

A^3B=
\left [
\begin {matrix}
0&0\\
0&0\\
0&0\\
1&1
\end {matrix}
\right ],\\
A^2B=
\left [
\begin {matrix}
0&0\\
0&0\\
1&1\\
1&1
\end {matrix}
\right ],\\
AB=
\left [
\begin {matrix}
0&0\\
1&1\\
0&0\\
1&1
\end {matrix}
\right ]

Используя эти матрицы, перепишем систему уравнений (10.15) в координатной форме, где неизвестными являются u_1(0), u_2(0), u_1(1), u_2(1), u_1(2), u_2(2), u_1(3), u_2(3) - координаты векторов \bar u(0), bar u(1), \bar u(2), \bar u(3):

u_1(3) + u_2(3) = s_1,\\
 u_1(2) + u_2(2) + u_1(3) + u_2(3) = s_2, \\                                                           
  u_1(1) + u_2(1) + u_1(3) + u_2(3) = s_3,\\
  u_1(0) + u_2(0) + u_1(1) + u_2(1) + u_1(2) + u_2(2) + u_1(3) + u_2(3) = s_4. ( 10.16)

Здесь s_1, s_2, s_3, s_4 есть координаты вектора \bar s.

Матрица этой системы имеет вид

Q=
\left \{
\begin {matrix}
0&0&0&0&0&0&1&1\\
0&0&0&0&1&1&1&1\\
0&0&1&1&0&0&1&1\\
1&1&1&1&1&1&1&1
\end {matrix}
\right \}

Вычисления показывают, что \rank Q = 4. Перенумеруем столбцы матрицы Q слева направо начиная с 1. Выберем в Q четыре линейно независимых столбца, например, с номерами 1, 3, 5, 7, которым соответствуют неизвестные u_1(0), u_1(1), u_1(2), u_1(3) . Легко проверить, что определитель, составленный из названных столбцов, отличен от нуля. Оставим эти перечисленные неизвестные в левых частях уравнений системы (10.16), а остальные переменные объявим свободными и перенесем в правые части уравнений:

u_1(3 ) = u_2(3) + s_1,\\
u _1(2)  +  u_1(3) = u_2(2)  +  u_2(3) + s_2,\\
u _1(1)  +  u_1(3) = u_2(1)  +  u_2(3) + s_3,\\
u_1(0)  +  u_1(1) + u_1(2)  +  u_1(3) = u_2(0)  +  u_2(1) + u_2(2)  +  u_2(3) +s_4.

После простых и очевидных преобразований последняя система примет вид

u_1(3 ) = u_2(3) + s_1,\\
 u_1(2) = u_2(2) + s_1 + s_2,\\	u_1(1) = u_2(1) + s_1 + s_3,\\
 u_1(0) = u_2(0) + s_1 + s_2 + s_3 + s_4. ( 10.17)

Выберем, например, состояние \bar s = (1,1,1,1)' и проверим, является ли оно синхросостоянием. Если да, то найдем минимальную по длине СП, переводящую заданный ЛА в это синхросостояние. Условимся также среди всех минимальных по длине СП найти такую, которая имеет минимальный вес. Весом СП назовем число, которое равно сумме координат входных символов, составляющих эту СП.

Поскольку в нашем примере s_1 = s_2 = s_3 = s_4 = 1, то система (10.17) примет вид:

u_1(3) = u_2(3) +1;     u_1(2)  = u_2(2) ;     u_1(1)  = u_2(1) ;     u_1(0)   = u_2(0).

Для получения искомой СП минимального веса положим u_2(3), u_2(2), u_2(1), u_2(0) равными нулю. Тогда искомая СП, переводящая заданный ЛА из любого состояния в состояние (1,1,1,1)' , такова: (0,0)', (0,0)', (0,0)', (1,0)'.

Вопросы и упражнения

  1. Опишите состав и устройство линейного автомата.
  2. Приведите системы уравнений состояний и выходов, описывающих функционирование стационарных (нестационарных) линейных автоматов.
  3. Приведите формулы для определения конечного состояния и реакции стационарного (нестационарного) линейного автомата при подаче на него последовательности входных символов.
  4. Дайте определения синхронизирующих, установочных и диагностических последовательностей и поясните их содержательный смысл.
  5. Сформулируйте критерий существования синхронизирующих последовательностей для стационарных линейных автоматов.
  6. Охарактеризуйте свойства синхронизирующих последовательностей.
  7. Сформулируйте постановку задачи перевода линейного автомата в заданное синхросостояние.
  8. Опишите метод решения задачи перевода линейного автомата в заданное синхросостояние.
  9. ЛА над полем GF(2) задан следующими характеристическими матрицами:

    A=
\begin {pmatrix}
0& 0& 1\\
0& 1& 1\\
1& 1& 1
\end {pmatrix},\\
b=
\begin {pmatrix}
0& 1\\
1& 0\\
1& 1
\end {pmatrix},\\
C=
\begin {pmatrix}
0& 1&0\\
0&0&1
\end {pmatrix},
D=
\begin {pmatrix}
1&0\\
0&1
\end {pmatrix}

    Требуется проверить, существует ли для этого ЛА синхронизирующая (установочная, диагностическая) последовательность.

  10. ЛА над полем GF(2) имеет следующие характеристические матрицы:

    A=
\begin {pmatrix}
0&0&0\\
1&0&0\\
1&1&0
\end {pmatrix}, B=
\begin {pmatrix}
1&0\\
0&1\\
1&1
\end {pmatrix}

    Покажите, что этот ЛА является синхронизируемым и найдите длину минимальной СП.

    Проверьте, является ли состояние s=[1,1,1]' этого ЛА синхросостоянием, и если да, то найдите минимальную СП, переводящую ЛА в это состояние.

< Лекция 9 || Лекция 10: 12 || Лекция 11 >