Automa a stati finiti quantistico

Da testwiki.
Versione del 20 mar 2025 alle 22:00 di imported>Giuseppe Pierpaoli (growthexperiments-addlink-summary-summary:3|0|0)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

Un automa a stati finiti quantistico (QFA) è, in informatica quantistica e in informatica teorica, una generalizzazione degli automi a stati finiti che accettano una parola in base al risultato di una misura.

Gli automi a stati finiti quantistici sono simili agli automi probabilistici, ma la classe dei linguaggi riconosciuta dagli automi quantistici è strettamente contenuta nella classe dei linguaggi riconosciuti dagli automi probabilistici. Gli automi a stati finiti quantistici possono anche essere visti come una versione quantistica di subshift di tipo finito o come una variante quantistica delle catene di Markov. Gli automi quantistici finiti sono, a loro volta, dei casi particolari dei cosiddetti automi finiti geometrici o degli automi finiti topologici.

Un automa quantistico finito opera su parole finite w=a1a2am, le cui lettere ai appartengono a un dato alfabeto Σ. A ogni parola w viene assegnata una probabilità; a seconda di questa probabilità, la parola viene accettata o rifiutata dall'automa. I linguaggi accettati dagli automi quantistici finiti non coincidono con i linguaggi regolari accettati dagli automi finiti, né con i linguaggi stocastici accettati dagli automi a stati finiti probabilistici.

Lo studio degli automi finiti quantistici si divide in due aree principali che dipendono dalle transizioni autorizzate alla macchina di Turing corrispondente: gli one-way quantum finite automata (1QFA)[1] per i quali ad ogni passo la testina di lettura si muove di una casella a destra e i two-way quantum finite automata (2QFA)[2], per i quale la testina si può muovere sia a destra che a sinistra o rimanere ferma.

Esistono diversi tipi di automi a stati finiti quantistici; il più restrittivo è quello detto Template:Lang e definito da Moore e Crutchfield nel 2000[3]; un altro è quello degli automi Template:Lang, definiti da Kondacs e Watrous nel 1997[2]. Nei measure-once, viene effettuata un'unica misura per ogni stringa d'ingresso dopo aver letto l'ultimo simbolo della parola, mentre per il measure-many, la misura viene effettuata dopo la lettura di ogni simbolo che compone l'input. Il Template:Lang è considerato il più vicino (anche per costruzione) alla teoria classica degli automi finiti. Altre definizioni più generali sono state proposte[4]. Uno degli obiettivi dello studio degli automi a stati finiti quantistici è lo studio dei linguaggi formali che accettano; un altro è quello di studiare i problemi di decidibilità per queste classi di automi e linguaggi.

Automa a stati finiti quantistico Measure-Once

Delle due definizioni più comuni di automa quantistico finito, quella di automi measure once (o MO-1QFA) data da Moore e Crutchfield è la più semplice e la più vicina agli automi probabilistici.

Definizione

Sia n un numero intero positivo. Un automa quantistico nel senso di Moore e Crutchfield, chiamato in inglese measure once one-way quantum finite automata (MO-1QFA), su un alfabeto Σ è definito[3] da:

  • un insieme finito di stati Q={q1,,qn}. Ad ogni stato qi è associato un elemento |qi di uno spazio di Hilbert Hn di dimensione n, generalmente n, affinché {|q1,,|qn} formi una base ortonormale di Hn. Si presume generalmente che qi è il i-esimo vettore unitario,
  • una matrice unitaria Ua di ordine n per ogni lettera a di Σ. Questa matrice è la rappresentazione di un operatore unitario nella base scelta.
  • un vettore s di ordine n con norma s=1 è lo stato quantistico iniziale.
  • una matrice di proiezione ortogonale P di ordine n, corrispondente ad un proiettore ortogonale. Questa può essere talvolta sostituita da un insieme finito di stati terminali e la proiezione opera su di essi.

Le matrici e i vettori hanno coefficienti complessi.

Uno stato (quantistico) è un vettore |q che si decompone sulla base Q ed è scritto, nella notazione bra-ket o nella abituale notazione di Dirac in meccanica quantistica, come una combinazione lineare con coefficienti complessi:

|q=α1|q1+α2|q2αn|qn ,

con la condizione aggiuntiva:

|α1|2++|αn|2=1 .

Questa notazione indica che |q è la sovrapposizione degli stati |qi, il numero αi è l'ampiezza dello stato |qi. Ogni stato quantistico definisce quindi una "nube" di stati di Q: si trova simultaneamente in ciascuno degli stati, con l'ampiezza corrispondente. In particolare, lo stato quantistico iniziale s è anche una combinazione lineare di stati |qi di norma 1.

Per una parola w=a1a2am, il vettore

UanUan1Ua1s

è lo stato quantistico raggiunto dopo aver letto la parola w; poiché è rappresentato come un vettore colonna, le matrici si applicano nella direzione opposta. In studi più vicini alla teoria degli automi, si incontra la notazione duale, nella quale i vettori di stato sono vettori riga e la scrittura del prodotto delle matrici corrisponde quindi alla sequenza delle lettere lette.

La probabilità di osservare uno stato |q è il numero P|q, dove P è la matrice di proiezione data nella definizione precedente. Una variante della definizione consiste nel dare un insieme F di stati terminali. La probabilità di osservazione di |q=α1|q1+α2|q2αn|qn diventa qF|αq|2.

Se si scrive P=qF|qq|, si vede che P è una proiezione sugli stati terminali[5], per cui

P|q=qFαq|q

Ne viene che la probabilità di osservazione si scrive

qF|αq|2=P|q2

La probabilità di accettazione di una parola w=a1a2an è per definizione il numero Pr(w)=PUanUan1Ua1s2.

La probabilità di accettazione è quindi la probabilità di osservazione dello stato quantistico ottenuto dopo aver letto la parola w. L'operazione che consiste nella valutazione di questo numero è una misura.

Il linguaggio L accettato o riconosciuto con la probabilità p è l'insieme delle parole w tali che Pr(w)>p oppure Pr(w)p (a seconda di quanto rigida si richiede che sia la soglia di accettazione).

Notazione alternativa

Al posto della notazione matriciale, si incontrano anche funzioni di transizione δ:Q×A×Q che suonano più familiari nella teoria degli automi. Una matrice Ua è considerata come un'applicazione dell'insieme degli stati verso sé stesso, con (Ua)k,j=δ(k,a,j) e i coefficienti del vettore tUa definiti come:

(tUa)j=qQtkδ(k,a,j) .

Infine, si possono usare numeri reali piuttosto che numeri complessi. Le matrici unitarie sono allora delle matrici ortogonali.

Funzione calcolata da un automa quantistico

Sia un automa quantistico 𝒜, si indica con f𝒜 la funzione definita da f𝒜(w)=Pr(w).

Questa funzione associa a ogni parola, la sua probabilità di accettazione. Moore e Crutchfield dimostrano una serie di proprietà di queste funzioni[6]. Innanzitutto, la serie formale in variabili non commutative è una serie formale razionale:

wΣ*f𝒜(w)

Le seguenti proprietà di chiusura sussistono: siano f e g funzioni calcolate da automi a stati finiti quantistici.

  • (convessità): αf+βg è calcolabile da un automa a stati finiti quantistico se |α|2+|β|2=1 .
  • (intersezione): fg è calcolata da un automa a stati finiti quantistico.
  • (complemento): 1f è calcolata da un automa a stati finiti quantistico.
  • (morfismo inverso): Se h:Δ*Σ* è un morfismo, allora fh è calcolabile da un automa a stati finiti quantistico.

Pumping Lemma

Esiste anche una sorta di pumping lemma per queste funzioni[7]; per ogni w e ogni ϵ, esiste un k tale che per ogni u e v, abbiamo f𝒜(uwkv)f𝒜)(uv)|<ϵ.

Problemi di decidibilità

Numerosi risultati riguardano la decidibilità per un automa a stati finiti quantistico 𝒜, con la notazione f𝒜(w)=Pr(w) e per un valore di soglia λ dato. I seguenti problemi sono indecidibili:

  • Esiste una parola w tale che f𝒜(w)λ
  • Esiste una parola w tale che f𝒜λ
  • Esiste una parola w tale che f𝒜(w)=λ

Sono invece risolvibili i seguenti problemi:

  • Esiste una parola w tale che f𝒜(w)>λ ,
  • Esiste una parola w tale che f𝒜(w)<λ .

D'altra parte, tutti questi problemi sono indecidibili per gli automi probabilistici.

Linguaggi cut point

Il linguaggio riconosciuto da un automa quantistico con "soglia" λ è dato da uno degli insiemi seguenti (a seconda se si include il valore della soglia o meno):

L={wf𝒜(w)λ},|L>={wf𝒜(w)>λ} ,

dove f𝒜(w) è la probabilità di accettazione di w con l'automa 𝒜. Il numero λ è chiamato "cut-point".

I problemi di decidere se i linguaggi L e L> sono vuoti, sono entrambi indecidibili per gli automi probabilistici[8]. D'altra parte, per gli automi quantistici nella definizione di Moore e Crutchfield, il primo problema è indecidibile mentre il secondo è decidibile.

Un cut-point λ si dice "isolato" se esiste un numero ε tale che

|f𝒜(w)λ|ϵ

per ogni parola w; equivale a dire che esiste un intervallo non vuoto intorno a λ che non contiene la probabilità di accettare alcuna parola. Se un cut-point è isolato, i linguaggi L e L> sono regolari: sono linguaggi a gruppo, ossia dei linguaggi regolari i cui monoidi sintattici sono gruppi finiti[9].

Esempio

Automa a due stati.
Tabella di transizione
1 0
S 1 S 1 S 2
S 2 S 2 S 1

Consideriamo l'automa finito deterministico a due stati in figura. Uno stato quantistico è un vettore scritto in notazione bra-ket:

|q=|α1|S1+α2|S2=(a1a2)

dove i numeri complessi α1,α2 sono normalizzati in modo che |α1|2+|α2|2=1. Le matrici di transizione unitarie possono essere semplicemente scritte nel seguente modo:

U0=(0110) e U1=(1001) .

Se scegliamo S1 come stato finale, come mostrato nel diagramma, la matrice di proiezione è:

P=(1000)

Se lo stato iniziale è |S1 oppure |S2, il comportamento dell'automa è esattamente quello della macchina a stati abituale. In particolare, le parole che vengono accettate lo sono con probabilità uno e il linguaggio accettato è dato dall'espressione regolare (1+01*0)* per |S1 e dall'espressione (1+01*0)*01* per |S2. Se d'altra parte α1 e α2 sono entrambi diversi da zero, il comportamento è più complicato, e se le matrici U0 e U1 non sono scritte in modo così semplice, i risultati possono ancora essere diversi.

Automa a stati finiti quantistico measure-many

Il modello di un automa quantistico nel senso di Kondacs e Watrous, chiamato automa measure-many o MM, differisce dal modello precedente MO nel senso in cui la misura viene eseguita in ogni fase del calcolo piuttosto che unicamente alla fine della computazione[2]. Secondo la meccanica quantistica, una misura è distruttiva nel senso in cui influenza il valore dell'osservabile misurato; questo principio trova la sua espressione nel formalismo proposto.

Vengono considerati tre tipi di stati che formano una partizione dell'insieme degli stati:

  • gli stati di accettazione Qa
  • gli stati di rifiuto, Qr
  • gli stati di continuazione, Qc, detti anche stati "neutrali".

Lo spazio di Hilbert Hn è scomposto in tre sottospazi ortogonali[10] che corrispondono ai tre tipi di stati Qa,Qr,Qc:

Hn=HaHrHc

Per ciascuno dei tre insiemi di stati distinti, esiste una matrice di proiezione associata, indicata con P(a),P(r) e P(c) che proietta sul corrispondente sottospazio. Essa è definita da

P(a)=qQa|qq|

e in modo simile per gli altri due insiemi.

Dopo ogni lettura di una lettera della parola in ingresso, l'automa:

  • misura l'ampiezza sugli stati di accettazione,
  • misura l'ampiezza sugli stati di rifiuto,
  • prosegue mantenendo solo le ampiezze degli stati di continuazione.

La misura consiste nel verificare se la proiezione è in un sottospazio appropriato. Dopo la lettura della parola, vi è una probabilità di accettazione e una probabilità di rifiuto[11].

Più precisamente, sia |q lo stato attuale dell'automa. Dopo la lettura di una lettera a, lo stato dell'automa è

|t=Ua|q

Utilizzando gli operatori di proiezione, che indicano in quale dei tre sottospazi Ha, Hr o Hc è l'immagine del vettore. La probabilità per lo spazio degli stati accettanti (e analogamente per gli altri) è data da

Pra(t)=Pa|t2

Per una parola a1a2am, l'automa agisce come segue: partendo dal vettore iniziale s, i vettori sUa1, sUa1Ua2 sono misurati fintanto che il risultato rimane nello spazio di continuazione. Se è nello spazio dell'accettazione, il computo si ferma e la parola è accettata. Se è nello spazio del rifiuto, la parola è respinta. Si presume che la parola sia delimitata da un identificatore di fine stringa, il che implica che l'automa non può rimanere in uno stato neutrale e deve terminare accettando o rifiutando la parola. L'automa può accettare o rifiutare una parola anche senza averla letta nella sua interezza.

Formalmente, l'automa definisce una funzione sulle parole in input che è la probabilità di accettazione di queste ultime:

Pr(a1a2am)=k=1ms(i=1k1U(ai)P(c))U(ak)P(a)2

Gli stessi problemi posti per il modello MO sono tutti indecidibili per il modello MM.

I linguaggi riconosciuti dagli automi MM con un cut-point isolato sono regolari, ma questi automi non sono abbastanza potenti da riconoscere tutti i linguaggi regolari. Ad esempio, il linguaggio {a,b}*a non può essere riconosciuto da un automa MM con cut-point isolato.

I linguaggi riconosciuti dagli automi MM non sono chiusi per unione, intersezione o altre normali operazioni booleane.

Note

Bibliografia

Voci correlate

Template:Linguaggi formali e grammatiche

Template:Portale