Automat Büchi
W informatyce i teorii automatów deterministyczny automat Büchiego jest teoretyczną maszyną, która przyjmuje lub odrzuca nieskończone dane wejściowe. Taka maszyna ma zestaw stanów i funkcję przejścia, która określa, do jakiego stanu maszyna powinna przejść ze swojego obecnego stanu, gdy odczytuje następny znak wejściowy. Niektóre stany akceptują stany, a jeden stan jest stanem początkowym. Maszyna akceptuje dane wejściowe wtedy i tylko wtedy, gdy podczas odczytywania danych wejściowych przejdzie przez stan akceptacji nieskończenie wiele razy.
Niedeterministyczny automat Büchiego , później nazywany po prostu automatem Büchiego , ma funkcję przejścia, która może mieć wiele wyjść, prowadząc do wielu możliwych ścieżek dla tego samego wejścia; akceptuje nieskończone dane wejściowe wtedy i tylko wtedy, gdy akceptowana jest jakaś możliwa ścieżka. Deterministyczne i niedeterministyczne automaty Büchiego uogólniają deterministyczne automaty skończone i niedeterministyczne automaty skończone na nieskończone wejścia. Każdy z nich jest rodzajem ω-automatów . Automaty Büchi rozpoznają języki regularne ω , nieskończoną wersję słowną języków regularnych . Zostały nazwane na cześć szwajcarskiego matematyka Juliusa Richarda Büchiego , który wynalazł je w 1962 roku.
Automaty Büchiego są często używane w sprawdzaniu modeli jako teoretyczno-automatyczna wersja formuły w liniowej logice czasowej .
Definicja formalna
0 Formalnie deterministyczny automat Büchiego jest krotką A = ( Q , Σ, δ, q , F ), która składa się z następujących składowych:
- Q jest skończonym zbiorem . Elementy Q nazywane są stanami A .
- Σ jest skończonym zbiorem zwanym alfabetem A .
- δ: Q × Σ → Q jest funkcją, zwaną funkcją przejścia A .
- 0 q jest elementem Q , zwanym stanem początkowym A .
- F ⊆ Q jest warunkiem akceptacji . A akceptuje dokładnie te przebiegi, w których przynajmniej jeden z nieskończenie często występujących stanów jest w F .
0 W ( niedeterministycznym ) automacie Büchiego funkcja przejścia δ jest zastępowana relacją przejścia Δ, która zwraca zbiór stanów, a pojedynczy stan początkowy q jest zastępowany przez zbiór I stanów początkowych. Ogólnie rzecz biorąc, termin automat Büchiego bez kwalifikatora odnosi się do niedeterministycznych automatów Büchiego.
Aby zapoznać się z bardziej wszechstronnym formalizmem, zobacz także ω-automat .
Właściwości zamknięcia
Zbiór automatów Büchiego jest domknięty pod następującymi operacjami.
Niech i być automatami Büchi i będzie automatem skończonym .
- Unia : Istnieje automat Büchi który rozpoznaje język
- Jeśli , że wlog jest pusty jest rozpoznawany przez automat Büchi
- Przecięcie : Istnieje automat Büchi, który rozpoznaje język
-
Dowód: automat Büchi rozpoznaje ZA gdzie
- Z konstrukcji A' na słowie wejściowym w jeśli jest uruchamiany } A na w i jest uruchamiane z B na w . i akceptuje, jeśli r 'jest konkatenacją nieskończonej serii skończonych segmentów stanów 1 (stany z 1) i 2-stany (stany z trzecią składową 2) alternatywnie. Istnieje taki ciąg odcinków r', jeśli r' jest akceptowane przez A'.
- Konkatenacja : Istnieje automat Büchi, który rozpoznaje język
-
Dowód: Jeśli założymy, , jest automat ⋅ gdzie
- Jeśli zawiera pustego słowa, to istnieje automat Büchi, zamknięcie :
- : automat Büchi, który rozpoznaje, konstruowany w dwóch konstruujemy automat skończony A 'taki, że A' również rozpoznaje, nadchodzących przejść do stanów początkowych A' Więc gdzie Zauważ, że ponieważ nie zawiera pustego łańcucha. Po drugie, skonstruujemy automat Büchi A”, który rozpoznaje, dodając pętlę z powrotem do stanu początkowego A'. L ( do gdzie
- który rozpoznaje język
- Dowód: Dowód jest przedstawiony tutaj .
Rozpoznawalne języki
Automaty Büchi rozpoznają języki regularne ω . Korzystając z definicji języka ω-regularnego i powyższych właściwości domknięć automatów Büchiego, można łatwo wykazać, że automat Büchi można skonstruować tak, że rozpoznaje dowolny dany język ω-regularny. Odwrotnie, zobacz konstrukcję języka regularnego ω dla automatu Büchi .
Deterministyczne i niedeterministyczne automaty Büchiego
Klasa deterministycznych automatów Büchi nie wystarcza do objęcia wszystkich języków omega-regularnych. W szczególności nie ma deterministycznego automatu Büchiego, który rozpoznaje język , 1 występuje wiele razy. Możemy wykazać przez zaprzeczenie, że taki deterministyczny automat Büchiego nie istnieje. Załóżmy, że deterministycznym automatem Büchiego, który ze końcowego akceptuje { . Tak więc A odwiedzi jakiś stan w po przeczytaniu jakiegoś skończonego przedrostka po literze. A akceptuje również słowo ω Dlatego dla niektórych po przedrostku automat odwiedzi jakiś stan w F . generowane słowo A odwiedzać jakiś stan w F nieskończenie często i słowo nie jest w Sprzeczność.
Klasę języków rozpoznawalną przez deterministyczne automaty Büchiego charakteryzuje następujący lemat.
- Lemat: Język ω jest rozpoznawalny przez deterministyczny automat Büchiego, jeśli jest językiem granicznym jakiegoś języka regularnego .
- Dowód: Każdy deterministyczny automat Büchiego A może być traktowany jako deterministyczny automat skończony A' i odwrotnie, ponieważ oba typy automatów są zdefiniowane jako 5-krotka tych samych składowych, tylko interpretacja warunku akceptacji jest inna. Pokażemy, że ZA } Słowo ω jest akceptowane przez A , jeśli zmusi A do odwiedzania stanów końcowych nieskończenie często. Zatem nieskończenie wiele skończonych przedrostków tego słowa ω będzie akceptowanych przez A' . Stąd jest językiem granicznym .
Algorytmy
Sprawdzanie modeli systemów o skończonych stanach często można przełożyć na różne operacje na automatach Büchiego. Oprócz operacji zamknięcia przedstawionych powyżej, poniżej przedstawiono kilka przydatnych operacji w zastosowaniach automatów Büchi.
- Determinacja
Ponieważ deterministyczne automaty Büchiego są ściśle mniej wyraziste niż automaty niedeterministyczne, nie może istnieć algorytm wyznaczania automatów Büchiego. Ale twierdzenie McNaughtona i konstrukcja Safry dostarczają algorytmów, które mogą przetłumaczyć automat Büchi na deterministyczny automat Mullera lub deterministyczny automat Rabina .
- Sprawdzanie pustki
Język rozpoznawany przez automat Büchi jest niepusty wtedy i tylko wtedy, gdy istnieje stan końcowy, który jest zarówno osiągalny ze stanu początkowego, jak i leży w cyklu.
Efektywny algorytm sprawdzający pustkę automatu Büchi:
- Rozważ automat jako graf skierowany i rozłóż go na silnie połączone składowe (SCC).
- Uruchom wyszukiwanie (np. przeszukiwanie w głąb ), aby znaleźć, które SCC są osiągalne ze stanu początkowego.
- Sprawdź, czy istnieje nietrywialny SCC, który jest osiągalny i zawiera stan końcowy.
Każdy z kroków tego algorytmu można wykonać w czasie liniowym w rozmiarze automatu, stąd algorytm jest wyraźnie optymalny.
- Minimalizacja
Algorytm minimalizacji niedeterministycznego automatu skończonego również poprawnie minimalizuje automat Büchiego. Algorytm nie gwarantuje minimalnego automatu Büchiego [ wymagane wyjaśnienie ] . Jednak algorytmy minimalizacji deterministycznego automatu skończonego nie działają dla deterministycznego automatu Büchiego.
Warianty
- Automat Co-Büchi
- Słaby automat Büchi
- Półdeterministyczny automat Büchiego
- Uogólniony automat Büchiego
Przejście od innych modeli opisu do niedeterministycznych automatów Büchiego
Z uogólnionych automatów Büchi (GBA)
-
00 Wiele zestawów stanów w stanie akceptacji można przetłumaczyć na jeden zestaw stanów za pomocą konstrukcji automatu, znanej jako „konstrukcja licząca”. Powiedzmy, że A = (Q,Σ,∆,q ,{F 1 ,...,F n }) jest GBA, gdzie F 1 ,...,F n są zbiorami akceptujących stanów, to odpowiednik automatu Büchiego to A' = (Q', Σ, ∆',q' ,F'), gdzie
- Q' = Q × {1,...,n}
- 00 q' = ( q ,1 )
- ∆' = { ( (q,i), za, (q',j) ) | (q,a,q') ∈ ∆ i jeśli q ∈ F i wtedy j=((i+1) mod n) else j=i }
- F'=F 1 × {1}
Z formuły logiki liniowej temporalnej
- tutaj tłumaczenie formuły liniowej logiki czasowej na uogólniony automat Büchiego . Powyżej przedstawiono tłumaczenie z uogólnionego automatu Büchiego na automat Büchiego.
Z automatów Mullera
-
0000 Dany automat Mullera można przekształcić w równoważny automat Büchiego za pomocą następującej konstrukcji automatu. Załóżmy, że A = (Q,Σ,∆,Q ,{F ,...,F n }) jest automatem Mullera, gdzie F ,...,Fn są zbiorami akceptujących stanów. Równoważnym automatem Büchiego jest A' = (Q', Σ, ∆',Q ,F'), gdzie
- Q' = Q ∪ ∪ n i = 0 {i} × fa ja × 2 fa ja
- ∆'= ∆ ∪ ∆ 1 ∪ ∆ 2 , gdzie
- ∆ 1 = { ( q, za, (i,q',∅) ) | (q, a, q') ∈ ∆ i q' ∈ F i }
- ∆ 2 = { ( (i,q,R), za, (i,q',R') ) | (q,a,q')∈∆ i q,q' ∈ F i i jeśli R=F i to R'= ∅ inaczej R'=R∪{q} }
- fa'= ∪ n ja=0 {i} × fa ja × {fi ja }
- A' zachowuje oryginalny zestaw stanów z A i dodaje do nich dodatkowe stany. Automat Büchiego A' symuluje automat A Mullera w następujący sposób: Na początku słowa wejściowego wykonanie A' następuje po wykonaniu A , ponieważ stany początkowe są takie same, a ∆' zawiera ∆. W jakiejś niedeterministycznie wybranej pozycji w słowie wejściowym A' decyduje o skoku do nowo dodanych stanów poprzez przejście w ∆ 1 . Fi Następnie przejścia w ∆ 2 próbują odwiedzić wszystkie stany i rosną R . Kiedy R staje się równe F i, Fi . jest resetowany do zbioru pustego i ∆ 2 próbuje raz po raz odwiedzać wszystkie stany stanów Tak więc, jeśli stany R = F i są odwiedzane nieskończenie często, to A' akceptuje odpowiednie wejście, podobnie jak A . Ta konstrukcja jest ściśle zgodna z pierwszą częścią dowodu twierdzenia McNaughtona .
Ze struktur Kripkego
- Niech dana struktura Kripkego będzie zdefiniowana przez M = ⟨ Q , I , R , L , AP ⟩ gdzie Q to zbiór stanów, I to zbiór stanów początkowych, R to relacja między dwoma stanami również interpretowana jako krawędź, L to etykieta stanu, a AP to zbiór zdań atomowych, które tworzą L .
- Automat Büchi będzie miał następujące cechy:
- , jeśli ( q , p ) należy do R i L ( p ) = a
- i init q jeśli q należy do ja i L ( q ) = za .
- Należy jednak zauważyć, że istnieje różnica w interpretacji między strukturami Kripkego a automatami Büchiego. Podczas gdy ta pierwsza wyraźnie określa polaryzację każdej zmiennej stanu dla każdego stanu, ta druga po prostu deklaruje bieżący zestaw zmiennych, które są prawdziwe lub nie. Nie mówi absolutnie nic o innych zmiennych, które mogą być obecne w modelu.
- Bakhadyr Khoussainov; Anil Nerode (6 grudnia 2012). Teoria automatów i jej zastosowania . Springer Science & Business Media. ISBN 978-1-4612-0171-7 .
- Thomas, Wolfgang (1990). „Automaty na nieskończonych obiektach”. W Van Leeuwen (red.). Podręcznik informatyki teoretycznej . Elsevier. s. 133–164.
Linki zewnętrzne
- „Skończone automaty stanów na nieskończonych wejściach” (PDF) .
-
Vardi, Moshe Y. „Teoretyczne podejście do liniowej logiki temporalnej”. CiteSeerX 10.1.1.125.8126 .
{{ cite journal }}
: Cite journal wymaga|journal=
( pomoc )