Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Недетерминированные конечные автоматы






    В основе построения недетерминированного конечного автомата-распознавателя лежит допущение о возможности перехода по определённому входному сигналу сразу в несколько состояний. В такой момент происходит своеобразное «расщепление» реальности: если переход по сигналу a возможен в состояния si и sj, то допускается, что в одном из «миров» автомат перешёл в состояние si и продолжил свою работу, в другом «мире» состоялся переход в sj.

    В данном параграфе демонстрируется, что любой недетерминированный конечный автомат (НКА) эквивалентен некоторому обычному детерминированному автомату (ДКА). Основная причина интереса к НКА – их более простой и компактный вид для многих задач распознавания.

    Определение 17. Недетерминированным конечным автоматом-распознавателем называется пятёрка объектов A=S, X, S0, δ, F, где:

    S – конечное непустое множество состояний;

    X – конечное непустое множество входных сигналов;

    S0⊆ S – множество начальных состояний;

    δ: S× X⟶ 2S – функция переходов (2S – булеан множества S);

    F⊆ S – множество финальных состояний.

    Как видим, разница в определениях НКА и ДКА заключается в виде функции переходов.

    Если разрешить в автомате не только переход по одному сигналу во множество состояний, но и переход в новое состояние по пустой строке, получим недетерминированный автомат с ε -переходами.

    Определение 18. НКА с ε -переходами называется пятёрка объектов Aε =S, X, S0, δ, F, где:

    S – конечное непустое множество состояний;

    X – конечное непустое множество входных сигналов;

    S0⊆ S – множество начальных состояний;

    δ: S× X∪ ε ⟶ 2S – функция переходов;

    F⊆ S – множество финальных состояний.

    Как определить для недетерминированных автоматов основное понятие – «распознавание входной цепочки»? Подход, который принят в теории формальных языков, состоит в следующем.

    Определение 19. Недетерминированный конечный автомат распознает входную цепочку α, если существует путь, помеченный символами цепочки α, из начального в одно из заключительное состояний автомата, возможно, с учетом спонтанных переходов. Недетерминированный конечный автомат распознает язык L, если он распознает все цепочки этого языка, и только их.

    Рассмотрим примеры НКА. Пусть V={a, b, c}, L – все цепочки, содержащие подстроку abc. НКА, распознающий язык L, представлен на рис. 13.

     

    Рис. 13. Недетерминированный конечный автомат.

    Следующий НКА с ε -переходами будет использоваться в дальнейших примерах.

     

    Рис. 14. Недетерминированный конечный автомат с ε -переходами.

    Теорема 8. Для любого недетерминированного конечного автомата-распознавателя существует эквивалентный ему детерминированный конечный автомат-распознаватель.

    Доказательство этой теоремы проведём конструктивно, то есть предложим алгоритм построения по заданному НКА эквивалентного ему ДКА. Сначала покажем, как НКА с ε -переходами привести к НКА без ε -переходов, а потом – как для НКА без ε -переходов построить эквивалентный ему детерминированный автомат, допускающий тот же язык.

    Пусть Aε =S, X, S0, δ, F – НКА с ε -переходами. Будем строить НКА A – эквивалент Aε, но без ε -переходов.

    Определение 20. ε -замыканием состояния s∈ S, обозначаемым Ξ (s), называется множество всех состояний, которые достижимы из s без подачи входного сигнала.

    Множеству Ξ (s) принадлежит само состояние s и все те состояния, которые достижимы из s по ε -переходами. Для автомата, изображённого на рис. 14:

    Ξ s0=s0, s1, Ξ s1=s1, Ξ (s2)={s2}, Ξ (s3)={s3, s2}.

    Множеством состояний автомат A являются ε -замыкания состояний Aε. Начальными состояниями A будут ε -замыкания начальных состояний Aε. Множеством заключительных состояний A будут такие ε -замыкания, в которые входят заключительные состояния Aε.

    Функция переходов δ автомата A определяется по следующей формуле:

    δ AΞ s, a=q∈ Ξ sΞ δ Aε q, a.

    С учётом вышесказанного, определим для автомата A, эквивалентного автомату, изображённому на рис. 14, таблицу переходов. Начальным состоянием нового автомата будет состояние q0, заключительным состоянием – q3.

      a b
    q0=Ξ (s0)={s0, s1} {Ξ (s2), Ξ (s3)} {Ξ (s2)}
    q1=Ξ (s1)={s1} {Ξ (s2), Ξ (s3)}
    q2=Ξ (s2)={s2} {Ξ (s2), Ξ (s3)}
    q3=Ξ (s3)={s3, s2} {Ξ (s0), Ξ (s3)} {Ξ (s2), Ξ (s3)}

     

    Рис. 15. Недетерминированный конечный автомат без ε -переходов.

    Рассмотрим теперь алгоритм построения по заданному недетерминированному автомату AH=S, X, Q0, δ H, FH без ε -переходов эквивалентного ему детерминированного автомата. В качестве состояний детерминированного автомата следует выбрать булеан множества S. Начальным состоянием будет элемент из 2S, соответствующий Q0. Множество F заключительных состояний искомого автомата состоит из всех таких множеств состояний, которые включают хотя бы одно заключительное состояние исходного автомата. Функция переходов δ Д детерминированного автомата определяется следующим образом:

    ∀ Q⊆ S, ∀ a∈ X δ ДQ, a=s∈ Qδ H s, a.

    В случае нашего примера множество состояний будет содержать 16 элементов: ∅, {q0}, {q1}, q2, {q3}, {q0 q1}, {q0q2}, …, {q0 q1 q2 q3}. Начальным состоянием будет состояние {q0 q1}. Финальными будут все состояния, которые содержать q3. И, например,

    δ Д ({q0 q2}, a)=δ H (q0, a)∪ δ H(q2, a)={q2 q3}∪ {q3}={q2q3}.

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

     

    Рис. 16. ДКА, построенный по недетерминированному автомату.

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

    Преобразуйте следующие НКА в ДКА. Начальные состояния помечены стрелкой, конечные – звёздочками.

     

         
    → p {p, q} {p}
    q {r} {r}
    r {s}
    *s {s} {s}

     

         
    → p {q, s} {q}
    *q {r} {q, r}
    r {s} {p}
    *s {p}

     

         
    → p {p, q} {p}
    q {r, s} {t}
    r {p, r} {t}
    *s
    *t

     

      ε a b c
    → p {q, r} {q} {r}
    q {p} {r} {p, q}
    *r





    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.