Automa a stati finiti probabilistico

Un automa a stati finiti probabilistico è, in matematica e informatica teorica, una generalizzazione degli automi finiti non deterministici dove ogni ad transizione dell'automa è associata una probabilità. Le transizioni sono rappresentate in modo compatto da matrici stocastiche. I linguaggi riconosciuti dagli automi probabilistici sono chiamati linguaggi stocastici; comprendono ed estendono la famiglia dei linguaggi regolari. In particolare, il numero dei linguaggi stocastici non è numerabile; mentre quello dei linguaggi regolari lo è.

Il concetto di automa probabilistico è stato introdotto da Michael O. Rabin nel 1963[1][2][3]. Un'estensione di questa definizione porta agli automi quantistici.

Definizione

Un automa probabilistico è fatto da un automa finito non deterministico, dove a ogni transizione è associata una probabilità, ossia un numero reale compreso tra 0 e 1.

Come per un normale automa a stati finiti (non deterministico), un automa probabilistico su un alfabeto Σ {\displaystyle \Sigma } è una sestupla A = Σ , Q , δ , s 0 , T . π {\displaystyle {\mathcal {A}}=\left\langle \Sigma ,Q,\delta ,s_{0},T.\pi \right\rangle } [4] con:

  • Σ = { a 0 , a 1 , , a n } {\displaystyle \Sigma =\{a_{0},a_{1},\ldots ,a_{n}\}} insieme finito di simboli chiamato alfabeto
  • Q = { s 0 , s 1 , , s m } {\displaystyle Q=\{s_{0},s_{1},\ldots ,s_{m}\}} insieme finito di stati
  • δ : Q × Σ Q {\displaystyle \delta :Q\times \Sigma \to Q} funzione di transizione fra stati
  • s 0 Q {\displaystyle s_{0}\in Q} stato iniziale
  • T Q {\displaystyle T\subseteq Q} insieme di stati terminali o finali
  • π : Q × Σ [ 0 , 1 ] m + 1 {\displaystyle \pi :Q\times \Sigma \to [0,1]^{m+1}} probabilità di transizione

Il vettore π ( s , a ) {\displaystyle \pi (s,a)} , detto "probabilità della transizione", è associato a ogni transizione ( p , a ) {\displaystyle (p,a)} definita da δ {\displaystyle \delta } , con s Q  e  a Σ {\displaystyle s\in Q{\text{ e }}a\in \Sigma } . π ( s , a ) {\displaystyle \pi (s,a)} assume valori reali positivi fra 0 e 1 tali che il suo i+1-esimo elemento p i ( s , a ) {\displaystyle p_{i}(s,a)} corrisponde alla probabilità di avere δ ( s , a ) = s i {\displaystyle \delta (s,a)=s_{i}} , ossia di andare a finire in s i {\displaystyle s_{i}} dopo aver letto a {\displaystyle a} in s {\displaystyle s} .

La somma delle probabilità è uguale a 1. Ponendo p i ( s , a ) = 0 {\displaystyle p_{i}(s,a)=0} se ( s , a ) {\displaystyle (s,a)} non ha una transizione in s i {\displaystyle s_{i}} , questa condizione si esprime, per ogni stato s {\displaystyle s} e ogni lettera a {\displaystyle a} :

i p i ( s , a ) = 1 {\displaystyle \sum _{i}p_{i}(s,a)=1}

Si definiscono delle matrici stocastiche P ( a ) {\displaystyle P(a)} per ogni lettera a Σ {\displaystyle a\in \Sigma } , tali che

P ( a ) s , i = p i ( s , a ) {\displaystyle P(a)_{s,i}=p_{i}(s,a)}

La funzione π {\displaystyle \pi } si estende alle parole[4]. Sia w {\displaystyle w} una parola e sia s j w s i {\displaystyle s_{j}\xrightarrow {w} s_{i}} un cammino da s j {\displaystyle s_{j}} a s i {\displaystyle s_{i}} con l'etichetta w {\displaystyle w} . La probabilità di questo cammino è il prodotto delle probabilità delle transizioni che lo compongono. La probabilità p i ( s j , w ) {\displaystyle p_{i}(s_{j},w)} è definita come la somma delle probabilità dei cammini s j w s i {\displaystyle s_{j}\xrightarrow {w} s_{i}} da s j {\displaystyle s_{j}} a s i {\displaystyle s_{i}} con l'etichetta w {\displaystyle w} . Questa definizione si esprime matricialmente con la matrice Q × Q {\displaystyle Q\times Q} , prodotto delle matrici P ( a 1 ) , P ( a 2 ) , , P ( a n ) {\displaystyle P(a_{1}),P(a_{2}),\ldots ,P(a_{n})} :

P ( w ) = P ( a 1 ) P ( a 2 ) P ( a n ) {\displaystyle P(w)=P(a_{1})P(a_{2})\cdots P(a_{n})}

con w = a 1 a 2 a n {\displaystyle w=a_{1}a_{2}\cdots a_{n}} . Quindi si ha P ( w ) s j , s i = p i ( s j , w ) {\displaystyle P(w)_{s_{j},s_{i}}=p_{i}(s_{j},w)} .

La "probabilità di accettazione" di una parola w {\displaystyle w} da parte dell'automa probabilistico A {\displaystyle {\mathcal {A}}} è la somma sugli stati terminali t i T {\displaystyle t_{i}\in T} delle probabilità π ( s 0 , w ) {\displaystyle \pi (s_{0},w)} , dove s 0 {\displaystyle s_{0}} è lo stato iniziale. Questa probabilità si scrive anche π A ( w ) {\displaystyle \pi _{\mathcal {A}}(w)} . Anche questo valore si può esprimere in forma matriciale:

π A ( w ) = λ P ( w ) γ {\displaystyle \pi _{\mathcal {A}}(w)=\lambda P(w)\gamma }

dove λ {\displaystyle \lambda } è il Q {\displaystyle Q} -vettore linea i cui valori sono tutti zero tranne quello di indice i {\displaystyle i} , che vale 1, e dove γ {\displaystyle \gamma } è il Q {\displaystyle Q} -vettore colonna con i valori tutti zero eccetto quelli il cui indice è in T {\displaystyle T} , che valgono 1.

Esempio

Un automa probabilistico. Lo stato 1 è iniziale, lo stato 4 è terminale. Le probabilità sono segnate accanto alle etichette (la loro assenza significa probabilità 1).

Prendiamo l'esempio a destra di un automa a quattro stati, le matrici P ( a ) {\displaystyle P(a)} e P ( b ) {\displaystyle P(b)} e vettori λ {\displaystyle \lambda } e γ {\displaystyle \gamma } sono dati da:

λ = ( 1 , 0 , 0 , 0 ) P ( a ) = ( 0 3 4 1 4 0 0 1 0 0 1 2 1 2 0 0 0 0 0 1 ) P ( b ) = ( 1 0 0 0 0 0 1 2 1 2 0 0 0 1 0 0 0 1 ) γ = ( 0 0 1 0 ) {\displaystyle \lambda =(1,0,0,0)\qquad P(a)={\begin{pmatrix}0&{\tfrac {3}{4}}&{\tfrac {1}{4}}&0\\0&1&0&0\\{\tfrac {1}{2}}&{\tfrac {1}{2}}&0&0\\0&0&0&1\end{pmatrix}}\qquad P(b)={\begin{pmatrix}1&0&0&0\\0&0&{\tfrac {1}{2}}&{\tfrac {1}{2}}\\0&0&0&1\\0&0&0&1\end{pmatrix}}\qquad \gamma ={\begin{pmatrix}0\\0\\1\\0\end{pmatrix}}}

Ad esempio, abbiamo λ P ( a ) P ( b ) = ( 0 , 0 , 3 8 , 5 8 ) {\displaystyle \lambda P(a)P(b)=(0,0,{\tfrac {3}{8}},{\tfrac {5}{8}})} , con la probabilità di accettare a b {\displaystyle ab} che è pertanto λ P ( a ) P ( b ) γ = 3 / 8 {\displaystyle \lambda P(a)P(b)\gamma =3/8} .

Linguaggio stocastico

Soglia di accettazione

Sia η {\displaystyle \eta } un numero reale tale che 0 η < 1 {\displaystyle 0\leq \eta <1} . Il linguaggio accettato dall'automa probabilistico A {\displaystyle {\mathcal {A}}} con soglia η {\displaystyle \eta } è l'insieme delle parole la cui probabilità di accettazione è maggiore di η {\displaystyle \eta } . Questo linguaggio stocastico è L ( A , η ) {\displaystyle L({\mathcal {A}},\eta )} , definito da

L ( A , η ) = { w A λ P ( w ) γ > η } {\displaystyle L({\mathcal {A}},\eta )=\{w\in A^{*}\mid \lambda P(w)\gamma >\eta \}}

Il numero η {\displaystyle \eta } è chiamato "soglia" o cut point.

Un cut point è detto "isolato" se esiste un numero reale δ > 0 {\displaystyle \delta >0} tale che, per ogni parola w {\displaystyle w} , si ha

| π A ( w ) η | δ {\displaystyle \left|\pi _{\mathcal {A}}(w)-\eta \right|\geq \delta }

Proprietà

Tutti i linguaggi regolari sono stocastici e alcune restrizioni dei linguaggi stocastici sono regolari:

  • Ogni linguaggio stocastico la cui soglia è 0 è razionale.
  • Ogni linguaggio stocastico isolato è razionale.

Di contro, non vi è l'uguaglianza, come mostra l'esempio seguente.

Esempio di un linguaggio stocastico che non è regolare

Sia l'automa A {\displaystyle {\mathcal {A}}} a due stati sull'alfabeto binario dato dalle matrici:

λ = ( 1 , 0 ) P ( 0 ) = ( 1 0 1 2 1 2 ) P ( 1 ) = ( 1 2 1 2 0 1 ) γ = ( 0 1 ) {\displaystyle \lambda =(1,0)\qquad P(0)={\begin{pmatrix}1&0\\{\tfrac {1}{2}}&{\tfrac {1}{2}}\end{pmatrix}}\qquad P(1)={\begin{pmatrix}{\tfrac {1}{2}}&{\tfrac {1}{2}}\\0&1\end{pmatrix}}\qquad \gamma ={\begin{pmatrix}0\\1\end{pmatrix}}}

Per una parola binaria w = b 1 b 2 b n {\displaystyle w=b_{1}b_{2}\cdots b_{n}} , il coefficiente P ( w ) 1 , 2 {\displaystyle P(w)_{1,2}} della matrice P ( w ) {\displaystyle P(w)} è uguale a

P ( w ) 1 , 2 = j = 1 n b j 2 n + 1 j {\displaystyle P(w)_{1,2}=\sum _{j=1}^{n}b_{j}2^{n+1-j}}  ;

Questo è il numero razionale che si può scrivere in notazione binaria 0 , b n b n 1 b 1 {\displaystyle 0,b_{n}b_{n-1}\cdots b_{1}} . Per un valore di η {\displaystyle \eta } , il linguaggio L ( A , η ) {\displaystyle L({\mathcal {A}},\eta )} accettato da questo automa è quindi l'insieme di parole che rappresentano un numero binario maggiore di η {\displaystyle \eta } . È chiaro che se η < η {\displaystyle \eta <\eta '} , allora L ( A , η ) L ( A , η ) {\displaystyle L({\mathcal {A}},\eta )\subset L({\mathcal {A}},\eta ')} e questa inclusione è rigorosa. Di conseguenza, esiste un numero non numerabile di linguaggi della forma L ( A , η ) {\displaystyle L({\mathcal {A}},\eta )} per questo automa; poiché il numero di linguaggi regolari è numerabile, ciò implica l'esistenza di linguaggi stocastici che non sono regolari.

Problemi di decidibilità

La maggior parte dei problemi sono indecidibili[5]. Questi problemi possono essere formulati anche mediante quella che viene chiamata "immagine" di un automa a stati finiti probabilistico, definito come l'insieme Ω ( A ) = { π A ( w ) w A } {\displaystyle \Omega ({\mathcal {A}})=\{\pi _{\mathcal {A}}(w)\mid w\in A^{*}\}} .

  • Il problema di sapere se il linguaggio L ( A , η ) {\displaystyle L({\mathcal {A}},\eta )} accettato è vuoto o no, è indecidibile per 0 < η < 1 {\displaystyle 0<\eta <1} . Equivale al problema di sapere se Ω ( A ) {\displaystyle \Omega ({\mathcal {A}})} contiene un valore maggiore di η {\displaystyle \eta } .
  • Il problema di sapere se un numero η {\displaystyle \eta } è una cut point isolato per un automa A {\displaystyle {\mathcal {A}}} , è indecidibile. Equivale al problema di sapere se c'è un intervallo aperto centrato intorno η {\displaystyle \eta } disgiunto da Ω ( A ) {\displaystyle \Omega ({\mathcal {A}})} .
  • Sapere se esiste un numero η {\displaystyle \eta } che è un cut point isolato per A {\displaystyle {\mathcal {A}}} , è indecidibile. Equivale a sapere se Ω ( A ) {\displaystyle \Omega ({\mathcal {A}})} è denso nell'intervallo [ 0 , 1 ] {\displaystyle [0,1]} .

Note

  1. ^ Rabin.
  2. ^ Paz.
  3. ^ Arto Salomaa, II, in Theory of Automata, Pergamon Press, 1969.
  4. ^ a b Rabin, p. 234.
  5. ^ Vincent Blondel, Vincent Canterini, Undecidable Problems for Probabilistic Automata of Fixed Dimension, in Theory of Computing Systems, vol. 36, 2008.

Bibliografia

  • Michael O. Rabin, Probabilistic Automata, in Information and Control, vol. 6, 1963, pp. 230-245. URL consultato il 4 settembre 2021.
  • Azaria Paz, Introduction to probabilistic automata, collana Computer science and applied mathematics, Academic Press, 1971.

Voci correlate

  Portale Informatica
  Portale Matematica