В информатике и теории автоматов детерминированный автомат Бюхи — это теоретическая машина, которая либо принимает, либо отвергает бесконечные входные данные. Такая машина имеет набор состояний и функцию перехода, которая определяет, в какое состояние машина должна перейти из текущего состояния при считывании следующего входного символа. Некоторые состояния являются принимающими состояниями, а одно состояние является начальным. Машина принимает входные данные тогда и только тогда, когда она будет проходить через принимающее состояние бесконечное количество раз при считывании входных данных.
Недетерминированный автомат Бюхи , позже называемый просто автоматом Бюхи , имеет функцию перехода, которая может иметь несколько выходов, что приводит ко многим возможным путям для одного и того же входа; он принимает бесконечный вход тогда и только тогда, когда некоторый возможный путь принимает. Детерминированные и недетерминированные автоматы Бюхи обобщают детерминированные конечные автоматы и недетерминированные конечные автоматы на бесконечные входы. Каждый из них является типом ω-автоматов . Автоматы Бюхи распознают ω-регулярные языки , версию регулярных языков с бесконечным количеством слов . Они названы в честь швейцарского математика Юлиуса Рихарда Бюхи , который изобрел их в 1962 году. [1]
Формально детерминированный автомат Бюхи представляет собой кортеж A = ( Q ,Σ,δ, q 0 , 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) поочередно. Существует такая серия сегментов r', если r' принимается A'.
Конкатенация : существует автомат Бюхи, который распознает язык
Доказательство: Если предположить, что wlog пуст , то автомат Бюхи распознает , где
ω-замыкание : если не содержит пустого слова, то существует автомат Бюхи, распознающий язык
Доказательство: Автомат Бюхи, который распознает, строится в два этапа. Во-первых, мы строим конечный автомат A' такой, что A' также распознает, но нет входящих переходов в начальные состояния A'. Итак, где Обратите внимание, что поскольку не содержит пустую строку. Во-вторых, мы построим автомат Бюхи A", который распознает , добавляя цикл обратно в начальное состояние A'. Итак, , где
Дополнение : существует автомат Бюхи, который распознает язык.
Доказательство: Доказательство представлено здесь .
Распознаваемые языки
Автоматы Бюхи распознают ω-регулярные языки . Используя определение ω-регулярного языка и приведенные выше свойства замыкания автоматов Бюхи, можно легко показать, что автомат Бюхи может быть построен таким образом, что он распознает любой заданный ω-регулярный язык. Для обратного см. построение ω-регулярного языка для автомата Бюхи.
Детерминированные и недетерминированные автоматы Бюхи
Класс детерминированных автоматов Бюхи недостаточен для охвата всех омега-регулярных языков. В частности, не существует детерминированного автомата Бюхи, распознающего язык , который содержит ровно слова, в которых 1 встречается только конечное число раз. Мы можем показать от противного, что такого детерминированного автомата Бюхи не существует. Предположим, что A — детерминированный автомат Бюхи, распознающий с конечным множеством состояний F . A принимает . Таким образом, A посетит некоторое состояние в F после прочтения некоторого конечного префикса , скажем, после -й буквы. A также принимает ω-слово Поэтому для некоторого после префикса автомат посетит некоторое состояние в F . Продолжая эту конструкцию , генерируется ω-слово , которое заставляет A посещать некоторое состояние в F бесконечно часто, и слово не находится в Противоречии.
Класс языков, распознаваемых детерминированными автоматами Бюхи, характеризуется следующей леммой.
Доказательство: Любой детерминированный автомат Бюхи A можно рассматривать как детерминированный конечный автомат A' и наоборот, поскольку оба типа автомата определяются как 5-кортеж одних и тех же компонентов, различается только интерпретация условия принятия. Мы покажем, что является предельным языком . ω-слово принимается 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) иначе j=i }
Ф'=Ф 1 × {1}
ОтЛинейная временная логикаформула
Перевод из линейной временной логической формулы в обобщенный автомат Бюхи приведен здесь . А перевод из обобщенного автомата Бюхи в автомат Бюхи представлен выше.
Отавтоматы Мюллера
Данный автомат Мюллера может быть преобразован в эквивалентный автомат Бюхи с помощью следующей конструкции автомата. Предположим, что A = (Q,Σ,∆,Q 0 ,{F 0 ,...,F n }) — автомат Мюллера, где F 0 ,...,F n — множества допускающих состояний. Эквивалентный автомат Бюхи — это A' = (Q', Σ, ∆',Q 0 ,F'), где
Q' = Q ∪ ∪ n i=0 {i} × F i × 2 F i
∆'= ∆ ∪ ∆ 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'= ∪ n i=0 {i} × F i × { Fi }
A' сохраняет исходный набор состояний из A и добавляет к ним дополнительные состояния. Автомат Бюхи A' моделирует автомат Мюллера A следующим образом: в начале входного слова выполнение A' следует за выполнением A , поскольку начальные состояния одинаковы и ∆' содержит ∆. В некоторой недетерминированно выбранной позиции во входном слове A' решает перейти в новые добавленные состояния с помощью перехода в ∆ 1 . Затем переходы в ∆ 2 пытаются посетить все состояния F i и продолжают расти 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
и init q, если q принадлежит I и L ( q ) = a .
Однако следует отметить, что существует разница в интерпретации между структурами Крипке и автоматами Бюхи. В то время как первая явно называет полярность каждой переменной состояния для каждого состояния, последняя просто объявляет текущий набор переменных, содержащих или не содержащих истину. Она абсолютно ничего не говорит о других переменных, которые могут присутствовать в модели.
Дополнение
В теории автоматов дополнение автомата Бюхи — это задача дополнения автомата Бюхи, т. е. построения другого автомата, распознающего дополнение ω-регулярного языка, распознаваемого данным автоматом Бюхи. Существование алгоритмов для такого построения доказывает, что множество ω-регулярных языков замкнуто относительно дополнения.
Эта конструкция особенно сложна по сравнению с конструкциями для других свойств замыкания автоматов Бюхи. Первая конструкция была представлена Бюхи в 1962 году. [4] Позднее были разработаны другие конструкции, которые позволили эффективное и оптимальное дополнение. [5] [6] [7] [8] [9]
Конструкция Бюхи
Бюхи представил [4] конструкцию двойного экспоненциального дополнения в логической форме. Здесь мы имеем его конструкцию в современных обозначениях, используемых в теории автоматов. Пусть A = ( Q ,Σ,Δ, Q 0 , 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 Q × 2 Q
следующим образом: для каждого состояния 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 }. Обратите внимание, что Q 2 ⊆ Q 1 . Если f — отображение, определяемое таким образом, мы обозначаем (уникальный) класс, определяющий f , через L f .
Следующие три теоремы дают построение дополнения к A с
использованием классов эквивалентности ~ A.
Теорема 1: ~ A имеет конечное число эквивалентных классов, и каждый класс является регулярным языком . Доказательство:
Поскольку существует конечное число f : Q → 2 Q × 2 Q , отношение ~ A имеет конечное число классов эквивалентности. Теперь покажем, что 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 ( A 0, p , q )- L ( A 1, p , q )-{ε} | q ∈ Q'}, что является множеством непустых слов, которые могут переместить A из p во все состояния в Q' и не имеют пробега, который проходит через какое-либо состояние в F . Пусть γ p ,Q' = ∩{ Σ + - L ( A 0, p , q ) | q ∈ Q'}, что является множеством непустых слов, которые не могут переместить Aиз p в любое из состояний в Q'. Поскольку регулярные языки замкнуты относительно конечных пересечений и относительных дополнений, каждое α p ,Q' , β p ,Q' и γ p ,Q' является регулярным. По определениям, L f = ∩{ α p , Q 2 ∩ β p , Q 1 - Q 2 ∩ γ p , Q - Q 1
| ( Q 1 , Q 2 )= f ( p ) ∧ p ∈ Q }.
Теорема 2: Для каждого w ∈ Σ ω существуют ~ A классов L f и L g такие, что w ∈ L f ( L g ) ω . Доказательство:
Мы будем использовать бесконечную теорему Рамсея
для доказательства этой теоремы. Пусть 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 < i 0 < i 1 < i 2 .... ∈ X . Пусть f — определяющее отображение класса эквивалентности, такое что w (0, i 0 ) ∈ L f . Пусть g — определяющее отображение класса эквивалентности, такое что для каждого j >0, w ( i j -1 , i j ) ∈ L g . Тогда w ∈ L f ( L g ) ω .
Теорема 3: Пусть L f и L g — классы эквивалентности ~ A . Тогда 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 . I должно быть бесконечным набором. Аналогично, мы можем разбить слово 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 ( A ) как конечное объединение ω-регулярных языков вида L f ( L g ) ω , где L f и L g — классы эквивалентности ~ A . Следовательно, Σ ω - L ( A ) — ω-регулярный язык. Мы можем перевести язык в автомат Бюхи. Эта конструкция дважды экспоненциальна по размеру A .
Ссылки
^ Бюхи, Дж. Р. (1962). «О методе принятия решений в ограниченной арифметике второго порядка». Собрание сочинений Дж. Ричарда Бюхи . Стэнфорд: Stanford University Press. стр. 425–435. doi :10.1007/978-1-4613-8928-6_23. ISBN 978-1-4613-8930-9. {{cite book}}: |journal=проигнорировано ( помощь )
^ Сафра, С. (1988), «О сложности ω-автоматов», Труды 29-го ежегодного симпозиума по основам компьютерной науки (FOCS '88) , Вашингтон, округ Колумбия, США: IEEE Computer Society, стр. 319–327, doi :10.1109/SFCS.1988.21948, ISBN0-8186-0877-3, S2CID 206559211.
^ Шеве, Свен (2010). «Минимизация детерминированных автоматов четности и Бюхи и относительная минимизация детерминированных конечных автоматов». arXiv : 1007.1333 [cs.FL].
^ ab Büchi, JR (1962), «О методе принятия решений в ограниченной арифметике второго порядка», Труды Международного конгресса по логике, методу и философии науки, Стэнфорд, 1960 , Стэнфорд: Stanford University Press, стр. 1–12.
^ Макнотон, Р. (1966), «Тестирование и генерация бесконечных последовательностей конечным автоматом», Информация и управление , 9 (5): 521–530, doi : 10.1016/s0019-9958(66)80013-x.
^ Sistla, AP; Vardi, MY ; Wolper, P. (1987), «Проблема дополнения для автоматов Бюхи с приложениями к темпоральной логике», Theoretical Computer Science , 49 (2–3): 217–237, doi : 10.1016/0304-3975(87)90008-9.