Опубликован: 17.02.2011 | Уровень: специалист | Доступ: платный
Лекция 21:

Эксперименты с билинейными автоматами по распознаванию состояний

< Лекция 20 || Лекция 21: 12 || Лекция 22 >
Аннотация: Объектом исследования являются билинейные автоматы. Для автоматов такого типа приведены критерии существования синхронизирующих, установочных и диагностических последовательностей, сформулированные в терминах их характеристических матриц. Предложены и обоснованы аналитические методы построения перечисленных последовательностей и исследованы их свойства.

Перейдем теперь к описанию используемой нами модели БА. Условимся, что для входных и выходных символов БА, а также для состояний БА будут сохранены те же обозначения, что и для ЛА.

Предполагается, что БА \tilde A задан над полем GF(p)=\{0,1, \dots , p-1\}. Пространство состояний БА будем обозначать через S_n, где |S_n|=p^n, а число n будем, как и в случае ЛА, называть размерностью БА.

Далее рассматриваются БА, функционирование которых описывается следующими системами уравнений состояний и выходов соответственно:

\bar s(t+1)=A\bar s(t)+(\sum_{i=1}^lF_iu_i(t))\bar s(t)+B\bar u(t) ( 21.1)
\bar y(t)=C\bar s(t)+(\sum_{i=1}^lC_iu_i(t))\bar s(t)+D\bar u(t) ( 21.2)

где A, F_i - матрицы размерности n \times n, B - размерности n \times l; C, G_i - размерности m \times n; D - размерности m \times l.

Упомянутые матрицы будем называть далее характеристическими матрицами БА. Элементами всех этих матриц являются элементы поля GF(p) .

Введем следующие обозначения:

I(\bar u(t))=\sum_{i=1}^lF_iu_i(t),\\
J(\bar u(t))=\su,_{i=1}^lG_iu_i(t)

Пусть задана входная последовательность \bat u(0), \bar u(1), \dots, \bar u(t) и пусть \bar s(0) есть начальное состояние БА. Методом математической индукции можно доказать, что конечное состояние БА и его реакция вычисляются соответственно по формулам

\bar s(t+1)=\left ( \prod_{i=0}^{t}[A+I(t-i))] \right ) \bar s(0)+\left ( \prod_{i=0}^t [A+I(\bar u(t-1))\right )B\bar u(0) \dots +[A+I(\bar u(t))]B\bar u(t-1)+B\bar u(t) ( 21.3)
y(t)=([C+J(\bar u(t))]) \left (\prod_{i=0}^t[A+I(t-i-1))] \right ) \bar s(0)+[C+J(\bar u(t))]*\\
\|Pi_{i=0}^t[A+J(\bar u(t-1))]B\bar u(0)+ \dots +[C+J(\bar u(t))]B\bar u(t-1)+D\bar u(t) ( 21.4)

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

Применительно к БА \tilde A определение 1.1 СП \bat u(0), \bar u(1), \dots, \bar u(t) (в лекции 1) принимает следующий вид:

\forall \bar s_1, \bar s_2 \in S_n \left \{ \prod_{i=0}^t[A+I(\bar u(t-i))]\bar s_1+\prod_{i=0}^t[A+I(\bar u(t-i))]B\bar u(0)+ \dots ( 21.5)
+[A+I(\bar u(t))]B\bar u(t-1)+B\bar u(t) \right \}=\left \{\prod_{i=0}^t[A+I(\bar u(t-i))] \bar s_2+
+[A+I(\bar u(t))]B\bar u(t-1)+B\bar u(t) \right \}=\left { \prod_{i=0}^t[A+I(\bar u(t-i))]\bar s_2+
+\prod_{i=0}^{t-1}[A+I(\bar u(t-i))]B\bar u(0)_+\dots +[A+I(\bar u(t))]B\bar u(t-1)+B\bar u(k) \right \}

Перенося в левую часть равенства (21.5) все выражения, стоящие в правой его части, получим

\forall \bar s \ne [0], |pi_{i=0}^t[A+I(\bar u(t-i))]\bar s=[0] ( 21.6)

где [0] - нулевая матрица (в частности, вектор) соответствующей размерности.

Теорема 21.1. Для того чтобы входная последовательность \bat u(0), \bar u(1), \dots, \bar u(t) была СП для БА \tilde A, необходимо и достаточно, чтобы выполнялось равенство

\prod_{i=0}^t[A+I(\bar u(t-i))]=[0] ( 21.7)

Доказательство. Докажем необходимость условия (21.7), поскольку его достаточность очевидна. Обозначим через H=[h_{ij}] матрицу, представляющую собой левую часть (21.7). Пусть \bat u(0), \bar u(1), \dots, \bar u(t) есть СП, но тогда выполняется равенство (21.6). Поскольку \bar s - произвольное состояние, то положим \bar s=[1,0,\dots ,0]', при котором (21.6) становится равенством [h_{11} h_{21} \dots h_{n1}]'=[0]. Из этого равенства следует, что h_{i1}=0, i=\overline {1,n}. Полагая далее \bar s равным векторам [0,1,0,\dots , 0]', \dots, [0, 0, \dots, 1]', аналогичными рассуждениями придем к заключению, что и все остальные столбцы матрицы H, как и ее первый столбец, нулевые. Таким образом, из (21.6) следует (21.7), что и требовалось доказать.

Из (21.7) следует справедливость следующего утверждения.

Теорема 21.2. Для того чтобы входная последовательность \bat u(0), \bar u(1), \dots, \bar u(t) была СП для БС \tilde A, достаточно, чтобы по крайней мере для одного из значений i=0,1, \dots, t выполнялось равенство

[A+I(\bar u(t-i))]=[0] ( 21.8)

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

Теорема 21.3. Если характеристические матрицы A и F_i= \overline {1,l}, БС \tilde A являются верхними (нижними) треугольными, то для этой БС существуют СП длины, не большей n, где n - число строк и столбцов упомянутых матриц.

Доказательство. Пусть A и F_i, i=\overline {1, l}, являются верхними треугольными матрицами. Тогда каждый сомножитель в произведении (21.7) также представляет собой матрицу того же типа. Условимся нумеровать диагонали этих матриц, лежащие выше главной диагонали и параллельные ей, числами 1,2, \dots, n-1. Непосредственными вычислениями легко убедиться, что все элементы первой диагонали матрицы-произведения двух верхних треугольных матриц равны нулю. Если эту матрицу вновь умножить на верхнюю треугольную матрицу, т. е. взять произведение трех сомножителей из (21.7), то в результате получится матрица, у которой нулевыми будут элементы первой и второй диагонали. Отсюда методом индукции можно доказать, что произведение n штук верхних треугольных матриц даст нулевую матрицу. Тогда на основании теоремы 21.1 рассматриваемая БА имеет СП, длина которой не превосходит n.

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

Поскольку БА представляет собой автомат Мили, для построения для нее УП (в частности, СП) и ДП применимы известные методы, описанные в [18], которые, однако, достаточно трудоемки, так как базируются на использовании конструкции дерева преемников. Ниже описываются аналитические методы построения различных типов последовательностей для БА, менее трудоемкие, чем методы из [18].

Опишем метод построения СП. Обратимся к равенству (21.7) и на его основе организуем пошаговый процесс поиска СП, начиная с СП длины 1 (при t=0 ), затем СП длины 2 (при t=1 ) и т. д. При варьировании величины t равенство (21.7) будет принимать последовательно следующий вид:

A+I(\bar u(0))=[0],\\
[A+I(\bar u(1))][A+I(\bar u(0))]=[0],\\
………………………………………,\\
[A+I(\bar u(t-1))][A+I(\bar u(t-2))] \dots [A+I(\bar u(0))]=[0] ( 21.9)

Поиск СП начнем с попытки решения первой из выписанных систем в (21.9), рассматривая в качестве неизвестных координаты вектора \bar u(0). Эта неоднородная система линейных уравнений \sum_{i=1}^lF_iu_i=-A имеет следующую матрицу:

L=
\left [
\begin {matrix}
f_{11}(1)& f_{11}(2)& \dots& f_{11}(l)\\
\dots & \dots &\dots &\dots\\
f_{nn}(1)& f_{nn}(2)& \dots &f_{nn}(l)
\end {matrix}
\right ]

Здесь элементы f_{ij}(\nu) есть элементы матрицы F_{\nu}. Как известно [19], эта система будет совместной, если rank L = rank\ \tilde L, где \tilde L - расширенная (добавлением столбца, состоящего из соответствующих элементов матрицы A ) матрица той же системы. В случае совместности этой системы возможны два случая: 1) rank\ L = l ; 2) rank\ L < l. В первом случае система имеет единственное решение, которое дает искомую СП. Во втором случае система имеет множество решений, каждому из которых соответствует своя СП. Поскольку решение системы отыскивается среди элементов конечного поля GF(p) , множество решений будет конечным.

Если упомянутая система линейных уравнений окажется несовместной, то перейдем к рассмотрению следующей системы в (21.9) и так до тех пор, пока либо очередная система не окажется совместной, либо параметр t не достигнет значения w(w-1)/2, где w - число состояний рассматриваемой БА. Если и при предельном значении t СП не будет найдена, то для этой БА ее не существует, поскольку упомянутое значение есть верхняя граница длины СП. Отметим, что все системы в (21.9) начиная со второй являются нелинейными. Для таких систем не существует общих методов решения, однако в силу конечности поля GF(p) , над которым рассматриваются такие системы, решение может быть найдено либо перебором, либо с помощью некоторого частного метода, который может быть предложен с учетом специфики конкретной системы.

Проиллюстрируем метод на примере БА над полем GF(2) , у которой n=3, l=2, а характеристические матрицы имеют следующий вид:

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

Первое равенство в (21.9) дает следующую систему уравнений:

\left [
\begin {matrix}
1&0&0\\
0&0&0\\
0&0&0
\end {matrix}
\right ] +
\left [
\begin {matrix}
0&0&1\\
0&1&0\\
0&0&0
\end {matrix}
\right ]  u_1(0)+
\left [
\begin {matrix}
0&0&1\\
0&0&0\\
1&0&1
\end {matrix}
\right ] u_2(0)=
\left [
\begin {matrix}
0&0&0\\
0&0&0\\
0&0&0
\end {matrix}
\right ]

Легко убедиться, что она несовместна, и потому выписываем вторую систему из (21.9):

\left (
\left [
\begin {matrix}
1&0&0\\
0&0&0\\
0&0&0
\end {matrix}
\right ]+
\left [
\begin {matrix}
0&0&1\\
0&1&0\\
0&0&0
\end {matrix}
\right ] u_1(0)+
\left [
\begin {matrix}
0&0&1\\
0&0&0\\
1&0&0
\end {matrix}
\right ]u_2(0)
\right) \cdot\\
\cdot \left (
\left [
\begin {matrix}
1&0&0\\
0&0&0\\
0&0&0
\end {matrix}
\right ]+
\left [
\begin {matrix}
0&0&1\\
0&1&0\\
0&0&0
\end {matrix}
\right ]u_1(1)+
\left [
\begin {matrix}
0&0&1\\
0&0&0\\
1&0&0
\end {matrix}
\right ]u_2(1)
\right )=
\left [
\begin {matrix}
0&0&0\\
0&0&0\\
0&0&0
\end {matrix}
\right ]

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

\left [
\begin {matrix}
1+(u_1(0)+u_2(0))u_2(1)& 0& u_1(1)+u_2(1)+u_2(1)(u_1(0)+u_2(0))\\
0&u_1(0)u_1(1)&0\\
u_2(0)+u_2(0)u_2(1)&0&u_2(0)(u_1(1)+u_2(1))+u_2(0)u_2(1)
\end {matrix}
\right ] =[0]

В конечном счете, приравнивая каждый элемент последней матрицы нулю, получим систему уравнений

(u_1(0)u_2(0))u_2(1)+1=0,\\
u_1(1)+u_2(1)+u_2(1)(u_1(0)+u_2(0))=0,\\
u_2(0)+u_2(0)u_2(1)=0,\\
u_2(0)(u_1(1)+u_2(1))+u_2(0)u_2(1)=0

Напомним, что решение мы ищем в поле GF(2) и потому операция "+" - это сложение по модулю 2. Легко убедиться, что эта система имеет два решения:

  1. u_1(0)=1,    u_2(0)=0,    u_1(1)=0,     u_2(1)=1 ;
  2. u_1(0)=0,    u_2(0)=1,    u_1(1)=0,     u_2(1)=1.

Таким образом, рассматриваемый БА имеет две СП: \bar u(0)=[1,0]', \bar u(1)=[0,1]' и \bar u(0)=[0,1]', \bar u(1)=[0,1]'.

Задачи синхронизации и установки автоматов - это разновидности задачи управления дискретной системой (ДС), которая в общем виде формулируется следующим образом: для рассматриваемой ДС найти такую входную последовательность, которая переводит ее из состояния \bar s_1 в состояние \bar s_2. Для автоматов, заданных графом переходов, эта задача сводится к задаче поиска путей на графе между двумя заданными вершинами, методы решения которой известны. Однако для автоматов с большим числом состояний проблема построения графа переходов сама по себе является трудоемкой. Покажем, что для БА может быть предложен аналитический метод решения упомянутой задачи, не требующий знания графа переходов.

Поиск требуемой входной последовательности осуществим следующим образом. В (21.1) положим t=0 и вместо \bar s(0) подставим состояние \bar s_1, а вместо \bar s(1) - состояние \bar s_2. Полученное выражение будем рассматривать как систему линейных алгебраических уравнений относительно неизвестных u_1(0), \dots, u_l(0). Очевидно, что если эта система совместна, то ее решению соответствует искомая входная последовательность. Если таких решений будет несколько, то это говорит о существовании нескольких путей перехода из \bar s_1> в \bar s_2, а отсутствие решений - о невозможности требуемого перехода с помощью входной последовательности длины 1. В последнем случае сделаем попытку найти соответствующую последовательность длины 2, положив в (21.3) t=1 и заменив \bar s(t) и \bar s(t+1) соответственно на \bar s_1 и \bar s_2. Если полученная система вновь окажется несовместной, то продолжим описанный процесс далее аналогичным образом. Если до значения t=w-2 включительно, где w - число состояний БА, все последовательно получаемые системы линейных уравнений окажутся несовместными, то это означает, что переход из \bar s_1 в \bar s_2 невозможен, поскольку если соответствующий путь существует, то длина его не может превосходить w-1.

Проиллюстрируем описанный метод на примере БА над полем GF(2) , уже рассмотренном выше, где характеристическая матрица B имеет вид

B=
\left [
\begin {matrix}
1&0\\
0&1\\
1&0
\end {matrix}
\right ]

Пусть требуется найти входную последовательность, переводящую заданную БС из состояния \bar s_1=[1,1,1]' в состояние \bar s_2=[0,0,1]'.

Выпишем систему уравнений, используя выражение (6.1):

\left [
\begin {matrix}
1&0&0\\
0&0&0\\
0&0&0
\end {matrix}
\right ]\times 
\left [
\begin {matrix}
1\\
1\\
1
\end {matrix}
\right ] +
\left (
\left [
\begin {matrix}
0&0&1\\
0&1&0\\
0&0&0
\end {matrix}
\right ] u_1(0)+
\left [
\begin {matrix}
0&0&1\\
0&0&0\\
1&0&1
\end {matrix}
\right ] u_2(0)
\right )
+ \left [
\begin {matrix}
1&0\\
0&1\\
1&0
\end {matrix}
\right ] \times 
\left [
\begin {matrix}
u_1(0)\\
u_2(0)
\end {matrix}
\right ] =
\left [
\begin {matrix}
0\\
0\\
1
\end {matrix}
\right ]

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

\left [
\begin {matrix}
u_2(0)+1\\
u_1(0)+u_2(0)\\
u_1(0)
\end {matrix}
\right ]=
\left [
\begin {matrix}
0\\
0\\
1
\end {matrix}
\right ]

Эта система имеет единственное решение u_1(0)=1, u_2(0)=1, следовательно, искомая входная последовательность есть [1,1]'.

< Лекция 20 || Лекция 21: 12 || Лекция 22 >
Дмитрий Степаненко
Дмитрий Степаненко
Россия
Юрий Фролов
Юрий Фролов
Украина