Büchi avtomatiga chiziqli vaqtinchalik mantiq - Linear temporal logic to Büchi automaton

Yilda rasmiy tekshirish, cheklangan holat modelni tekshirish topishi kerak Büchi avtomati (BA) berilganga teng Chiziqli vaqtinchalik mantiq (LTL) formulasi, ya'ni LTL formulasi va BA bir xilligini tan oladigan darajada ω-tili. LTL formulasini BA ga tarjima qiladigan algoritmlar mavjud.[1][2][3][4] Ushbu o'zgarish odatda ikki bosqichda amalga oshiriladi. Birinchi qadam a hosil qiladi umumlashtirilgan Büchi avtomati LTL formulasidan (GBA). Ikkinchi qadam ushbu GBAni BA ga aylantiradi, bu nisbatan o'z ichiga oladi oson qurilish. LTL BA ga nisbatan kamroq ifoda etilganligi sababli, teskari qurilish mumkin emas.

LTL-ni GBA ga o'tkazish algoritmlari qurilish strategiyasida farq qiladi, ammo ularning barchasi umumiy asosga ega, ya'ni qurilgan avtomatdagi har bir holat LTL formulalar to'plamini ifodalaydi. kutilgan Yugurish paytida holat paydo bo'lgandan keyin qolgan kirish so'zi bilan qoniqish.

LTL dan GBA ga o'tish

Bu erda qurilish uchun ikkita algoritm keltirilgan. Birinchisi deklarativ va tushunarli qurilishni ta'minlaydi. Ikkinchisi algoritmik va samarali qurilishni ta'minlaydi. Ikkala algoritmda ham kirish formulasi f taklif qilingan o'zgaruvchilar to'plami yordamida tuzilgan deb taxmin qilishadi AP va f ichida inkor normal shakl.Har bir LTL formulasi uchun f 'eng yuqori belgisi sifatida ¬ holda, ruxsat bering neg(f ') = ¬f', neg(¬f ') = f'. Maxsus holat uchun f' =to'g'ri, ruxsat bering neg(to'g'ri) = yolg'on.

Deklarativ qurilish

Qurilishni tavsiflashdan oldin, biz bir nechta yordamchi ta'riflarni taqdim etishimiz kerak. LTL formulasi uchun f, Ruxsat bering cl(f) quyidagi shartlarni qondiradigan formulalarning eng kichik to'plami:

  • to'g'ricl(f)
  • f ∈ cl(f)
  • agar f1cl(f) keyin neg(f.)1) ∈ cl(f)
  • agar X f1cl(f) keyin f1cl(f)
  • agar f1 F2cl(f) keyin f1, f2cl(f)
  • agar f1 F2cl(f) keyin f1, f2cl(f)
  • agar f1 U f2cl(f) keyin f1, f2cl(f)
  • agar f1 R f2cl(f) keyin f1, f2cl(f)

cl(f) - f ning sub-formulalarini inkor ostida yopilishi cl(f) inkor normal shaklda bo'lmagan formulalarni o'z ichiga olishi mumkin cl(f) ekvivalent GBA davlatlari bo'lib xizmat qiladi. Biz GBA ni shunday qurishni maqsad qilamizki, agar shunday bo'lsa davlat mos keladi M ⊂ kichik to'plamiga cl(f) u holda GBA, agar so'z M har bir formulani qondirsa va undagi har bir formulani buzsa, so'z uchun holatdan boshlanadigan qabul qilishga ega. cl(f) /M. Shuning uchun biz har bir M formulalar to'plamini aniq bir-biriga mos kelmaydigan yoki qat'iy super super M 'to'plami bilan qo'shib qo'ygan M va M' tenglashtiradigan darajada ko'rib chiqmaymiz. M ⊂ to'plami cl(f) hisoblanadi maksimal darajada izchil agar u quyidagi shartlarga javob bersa:

  • to'g'ri ∈ M
  • f1 ∈ M iff ¬f1 ∉ M
  • f1 F2 ∈ M iff f1 ∈ M va f2 ∈ M
  • f1 F2 ∈ M iff f1 ∈ M yoki f2 ∈ M

Ruxsat bering CS(f) ning maksimal darajada izchil quyi to'plamlari to'plami bo'lishi kerak cl(f) .Biz faqat foydalanamiz CS(f) GBA shtatlari sifatida.

GBA qurilishi

Ekvivalenti GBA f ga qadar A= ({init} ∪CS(f), 2AP, Δ, {init},F), qaerda

  • Δ = Δ1 ∪ Δ2
    • (M, a, M ') ∈ Δ1 iff (M '∩AP ) ⊆ a ⊆ {p ∈ AP | ¬p ∉ M '} va:
      • X f1 ∈ M iff f1 ∈ M ';
      • f1 U f2 ∈ M iff f2 ∈ M yoki (f1 ∈ M va f1 U f2 ∈ M ');
      • f1 R f2 ∈ M iff f1 F2 ∈ M yoki (f2 ∈ M va f1 R f2 ∈ M ')
    • Δ2 = {(init, a, M ') | (M '∩AP ) ⊆ a ⊆ {p ∈ AP | ¬p ∉ M '} va f ∈ M'}
  • Har bir f uchun1 U f2cl(f), {M ∈ CS(f) | f2 ∈ M yoki ¬ (f1 U f2) ∈ M} ∈ F

$ Delta $ ta'rifidagi uchta shart1 har qanday ishlashini ta'minlash A vaqtinchalik operatorlarning semantikasini buzmaydi.Bunga e'tibor bering F holatlar to'plami to'plami F operator xususiyatini olish uchun aniqlangan U buni ketma-ket ikkita holatni taqqoslash orqali tekshirish mumkin emas, ya'ni f bo'lsa1 U f2 ba'zi bir holatlarda haqiqat, keyin f2 keyinchalik ma'lum bir holatga to'g'ri keladi.

Yuqoridagi qurilishning to'g'riligini isbotlash

Ω-so'zga yo'l qo'ying w= a1, a2, ... 2-alifbo orqaliAP. Ruxsat bering wmen = amen, ai + 1, ... .M qilaylikw = {f '∈ cl(f) | w f '}, biz uni chaqiramiz qoniqarli ning ta'rifi tufayli CS(f), Mw ∈ CS(f). Biz $ r $ ketma-ketligini aniqlashimiz mumkinw = init, Mw1, Mw2, .... Ta'rifi tufayli A, agar w f keyin rw qabul qilinishi kerak A ustida w.

Aksincha, taxmin qilaylik A qabul qiladi w.R = init qilaylik, M1, M2, ... yugurish A ustida w.Quyidagi teorema qolgan to'g'riligini isbotlaydi.

Teorema 1: Hamma i> 0 uchun Mwmen = M.men.

Isbot: Buning isboti f '∈ tuzilishga induksiya orqali cl(f).

  • Asosiy holatlar:
    • f '= to'g'ri. Ta'riflar bo'yicha f '∈ Mwmen va f '∈ Mmen.
    • f '= p. Ta'rifi bo'yicha A, p ∈ Mmen iff p ∈ amen iff p ∈ Mwmen.
  • Induksion qadamlar:
    • f '= f1 F2. Doimiy to'plamlar ta'rifi tufayli f1 F2 ∈ Mmen iff f1 ∈ Mmen va f2 ∈ Mmen. Induksiya gipotezasi tufayli f1 ∈ Mwmen va f2 ∈ Mwmen. Qoniqarli to'plamning ta'rifi tufayli f1 F2 ∈ Mwmen.
    • f '= ¬f1, f '= f1 F2, f '= X f1 yoki f '= f1 R f2. Dalillar oxirgisiga juda o'xshash.
    • f '= f1 U f2. Tenglikni isbotlash ikkita dalilga bo'linadi.
      • Agar f1 U f2 ∈ Mmen, keyin f1 U f2 ∈ Mwmen. Ning o'tishlari ta'rifi bo'yicha A, quyidagi ikkita holatga ega bo'lishimiz mumkin.
        • f2 ∈ Mmen. Induktsiya gipotezasi bo'yicha, f2 ∈ Mwmen. Shunday qilib, f1 U f2 ∈ Mwmen.
        • f1 ∈ Mmen va f1 U f2 ∈ Mi + 1. Va qabul qilish sharti tufayli A, kamida bitta indeks j ≥ i bor, shunday qilib f2 ∈ Mj. J 'bu indekslarning eng kichigi bo'lsin. Natijani k = {j ', j'-1, ..., i + 1, i} ga induksiya bilan isbotlaymiz. Agar k = j 'bo'lsa, u holda f2 ∈ Mk, biz f holatidagi kabi dalillarni qo'llaymiz2 ∈ Mmen. Agar i ≤ k 2 ∉ Mkva shunga o'xshash f1 ∈ Mk va f1 U f2 ∈ Mk + 1. F 'induksiya gipotezasi tufayli biz $ f $ ga egamiz1 ∈ Mwk. Indekslar bo'yicha induksiya gipotezasi tufayli bizda ham f mavjud1 U f2 ∈ Mwk + 1. LTL semantikasining ta'rifi tufayli f1 U f2 ∈ Mwk.
      • Agar f1 U f2 ∈ Mwmen, keyin f1 U f2 ∈ Mmen. LTL semantikasi tufayli biz quyidagi ikkita holatga ega bo'lishimiz mumkin.
        • f2 ∈ Mwmen. Induktsiya gipotezasi bo'yicha, f2 ∈ Mmen. Shunday qilib, f1 U f2 ∈ Mmen.
        • f1 ∈ Mwmen va f1 U f2 ∈ Mwi + 1. LTL semantikasi tufayli kamida bitta indeks j that i bor, f2 ∈ Mj. J 'bu indekslarning eng kichigi bo'lsin. Keling, suhbatning isboti kabi davom eting.

Yuqoridagi teorema tufayli Mw1 = M.1. Ning o'tishlari ta'rifi tufayli A, f ∈ M1. Shuning uchun f ∈ Mw1 va w f.

Gerth va boshq. algoritm

Quyidagi algoritm Gerth, Peled, Vardi va Wolper.[3] Shimpf, Merz va Smaus tomonidan tasdiqlangan qurilish mexanizmi ham mavjud.[5] Oldingi qurilish eksponent ravishda juda ko'p holatlarni yaratadi va bu holatlarning ko'pi bilan bog'lanish mumkin emas, quyidagi algoritm ushbu qurilishdan qochadi va ikkita bosqichdan iborat bo'lib, birinchi bosqichda u bosqichma-bosqich yo'naltirilgan grafikni tuzadi. Ikkinchi bosqichda u a ni yaratadi umumlashtirilgan Büchi avtomati deb nomlangan (LGBA) grafika tugunlarini holat va yo'naltirilgan qirralarning o'tish joyi sifatida belgilash orqali ushbu algoritm erishish imkoniyatini hisobga oladi va kichikroq avtomat ishlab chiqarishi mumkin, ammo eng yomon murakkabligi bir xil bo'lib qoladi.

Grafik tugunlari formulalar to'plamlari bilan etiketlanadi va mantiqiy tuzilishiga ko'ra formulalarni dekompozitsiya qilish va vaqtinchalik operatorlarni kengaytirish orqali haqiqatni to'g'ri bo'lgan narsani darhol keyingi holatdan boshlab ajratish uchun olinadi. . Masalan, LTL formulasi f deb faraz qilaylik1 U f2 tugun yorlig'ida ko'rinadi.f1 U f2 f ga teng2 ∨ (f.)1X(f.)1 U f2Ekvivalent kengayish shuni ko'rsatadiki, f1 U f2 quyidagi ikki shartdan birida to'g'ri keladi.

  1. f1 joriy vaqtda ushlab turadi va (f.)1 U f2) keyingi bosqichda ushlab turadi yoki
  2. f2 joriy vaqt qadamida ushlab turadi

Ikkala holat avtomatning ikkita holatini (tugunlarini) yaratish orqali kodlanishi mumkin va avtomat determinatsiz ravishda ularning biriga o'tishi mumkin, birinchi holda biz keyingi safar qadamda isbotlash yukining bir qismini yukladik. shuningdek, yorlig'ida keyingi safar uchun majburiyatni bajaradigan boshqa holat (tugun) yarating.

Biz vaqtinchalik operatorni ham ko'rib chiqishimiz kerak R bunday holat bo'linishiga olib kelishi mumkin .f1 R f2 ga teng (f.)1 F2∨ (f.)2X(f.)1 R f2)) va bu ekvivalent kengayish f ni taklif qiladi1 R f2 quyidagi ikki shartdan birida to'g'ri keladi.

  1. f2 joriy vaqtda ushlab turadi va (f.)1 R f2) keyingi bosqichda ushlab turadi yoki
  2. (f.)1 F2) joriy vaqt qadamida ushlab turiladi.

Quyidagi algoritmda ko'p holatlarning oldini olish uchun, funktsiyalarni aniqlaymiz 1, keyingi1 va curr2 yuqoridagi ekvivalentlarni quyidagi jadvalda kodlovchi.

fcurr1 (f)keyingi1 (f)curr2 (f)
f1 U f2{f1}{f1 U f2 }{f2}
f1 R f2{f2}{f1 R f2 }{f1, f2}
f1 F2{f2}{f1}

Bundan tashqari, biz yuqoridagi jadvalga disjunksiya holatini qo'shdik, chunki u ham avtomatning bo'linishiga olib keladi.

Quyida algoritmning ikki bosqichi keltirilgan.

Qadam 1. create_graph

Keyingi maydonda biz yo'naltirilgan grafikni tuzadigan algoritmning birinchi qismini taqdim etamiz. create_graph ga kirish formulasini kutadigan kirish funktsiyasi inkor normal shakl. Bu rekursiv funktsiyani chaqiradi kengaytirish global o'zgaruvchilarni to'ldirish orqali grafikani yaratadi Tugunlar, Kiruvchi, Endiva Keyingisi.To'plam Tugunlar tugunlar to'plamini grafikada saqlaydi. Xarita Kiruvchi ning har bir tugunini xaritada aks ettiradi Tugunlar ning pastki qismiga Tugunlar ∪ {init}, bu kiruvchi qirralarning to'plamini belgilaydi. Kiruvchi tugunning tarkibida dastlabki holatlar to'plamini hal qilish uchun oxirgi avtomat konstruktsiyasida ishlatiladigan maxsus belgi init ham bo'lishi mumkin.Endi va Keyingisi ning har bir tugunini xaritada ko'rsating Tugunlar LTL formulalar to'plamiga, q tugun uchun, Endi(q) avtomat hozirda q tugun (holat) holatida bo'lsa, kiritilgan so'zning qolgan qismi tomonidan qondirilishi kerak bo'lgan formulalar to'plamini bildiradi.Keyingisi(q) avtomat hozirda q dan keyin keyingi tugunda (holatida) bo'lsa, kiritilgan so'zning qolgan qismi tomonidan qondirilishi kerak bo'lgan formulalar to'plamini bildiradi.

typefeflar     LTL: LTL formulalari LTLSet: LTL formulalari to'plamlari NodeSet: Grafik tugunlari to'plamlari in {init} global         Tugunlar : grafik tugunlari to'plami: = ∅ Kiruvchi: TugunlarNodeSet := ∅         Endi    : TugunlarLTLSet := ∅         Keyingisi   : TugunlarLTLSet := ∅        funktsiya create_graph(LTL f) {kengaytirish ({f}, ∅, ∅, {init}) qaytish (Tugunlar, Endi, Kiruvchi)      }
 funktsiya kengaytirish (LTLSet luqma, LTLSet eski, LTLSet Keyingisi, NodeSet kiruvchi) {1: agar curr = ∅ keyin 2:    agar ∈q ∈ Tugunlar: Keyingisi(q) = keyingi ∧ Endi(q) = eski keyin 3:       Kiruvchi(q): = Kiruvchi(q) ∪ kiruvchi 4: boshqa 5: q: = yangi_tugma() 6:       Tugunlar := Tugunlar Q {q} 7: Kiruvchi(q): = kiruvchi 8: Endi(q): = eski 9: Keyingisi(q): = next10: kengaytirish (Keyingisi(q), ∅, ∅, {q}) 11: boshqa12: f-curr13: curr: = curr  {f} 14: old: = eski ∪ {f} 15: o'yin f bilan16:     | to'g'ri, yolg'on, p yoki ¬p, bu erda p ∈ AP  →17:       agar f = yolg'onneg(f) ∈ eski keyin18:          o'tish19:       boshqa20: kengaytirish (oldingi, eski, keyingi, kiruvchi) 21: | f1 F2 → 22: kengaytirmoq (curr r ({f.)1, f2}  old), eski, keyingi, kiruvchi) 23: | X g → 24: kengaytirish (oldingi, eski, keyingi ∪ {g}, kiruvchi) 25: | f1 F2, f1 U f2yoki f1 R f2 → 26: kengaytirmoq (curr ∪ (1(f)  old), eski, keyingi ∪ keyingi1(f), kiruvchi) 27: kengaytirmoq (oqim ∪ (curr2(f)  old), eski, keyingi, kiruvchi) 28: qaytish }

Kodi kengaytirish oson murojaat qilish uchun satr raqamlari bilan etiketlanadi kengaytirish Grafikda tugun va uning izdoshlari tugunlarini qo'shishga qaratilgan.Qo'ng'iroq parametrlari potentsial yangi tugunni tavsiflaydi.

  • Birinchi parametr tok hali kengaytirilmagan formulalar to'plamini o'z ichiga oladi.
  • Ikkinchi parametr eski allaqachon kengaytirilgan formulalar to'plamini o'z ichiga oladi.
  • Uchinchi parametr Keyingisi bu voris tuguni yaratiladigan formulalar to'plamidir.
  • To'rtinchi parametr kiruvchi tugun grafaga qo'shilganda kiruvchi qirralarning to'plamini belgilaydi.

1-qatorda agar holatini tekshiradi tok kengaytiriladigan har qanday formulani o'z ichiga oladi tok bo'sh bo'lsa, keyin 2-qatorda agar holat bir xil kengaytirilgan formulalar to'plami bilan q 'holati mavjudligini tekshiradi, agar shunday bo'lsa, biz ortiqcha tugunni qo'shmaymiz, lekin biz parametr qo'shamiz kiruvchi yilda Kiruvchi(q ') 3. satrda Aks holda, biz 5-9 chiziqlaridagi parametrlardan foydalangan holda yangi q tugun qo'shamiz va q yordamida voris tugunini kengaytira boshlaymiz. Keyingisi(q) 10-qatorda uning kengaytirilmagan formulalar to'plami sifatida.

Bunday holda tok bo'sh emas, keyin bizda 1 dan 12 gacha bo'lgan satrlarni kengaytirish va boshqarish uchun ko'proq formulalar mavjud, 12-14 qatorlarda, f formuladan tok tanlangan va ko'chirilgan eski.F tuzilishiga qarab, qolgan funktsiya bajariladi.

  • Agar $ f $ so'zma-so'z bo'lsa, u holda kengayish 20-qatorda davom etadi, ammo agar eski allaqachon o'z ichiga oladi neg(f) yoki f =yolg'on, keyin eski mos kelmaydigan formulani o'z ichiga oladi va biz 18-qatorda hech qanday rekursiv bo'lmagan holda ushbu tugunni bekor qilamiz.
  • Agar f = f bo'lsa1 F2, keyin f1 va f2 ga qo'shiladi tok va 22-qatorda keyingi kengayish uchun rekursiv chaqiruv amalga oshiriladi.
  • Agar f = X f1, keyin f1 ga qo'shiladi Keyingisi 24-qatorda ko'rib chiqilayotgan joriy tugunning vorisi uchun.
  • Agar f = f bo'lsa1 F2, f = f1 U f2yoki f = f1 R f2 keyin joriy tugun ikkita tugunga bo'linadi va har bir tugun uchun rekursiv chaqiruv amalga oshiriladi.

Rekursiv qo'ng'iroqlar uchun, tok va Keyingisi funktsiyalar yordamida o'zgartiriladi 1, keyingi1va curr2 yuqoridagi jadvalda aniqlangan.

Qadam 2. LGBA qurilishi

Ruxsat bering (Tugunlar, Endi, Kiruvchi) = create_graph (f) .Agar LGBA ning f ga tengligi A=(Tugunlar, 2AP, L, Δ, Q0, F), qaerda

  • L = {(q, a) | q ∈ Tugunlar va (Endi(q) ∩ AP) ⊆ a ⊆ {p ∈ AP | ¬p ∉ Endi(q)}}
  • B = {(q, q ') | q, q '∈ tugunlar va q ∈ kiruvchi (q')}
  • Q0 = {q ∈ tugunlar | init ∈ Kiruvchi(q)}
  • Har bir pastki formula uchun g = g1 U g2, F ga ruxsat beringg = {q ∈ tugunlar | g2Endi(q) yoki g Endi(q)}, keyin F = {Fg | g ∈ cl(f)}

Algoritmik tuzilishdagi tugun yorliqlarida f ning pastki formulalari inkor etilmasligini unutmang. Deklarativ tuzilishda tugun haqiqiy bo'lishi kutilgan formulalar to'plamiga ega. Algoritmik konstruktsiya tugun yorlig'ida mavjud bo'lish uchun barcha haqiqiy formulalarni talab qilmasdan to'g'riligini ta'minlaydi.

Asboblar

  • SPOT LTL2TGBA - LOTL2TGBA tarjimoni SPOT ob'ektiv yo'naltirilgan modellarni tekshirish kutubxonasiga kiritilgan. Onlayn tarjimon mavjud.
  • LTL2BA - o'zgaruvchan avtomatlar orqali tezkor LTL-dan BA-ga tarjimon. Onlayn tarjimon mavjud.
  • LTL3BA - LTL2BA-ni zamonaviy takomillashtirish.

Adabiyotlar

  1. ^ M.Y. Vardi va P. Vulper, Cheksiz hisoblashlar haqida mulohaza yuritish, Axborot va hisoblash, 115 (1994), 1-37.
  2. ^ Y. Kesten, Z. Manna, H. McGuire, A. Pnueli, To'liq propozitsion vaqtinchalik mantiq uchun qaror algoritmi, CAV'93, Elounda, Gretsiya, LNCS 697, Springer-Verlag, 97-109.
  3. ^ a b R. Gert, D. Peled, M.Y. Vardi va P. Vulper, "Chiziqli vaqtinchalik mantiqning oddiy avtomatik tekshiruvi", Proc. IFIP / WG6.1 simptomi. Protokolning spetsifikatsiyasi, sinovlari va tekshiruvi (PSTV95), 3-18 betlar, Varshava, Polsha, Chapman va Xoll, 1995 yil iyun.
  4. ^ P. Gastin va D. Oddoux, Tez LTL-dan Büchi avtomat tarjimasi, Kompyuter yordamida tekshirish bo'yicha o'n uchinchi konferentsiya (CAV -01), LNCS-da 2102 raqami, Springer-Verlag (2001), 53-65-betlar.
  5. ^ A. Shimpf, S. Merz va J-G. Smaus, "Isabelle / HOL-da tasdiqlangan LTL modelini tekshirish uchun Buchi avtomatika qurilishi", Proc. Yuqori darajadagi mantiqiylikni isbotlovchi teorema bo'yicha xalqaro konferentsiya (TPHOLs 2009), 424-439 betlar, Myunxen, Germaniya, Springer, 2009 yil avgust.