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

  • Определение 2. Обозначим через множество всех слов алфавита, включая пустое слово. Определим бинарную операцию конкатена- ция на

  • Пусть S, T , тогда S T = {s t|s S, t T }. Множество S Tбудем также обозначать через ST .Определение 3. Пусть B

  • . Условимся, что = {}Символ называется звезда (звездочка) Клини.Определение 4. Пусть  алфавит. Тогда множество L

  • Определение 7. Код C  подмножество . Если C  подмноже- ство и каждое слово множества S

  • Непустой код C  суффиксный код, если для всех слов u, v C, представление u = wv, где w

  • Непустой код C  инфиксный код, если u, wuv C влечет w = v =

  • 5. Которые из следующих кодов однозначны

  • 6. Являются ли следующие коды однозначными Суффиксными

  • 1. Которые из слов принимаются автоматом

  • 1. Построить автомат для языка

  • Определение 13. Пусть  алфавит,  множество всех слов над , L

  •  классы эквивалентности x [x] = {y

  • Определение 14. Синтаксический моноид S языка L состоит из классов эквивалентности, определенных x [[x]] = {y

  • Получим отношение эквивалентности p q, если {p, q}  непомечен- ная пара. Рассмотрим

  • , [1], i, Fi) внутренний автомат. Определим f : Q Qi по правилу f ([x]) = {w |(s0, w) [x]}.Тогда f ([x]) = {w

  • , и f корректно определена. Пусть наоборот, f([x]) = f([y]), тогда wu L

  • Покажем наконец, что f( 0([x], a)) =

  • Теория конечных языков и автоматов. Курс лекций П. Н. Иваньшин 2


    Скачать 0.61 Mb.
    НазваниеКурс лекций П. Н. Иваньшин 2
    АнкорТеория конечных языков и автоматов
    Дата29.11.2021
    Размер0.61 Mb.
    Формат файлаpdf
    Имя файлаТеория конечных языков и автоматов.pdf
    ТипКурс лекций
    #285247
    страница1 из 5
      1   2   3   4   5

    Дискретная математика. Теория конечных языков и автоматов. Курс лекций
    П.Н. Иваньшин

    2

    Оглавление
    1 Регулярные языки
    5 2 Автоматы
    9 2.1 Детерминированные и недетерминированные автоматы . .
    9 2.2 Теорема Клини . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Минимальные детерминированные автоматы и синтакси- ческие моноиды . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Лемма о накачке . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5 Алгоритмы сравнения языков и автоматов . . . . . . . . . . 20 2.6 Автоматы Мили и Мура . . . . . . . . . . . . . . . . . . . . 22 3 Грамматики
    27 3.1 Формальные грамматики . . . . . . . . . . . . . . . . . . . . 27 3.2 Нормальные формы Хомского и Грейбаха . . . . . . . . . . 32 3.3 Автоматы с магазинной памятью . . . . . . . . . . . . . . . 40 3.4 Контекстно-свободные языки и лемма о накачке . . . . . . 43 4 Машина Тьюринга
    49 4.1 Детерминированная машина Тьюринга . . . . . . . . . . . . 49 4.2 Недетерминированные машины Тьюринга и контекстно- свободные языки . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.3 Проблема остановки для машин Тьюринга . . . . . . . . . . 54 4.4 Проблемы неразрешимости для контекстно-свободных язы- ков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3

    4
    Оглавление

    Глава 1
    Регулярные языки
    Определение 1. Алфавит ?  набор символов. Строка или слово
     последовательность a
    1
    a
    2
    a
    3
    a
    4
    . . . a n
    , где a i
    ? ?

    Определение 2. Обозначим через ?
    ?
    множество всех слов алфавита
    ?

    , включая пустое слово. Определим бинарную операцию конкатена- ция ? на ?
    ?
    следующим образом:
    Пусть a
    1
    a
    2
    a
    3
    a
    4
    . . . a n
    и b
    1
    b
    2
    b
    3
    b
    4
    . . . b m
    ? ?
    ?
    , тогда a
    1
    a
    2
    a
    3
    a
    4
    . . . a n
    ? b
    1
    b
    2
    b
    3
    b
    4
    . . . b m
    = a
    1
    a
    2
    a
    3
    a
    4
    . . . a n
    b
    1
    b
    2
    b
    3
    b
    4
    . . . b m

    Пусть S, T ? ?
    ?
    , тогда S ? T = {s ? t|s ? S, t ? T }. Множество S ? T
    будем также обозначать через ST .

    Определение 3. Пусть B ? ?
    ?
    , тогда замыкание Клини B
    ?
     мно- жество всех возможных конкатенаций слов из B вместе с пустым словом, т.е. B
    ?
    = {w
    1
    w
    2
    . . . w n
    |w i
    ? B}
    S{?}

    . Условимся, что ?
    ?
    = {?}
    Символ ? называется звезда (звездочка) Клини.

    Определение 4. Пусть ?  алфавит. Тогда множество L ? ?
    ?
    на- зывается языком.
    Определение 5. Пусть ?  алфавит. Класс регулярных выраже- ний R над ? определен по следующим правилам:
    (i) Символ ?  регулярное выражение и ?a ? ?, символ a  тоже регулярное выражение.
    (ii) Пусть w
    1
    и w
    2
     регулярные выражения, тогда w
    1
    w
    2
    , w
    1
    ? w
    2
    ,
    w
    ?
    1
    и (w
    1
    )
     регулярные выражения.
    (iii) Не существует никаких регулярных выражений, кроме тех,
    что получены по правилам (i) и (ii).
    5

    6
    Глава 1. Регулярные языки
    Определение 6. Класс R регулярных языков над алфавитом ? име- ет следующие свойства:
    (i) ? ? R, если a ? ?, то {a} ? R.
    (ii) Если s
    1
    , s
    2
    ? R
    , то s
    1
    S s
    2
    , s
    1
    ? s
    2
    , s
    ?
    1
    ? R
    (iii) Только множества, построенные по правилам (i) и (ii) принад- лежат R.

    Определение 7. Код C  подмножество ?
    ?

    . Если C  подмноже- ство ?
    ?

    и каждое слово множества S ? ?
    ?
    может быть получено конкатенацией элементов C, то говорят, что C  код S. Код C од- нозначен, если каждая строка S однозначно представима в виде кон- катенации элементов C.
    Определение 8. Пусть ?  алфавит. Непустой код C ? ?  пре- фиксный код, если для всех слов u, v ? C, представление u = vw, где w ? ?
    ?
    влечет u = v и w = ?.

    Непустой код C ? ?  суффиксный код, если для всех слов u, v ?
    C

    , представление u = wv, где w ? ?
    ?
    влечет u = v и w = ?.
    Непустой код C ? ?  бипрефиксный код, если C одновременно и префиксный и суффиксный код.

    Непустой код C ? ?  инфиксный код, если u, wuv ? C влечет w = v = ?
    Код C  блочный код если все строки C имеют одну и ту же длину.
    Теорема 1. Если код суффиксный, префиксный, бипрефиксный, инфикс- ный или блочный, то он однозначен.
    Теорема 2. Блочный код  и суффиксный, и префиксный, и бипрефикс- ный, и инфиксный.
    Теорема 3. Инфиксный код всегда бипрефиксный.
    Задачи
    1. Пусть w = 10110, найти такие слова v
    1
    , v
    2
    , v
    3
    , v
    4
    , v
    5
    , v i
    6= v j
    , i 6= j,
    что v i
    w = wv i
    , i = 1, . . . , 5.
    2. Найти множества регулярных слов, соответствующих выражениям:
    a) a(b ? c ? d)a;
    b) a
    ?
    b
    ?
    c
    ;
    c) (a ? b)(c ? d);
    d) (ab
    ?
    ?) ? (cd)
    ?
    ;

    7
    e) a(bc)
    ?
    d f) bc(bc)
    ?
    ;
    g) (a ? b
    ?
    ? ?)(c ? d
    ?
    )
    3. Найти регулярные выражения для множеств слов:
    a) {ab, ac, ad};
    b) {ab, ac, bb, bc};
    c) {a, ab, abb, abbb, abbbb, . . .};
    d) {ab, abab, ababab, abababab, ababababab, . . .};
    e) {ab, abb, aab, aabb}.
    4. Пусть ? = {a, b, c}. Найти регулярные выражения множеств a) Слов, содержащих ровно две буквы b.
    b) Слов, содержащих ровно две буквы b и ровно две буквы c.
    c) Слов, содержащих не меньше двух букв b.
    d) Слов, начинающихся и заканчивающихся на a и содержащих не менее, чем по одной букве b и c.
    e) Слов, содержащих ровно две буквы b и ровно две буквы a.
    f) Слов, содержащих четное число букв b.

    5. Которые из следующих кодов однозначны?
    a) {ab, ba, a, b};
    b) {ab, acb, accb, acccb, . . .};
    c) {a, b, c, bd};
    d) {ab, ba, a};
    e) {a, ab, ac, ad};.
    f) ab
    ?
    ;
    g) ab
    ?
    ? baaa
    ;
    h) ab
    ?
    c ? baaac
    ;
    i) (a ? b)(b ? a);
    j) (a ? b ? ?)(b ? a ? ?).

    6. Являются ли следующие коды однозначными? Суффиксными?
    a) {ab, ba};
    b) {ab, abc, bc};
    c) {a, b, c, bd};
    d) {aba, ba, c};
    e) {ab, acb, accb, acccb}.

    7. Которые из следующих кодов суффиксные (префиксные)?
    a) ab
    ?
    ;
    b) ab
    ?
    c
    ;
    c) a
    ?
    bc
    ?
    ;
    d) (a ? b)(b ? a);
    e) a
    ?
    b
    8. Доказать последние три теоремы первой главы.

    8
    Глава 1. Регулярные языки

    Глава 2
    Автоматы
    2.1 Детерминированные и недетерминирован- ные автоматы
    Определение 9. Детерминированный (детерминистский) авто- мат (?, Q, s
    0
    , ?, F )
    , состоит из конечного алфавита ?, конечного набо- ра состояний Q, и отображения ? : Q Ч ? ? Q, называемого функ- цией переходов, и множества F заключительных (конечных, до- пускающих) состояний. Множество Q содержит как элемент s
    0
    ,
    так и подмножество F .
    Примеры:
    1.
    //
    s
    0
    b
    
    a
    //
    s
    1
    a,b
    
    2.
    //
    s
    0
    a
    //
    b,c
    ((
    s
    1
    b,c
    ))
    a
    
    s
    2
    a,b,c vv s
    2
    a,b,c
    [[
    Определение 10. Недетерминированный автомат есть набор
    (?, Q, s
    0
    , ?, F )
    и состоит из конечного алфавита ?, конечного набора состояний Q, и отображения ? : QЧ? ? 2
    Q
    , называемого функцией переходов, и множества F заключительных (конечных, допус- кающих) состояний. Множество Q содержит как элемент s
    0
    , так и подмножество F . Здесь множество 2
    Q
     множество всех подмно- жеств Q.
    9

    10
    Глава 2. Автоматы
    Пример:
    //
    s
    0
    a
    //
    a,b
    
    s
    1
    a
    //
    a,b
    
    s
    2
    a,b
    
    Определение 11. Язык M(L) принимается автоматом M если ?w =
    w
    1
    . . . w n
    ? M (L)
    , w
    1
    (w
    2
    (. . . (w n
    (s
    0
    )))) ? F
    , w i
    ? ?
    (i = 1, . . . , n), и наобо- рот w(s
    0
    ) ? F
    влечет w ? M(L).
    Теорема 4. Для каждого недетерминированного автомата существу- ет детерминированный автомат, принимающий тот же язык.
    Доказательство. Доказательство конструктивно.
    (1) Начинаем с состояния {s
    0
    }
    (2) ?a i
    ? ?
    построим a i
    -ребро из {s
    0
    }
    во множество всех образов s
    0
    под действием a i
    (3) Для каждого построенного множества состояний {s i
    1
    , . . . , s i
    k
    }
    и каждого a i
    ? ?
    снова строим a i
    -ребро из первого множества в мно- жество всех состояний, достижимых хотя бы из одного состояния s i
    j
    ,
    (j = 1, . . . , k).
    (4) Продолжаем применять шаг (3) до тех пор пока не закончим стро- ить новые состояниянаборы.
    (5) Каждое новое состояние, содержащее элемент F  приемное со- стояние нового автомата.
    Задачи

    1. Которые из слов принимаются автоматом?
    a) abba.
    b) aabbb.
    c) babab.
    d) aaabbb.
    e) bbaab.
    2. Найти язык, принимаемый автоматом.
    a)

    2.1. Детерминированные и недетерминированные автоматы
    11
    b)
    c)
    d)
    3. Найти детерминированный автомат, принимающий язык a) aa
    ?
    bb
    ?
    cc
    ?
    ;
    b) (a
    ?
    ba
    ?
    ba
    ?
    b)
    ?
    ;
    c) (a
    ?
    (ba)
    ?
    bb
    ?
    a)
    ?
    ;
    d) (a
    ?
    b) ? (b
    ?
    a)
    ?
    4. Найти недетерминированный автомат, принимающий язык a) aa
    ?
    bb
    ?
    cc
    ?
    ;
    b) (a
    ?
    b) ? (c
    ?
    b) ? (ac)
    ?
    ;
    c) (a ? b)
    ?
    (aa ? bb)(a ? b)
    ?
    ;
    d) ((aa
    ?
    b) ? bb
    ?
    a)ac
    ?
    5. Построить детерминированный автомат, принимающий тот же язык,
    что и недетерминированный.
    a)
    b)

    12
    Глава 2. Автоматы c)
    d)
    2.2 Теорема Клини
    Теорема 5. Язык L регулярен ? L  язык, принимаемый автоматом.
    Доказательство. (?) Докажем сначала, что для любого конечного под- множества U = {a
    1
    , . . . , a n
    } ? ?
    определен автомат, принимающий U.
    s
    1
    s
    2
    //
    s
    0
    a
    1
    ??
    a
    2 77
    a n
    ''
    · · ·
    s n
    Построим теперь автомат, соответствующий конкатенации языков L
    1
    L
    2
    Пусть M
    1
    = (?, Q
    1
    , s
    0
    , ?
    1
    , F
    1
    )
    , M
    2
    = (?, Q
    2
    , s
    0 0
    , ?
    2
    , F
    2
    )
    . Построим M =
    (?, Q, s
    00 0
    , ?, F )
    . Положим Q = Q
    1
    S Q
    2
    , s
    00 0
    = s
    0
    , F = F
    2
    . Если a(s i
    ) = s j
    ?
    ?
    1
    и s j
    6? F
    1
    , то a(s i
    ) = s j
    ? ?
    . Если a(s i
    ) = s j
    ? ?
    1
    и s j
    ? F
    1
    , полагаем

    2.2. Теорема Клини
    13
    a(s i
    ) = s j
    ? ?
    и a(s i
    ) = s
    0 0
    ? ?

    . Кроме того, ?
    2
    ? ?
    . Далее если s
    0
    ? F
    1
    ,
    отождествим s
    0 0
    с s
    0
    Рассмотрим замыкание Клини L
    ?
    языка L. Пусть M = (?, Q, s
    0
    , ?, F )
    Построим M
    0
    = (?, Q
    0
    , s
    0 0
    , ?
    0
    , F
    0
    )
    для L
    ?
    . Положим Q
    0
    = Q
    S{s
    0 0
    }
    . Если a(s
    0
    ) = s j
    ? ?
    то a(s
    0 0
    ) = s j
    ? ?
    0

    . Также ? ? ?
    0
    . Если a(s
    0
    ) = s j
    ? ?
    ,
    s j
    ? F
    , то a(s
    0
    ) = s
    0 0
    ? ?
    0
    Построим еще автомат L
    00
    = L
    S L
    0
    . Пусть M(L) = (?, Q, s
    0
    , ?, F )
    ,
    M (L
    0
    ) = (?, Q
    0
    , s
    0 0
    , ?
    0
    , F
    0
    )
    . Положим Q
    00
    = Q
    S Q
    0
    S{s
    00 0
    }
    , F
    00
    = F
    S F
    0

    Далее ? S ?
    0
    ? ?
    00
    . Кроме того, добавим еще ребра вида: если a(s
    0
    ) =
    s j
    ? ?
    , то a(s
    00 0
    ) = s j
    ? ?
    00
    . Аналогично, если a(s
    0 0
    ) = s j
    ? ?
    0
    , то a(s
    00 0
    ) =
    s j
    ? ?
    00
    (?) Удаление промежуточных состояний и лишних ребер по прави- лам:
    1.
    //
    s i
    a
    1
    ,a
    2
    ,...,a k
    
    //
    заменяем на
    //
    s i
    (a
    1
    ?a
    2
    ?···?a k
    )
    ?
    
    //
    2.
    //
    s i?1
    a
    //
    s i
    b c
    //
    s i+1
    заменяем на
    //
    s i?1
    ab
    ?
    c
    //
    s i+1 3.
    //
    s i
    a
    1
    %%
    a
    2
    //
    a n
    FF
    s i+1
    //
    заменяем на
    //
    s i
    a
    1
    ?a
    2
    ?···?a n
    //
    s i+1
    //
    4.
    //
    s i?1
    a
    1
    ++
    s i
    a
    3
    //
    a
    2
    ll s
    i+1
    //
    заменяем на
    //
    s i?1
    a
    1
    (a
    2
    a
    1
    )
    ?
    a
    3
    //
    s i+1
    //
    Таким образом, язык, определяемый данным автоматом  объедине- ние регулярных языков, следовательно, регулярен.
    Задачи

    1. Построить автомат для языка ?
    ?
    \ M (L)
    , если известен автомат M.
    2. Построить автомат для языка L
    1
    T L
    2
    , если известны автоматы M
    1
    и M
    2 3. Пусть язык L
    1
    задан автоматом
    Язык L
    2
     автоматом

    14
    Глава 2. Автоматы
    Построить автоматы для языков a) L
    1
    S L
    2
    ;
    b) L
    1
    L
    2
    ;
    c) L
    ?
    1
    , L
    ?
    2 4. Пусть язык L
    1
    задан автоматом
    Язык L
    2
     автоматом
    Построить автоматы для языков a) L
    1
    S L
    2
    ;
    b) L
    1
    L
    2
    ;
    c) L
    ?
    1
    , L
    ?
    2 5. Пусть язык L
    1
    задан автоматом
    Язык L
    2
     автоматом
    Построить автоматы для языков a) L
    1
    S L
    2
    ;

    2.3. Минимальные детерминированные автоматы и синтаксические моноиды15
    b) L
    1
    L
    2
    ;
    c) L
    ?
    1
    , L
    ?
    2 2.3 Минимальные детерминированные авто- маты и синтаксические моноиды
    Определение 12. Детерминированный автомат M минимален если число состояний M меньше или равно числу состояний любого другого детерминированного автомата, принимающего тот же язык, что и
    M
    Приведем сначала конструкцию, основанную на языке данного авто- мата.

    Определение 13. Пусть ?  алфавит, ?
    ?

     множество всех слов над ?, L ? ?
    ?
    . Тогда для языка L определен внутренний (минималь- ный) автомат M
    i
    : Состояния M
    i

     классы эквивалентности ?x ? ?
    ?

    [x] = {y ? ?
    ?
    |R(y) = R(x)}

    , где R(x)  множество правых контек- стов, принимаемых x под действием L, а именно, R(x) = {v ? ?
    ?
    |xv ?
    L}
    . Символ a действует на состояние [x] по правилу [x]a = [xa], где xa = ?(x, a)
    . При этом стартовое состояние M
    i
     [?], а приемные состояния F = {[x]|x ? L}.

    Определение 14. Синтаксический моноид S языка L состоит из классов эквивалентности, определенных ?x ? ?
    ?

    [[x]] = {y ? ?
    ?
    |LR(y) =
    LR(x)}

    , где LR(x)  множество двусторонних контекстов, принима- емых x под действием L. То есть, LR(x) = {(u, v) ? ?
    ?
    Ч ?
    ?
    |uxv ? L}
    Кроме того, на S корректно определена бинарная операция [[x]][[y]] =
    [[xy]]
    S
     моноид, то есть полугруппа с единицей [[1]] = [[?]].
    Теперь рассмотрим процедуру получения минимального автомата из данного посредством схлопывания состояний.
    Шаг 1. Для каждой пары состояний {p, q} определим, существует ли строка, под действием которой только одно состояние из пары переходит в конечное. Если существует, пометим эту пару как неотождествимую.
    Шаг 2. Для каждой пары {p, q} из оставшихся непомеченными, и каж- дого символа b ? ? рассмотрим {?(p, b), ?(q, b)}. Если ?(p, b) 6= ?(q, b)
    и {?(p, b), ?(q, b)} помечена на предыдущем шаге, то и {p, q}  тоже помеченная пара.
    Повторяем второй шаг до тех пор, пока не переберем все помечивае- мые пары.

    16
    Глава 2. Автоматы

    Получим отношение эквивалентности p ? q, если {p, q}  непомечен- ная пара. Рассмотрим ?
    0
    = ?/ ?
    , F
    0
    = F/ ?
    , ?
    0
    ([p], a) = [?(p, a)]
    Теорема 6. Для регулярного языка L, внутренний и минимальный ав- томаты изоморфны.
    Доказательство. Пусть M = (?, Q, s
    0
    , ?, F )
     минимальный автомат,
    полученный методом пометок, а M
    i
    = (?, Q
    i

    , [1], ?
    i
    , F
    i
    )
     внутренний автомат. Определим f : Q ? Q

    i по правилу f ([x]) = {w ? ?
    ?
    |?(s
    0
    , w) ? [x]}.

    Тогда f ([x]) = {w ? ?
    ?
    |?(s
    0
    , w) = y, y ? [x]}.

    Пусть [x] = [y], тогда ?(x, u) ? F ? ?(y, u) ? F для u, v ? ?
    ?
    . Пусть f ([x]) = [w]
    , а f([y]) = ([w
    0
    ])
    Тогда wu ? L ? w
    0
    u ? L (= F
    i
    )
    . Следовательно, [w] = [w
    0
    ]

    , и f корректно определена. Пусть наоборот, f([x]) = f([y]), тогда wu ? L ?
    w
    0
    u ? L (= F
    i
    )
    , где ?(s
    0
    , w) = x и ?(s
    0
    , w
    0
    ) = y
    . То есть, ?(x, u) ? F
    ? ?(y, u) ? F
    и [x] = [y]. Итак, f корректно определена и взаимно- однозначна.

    Покажем наконец, что f(?
    0

    ([x], a)) = ?
    i
    (f ([x]), a)
    ,
    ?
    0
    ([x], a) = [?(x, a)],
    и
    ?
    i
    (f ([x]), a) = f ([x])a.
    Пусть w ? f([x]), тогда ?(s
    0
    , w) = x для x ? [x]. Пусть

    ?(x, a) = y ? [?(x, a)] = ?
    0
    ([x], a)

    и [y] = ?
    0
    ([x], a)
    . Так как ?(s
    0
    , wa) = y
    , f([y])
    i
    = [wa]
    i
    = [w]
    i a = f ([x])a =
    [?
    i
    (f ([x]), a)]

    и, следовательно, f(?
    0

    ([x], a)) = ?
    i
    (f ([x]), a)
    Определение 15. Моноид перестановок детерминированного авто- мата M(L) = (?, Q, s
    0
    , ?, F )

     образ гомоморфизма ? : ?
    ?
    ? T
    M
    , где
    T
    M
     подмоноид всех отображений Q ? Q. Положим ?a ? ?, ?(a) = a,
    a(s i
    ) = s j
    , если ?(a, s i
    ) = s j
    . Далее, ?a, b ? ?, ab = ab.
    Пример:

    2.3. Минимальные детерминированные автоматы и синтаксические моноиды17
    s
    1
    b a
    
    //
    s
    0
    a
    >>
    b s
    3
    a rr b
    xx s
    2
    a
    >>
    b
    LL
    Тогда a =
     s
    0
    s
    1
    s
    2
    s
    3
    s
    1
    s
    2
    s
    3
    s
    3
    
    , b =
     s
    0
    s
    1
    s
    2
    s
    3
    s
    2
    s
    3
    s
    2
    s
    3
    
    Теорема 7. Пусть M(?, Q, s
    0
    , ?, F )
     минимальный детерминирован- ный автомат, а T
    M
     моноид перестановок M, тогда T
    M
    конечен.
    Доказательство. Каждый представитель T
    M
     отображение из Q в Q.
    Если Q состоит из n элементов, то существует не более n n
    различных функций из Q в Q. Следовательно, порядок M не больше n n
    Теорема 8. Синтаксический моноид регулярного языка L изоморфен моноиду перестановок минимального детерминированного автомата M,
    принимающего L.
    Доказательство. По определению синтаксического моноида, он пред- ставляет собой моноид перестановок внутреннего минимального детер- минированного автомата. Так как все минимальные автоматы, принима- ющие один и тот же язык, изоморфны, синтаксический моноид изомор- фен моноиду перестановок минимального автомата.
    Задачи
    1. Найти минимальный автомат, принимающий тот же язык, что и данный.
    a)

    18
    Глава 2. Автоматы b)
    c)
    d)
    2. Построить минимальный автомат, принимающий язык a) aa
    ?
    (b ? c)
    ;
    b) a(b ? c)
    ?
    bb
    ?
    ;
    c) (abc)
    ?
    (b ? c)
    ;
    d) (a ? bc)c(ab)
    ?
    3. Найти синтаксический моноид языка, принимаемого автоматом a)
    b)

    2.4. Лемма о накачке
    19
    c)
    d)
    2.4 Лемма о накачке
    Лемма 1. (Лемма о накачке) Пусть L  бесконечный регулярный язык.

      1   2   3   4   5


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