Georgiana Caltais - Damien Pous - Alexandra Silva

Slides:



Advertisements
Similar presentations
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Advertisements

CMPS 3223 Theory of Computation
Lecture 24 MAS 714 Hartmut Klauck
Pushdown Automata Section 2.2 CSC 4170 Theory of Computation.
Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter
DFA Minimization Jeremy Mange CS 6800 Summer 2009.
Timed Automata.
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Marcello Bonsangue, Stefan Milius, Alexandra Silva Coalgebras and Generalized Regular.
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata Prof. Amos Israeli.
Introduction to Computability Theory
EECS 20 Lecture 13 (February 14, 2001) Tom Henzinger Minimization.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata (cont.) Prof. Amos Israeli.
Finite Automata Finite-state machine with no output. FA consists of States, Transitions between states FA is a 5-tuple Example! A string x is recognized.
EECS 20 Lecture 16 (February 26, 2001) Tom Henzinger Determinization.
NFA- to NFA conversion. Purpose This presentation presents an example execution of the algorithm which takes as input an NFA with -transitions and produces.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
15-820A 1 LTL to Büchi Automata Flavio Lerda A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.
A summary of our activities about WSI Philippe Giabbanelli CMPT 894 – Spring 2008.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Plan Lecture 3: 1. Fraisse Limits and Their Automaticity: a. Random Graphs. a. Random Graphs. b. Universal Partial Order. b. Universal Partial Order. 2.
Coalgebraic Symbolic Semantics Filippo Bonchi Ugo Montanari.
Basics of automata theory
THEORY OF COMPUTATION 08 KLEENE’S THEOREM.
Model Checking Lecture 3 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions.
Minimization of Symbolic Automata Presented By: Loris D’Antoni Joint work with: Margus Veanes 01/24/14, POPL14.
Theory of Computation, Feodor F. Dragan, Kent State University 1 Regular expressions: definition An algebraic equivalent to finite automata. We can build.
Mathematical Operational Semantics and Finitary System Behaviour Stefan Milius, Marcello Bonsangue, Robert Myers, Jurriaan Rot.
Lexical Analysis Constructing a Scanner from Regular Expressions.
CHAPTER 1 Regular Languages
Complexity and Computability Theory I Lecture #8 Instructor: Rina Zviel-Girshin Lea Epstein.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
An Introduction to Rabin Automata Presented By: Tamar Aizikowitz Spring 2007 Automata Seminar.
The decidability of Presburger Arithmetic By Guillermo Guillen 04/13/05 Dr. Smith COT 6421 FIU Spring 2005.
On the origins of Bisimulation & Coinduction
When Simulation Meets Antichains Yu-Fang Chen Academia Sinica, Taiwan Joint work with Parosh Aziz Abdulla, Lukas Holik, Richard Mayr, and Tomas Vojunar.
Algorithms for hard problems Automata and tree automata Juris Viksna, 2015.
Finite Automata Great Theoretical Ideas In Computer Science Victor Adamchik Danny Sleator CS Spring 2010 Lecture 20Mar 30, 2010Carnegie Mellon.
1 Language Recognition (11.4) Longin Jan Latecki Temple University Based on slides by Costas Busch from the courseCostas Busch
Complexity and Computability Theory I Lecture #5 Rina Zviel-Girshin Leah Epstein Winter
1 Finite Automata. 2 Introductory Example An automaton that accepts all legal Pascal identifiers: Letter Digit Letter or Digit "yes" "no" 2.
Lexical analysis Finite Automata
Finite Automata a b A simplest computational model
Two issues in lexical analysis
Chapter 2 FINITE AUTOMATA.
Language Recognition (12.4)
REGULAR LANGUAGES AND REGULAR GRAMMARS
Hierarchy of languages
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
High-Level Abstraction of Concurrent Finite Automata
Non-Deterministic Finite Automata
Principles of Computing – UFCFA3-30-1
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Minimal DFA Among the many DFAs accepting the same regular language L, there is exactly one (up to renaming of states) which has the smallest possible.
Non Deterministic Automata
4b Lexical analysis Finite Automata
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Chapter 1 Regular Language - 02
Formal Methods in software development
4b Lexical analysis Finite Automata
Language Recognition (12.4)
Instructor: Aaron Roth
Formal Methods in software development
Chapter 1 Regular Language
Coalgebra, Automata, and Document Synchronization
Presentation transcript:

Georgiana Caltais - Damien Pous - Alexandra Silva Three algorithms for must semantics Filippo Bonchi (ENS Lyon - CNRS) joint work with Georgiana Caltais - Damien Pous - Alexandra Silva (Un)invited speaker (Un)prepared speaker

Checking Language Equivalence of Deterministic Automata

Deterministic Automaton Coinduction Deterministic Automaton (S,i,t,o) S set of states i:1-->S initial state t:S-->SA transition function o:S-->2 final states Bisimulation RÍSxS If xRy then o(x)=o(y) for all a ÎA, t(x)(a) R t(y)(a) cc Coinduction Proof Principle: two states are language equivalent iff there exists a bisimulation relating them

Partition Refinement Algorithm (for Deterministic Automata - Hopcroft '71) Top-Down Compute the greatest bisimulation P0 = { {x | o(x)=0}, {y | o(y)=1} } Pn+1 = F(Pn) when Pn = Pn+1 return Pn

Hopcroft and Karp's Algorithm (for Deterministic Automata - '71) Bottom-Up Construct the smallest bisimulation R containing the initial states Skip the pairs that already belong to R

Partition Refinement Algorithm (for Deterministic Automata - Hopcroft '71) Top-Down Compute the greatest bisimulation P0 = { {x | o(x)=0}, {y | o(y)=1} } Pn+1 = F(Pn) when Pn = Pn+1 return Pn

Brzozowski's Algorithm (for Deterministic Automata - '62) Filippo Bonchi, Marcello M. Bonsangue, Jan J. M. M. Rutten, Alexandra Silva: Brzozowski's Algorithm (Co)Algebraically. Logic and Program Semantics 2012

Checking Bisimilarity of Labeled Transition Systems

Labeled Transition Systems Coinduction Labeled Transition Systems (S,i,t) S set of states i:1-->S initial state t:S-->P(S)A transition function Bisimulation If xRy then for all aÎA, " x' Ît(x)(a), $ y'Ît(y)(a) s.t. x' R y' " y'Ît(y)(a), $ x'Ît(x)(a) s.t. x' R y' Coinduction Proof Principle: two states are bisimilar iff there exists a bisimulation relating them

Partition Refinement Algorithm (for LTSs – Kannelakis and Smolka '83) Top-Down Compute the greatest bisimulation P0 = { {x | xÎX} } Pn+1 = F(Pn) when Pn = Pn+1 return Pn

Hopcroft and Karp's Algorithm (for LTSs – Fernandez and Mounier '92) Bottom-Up Construct the smallest bisimulation R containing the initial states a c less efficient: one needs some sort of backtracking... ...but it can be executed on the fly

Brzozowski's Algorithm It is NOT possible for Labeled Transition Systems

The Linear Time – Branching Time Spectrum The problem of checking one of these semantics is usually reduced to checking bisimilarity... ...then bisimilarity is checked via the partition refinement algorithm We propose instead of exploiting the algorithm for trace semantics!

Checking Language Equivalence of Non Deterministic Automata

Determinization Non Deterministic Automaton (S,i,t,o) S set of states i:1-->P(S) set of initial states t:S-->P(S)A transition function o:S-->2 final states Determinized Automaton (P(S),i,t#,o#) P(S) set of states i:1-->P(S) initial state t#: P(S)-->P(S)A o#: P(S)-->2 final states

Determinization + Partition Refinement The determinized automaton may be exponential

Brzozowski's Algorithm (for Non Deterministic Automata - '62) Bruce Watson: Taxonomies and Toolkits of Regular Language Algorithms - Ph.D Thesis '95 Deian Tabakov, Moshe Y. Vardi: Experimental Evaluation of Classical Automata Constructions. LPAR 2005: 396-411

Antichains Algorithms Exploit the “on the fly” nature of Hopcroft and Karp's algorithm They build just a small portion of the determinized automaton Martin De Wulf, Laurent Doyen, Thomas A. Henzinger, Jean-François Raskin: Antichains: A New Algorithm for Checking Universality of Finite Automata. CAV 2006 Parosh Aziz Abdulla, Yu-Fang Chen, Lukás Holík, Richard Mayr, Tomás Vojnar: When Simulation Meets Antichains. TACAS 2010 Filippo Bonchi, Damien Pous: Checking NFA equivalence with bisimulations up to congruence. POPL 2013

Coinduction Non Deterministic Automaton (S,i,t,o) S set of states i:1-->P(S) initial states t:S-->P(S)A transition function o:S-->2 final states Bisimulation RÍP(S)xP(S) If X R Y then o#(X)=o#(Y) for all a, t#(X)(a) R t#(Y)(a) Coinduction Proof Principle: two sets of states are language equivalent iff there exists a bisimulation relating them

Hopcroft and Karp's Algorithm (for Non Deterministic Automata) Bottom-Up Construct the smallest bisimulation R containing the initial states Skip the pairs that already belong to R

Bisimulation up to Congruence RÍP(S)xP(S) If X R Y then o#(X)=o#(Y) for all a, t#(X)(a) c(R) t#(Y)(a) The congruence closure c(R) Theorem: any bisimulation up to congruence is contained in a bisimulation

Hopcroft and Karp up to Congruence (Bonchi and Pous, 2013) Bottom-Up Construct a bisimulation up to congruence R containing the initial states Skip the pairs that already belong to c(R)

Checking Must Semantics of Labeled Transition Systems Failure c

Failure Semantics iff they have the same failures pairs Let (S,i,t) be a LTS and x,y,zÎS, ZÍA,wÎA* I(x)={aÎA | t(x)(a)¹0} Fail(x)={ZÍA | ZÇI(x)=0} (w,Z) is a failure pair of x iff x-w->z and ZÎFail(z) iff they have the same failures pairs { {c} {a} {a,c} } { {b} {a} {a,b} } { {a} }

Decoration & Determinization iff

Coinduction Proof Principle Bisimulation RÍP(S)xP(S) If X R Y then o#(X)=o#(Y) for all a, t#(X)(a) R t#(Y)(a) Coinduction Proof Principle two sets of states are failure equivalent iff there exists a bisimulation relating them

Bisimulation up to Congruence RÍP(S)xP(S) If X R Y then o#(X)=o#(Y) for all a, t#(X)(a) c(R) t#(Y)(a) Theorem: any bisimulation up to congruence is contained in a bisimulation

Hopcroft and Karp up to Congruence (for Failure Equivalence) Bottom-Up Construct a bisimulation up to congruence R containing the initial states Skip the pairs that already belong to c(R) Like for NDA: one needs to modify only the output function o#

Determinization + Partition Refinement (for Must semantics) (Cleveland and Hennessy '89) like for NDA: one needs to modify the output function o# the initial partition P0

Brzozowski's Algorithm (for Failure Semantics) one needs to change reverse and determinize

Reverse and Determinize (for Failure Semantics)

Brzozowski's Algorithm (for Failure Semantics)

Exponential speed-up of HKC After the determinization, we have exponentially many states Since all of them have different behaviour, then the minimal realization is exponentially large So both partition refinement and Brzozowski are very inefficient

Exponential speed-up of HKC The smallest bisimulation has exponential size But HKC builds a linear bisimulation up to congruence

Exponential case After the determinization, we have exponentially many states Also HKC produce a bisimulation of the same size On the opposite, Brzozowski is very efficient

Experimental Evaluation (on a multiway synchronization protocol – Parrow '96)

Conclusions Two novel algorithms to check must equivalence and preorder Algorithms adapted from language equivalence rather than bisimilarity Technology transfert by mean of coalgebras Since the problem is PSPACE, worst-case complexity is not really interesting Empirical evaluation is difficult: no randomized model, few meaningful examples An interactive applet is available at