Главная страница
Навигация по странице:

  • Пример 2.14.

  • Пример 2.15.

  • Пример 2.16.

  • Пример 2.17.

  • Математическая теория систем. Математические основы теории систем


    Скачать 2.07 Mb.
    НазваниеМатематические основы теории систем
    Дата20.01.2023
    Размер2.07 Mb.
    Формат файлаpdf
    Имя файлаМатематическая теория систем.pdf
    ТипУчебное пособие
    #895603
    страница10 из 35
    1   ...   6   7   8   9   10   11   12   13   ...   35
    Пример 2.13.
    Исходный граф автомата изображен на рис. 2.12,а.
    Пусть
    q
    1
    начальное состояние, а q
    2
    – заключительное. Расщепляем вер- шину
    q
    1
    (рис. 2.12, б). Вычисляем переход от q
    1
    ' к q
    1
    '' (рис. 2.12, в). Со-
    t
    kk
    t
    pk
    t
    ks
    q
    p
    q
    k
    q
    s
    а)
    q
    p
    q
    s
    ( )
    *
    ps
    pk
    kk
    ks
    t
    t
    t
    t



    б)
    Рис. 2.11.Удаление вершины с петлей

    80 единяем
    q
    1
    ' и q
    1
    '' (рис. 2.12, г). Записываем окончательный результат
    (рис. 2.12,
    д).
    Теперь можно сформулировать графический алгоритм анализа аб- страктных автоматов.
    1. По графу автомата находим исток и сток. Если их нет, то с началь- ной вершиной
    q
    i
    соединяется пустым ребром новая вершина
    q
    i
    ', а заклю- чительная вершина
    q
    j соединяется пустым ребром с новой вершиной
    q
    j
    '.
    После этого
    q
    i
    ' берется как исток, а q
    j
    ' – как сток.
    2. Все параллельные пути приводятся к форме
    k
    s
    x
    x

    , а все последо- вательные – к форме
    x
    k
    x
    s
    3. Получаем индексный остаток графа, отмечая вершины
    q
    i
    , q
    j
    и ин- дексные вершины. Находим приращения остаточных дуг.
    4. Устраняем последовательно все индексные вершины индексного остатка графа. Приращение пути от вершины
    q
    i
    к вершине
    q
    j
    есть регу- лярное выражение события, представимого в автомате состоянием
    q
    j
    при условии, что
    q
    i
    – начальное состояние автомата.
    х
    1
    х
    1
    х
    2
    q
    1
    q
    2
    x
    2
    а)
    q
    1
    ''
    x
    1
    q
    1
    '
    x
    1
    x
    2
    q
    2
    x
    2
    б)
    2 2 1
    x x x

    х
    1
    q
    1
    '
    '
    q
    1
    '
    в)
    1 2 2 1
    x
    x x x


    х
    2
    q
    1
    x
    2
    q
    2
    г)
    (
    )
    1 2 2 1 2 2
    x
    x x x
    x x




    q
    1
    q
    2
    д)
    Рис. 2.12. Пример расщепления сложного контура обратной связи

    81
    Пример 2.14.
    Рассмотрим автомат, заданный своим графом переходов
    (см. рис. 2.13).
    Пусть начальное состояние автомата
    1
    q , а заключительное –
    7
    q . Тре- буется провести анализ автомата, т.е. найти регулярное выражение, пред- ставимое этим автоматом. Поскольку вершина
    1
    q является истоком, а вершина
    7
    q – стоком, вводить дополнительные вершины не требуется. В графе на рис. 2.13 две индексные вершины –
    2
    q и
    4
    q . Можно оставить любую из них, например,
    4
    q . Тогда индексный остаток графа будет та- ким, как на рис. 2.14.
    q
    1 1
    q
    q
    2
    q
    3
    q
    4
    q
    5
    q
    6
    q
    7
    x
    1
    x
    2
    x
    3
    x
    5
    x
    6
    x
    7
    x
    8
    x
    9
    x
    10
    x
    11
    x
    12
    x
    13
    x
    4
    Рис. 2.13. Граф автомата

    82
    Путь
    (
    )
    (
    )
    3 5 6 7 8
    9 13 11 12
    x x x x
    x x x
    x x



    от вершины
    4
    q до вершины
    7
    q не является остаточным, так как проходит через индексную вершину
    4
    q .
    Устраняя индексную вершину
    4
    q , получаем окончательное выражение для регулярного события, представимого автоматом при условии, что начальное состояние автомата –
    1
    q , а заключительное –
    7
    q :
    1 2 1
    5 6 7
    8 9
    4 3 2 3
    5 6 7
    8 9
    11 12 13 3
    5 6 7
    8 10 12 1
    5 6 7
    8 10 12
    (
    (
    ) )(
    (
    ) ) (
    (
    )
    )
    (
    )
    x x
    x x x x
    x x x
    x x
    x x x x
    x x
    x x
    x
    x x x x
    x x x
    x x x x
    x x x
















    2.4
    Алгебра абстрактных автоматов
    Рассмотрим свойства теоретико-множественных и алгебраических опе- раций на множестве абстрактных автоматов. Есть две теоретико- множественные операции – объединение и пересечение, а также четыре алгебраические – умножение, суммирование, суперпозиция и композиция.
    Все эти операции бинарные и играют важную роль при синтезе автоматов, так как на структурном уровне они соответствуют различным способам соединения простых (в частности элементарных) автоматов между собой при построении структурных схем более сложных автоматов [9].
    Множество автоматов совместно с операциями над ними образуют алгебру абстрактных автоматов, которую не нужно путать с алгеброй регулярных событий на множестве слов входного алфавита произвольно- го автомата.
    Задать определенную бинарную операцию на множестве автоматов означает указать закон, по которому любым двум автоматам из некоторо- го множества автоматов сопоставляется третий автомат из этого же мно-
    q
    4
    q
    7
    (
    )
    11 12 13 3
    5 6 7 8
    10 12
    x x
    x
    x x x x
    x x x




    q
    1 1
    5 6 7
    8 10 12
    (
    )
    x x x x
    x x x


    (
    )
    4 3 2 3
    5 6 7 8
    9
    x
    x x
    x x x x
    x x




    Рис. 2.14. Индексный остаток графа
    1 2 1
    5 6 7
    8 9
    (
    )
    x x
    x x x x
    x x




    83 жества. Какое именно множество имеется в виду, зависит от конкретного случая (от конкретной операции), а равенство понимается, как правило, с точностью до изоморфизма.
    2.4.1. Теоретико-множественные операции
    Операции объединения и пересечения автоматов играют вспомога- тельную роль при задании алгебраических операций, хотя их можно рас- сматривать и как самостоятельные операции на множестве
    В(L) подавто- матов произвольного непустого автомата
    L. Тогда объединение двух ав- томатов
    А

    В(L) и В

    В(L) представляет автомат С=А

    В, который являет- ся эквивалентным продолжением автоматов
    А и В, а пересечение пред- ставляет автомат
    D

    B(L), по отношению к которому автоматы А и В яв- ляются эквивалентными продолжениями.
    Зададим операции объединения и пересечения более конкретно. Пусть
    L – произвольный непустой автомат Мили, а В(L) – множество его подав- томатов. Пусть далее
    А

    В(L) и В

    В(L) – подавтоматы автомата L, при- чем и
    А, и В имеют одинаковые начальные состояния, совпадающие с начальным состоянием
    L. Пусть заданы автомат А=(Х
    1
    ,
    Q
    1
    ,
    Y
    1
    ,
    q
    1

    Q
    1
    ,
    F
    1
    (
    x

    X
    1
    /
    y

    Y
    1
    )) и автомат
    В=(Х
    2
    ,
    Q
    2
    ,
    Y
    2
    ,
    q
    1

    Q
    2
    ,
    F
    2
    (
    x

    X
    2
    /
    y

    Y
    2
    )). Тогда авто- мат
    С=(X,Q,Y,q

    Q,F(x

    X/y

    Y)) будет являться объединением А и В, если множества
    X, Y, Q и отображение F определяются по формулам
    X=(
    {
    1

    X
    1
    )

    (
    {
    2

    X
    2
    ); (2.4.1)
    Q=Q
    1

    Q
    2
    ; (2.4.2)
    Y=(
    {
    1

    Y
    1
    )

    (
    {
    2

    Y
    2
    ); (2.4.3)
    Fq=F
    1
    q

    F
    2
    q, (2.4.4) где
    q

    Q. Для тех состояний, когда q

    Q
    1
    , полагаем
    F
    1
    q=Ø, а при q

    Q
    2
    имеем
    F
    2
    q=Ø.
    Если не происходит нарушения автоматности для автомата
    С, то есть равенство
    F
    1
    q(x/y)=F
    2
    q(x/y) не нарушается для любых
    q

    Q, x

    X и y

    Y (когда оба отображения не пусты) или если
    X
    1

    X
    2
    =Ø; (2.4.5)
    Y
    1

    Y
    2
    =Ø, (2.4.6)

    84 то формулы (2.4.1) и (2.4.3) упрощаются и принимают вид
    X=X
    1

    X
    2
    ; (2.4.7)
    Y=Y
    1

    Y
    2
    . (2.4.8)
    В том случае, когда
    А и В вполне определенные автоматы, автомат
    С=А

    В также вполне определен, в противном случае автомат С будет частичным.
    Пример 2.15.
    Автоматы заданы своими автоматными таблицами.
    A
    q\x
    x
    1
    x
    2 1
    -
    3,
    y
    2 2
    2,
    y
    2
    -
    3 3,
    y
    1 2,
    y
    3
    B
    q\x
    x
    1
    x
    2
    x
    3 1
    2,
    y
    1 3,
    y
    2
    -
    2 2,
    y
    2
    -
    1,
    y
    1 3
    -
    -
    1,
    y
    3
    Найдем их объединение
    C A B
    = ∪ . Поскольку нарушения условий автоматности не происходит, то нет необходимости различать одинако- вые буквы алфавитов, и поэтому пользуемся формулами (2.4.7) и (2.4.8), а также формулами (2.4.2) и (2.4.4). В результате получаем автомат
    С:
    С
    q\x
    x
    1
    x
    2
    x
    3 1
    2,
    y
    1 3,
    y
    2
    -
    2 2,
    y
    2
    -
    1,
    y
    1 3
    3,
    y
    1 2,
    y
    3 1,
    y
    3
    Операцию объединения с соответствующими формулами (2.4.1) –
    (2.4.8) легко объединить и на случай
    n автоматов.
    Из формул (2.4.2), (2.4.4), (2.4.5) – (2.4.8) следует, что каждый автомат
    Мили может быть представлен объединением автономных автоматов по входным и выходным буквам:
    (
    ) (
    )
    x
    y
    x X
    y Y
    A
    A
    A


    =




    82
    Такое представление используется при разложении автоматов по раз- личным операциям.
    Автоматное отображение
    S
    C
    (
    q
    1
    ,
    x
    ), индуцируемое автоматом
    С, есть продолжение автоматных отображений
    S
    A
    (
    q
    1
    ,
    x
    ) на множество
    Х*.
    Пересечением автоматов
    А и В будет являться автомат D=A

    В, если его алфавиты
    X, Q, Y и отображение F определяется формулами
    X=X
    1

    X
    2
    ;
    (2.4.9)
    Q=Q
    1

    Q
    2
    ; (2.4.10)
    Y=Y
    1

    Y
    2
    ; (2.4.11)
    Fq=F
    1
    q

    F
    2
    q, (2.4.12) где
    q

    Q.
    Пример 2.16.
    Найдем пересечение автоматов
    А и В из примера 2.15.
    Применяя формулы (2.4.9) – (2.4.12), получаем автоматную таблицу автомата
    D A B
    = ∩
    :
    D
    q\x
    x
    1
    x
    2 1
    -
    3,
    y
    2 2
    2,
    y
    2
    -
    3
    -
    -
    Так же, как и операцию объединения, операцию пересечения, опреде- ляемую формулами (2.4.9) – (2.4.12), можно распространить на случай
    n автоматов.
    Задание объединения и пересечения автоматов Мура наталкивается на трудности, связанные с тем, что одинаковые состояния могут иметь раз- ные значения функции отметок, в связи с чем рекомендуется сначала ин- терпретировать автоматы Мура эквивалентными автоматами Мили, а за- тем находить их объединение или пересечение по известным формулам.
    Нетрудно заметить, что операции объединения и пересечения автома- тов ассоциативны, коммутативны и дистрибутивны.
    2.4.2. Алгебраические операции
    К алгебраическим операциям над автоматами относятся умножение, суммирование, суперпозиция и композиция.

    83
    Операция умножения графов приводит к двум операциям умножения автоматов. Первая операция, обозначаемая
    ×
    , применяется к произволь- ным автоматам с раздельными входами, то есть с разными входными ал- фавитами, а вторая обозначается

    и применяется к автоматам с общим входом, то есть с одним и тем же входным алфавитом.
    Произведением произвольных непустых автоматов
    А=(X,Q,Y,q
    1

    Q
    ,
    F(x

    X/y

    Y)) и B=(U,W,V,w
    1

    W,P(u

    U/v

    V)) будет назы- ваться автомат
    К=(Z,H,S,h
    1

    H,R(z

    Z/s

    S)), у которого
    Z=X
    ×
    U; (2.4.13)
    H=Q
    ×
    W; (2.4.14)
    S=Y
    ×
    V; (2.4.15)
    Rh=Fq
    ×
    Pw, (2.4.16) где
    q

    Q, w

    W, h

    H, h=(q,w), z=(x,u), s=(y,v).
    Начальным состоянием автомата
    К=А
    ×
    В будет состояние h
    1
    =(
    q
    1
    ,
    w
    1
    )
    .
    Если оба автомата
    А и В вполне определенные, то и их произведение яв- ляется вполне определенным автоматом. Если хотя бы один из исходных автоматов частичный, то в результате умножения получаем частичный автомат.
    Можно определить операцию умножения и через матрицы соедине- ний. Пусть имеется матрица соединений автомата
    А:
    (
    )
    /
    A
    i j
    r x y
    =
    R
    , где
    i, j
    ∈{
    1, 2, …
    m
    }
    и
    (
    )
    / , если по букве с выходом
    ,
    /
    0, если
    ;
    i
    i
    j
    q
    i j
    j
    q
    x y
    q
    F
    x X
    y Y
    r x y
    q
    F



    
    = 

    
    и матрица соединений автомата
    В:
    (
    )
    /
    B
    k l
    r u w
    =
    R
    , где
    k, l
    ∈{
    1, 2, …
    n
    }
    и
    (
    )
    / , если по букве с выходом
    ,
    /
    0, если
    ;
    k
    k
    l
    w
    k l
    l
    w
    u v
    w
    P
    u U
    v V
    r u v
    w
    P



    
    = 

    

    84
    Матрица соединений
    R
    k
    автомата
    K=А×В равна прямому произведе- нию матриц
    R
    A
    и
    R
    B
    , то есть
    R
    K
    =
    R
    A
    ×
    R
    B
    , а ее элементы определяются так:
    ( )
    ( ) ( )
    ,
    / , , если
    / и
    / ,
    /
    0, если
    0 или
    0,
    i j
    k l
    i j
    k l
    x u
    y v
    r
    x y
    r
    u v
    r
    z s
    r
    r
    αβ

    =
    =

    = 
    =
    =
    
    где α,β∈{1, 2, …
    p}, p=m·n, z=(x,u), s=(y,v).
    Пример 2.17.
    Автоматы
    А и В заданы автоматными таблицами:
    A
    q\x
    x
    1
    x
    2
    q
    1
    q
    2
    ,
    y
    1
    q
    1
    ,
    y
    2
    q
    2
    q
    3
    ,
    y
    2
    -
    q
    3
    -
    q
    3
    ,
    y
    1
    B
    w\u
    w
    1
    w
    1
    ,
    v
    2
    -
    w
    2
    w
    1
    ,
    v
    1
    w
    2
    ,
    v
    1
    Найдем произведение этих автоматов, т.е. автомат
    K
    A B
    = × .
    Входной алфавит автомата
    K – это упорядоченные пары входных букв автоматов
    А и В: обозначим их
    {
    }
    1 2
    3 4
    , , ,
    ,
    Z
    z z z z
    =
    где
    (
    )
    1 1
    1
    ,
    z
    x u
    =
    ,
    (
    )
    2 1
    2
    ,
    z
    x u
    =
    ,
    (
    )
    3 2
    1
    ,
    z
    x u
    =
    ,
    (
    )
    4 2
    2
    ,
    z
    x u
    =
    Выходной алфавит автомата
    K обозначим через
    {
    }
    1 2
    3 4
    S= s , , ,
    s s s , где
    (
    )
    1 1
    1
    ,
    s
    y v
    =
    ,
    (
    )
    2 1
    2
    ,
    s
    y v
    =
    ,
    (
    )
    3 2
    1
    ,
    s
    y v
    =
    ,
    (
    )
    4 2
    2
    ,
    s
    y v
    =
    Алфавит состояний автомата
    K – это
    {
    }
    1 2
    3 4
    5 6
    , , , , ,
    H
    h h h h h h
    =
    , где
    (
    )
    1 1
    1
    ,
    h
    q u
    =
    ,
    (
    )
    2 1
    2
    ,
    h
    q u
    =
    ,
    (
    )
    3 2
    1
    ,
    h
    q u
    =
    ,
    (
    )
    4 2
    2
    ,
    h
    q u
    =
    ,
    (
    )
    5 3
    1
    ,
    h
    q u
    =
    ,
    (
    )
    6 3
    2
    ,
    h
    q u
    =
    Найдем отображение
    1
    Rh по входной букве
    1
    z . Состояние
    1
    h – это пара
    (
    )
    1 1
    ,
    q w , а входная буква
    1
    z – это пара
    (
    )
    1 1
    ,
    x u
    . Автомат
    А из со- стояния
    1
    q по входной букве
    1
    x согласно автоматной таблице перейдет в состояние
    2
    q , а автомат В из состояния
    1
    w по входной букве
    1
    u перейдет в состояние
    1
    w . Эта пара
    (
    )
    2 1
    ,
    q w согласно обозначениям есть состояние

    85 3
    h автомата K. На выходах автоматов А и В появятся при этом буквы
    1
    y и
    2
    v соответственно. Пара
    (
    )
    1 2
    ,
    y v – это буква
    2
    s выходного алфавита автомата
    K. Аналогично находим отображение
    1
    Rh по входной букве
    3
    z .
    Отображение состояния
    1
    w автомата В по входной букве
    2
    u не опреде- лено, поэтому также не определено отображение состояния
    1
    h автомата K по входным буквам
    2 4
    и
    z
    z . Таким образом, получаем
    {
    }
    1 3
    1 2
    1 3
    4
    ( , ), ( , )
    Rh
    h z s h z s
    =
    Далее проделываем то же самое для состояний
    2 3
    4 5
    6
    , , , ,
    h h h h h . Соот- ветствующие отображения этих состояний имеют вид
    {
    }
    {
    }
    {
    }
    {
    }
    {
    }
    2 3
    1 1
    4 2
    1 1
    3 3
    2 4
    3 3
    5 1
    4 4
    5 1
    3 6
    2 3
    5 5
    3 2
    6 5
    3 1
    6 4
    1
    ( , ), ( , ), ( , ), ( , ) ;
    ( , ) ;
    ( , ), ( , ) ;
    ( , ) ;
    ( , ), ( , ) .
    Rh
    h z s h z s h z s h z s
    Rh
    h z s
    Rh
    h z s h z s
    Rh
    h z s
    Rh
    h z s h z s
    =
    =
    =
    =
    =
    По полученным отображениям можно составить автоматную таблицу:
    K
    h\z
    1
    z
    2
    z
    3
    z
    4
    z
    1
    h
    3 2
    ,
    h s
    1   ...   6   7   8   9   10   11   12   13   ...   35


    написать администратору сайта