Jump to content

Автомат Бючи

Автомат Бюхи
Автомат Бюхи с двумя состояниями: и , первое из которых является начальным состоянием, а второе — принятием. Его входные данные представляют собой бесконечные слова над символами. . В качестве примера он принимает бесконечное слово , где обозначает бесконечное повторение строки. Он отвергает бесконечное слово .

В информатике и теории автоматов детерминированный автомат Бюхи — это теоретическая машина, которая либо принимает, либо отклоняет бесконечные входные данные. Такая машина имеет набор состояний и функцию перехода, определяющую, в какое состояние машина должна перейти из текущего состояния при чтении следующего входного символа. Некоторые штаты являются принимающими штатами, а один штат является начальным. Машина принимает входные данные тогда и только тогда, когда она проходит через состояние принятия бесконечно много раз при чтении входных данных.

, Недетерминированный автомат Бюхи позже называемый просто автоматом Бюхи , имеет функцию перехода, которая может иметь несколько выходов, что приводит к множеству возможных путей для одного и того же входа; он принимает бесконечный ввод тогда и только тогда, когда принимает какой-то возможный путь. Детерминированные и недетерминированные автоматы Бюхи обобщают детерминированные конечные автоматы и недетерминированные конечные автоматы на бесконечные входные данные. Каждый из них является типом ω-автоматов . Автоматы Бюхи распознают ω-регулярные языки , версию регулярных языков с бесконечными словами . Они названы в честь швейцарского математика Юлиуса Рихарда Бючи , который изобрел их в 1962 году. [ 1 ]

Автоматы Бюхи часто используются при проверке моделей как теоретико-автоматная версия формулы линейной темпоральной логики .

Формальное определение

[ редактировать ]

Формально детерминированный автомат Бюхи представляет собой набор A = ( Q ,Σ,δ, q0 , ) , F состоящий из следующих компонентов:

  • Q конечное множество . Элементы Q называются состояниями A .
  • конечное множество, алфавитом A. называемое Σ —
  • δ: Q Σ → Q — функция, называемая функцией перехода A × .
  • q 0 является элементом Q называемым начальным состоянием A. ,
  • F Q условие приемки . A принимает именно те прогоны, в которых хотя бы одно из бесконечно часто встречающихся состояний находится в F .

В ( недетерминированном ) автомате Бюхи функция перехода δ заменяется отношением перехода Δ, которое возвращает набор состояний, а единственное начальное состояние q 0 заменяется набором I начальных состояний. Обычно термин «автомат Бюхи без квалификатора» относится к недетерминированным автоматам Бюхи.

Более полный формализм см. также в ω-автомате .

Свойства замыкания

[ редактировать ]

Множество автоматов Бюхи замыкается при следующих операциях.

Позволять и быть автоматами Бюхи и быть конечным автоматом .

  • Союз : Существует автомат Бючи, который распознает язык.
Доказательство: если мы предположим, что wlog , тогда пусто распознается автоматом Бюхи
  • Пересечение : существует автомат Бюхи, который распознает язык.
Доказательство: автомат Бюхи. признает где
По конструкции, является запуском автомата A' по входному слову w, если является запуском A на w и это запуск B на w . принимает и является приемлемым, если r' представляет собой объединение бесконечной серии конечных сегментов 1-состояний (состояний с третьим компонентом 1) и 2-состояний (состояний с третьим компонентом 2) попеременно. Существует такая серия отрезков г', если г' принимается А'.
  • Конкатенация : существует автомат Бюхи, который распознает язык.
Доказательство: если мы предположим, что wlog , пусто, то автомат Бюхи признает , где
  • ω-замыкание : если не содержит пустого слова, то существует автомат Бюхи, распознающий язык
Доказательство: автомат Бюхи, распознающий строится в два этапа. Сначала построим конечный автомат А' такой, что А' также распознает но входящих переходов в начальные состояния А' нет. Так, где Обратите внимание, что потому что не содержит пустой строки. Во-вторых, мы построим автомат Бюхи А", распознающий путем добавления цикла возврата в исходное состояние A'. Так, , где
  • Дополнение : существует автомат Бюхи, распознающий язык.
Доказательство: Доказательство представлено здесь .

Узнаваемые языки

[ редактировать ]

Автоматы Бюхи распознают ω-регулярные языки . Используя определение ω-регулярного языка и приведенные выше свойства замыкания автоматов Бюхи, можно легко показать, что автомат Бюхи можно построить так, чтобы он распознавал любой заданный ω-регулярный язык. Обратное см. построение ω-регулярного языка для автомата Бюхи.

Детерминированные и недетерминированные автоматы Бюхи

[ редактировать ]
Недетерминированный автомат Бюхи, распознающий

Класса детерминированных автоматов Бюхи недостаточно, чтобы охватить все омега-регулярные языки. В частности, не существует детерминированного автомата Бюхи, распознающего язык , который содержит ровно слова, в которых 1 встречается только конечное число раз. Мы можем продемонстрировать от противного, что такого детерминированного автомата Бюхи не существует. Предположим, что A — детерминированный автомат Бюхи, распознающий с набором конечных состояний F . А принимает . Итак, A посетит какое-то состояние в F после прочтения некоторого конечного префикса ⁠. , скажем после ⁠- я буква. A также принимает ω-слово Следовательно, для некоторых , после префикса автомат посетит некоторое состояние в F . Продолжая эту конструкцию, ω-слово генерируется, что заставляет A бесконечно часто посещать какое-то состояние в F , а слова нет в Противоречие.

Класс языков, распознаваемых детерминированными автоматами Бюхи, характеризуется следующей леммой.

Лемма: ω-язык распознаётся детерминированным автоматом Бюхи, если он является предельным языком некоторого регулярного языка .
Доказательство: любой детерминированный автомат Бюхи A можно рассматривать как детерминированный конечный автомат A' , и наоборот, поскольку оба типа автоматов определяются как набор из пяти одних и тех же компонентов, различается только интерпретация условия приемки. Мы это покажем — предельный язык . ω-слово принимается A , если оно заставит A бесконечно часто посещать конечные состояния. будет принимать бесконечное число конечных префиксов этого ω-слова Таким образом, A' . Следовательно, — предельный язык .

Алгоритмы

[ редактировать ]

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

Определение

Поскольку детерминированные автоматы Бюхи строго менее выразительны, чем недетерминированные автоматы, не может быть алгоритма детерминизации автоматов Бюхи. Но теорема Макнотона и конструкция Сафры предоставляют алгоритмы, которые могут преобразовать автомат Бюхи в детерминированный автомат Мюллера или детерминированный автомат Рабина . [ 2 ]

Проверка пустоты

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

Эффективный алгоритм проверки пустоты автомата Бюхи:

  1. Рассмотрим автомат как ориентированный граф и разложим его на сильно связные компоненты (СКС).
  2. Запустите поиск (например, поиск в глубину ), чтобы определить, какие SCC достижимы из исходного состояния.
  3. Проверьте, существует ли нетривиальный SCC, достижимый и содержащий конечное состояние.

Каждый из шагов этого алгоритма может быть выполнен за время, линейное по размеру автомата, поэтому алгоритм явно оптимален.

Минимизация

Минимизация детерминированных автоматов Бюхи (т. е. при наличии детерминированного автомата Бюхи поиск детерминированного автомата Бюхи, распознающего тот же язык с минимальным числом состояний) является NP-полной задачей. [ 3 ] В этом отличие от минимизации DFA , которую можно выполнить за полиномиальное время.

Варианты

[ редактировать ]

Переход от других моделей описания к недетерминированным автоматам Бюхи

[ редактировать ]
Несколько наборов состояний в условии приемки можно перевести в один набор состояний с помощью автоматной конструкции, известной как «счетная конструкция». Допустим, A = (Q,Σ,∆,q 0 ,{F 1 ,...,F n }) — GBA, где F 1 ,...,F n — множества принимающих состояний, тогда эквивалентный автомат Бюхи есть A' = (Q', Σ, ∆',q' 0 ,F'), где
  • Q' = Q × {1,...,n}
  • q' 0 знак равно ( q 0 ,1 )
  • ∆' знак равно { ( (q,i), a, (q',j) ) | (q,a,q') ∈ ∆, и если q ∈ F i, то j=((i+1) mod n) else j=i }
  • Ф'=Ф 1 × {1}
дан перевод формулы линейной темпоральной логики в обобщенный автомат Бюхи Здесь . А перевод от обобщенного автомата Бюхи к автомату Бюхи представлен выше.
Данный автомат Мюллера можно преобразовать в эквивалентный автомат Бюхи с помощью следующей конструкции автомата. Предположим, что A = (Q,Σ,∆,Q 0 ,{F 0 ,...,F n }) — автомат Мюллера, где F 0 ,...,F n — множества принимающих состояний. Эквивалентным автоматом Бюхи является A' = (Q', Σ, ∆',Q 0 ,F'), где
  • Q' = Q ∪ н я = 0 {я} × F я × 2 Ф я
  • ∆'= ∆ ∪ ∆ 1 ∪ ∆ 2 , где
    • 1 = { ( q, a, (i,q',∅) ) | (q, a, q') ∈ ∆ и q' ∈ F i }
    • 2 = { ( (i,q,R), a, (i,q',R') ) | (q,a,q')ε∆ и q,q' ∈ F i, и если R=F i, то R'= ∅, иначе R'=R∪{q} }
  • F'= н я = 0 {я} × F я × {F я }
A' сохраняет исходный набор состояний из A и добавляет к ним дополнительные состояния. Автомат Бюхи A' моделирует автомат Мюллера A следующим образом: в начале входного слова выполнение A' следует за выполнением A , поскольку начальные состояния одинаковы и ∆' содержит ∆. В некоторой недетерминированно выбранной позиции во входном слове A' решает перейти во вновь добавленные состояния посредством перехода в ∆ 1 . Затем переходы в ∆ 2 пытаются посетить все состояния Fi и продолжать расти R . Как только R становится равным F i , оно сбрасывается в пустое множество, и ∆ 2 пытается снова и снова посетить все состояния состояний F i . Итак, если состояния R = F i посещаются бесконечно часто, то A' тоже принимает соответствующие входные данные, и A . Эта конструкция близко следует первой части доказательства теоремы Макнотона .

Из структур Крипке

[ редактировать ]
Пусть данная структура Крипке определяется формулой M = Q , I , R , L , AP , где Q — множество состояний, I — множество начальных состояний, R — отношение между двумя состояниями, также интерпретируемое как ребро, L — это метка состояния, а AP — это набор атомарных предложений, которые L. образуют
Автомат Бюхи будет иметь следующие характеристики:
если ( q , p ) принадлежит R и L ( p ) = a
и инициализировать q, если q принадлежит I и L ( q ) знак равно a .
Однако обратите внимание, что существует разница в интерпретации структур Крипке и автоматов Бюхи. В то время как первый явно называет полярность каждой переменной состояния для каждого состояния, второй просто объявляет текущий набор переменных верным или неверным. Это абсолютно ничего не говорит о других переменных, которые могут присутствовать в модели.

Дополнение

[ редактировать ]

В теории автоматов дополнением автомата Бюхи называется задача дополнения автомата Бюхи, т. е. построения другого автомата, распознающего дополнение к ω-регулярному языку, распознаваемое данным автоматом Бюхи. Существование алгоритмов этой конструкции доказывает, что множество ω-регулярных языков замкнуто относительно дополнений.

Эта конструкция особенно сложна по сравнению с конструкциями для других свойств замыкания автоматов Бюхи . Первую конструкцию Бючи представил в 1962 году. [ 4 ] Позже были разработаны другие конструкции, обеспечивающие эффективное и оптимальное дополнение. [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]

Строительство Бючи

[ редактировать ]

Бючи ​​представил [ 4 ] конструкция двояко экспоненциального дополнения в логической форме. Здесь мы имеем его конструкцию в современных обозначениях, используемых в теории автоматов. Пусть A = ( Q ,Σ,Δ, , Q0 F ) автомат Бюхи . Пусть ~ A — отношение эквивалентности над элементами из Σ + такой, что для каждого v,w ∈ Σ + , v ~ A   w тогда и только тогда, когда для всех p,q Q , A имеет пробег от p до q по v тогда и только тогда, когда это возможно по w. и более того A имеет путь через F от p к q по v тогда и только тогда, когда это возможно по w . Каждый класс ~ A определяет отображение f : Q → 2 вопрос × 2 вопрос следующим образом: для каждого состояния p Q имеем ( Q 1 , Q 2 ) = f ( p ), где Q 1 знак равно { q Q | w может переместить автомат A из p к q } и Q 2 знак равно { q Q | w может переместить автомат A из p в q через состояние в F }. Заметим Q2 , Q1 что . Если f — отображение, определяемое таким образом, мы обозначаем (уникальный) класс, определяющий f, через L f .

Следующие три теоремы дают конструкцию дополнения к A используя классы эквивалентности ~ A .

Теорема 1: ~ A имеет конечное число эквивалентных классов, и каждый класс является регулярным языком .
Доказательство: Поскольку существует конечное число f : Q → 2 вопрос × 2 вопрос отношение С А имеет конечное число классов эквивалентности. Теперь мы покажем, что L f — ​​регулярный язык. Для p , q Q и i ∈ {0,1}, пусть A i , p , q = ( {0,1}× Q , Σ, Δ 1 ∪Δ 2 , {(0, p )}, {( i , q )} ) быть недетерминированным конечным автоматом , где Δ 1 = { ((0, q 1 ), (0, q 2 )) | ( q 1 , q 2 ) ∈ Δ} ∪ { ((1, q 1 ), (1, q 2 )) | ( q 1 , q 2 ) ∈ ∆}, и Δ 2 = { ((0, q 1 ), (1, q 2 )) | q 1 F ∧ ( q 1 , q 2 ) ∈ ∆ }. Пусть Q' ⊆ Q . Пусть α p ,Q' = ∩{ L ( A 1, p , q ) | q ∈ Q'}, который представляет собой набор слов, которые могут переместить A из p во все состояния в Q' через некоторое состояние в F . Пусть βp , Q' = ∩{ L ( A0 , p , q ) -L ( A1 , p , q )-{ε} | q ∈ Q'}, который представляет собой набор непустых слов, которые могут переместить A из p во все состояния в Q'. и не имеет пробега, проходящего через какое-либо состояние в F . Пусть γ p ,Q' = ∩{ Σ + - L ( А 0, п , q ) | q ∈ Q'}, который представляет собой набор непустых слов, которые не могут переместить A из p в любой из говорится в Q'. Поскольку регулярные языки замкнуты относительно конечных пересечений и относительных дополнений, любые αp , Q' , βp , Q' и γp , Q' регулярны. По определениям, L ж знак равно ∩{ α п , Q 2 ∩ β п , Q 1 - Q 2 ∩ γ п , Q - Q 1 | ( Q 1 , Q 2 ) = ж ( п ) ∧ р Q }.

Теорема 2: Для каждого w ∈ Σ ой , существуют ~ классов Lf и что Lg такие А , ш L ж ( L г ) ой .
Доказательство: Мы воспользуемся бесконечной теоремой Рамсея. доказать эту теорему. Пусть w = a 0 a 1 ... и w ( i , j ) = a i ... a j -1 . Рассмотрим набор натуральных N. чисел Пусть классы эквивалентности ~ A — цвета подмножеств N размера 2. Цвета назначаем следующим образом. Для каждого i < j , пусть цвет { i , j } будет классом эквивалентности, в котором встречается w ( i , j ). По бесконечной теореме Рамсея мы можем найти бесконечное множество X N так, что каждое подмножество X размера 2 имеет одинаковый цвет. Пусть 0 < я 0 < я 1 < я 2 .... ∈ X . Пусть f — определяющее отображение класса эквивалентности такое, что ш (0, я 0 ) ∈ L ж . Пусть g — определяющее отображение класса эквивалентности такое, что для каждого j >0 w ( i j -1 , i j ) ∈ L g . Тогда w L f ( L g ) ой .

Теорема 3. Пусть L f и L g — классы эквивалентности. ~ А . Тогда L f ( L g ) ой является либо подмножеством L ( A ), либо не пересекается с L ( A ).
Доказательство: Предположим, существует слово w L ( A ) ∩ L f ( L g ) ой , в противном случае теорема выполняется тривиально. Пусть r — принимающий прогон A по входному сигналу w . Нам нужно показать, что каждое слово w' ∈ L f ( L g ) ой также находится в L ( A ), т. е. существует серия r' A по входу w' такая, что состояние в F возникает в r' бесконечно часто. Поскольку w L f ( L g ) ой , пусть w 0 w 1 w 2 ... = w такой, что w 0 L f и для каждого i > 0 w i L g . Пусть s i будет состоянием в r после потребления w 0 ... w i . Пусть I — набор индексов такой, что i I тогда и только тогда, когда беговой сегмент в r от s i до s i +1 содержит состояние из F . Я должен быть бесконечным множеством. Аналогично мы можем разделить слово w'. Пусть w' 0 w' 1 w' 2 ... = w' такой, что w' 0 L f и для каждого i > 0 w' i L g . Построим r' индуктивно следующим образом. Пусть первое состояние r' будет таким же, как r . По определению L f , мы можем выбрать сегмент пробега в слове w' 0, чтобы достичь s 0 . По предположению индукции, у нас есть пробег по w' 0 ...w'i , который достигает s i . По определению L g , мы можем продолжить пробег вдоль отрезка слова w' i +1 так, что расширение достигает s i+1 и посещает состояние в F, если i I . R', полученный в результате этого процесса, будет иметь бесконечное количество сегментов выполнения. содержащие состояния из F , поскольку I бесконечно. Следовательно, r' — принимающая серия и w' ∈ L ( A ).

По приведенным выше теоремам мы можем представить Σ ой - Л ( А ) как конечное объединение ω-регулярных языков вида L f ( L g ) ой , где L f и L g — классы эквивалентности ~ A . Следовательно, Σ ой - L ( A ) — ω-регулярный язык. Мы можем перевести этот язык в автомат Бюхи. Эта конструкция является дважды экспоненциальной по размеру A .

  1. ^ Бючи, младший (1962). «О методе принятия решения в ограниченной арифметике второго порядка». Собрание сочинений Дж. Рихарда Бючи . Стэнфорд: Издательство Стэнфордского университета. стр. 425–435. дои : 10.1007/978-1-4613-8928-6_23 . ISBN  978-1-4613-8930-9 . {{cite book}}: |journal= игнорируется ( помогите )
  2. ^ Сафра, С. (1988), «О сложности ω-автоматов», Труды 29-го ежегодного симпозиума по основам информатики (FOCS '88) , Вашингтон, округ Колумбия, США: Компьютерное общество IEEE, стр. 319–327, doi : 10.1109/SFCS.1988.21948 , ISBN  0-8186-0877-3 , S2CID   206559211 .
  3. ^ Шеве, Свен (2010). «Минимизация детерминированной четности и автоматов Бюхи и относительная минимизация детерминированных конечных автоматов». arXiv : 1007.1333 [ cs.FL ].
  4. ^ Перейти обратно: а б Бючи, младший (1962), «О методе принятия решений в ограниченной арифметике второго порядка», Proc. Международный конгресс по логике, методу и философии науки, Стэнфорд, 1960 , Стэнфорд: Издательство Стэнфордского университета, стр. 1–12 .
  5. ^ Макнотон, Р. (1966), «Тестирование и генерация бесконечных последовательностей конечным автоматом», Information and Control , 9 (5): 521–530, doi : 10.1016/s0019-9958(66)80013-x .
  6. ^ Систла, AP; Варди, МЮ ; Вулпер, П. (1987), «Проблема дополнения автоматов Бюхи с приложениями к темпоральной логике», Theoretical Computer Science , 49 (2–3): 217–237, doi : 10.1016/0304-3975(87)90008-9 .
  7. ^ Сафра, С. (октябрь 1988 г.), «О сложности ω-автоматов», Proc. 29-й симпозиум IEEE по основам информатики , Уайт-Плейнс, Нью-Йорк , стр. 319–327 .
  8. ^ Купферман, О. ; Варди, Миссури (июль 2001 г.), «Слабые альтернирующие автоматы не так уж и слабы», Транзакции ACM по вычислительной логике , 2 (3): 408–429, doi : 10.1145/377978.377993 .
  9. ^ Шеве, Свен (2009). Дополнение Büchi сделано жестко . СТАКС.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1275511b862bf580c34b2ae168729e61__1722358560
URL1:https://arc.ask3.ru/arc/aa/12/61/1275511b862bf580c34b2ae168729e61.html
Заголовок, (Title) документа по адресу, URL1:
Büchi automaton - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)