Autòmat per subprocessos

De testwiki
Salta a la navegació Salta a la cerca

En teoria d'autòmats, un autòmat per subprocessos és un tipus estès d'una màquina d'estats finita que reconeix un llenguatge lleugerament sensible al context.[1]

Definició formal

Un autòmat per subprocessos és:

  • un conjunt N d'estats
  • un conjunt Σde símbols terminals
  • un estat inicial ASN
  • un estat final AFN
  • un conjunt de camins U
  • una funció parcial σ:NUon U=U{} perU
  • un conjunt finit de transicions Θ

Un camí u1...unU és una cadena de components de camí uiU, on n pot ser 0, i el camí buit es denomina ϵ. Un subprocés te la forma u1...un:A on u1...unUés un camí i AN és un estat. Un magatzem d'estats S és un conjunt finit de camins, que es pot veure com una funció parcial de U* cap a Ntal que dom(S)és tancat pel prefix.

Una configuració per un autòmat per subprocessos és una tripleta l,p,S on l denota la posició actual de la cadena d'entrada, p és el subprocés actiu i S és el magatzem de subprocessos que conte p. La configuració inicial és 0,ϵ,{ϵ:AS}. La configuració final és n,u,{ϵ:AS,u:AF}on n és la longitud de la cadena d'entrada i u abrevia σ(AS). Una transició del conjunt Θpot ser de les formes següents i canvia la configuració de la següent manera:

  • SWAP BaC: consumeix el símbol d'entrada a i canvia l'estat del subprocés actiu de l,p,S{p:B}a l+1,p,S{p:C}
  • SWAP BϵC: similar que l'anterior però no consumeix el símbol d'entrada a i canvia l'estat del subprocés actiu de l,p,S{p:B}a l,p,S{p:C}
  • PUSH C: crea un nou subprocés i suspèn el seu subprocés pare, canvia l'estat: l,p,S{p:B} a l,p,S{p:B,pu:C}on u=σ(B) i pudom(S)
  • POP [B]C: finalitza el procés actiu retornant el control al seu subprocés pare, canvia l'estat l,pu,S{p:B,pu:C} a l,p,S{p:C}on σ(C)= i pudom(S)
  • SPUSH [C] D: reactiva un subprocés suspès del subprocés actiu, canvia l'estat l,p,S{p:B,pu:C}a l,pu,S{p:B,pu:D} on u=σ(B)
  • SPOP [B] D: reactiva el procés pare del subprocés actiu, canvia l'estat l,pu,S{p:B,pu:C} a l,p,S{p:D,pu:C} on σ(C)=

Es pot provar que σ(B)=u per les transicions POP i SPOP i σ(C)=per les transicions PUSH.

Una cadena d'entrada s'accepta per l'autòmat si hi ha una seqüència que canvia la configuració de l'estat inicial fins a l'estat final.

Referències

Plantilla:Referències

Plantilla:Autoritat Plantilla:Llenguatges formals i gramàtiques