Converting ltl to buchi
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Converting LTL to Buchi PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on
  • Presentation posted in: General

Converting LTL to Buchi. Wishnu Prasetya [email protected] www.cs.uu.nl/docs/vakken/pv. Converting LTL to Buchi. Given an LTL formula , construct a Buchi automaton M that accepts the same sentences as .

Download Presentation

Converting LTL to Buchi

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Converting ltl to buchi

Converting LTL to Buchi

Wishnu Prasetya

[email protected]

www.cs.uu.nl/docs/vakken/pv


Converting ltl to buchi1

Converting LTL to Buchi

  • Given an LTL formula , construct a Buchi automaton M that accepts the same sentences as .

    • Recall: “sentence” is a sequence of ‘something’, each is a set of propositions. Sentence = (abstract) execution.

  • Steps:

    • Construct GNBA

    • Convert to NBA

    • Optimize


Converting ltl to buchi

Idea..

{q}

{p}

{q}

B = {  p , q , Xq }

B = {  p , q , Xq }

B = { p , q , Xq }

To help us, each state s will be labeled with an “observation” B. It is a consistent set of formulas. Any infinite sequence starting from s must satisfy all formulas in B.

The set of candidate “observations” for a given  is finite; and we can figure out how to connect them with arrows.


Restricting to x u

Restricting to X/U

  • All LTL formulas can be expressed with just X and U.

  • Let’s assume that your input formula is expressed in this form of LTL.

<> = true U 

[]  =  ( <>  )

W = []  \/ U


Closure

Closure

  • closure() is the set of all

    • subformulas of  (incl  itself)

    • negations of subformulas

  • Example:  = pUq

  • Only the value of the formulas in the closure can affect the value of .

closure() = { p, q, p, q, pUq , (pUq) }


Observation

Observation

  • Example:  = pUq

  • An ‘observation’ B is in principle a subset of the closure, but we want it to be ‘consistent’ and ‘maximal’.

    • { p, q, pUq }  OK

    • { p, p }  inconsistent

    • { p }  not maximal

  • We’ll only take consistent observations.

closure() = { p, q, p, q, pUq , (pUq) }


Consistency of the b s

Consistency of the B’s

  • An observation B must be consistent with respect to propositional logic:

    • f and f cannot be both in B

    • f /\ g  B  f,g  B

  • Locally consistent with respect to “until”. For any fUg  closure( ) :

    • gB  fUg  B

    • fUg  B and gB  f  B


Maximality

Maximality

  • Every observation B should be maximal

  • Ex.

For everyf  closure(), eitherfBor fB.

closure() = { p, q, p, q,

pUq , (pUq) }

 = pUq

{ p , q , (p U q) }

{ p , q , p U q }

{ p , q , (p U q) }

{ p , q , p U q }

8 maximal subsets, 3 are inconsistent.

{p , q , (p U q)}

{p , q , p U q }

{p , q , (p U q) }

{p , q , p U q }


Constructing the automaton a

Constructing the automaton A

  • States: observations from closures()

  • Initial states: all states that contain 

  • Arrows: for any pairs observations B,C add this arrow:B  V  C

    • If this arrow is ‘consistent’

    • V = the set of propositions in B.

  • Acceptance states?


The arrows

The arrows

  • B  V  C is consistent if :

  • Example:

(note the bi-implication!)

  • XfB  fC

  • fU g  B  gB or fB and fUg  C

{ p , q , p U q }

{ p , q , (p U q) }

{ p , q , p U q }

{p , q , p U q }

{p , q , (p U q) }


The arrows1

The arrows

  • B  V  C is consistent if :

  • The bi-implications thus also imply:

  • XfB  fC

  • fU g  B  gB or fB and fUg  C

  •  XfB  fC

  •  (fU g )  B  gB and ( fB or  (fUg )  C )


Converting ltl to buchi

{ p , q , p U q }

{p , q , (p U q) }

{ p , q , p U q }

{ p , q , (p U q) }

{p , q , p U q }


Enforcing eventuality

Enforcing eventuality

  • For each fUg closure(), add an accepting group:where Q is the set of states of GNBA of  that we are constructing.(btw = the set of all ‘observations’)

F(fUg) = { B | B Q /\ g B }  { B | B Q /\ fUgB }


Converting ltl to buchi

{ p , q , p U q }

{p , q , (p U q) }

{ p , q , p U q }

{ p , q , (p U q) }

{p , q , p U q }


From gnba to nba

From GNBA to NBA

GNBA with 2x accepting groups.

single accentance group of the new automaton

dashed-red arrows are dropped


Can we make it deterministic

Can we make it deterministic?

  • In ordinary automaton, DFA can be converted to an equivalent NDFA (equivalent = generating the same sentences).

  • For Buchi?

  • NBA is really more powerful than DBA.

a

b

b

b

No deterministic Buchi can generate the sentences of this Buchi


How big are they

How big are they?

  • NGBA generated by our procedure  |M| = 2||.

  • Converting to GBA multiplies the number of states with C+1, where C is the number of U in 

  • There are LTL formulas of polynomial size, whose NBA will have at least exponential number of states.


  • Login