M´ethodes Formelles Approche Probabiliste
Arnaud Sangnier IRIF - Universit´e de Paris
Cours 3
M´ethodes Formelles Approche Probabiliste
Arnaud Sangnier IRIF - Universit´e de Paris
Cours 3
Les propri´et´es r´eguli`eres
Probl`eme :
• Comment d´ecrire de fac¸on concise et manipulable des propri´et´es temporelles lin´eaires qui sont en pratique des sous-ensembles de(2PA)!?
Solution :
• On va utiliser la th´eorie des automates
• Un automate permet en effet de d´ecrire de fac¸on fini un ensemble (possiblement infini) de mots
• Dans un deuxi`eme temps, on verra aussi des formalismes logiques
Les automates finis
D´efinition
Un automate fini non-d´eterministe (AFN) est un n-uplet A = (Q,⌃, ,Q0,F)o`u :
• Qest un ensemble fini d’´etats
• ⌃est l’alphabet
• :Q⇥⌃7!2Q est la fonction de transitions
• Q0✓Qest l’ensemble des ´etats initiaux
• F ✓Qest l’ensemble des ´etats finaux
• Notation :On noteraq!a q0 si, et seulement si,q02 (q,a)
Exemple
a
→
b
T
E-
lab ) i, 86%
.ae/=Lqo3Q--/9o.q..q3/8l9orbt-/9o.9n )
Q
. -.8fqn.at 84.11--192
Lao)
.:/ act
F--
La )
I)
.at seq .es
Cab
)-
-
¢
Langage
• SoitA= (Q,⌃, ,Q0,F)un AFN.
• Soitw 2⌃⇤tel quew=a0. . .an
• Une ex´ecution acceptante pourwdansAest une s´equence finie d’´etatsq0q1. . .qnqn+1telle queq02Q0etqn2F etqi a!i qi+1 pour touti2{0, . . . ,n}
• On note alorsL(A) ={w2⌃⇤|
il existe une ex´ecution acceptante pourw dansA}
• L(A)est le langage deA
• Remarquons queL(A)✓⌃⇤
t I
- A recommit LCA)
Exemple I
A
→
④ ÷
If
Al -.I
w. w . .. w nHab It
I n72 et
wn . . =b)
Exemple II
Not fi
in surE
--La
.b)
tds que ada
que fois ga' onvoi
t
an ala lettie
swimante est anb
→ a
④
Quelques points sur les AFN
Tester le vide du langage
• Un enjeu est de savoir si un AFNAa un langage non vide (c’est-`a-direL(A)6=;)
• Pour cela, il suffit de chercher un chemin partant d’un ´etat dans Q0vers un ´etat dansF.
• On peut faire cela facilement avec un algorithme en profondeur d’abord d’exploration de graphe
Remarque
• Les langages reconnus par des AFN sont dits r´eguliers, ils sont clos par union, intersection et compl´ement
Intersection de langages r´eguliers
• SoientA1= (Q1,⌃, 1,Q0,1,F1)etA2= (Q2,⌃, 2,Q0,2,F2)deux AFNs
• On peut construite un AFNAtel queL(A) =L(A1)\L(A2)
• Produit synchronis´e d’automates :
On consid`ere l’automateA1⌦A2= (Q,⌃, ,Q0,F)avec :
• Q=Q1⇥Q2
• Q0=Q0,1⇥Q0,2
• F =F1⇥F2
• (q1,q2)!a (q10,q20)si, et seulement si,q1 a
!q01etq2 a
!q20
• On aL(A1⌦A2) =L(A1)\L(A2)
Exemple II
ABBYA =→§÷.a§a A
:-.?i
A ④ A Da
→g
a
aKCA @ Atif
Propri´et´es de s ˆuret´e r´eguli`eres
Rappel :une propri´et´e temporelle lin´eairePsafe surPAest une propri´et´e de sˆuret´e si pour toute s´equence 2(2PA)!\P, il existe un pr´efixe finiˆ de tel que :
Psafe\{ 02(2PA)!|ˆest pr´efixe de 0}=;
• Un tel pr´efixeˆest appel´e mauvais pr´efixe.
• Une propri´et´e de sˆuret´e est dite r´eguli`ere si l’ensemble de ses mauvais pr´efixes est langage r´egulier (c’est-`a-dire reconnu par un AFN)
• FormellementMauvaisPref(Psafe) ={ˆ2(2PA)⇤|Psafe\{ 2 (2PA)!|ˆpr´efixe de }=;}
• Une propri´et´e r´eguli`ere de sˆuret´ePsafe et donc donn´ee par un AFNAMP tel queL(AMP) =MauvaisPref(Psafe)
Exemple I
• Un feu avec trois couleurs;PA={V,O,R}
• Por ={A0A1A2. . .2(2PA)!|R2Ai implique(i >0 etO2 Ai 1)}est une propri´et´e de sˆuret´e
• L(AMP)correspond aux mots finis sur 2PAo`u `a un moment on a Rnon pr´ec´ed´e parO.
of.ws
.HN
.INas .IO
.RS.A
- IR.vl.LO.R.rs%E%q§
, -④ teen
.Yo :Yn Aap
Exemple II
• Un distributeur de boisson qui rec¸oit des pi`eces et distribue des boissons;PA={P,B}
• Propri´et´ePPB : Le nombre de fois o`u l’on a vu une boisson (B) et toujours au moins ´egal au nombre de fois o`u l’on a vu une pi`ece (P)
• C’est une propri´et´e de sˆuret´e
• On aMauvaisPref(PPB) ={ 0... n2(2PA)⇤|9k 2{0, . . . ,n}.|{i | 0ik etP2 i}|<|{i |0i k etB2 i}|}
• Il n’existe pas d’AFNAtel queL(A) =MauvaisPref(PPB)
• PPB n’est pas une propri´et´e de sˆuret´e r´eguli`ere.
Comment v´erifier que ST | = P
safe?
• SoitPsafe une propri´et´e de sˆuret´e r´eguli`ere etAMPl’automate reconnaissant ses mauvais pr´efixes.
• ST |=Psafe si, et seulement si, il n’existe pasˆ2L(AMP)et 2(2PA)!tel queˆ 2Trace(ST).
• On va chercher l’existence d’un tel pr´efixeˆ.
• SiST = (S,!,sin,PA,L)etAMP = (Q,⌃, ,Q0,F), on d´efinit la structureST⌦AMP = (S0,!,I)telle que :
• S0=S⇥Q
• !0✓S0⇥S0v´erifie(s,q)!0(t,p)ssis!tetq L(t)!p
• I={(sin,q)|9q02Q0.q0 L(s0)
!q}
• On regarde si il y a un chemin dansST⌦AMPdepuis un sommet deIvers un sommet(s,qf)avecqf 2F.
• Si il n’y a pas de tel chemin on aST |=Psafesinon on a ST 6|=Psafe
I
oiidh)
Exemple
ST →
④
so
..
"
' ¥:it : ::: mm
....
.A np ST