Автомат Бючи

В информатике и теории автоматов детерминированный автомат Бюхи — это теоретическая машина, которая либо принимает, либо отклоняет бесконечные входные данные. Такая машина имеет набор состояний и функцию перехода, определяющую, в какое состояние машина должна перейти из текущего состояния при чтении следующего входного символа. Некоторые штаты являются принимающими штатами, а один штат является начальным. Машина принимает входные данные тогда и только тогда, когда она проходит через состояние принятия бесконечно много раз при чтении входных данных.
, Недетерминированный автомат Бюхи позже называемый просто автоматом Бюхи , имеет функцию перехода, которая может иметь несколько выходов, что приводит к множеству возможных путей для одного и того же входа; он принимает бесконечный ввод тогда и только тогда, когда принимает какой-то возможный путь. Детерминированные и недетерминированные автоматы Бюхи обобщают детерминированные конечные автоматы и недетерминированные конечные автоматы на бесконечные входные данные. Каждый из них является типом ω-автоматов . Автоматы Бюхи распознают ω-регулярные языки , версию регулярных языков с бесконечными словами . Они названы в честь швейцарского математика Юлиуса Рихарда Бючи , который изобрел их в 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 ]
- Проверка пустоты
Язык, распознаваемый автоматом Бюхи, непуст тогда и только тогда, когда существует конечное состояние, которое одновременно достижимо из начального состояния и лежит в цикле.
Эффективный алгоритм проверки пустоты автомата Бюхи:
- Рассмотрим автомат как ориентированный граф и разложим его на сильно связные компоненты (СКС).
- Запустите поиск (например, поиск в глубину ), чтобы определить, какие SCC достижимы из исходного состояния.
- Проверьте, существует ли нетривиальный SCC, достижимый и содержащий конечное состояние.
Каждый из шагов этого алгоритма может быть выполнен за время, линейное по размеру автомата, поэтому алгоритм явно оптимален.
- Минимизация
Минимизация детерминированных автоматов Бюхи (т. е. при наличии детерминированного автомата Бюхи поиск детерминированного автомата Бюхи, распознающего тот же язык с минимальным числом состояний) является NP-полной задачей. [ 3 ] В этом отличие от минимизации DFA , которую можно выполнить за полиномиальное время.
Варианты
[ редактировать ]Переход от других моделей описания к недетерминированным автоматам Бюхи
[ редактировать ]Из обобщенных автоматов Бюхи (GBA).
[ редактировать ]- Несколько наборов состояний в условии приемки можно перевести в один набор состояний с помощью автоматной конструкции, известной как «счетная конструкция». Допустим, 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 .
Ссылки
[ редактировать ]- ^ Бючи, младший (1962). «О методе принятия решения в ограниченной арифметике второго порядка». Собрание сочинений Дж. Рихарда Бючи . Стэнфорд: Издательство Стэнфордского университета. стр. 425–435. дои : 10.1007/978-1-4613-8928-6_23 . ISBN 978-1-4613-8930-9 .
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ Сафра, С. (1988), «О сложности ω-автоматов», Труды 29-го ежегодного симпозиума по основам информатики (FOCS '88) , Вашингтон, округ Колумбия, США: Компьютерное общество IEEE, стр. 319–327, doi : 10.1109/SFCS.1988.21948 , ISBN 0-8186-0877-3 , S2CID 206559211 .
- ^ Шеве, Свен (2010). «Минимизация детерминированной четности и автоматов Бюхи и относительная минимизация детерминированных конечных автоматов». arXiv : 1007.1333 [ cs.FL ].
- ^ Перейти обратно: а б Бючи, младший (1962), «О методе принятия решений в ограниченной арифметике второго порядка», Proc. Международный конгресс по логике, методу и философии науки, Стэнфорд, 1960 , Стэнфорд: Издательство Стэнфордского университета, стр. 1–12 .
- ^ Макнотон, Р. (1966), «Тестирование и генерация бесконечных последовательностей конечным автоматом», Information and Control , 9 (5): 521–530, doi : 10.1016/s0019-9958(66)80013-x .
- ^ Систла, AP; Варди, МЮ ; Вулпер, П. (1987), «Проблема дополнения автоматов Бюхи с приложениями к темпоральной логике», Theoretical Computer Science , 49 (2–3): 217–237, doi : 10.1016/0304-3975(87)90008-9 .
- ^ Сафра, С. (октябрь 1988 г.), «О сложности ω-автоматов», Proc. 29-й симпозиум IEEE по основам информатики , Уайт-Плейнс, Нью-Йорк , стр. 319–327 .
- ^ Купферман, О. ; Варди, Миссури (июль 2001 г.), «Слабые альтернирующие автоматы не так уж и слабы», Транзакции ACM по вычислительной логике , 2 (3): 408–429, doi : 10.1145/377978.377993 .
- ^ Шеве, Свен (2009). Дополнение Büchi сделано жестко . СТАКС.
- Бахадыр Хусаинов; Анил Нероде (6 декабря 2012 г.). Теория автоматов и ее приложения . Springer Science & Business Media. ISBN 978-1-4612-0171-7 .
- Томас, Вольфганг (1990). «Автоматы на бесконечных объектах». В Ван Леувене (ред.). Справочник по теоретической информатике . Эльзевир. стр. 133–164.
Внешние ссылки
[ редактировать ]
- «Конечные автоматы на бесконечных входах» (PDF) .
- Варди, Моше Ю. «Теоретико-автоматный подход к линейной темпоральной логике». CiteSeerX 10.1.1.125.8126 .