Automa a stati finiti probabilistico

Da testwiki.
Vai alla navigazione Vai alla ricerca

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 Σ è una sestupla 𝒜=Σ,Q,δ,s0,T.π[4] con:

  • Σ={a0,a1,,an} insieme finito di simboli chiamato alfabeto
  • Q={s0,s1,,sm} insieme finito di stati
  • δ:Q×ΣQ funzione di transizione fra stati
  • s0Q stato iniziale
  • TQ insieme di stati terminali o finali
  • π:Q×Σ[0,1]m+1 probabilità di transizione

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

La somma delle probabilità è uguale a 1. Ponendo pi(s,a)=0 se (s,a) non ha una transizione in si, questa condizione si esprime, per ogni stato s e ogni lettera a:

ipi(s,a)=1

Si definiscono delle matrici stocastiche P(a) per ogni lettera aΣ, tali che

P(a)s,i=pi(s,a)

La funzione π si estende alle parole[4]. Sia w una parola e sia sjwsi un cammino da sj a si con l'etichetta w. La probabilità di questo cammino è il prodotto delle probabilità delle transizioni che lo compongono. La probabilità pi(sj,w) è definita come la somma delle probabilità dei cammini sjwsi da sj a si con l'etichetta w. Questa definizione si esprime matricialmente con la matrice Q×Q, prodotto delle matrici P(a1),P(a2),,P(an):

P(w)=P(a1)P(a2)P(an)

con w=a1a2an. Quindi si ha P(w)sj,si=pi(sj,w).

La "probabilità di accettazione" di una parola w da parte dell'automa probabilistico 𝒜 è la somma sugli stati terminali tiT delle probabilità π(s0,w), dove s0 è lo stato iniziale. Questa probabilità si scrive anche π𝒜(w). Anche questo valore si può esprimere in forma matriciale:

π𝒜(w)=λP(w)γ

dove λ è il Q-vettore linea i cui valori sono tutti zero tranne quello di indice i, che vale 1, e dove γ è il Q-vettore colonna con i valori tutti zero eccetto quelli il cui indice è in 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) e P(b) e vettori λ e γ sono dati da:

λ=(1,0,0,0)P(a)=(03414001001212000001)P(b)=(100000121200010001)γ=(0010)

Ad esempio, abbiamo λP(a)P(b)=(0,0,38,58), con la probabilità di accettare ab che è pertanto λP(a)P(b)γ=3/8 .

Linguaggio stocastico

Soglia di accettazione

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

L(𝒜,η)={wA*λP(w)γ>η}

Il numero η è chiamato "soglia" o cut point.

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

|π𝒜(w)η|δ

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 due stati sull'alfabeto binario dato dalle matrici:

λ=(1,0)P(0)=(101212)P(1)=(121201)γ=(01)

Per una parola binaria w=b1b2bn, il coefficiente P(w)1,2 della matrice P(w) è uguale a

P(w)1,2=j=1nbj2n+1j ;

Questo è il numero razionale che si può scrivere in notazione binaria 0,bnbn1b1. Per un valore di η, il linguaggio L(𝒜,η) accettato da questo automa è quindi l'insieme di parole che rappresentano un numero binario maggiore di η. È chiaro che se η<η, allora L(𝒜,η)L(𝒜,η) e questa inclusione è rigorosa. Di conseguenza, esiste un numero non numerabile di linguaggi della forma L(𝒜,η) 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Ω(𝒜)={π𝒜(w)wA*}.

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

Note

Bibliografia

Voci correlate

Template:Portale