Meccanica Statistica del Problema R

Transcript

Meccanica Statistica del Problema R
Meccanica Statistica del Problema R-3sat e Modello di Rete dei Geni
Terminali per il Problema R-vc.
L. Cimmino ([email protected])
La meccanica statistica può essere utilizzata per risolvere i problemi di ottimizzazione che
sono oggetto di studio in teoria della complessità computazionale. I problemi di
ottimizzazione riguardano la possibilità di trovare una soluzione il cui “costo” è minimo tra
tutte le possibili. Un problema di decisione è invece una domanda, quindi una istanza di un
problema, alla quale bisogna rispondere con una affermazione o con una negazione; questo
secondo genere di problemi sono derivati dai primi introducendo una parametrizzazione e
chiedendo se sia possibile una soluzione che non è più grande di una certo valore del
parametro.
Il tempo che occorre per dare una risposta ad una istanza di un problema rappresenta la
variabile essenziale per questa teoria. La difficoltà intrinseca in ogni problema di decisione
riguarda la possibilità di fornire un algoritmo “efficiente” o, quanto meno, di stabilire in un
tempo appropriato se il problema ammette soluzione, ed in quali casi. Da questo punto di vista
la classe NP offre una ampia varietà di problemi per i quali non è stato ancora possibile
trovare un algoritmo che fornisca un risposta in un tempo “breve”. In particolare, il problema
della K-soddisfacibilità (Ksat) fa da capostipite in questa classe e ad esso sono riconducibili
altri due problemi: i problemi della 3-soddisfacibilità (3sat) e del vertex cover (vc).
Il presente lavoro, essendo rivolto sia ai fisici, sia ai cibernetici, ripete i concetti
fondamentali della meccanica statistica e della teoria della complessità. Esso ha l’intento di
fornire una sintesi dello studio del problema R-3sat, che è una variante del 3sat, dal punto di
vista della meccanica statistica e di applicare il modello ottenuto per studiare anche il
problema del Random Vertex Cover (R-vc) di un grafo.
Problemi NP-completi. Si considerino n variabili booleane, si vuole stabilire se una
data assegnazione di valori di verità verifica la congiunzione logica di m vincoli; in
pratica, si sta formulando un problema ben determinato, comunemente detto problema
della K-soddisfacibilità (Ksat). Ogni vincolo è una clausola costituita dalle disgiunzioni
logiche di K variabili o di loro negazioni, cioè letterali. Per definizione m clausole sono
soddisfatte se e solo se esiste almeno una valutazione booleana rispetto alla quale tutte
sono vere. Una valutazione booleana è un’applicazione che associa ad ogni vincolo uno
ed un solo valore dell’insieme {t, f}.
In generale, dato un problema, siamo interessati a trovare la procedura più efficiente
per risolverlo. L’efficienza è, nel nostro caso, da intendersi come rapidità nel trovare la
soluzione e la procedura a cui facciamo riferimento è nella pratica un algoritmo, cioè una
macchina di Turing1 dedicata al calcolo della funzione che riguarda il problema. Per
valutare l’efficienza dell’algoritmo introduciamo la sua funzione di complessità temporale
( tcf ), che esprime il massimo ammontare di tempo richiesto dall’algoritmo per fornire
una risposta al problema, per ogni sua possibile istanza.
Usualmente, quando si afferma che una funzione f (n) è O( g(n)), si intende che esiste
una costante tale che | f (n) | ≤ cost ⋅ | g(n) |, ∀ n ≥ 0. Se la g(n) è un polinomio, allora si ha
che la funzione f (n) ha un algoritmo che la risolve in tempo polinomiale; per qualunque
altra espressione della g(n) si ha, invece, che la complessità temporale della f (n) è
esponenziale. Quando non è possibile trovare per il dato problema un algoritmo che lo
risolva in tempo polinomiale, si dice che il problema è intrattabile. Alla classe NP
appartengono tutti i problemi ai quali è possibile rispondere in tempo polinomiale, ma
utilizzando una macchina di Turing non deterministica.
La classe dei problemi “NP-completi” è composta dal problema Ksat, da un gruppo di
sei problemi di base e da altri problemi appartenenti alla classe NP, tutti tra loro
equivalenti per ciò che ne riguarda la complessità e tali che ogni problema in NP è a loro
1
Si veda in appendice per la definizione di Macchina di Turing.
riducibile1. Tra questi il problema Ksat rappresenta il più “duro”. Senza entrare nel
dettaglio della classificazione dei problemi detti “NP-hard”, ci basta sapere che
intuitivamente un problema è tale se la sua complessità è equivalente, se non maggiore, al
problema Ksat; in questo senso R-Ksat è un problema NP-hard. In virtù della relazione di
riducibilità, se si riuscisse a risolvere il problema Ksat in tempo polinomiale, allora ogni
problema ad esso riducibile sarebbe risolubile da un algoritmo in tempo polinomiale;
oppure se nella classe NP esistesse un problema intrattabile, allora anche Ksat risulterebbe
tale.
Il problema 3sat, ottenuto da Ksat fissando K = 3, è NP-completo e lo studieremo
postulando che i letterali che compongono ognuna delle m clausole sono presi a caso tra le
n variabili booleane e le loro negazioni (R-3sat). Si tratta di studiare il 3sat come un
problema di ottimizzazione. Notiamo che in questa sua variante la soddisfacibilità di tutte
le m clausole, generate casualmente, è equivalente a ricercare una assegnazione di valori
di verità che minimizza il numero di vincoli violati per la formula F, ottenuta
congiungendo logicamente le m clausole.
Mediante i metodi dell’analisi numerica è stato possibile mostrare che il problema di
ottimizzazione associato al 3sat, manifesta una transizione di fase sat – unsat, in
corrispondenza di un dato valore di soglia. Questo comportamento può essere studiato
con quei metodi della meccanica statistica che riguardano i reticoli di spin e le transizioni
di fase.
Meccanica Statistica. Consideriamo un sistema di N particelle interagenti
casualmente; chiamiamo fluido semplice, il sistema siffatto. Lo stato del sistema è
determinato dalle 6N coordinate scalari che identificano il punto rappresentativo nello
spazio delle fasi. Per la i-esima particella vi sono quindi tre coordinate relative al vettore
posizione ri e tre per il vettore momento pi.
La ragione per cui si rappresentano gli stati del sistema nello spazio delle fasi è dovuta
al fatto che il volume di una regione generica di questo spazio, essendo invariante per
trasformazioni canoniche, si conserva in relazione alla variabile temporale. Infatti, sia Γ0
la generica regione dello spazio delle fasi, il cui volume è dato da
∫ ∏ dr
Γ0 =
Γ0
i
d p i.
i
Se con (Ri, Pi) indichiamo le coordinate dell’i-esima particella in un sistema di
coordinate diverso da (r, p), tale che la forma delle equazioni del moto resta inalterata,
allora possiamo riscrivere il volume della medesima regione dello spazio come
Γ0 =
∂ (ri , p i )
∫ ∂(R , P ) ∏ dR
Γ0
i
i
i
d Pi =
∫ J ∏ dR
Γ0
i
i
d Pi .
i
Dato che lo Jacobiano J della trasformazione canonica è pari all’unità, concludiamo che
∏
i
d R i d Pi = ∏ d r i d p i
i
ovvero che l’elemento di volume infinitesimo resta invariato per trasformazioni
canoniche. Allora, considerando che la trasformazione x0 ≡ (r0, p0) → (r(t, x0), p(t, x0)) è
canonica, segue che il volume dell’evoluta di una regione nello spazio delle fasi è
invariante anche per trasformazioni che involgono attraverso la variabile temporale.
Quindi le parametrizzazioni adottabili nello spazio delle fasi sono equivalenti, se legate
dalla relazione di canonicità; così il volume Γ è conservato durante l’evoluzione del
1
A è riducibile a B se e solo se esiste un algoritmo che in tempo polinomiale trasforma B in A.
2
sistema, e con esso l’insieme delle configurazioni assumibili dallo stato microscopico del
sistema, anche se non è conservata la forma.
La prima ipotesi che facciamo riguarda la caratterizzazione della regione Γ dello
spazio delle fasi in cui evolve il sistema fisico preso in considerazione. Questa è
determinata dai valori assunti, durante l’evoluzione del sistema, dalle grandezze
termodinamiche. Tali grandezze sono osservabili e sono tutte e sole le grandezze
estensive X0, X1,…, Xr che esprimono l’equazione fondamentale S = S(X0, X1,…, Xr).
Il postulato fondamentale della meccanica statistica ci dice che la grandezza
termodinamica entropia S gode di una relazione con il volume della regione Γ. Questa è
data da S = kb ln|Γ|, dove kb è la costante di Boltzmann. Così la grandezza entropia, in
accordo con la definizione termodinamica, risulta essere estensiva, monotonamente
crescente in dipendenza dell’energia interna E, data l’associazione di questa ultima con la
regione Γ, e convessa.
La descrizione statistica dei sistemi fisici ci consente di determinare il valore di
osservabili A(x) definite sull’insieme degli stati microscopici in virtù delle grandezze
estensive che determinano il particolare stato termodinamico del sistema in questione.
Definiamo, allora, un ensemble come la collezione di tutte le possibili configurazioni
microscopiche del sistema fisico, che risultano essere compatibili con il dato stato
termodinamico ed ipotizzeremo che il valore medio dell’osservabile sull’ensemble
corrisponde al valore assunto dall’osservabile quando il sistema è all’equilibrio
termodinamico. Le ragioni che ci spingono a formulare questa seconda ipotesi riguardano
la natura della funzione S e la sua relazione con la regione Γ.
L’entropia S è per definizione una funzione omogenea nelle variabili termodinamiche
estensive. In virtù del principio variazionale, S presenta un massimo in corrispondenza
dello stato di equilibrio; ciò comporta che se una qualunque delle sue variabili varia,
l’entropia del sistema non può che diminuire. Consideriamo la generica osservabile A(x)
ed indichiamo con A* il suo valore all’equilibrio, risulta che S(A(x)) ≤ S(A*). Si vuole
valutare l’effetto che una piccola fluttuazione della osservabile A provoca nelle
dimensioni dello spazio delle fasi accessibile al sistema termodinamico. Prendiamo il
rapporto tra il volume corrispondente al valore non di equilibrio A ed il volume
all’equilibrio
Γ( A)
Γ
= e
1
{S ( A ) − S ( A * ) }
kb
e sviluppiamo in serie di Taylor l’argomento dell’esponenziale attorno al valore
d’equilibrio fino al secondo ordine
S ( A) − S ( A*) = ( A − A*)
∂S ( A)
∂A
+
A*
1
∂ 2 S ( A)
( A − A*)2
+ O(( A − A*)3 ).
2!
∂A 2 A*
Il primo termine del secondo membro è nullo perché lo è la derivata prima in
corrispondenza del valore di equilibrio per il principio di massimo dell’entropia e
O((A – A*)3) è trascurabile, quindi si ha
Γ( A)
Γ
≈e
1
∂ 2S
( A − A* ) 2
2 kb
∂A2
A*
.
Se N è un indice delle dimensioni del sistema, allora la derivata seconda di S rispetto ad A
ha l’andamento del inverso di N ed (A – A*)2 và come N2 non appena i valori caratteristici
di A differiscono dal valore che l’osservabile assume all’equilibrio, quindi l’argomento
dell’esponenziale è dell’ordine di N; inoltre il segno di questo ultimo è negativo per la
3
convessità dell’entropia. Quindi il rapporto tra il volume corrispondente all’osservabile A
e quello corrispondente al suo valore di equilibrio è esponenzialmente decrescente nelle
dimensioni del sistema e nel limite di N che tende ad infinito, ovvero per sistemi grandi, il
rapporto tende a zero esponenzialmente. Da questo deriva che il volume della regione
dello spazio delle fasi accessibile al sistema si concentra completamente in quella regione
per cui le grandezze termodinamiche assumono i valori di equilibrio.
Una configurazione C del sistema ha, in ogni istante, una certa probabilità P(C) di
realizzarsi; la probabilità è tale che
P (C ) ∝ e
−
H (C )
k bT
.
La costante di proporzionalità non dipende dal particolare stato microscopico del sistema,
bensì dalle grandezze termodinamiche fissate, ed è determinabile imponendo la
condizione di normalizzazione che la somma su tutti gli stati delle probabilità, sia pari
all’unità. Per definizione tale costante è la funzione di partizione dell’ensemble e la sua
espressione è
Z =
∑e
−
H (C )
k bT
.
C
Risulta allora che per sistemi aventi dimensione e numero di particelle fissati, il valore
medio dell’osservabile A(C), definita sullo spazio delle configurazioni, è dato
dall’espressione
A(C) =
−
1
A(C) e
∑
Z C
H ( C)
kbT
.
Se consideriamo un reticolo di N celle ed in ciascuna cella poniamo uno spin, ovvero
un ente che può assumere uno tra due possibili valori, allora la funzione H(C) dell’energia
interna dipenderà, nel nostro caso, dalle variabili σi associate agli N spin, che hanno
valori nell’insieme {+1, -1}, e da un termine che terrà conto delle interazioni che possono
essere fissate tra le celle nel reticolo. In assenza di un campo di forze esterno essa,
l’hamiltoniana del sistema, può essere espressa in virtù delle sole interazioni che si
manifestano tra gli elementi del reticolo, attraverso la costante di accoppiamento J; si ha
perciò
H (C) = −J ∑σ i σ j
ij
Il modello appena descritto è comunemente detto modello di Ising ed il fenomeno al
quale ci si è riferiti è quello della magnetizzazione spontanea. Questa, si manifesta a basse
temperature, attraverso un processo cooperativo d’interazione tra spin adiacenti, che
riesce a coinvolgere siti posti anche a distanze macroscopiche dall’origine del reticolo.
L’osservabile legata al fenomeno è il valor medio della magnetizzazione M(C), che quindi
risulta essere
N
M (C ) = ∑ µ σ i
i =1
dove µ è il momento magnetico degli spin.
Transizioni di fase e rottura di simmetria. Studiamo l’andamento della
magnetizzazione spontanea in prossimità della temperatura critica Tc (figura 1). Finché la
temperatura del sistema di spin è maggiore di Tc, non è evidente alcun effetto di
magnetizzazione. Quando la temperatura è calata fino Tc, si verifica bruscamente una
4
transizione dalla fase disordinata ad una fase ordinata; la
magnetizzazione, quindi l’ordine, cresce al decrescere della
temperatura. Questo rappresenta un esempio di transizione di
fase.
Un esempio di transizione di fase è espresso del fenomeno
dalla coesistenza liquido-gas in un fluido racchiuso in un
recipiente impermeabile a contatto con una riserva di calore.
Nel piano (p, V), il diagramma di stato è costituito dalle curve isoterme. Per valori della
temperatura maggiori di Tc, tali curve sono funzioni monotonamente decrescenti p(V);
quando il valore della temperatura è Tc, allora accade che l’isoterma corrispondente
presenta un flesso in corrispondenza del punto (pc, Vc). Per valori di temperatura minori di
Tc, le isoterme si appiattiscono nella zona compresa tra i due valori di volume
corrispondenti alla fase liquida e quella gassosa del fluido, in modo che a tutti i valori di
volume compresi tra questi due corrisponda lo stesso valore della pressione; tale valore,
indicato col nome di tensione di vapore, è quello per cui le due fasi coesistono
all’equilibrio. Quando il sistema è portato a temperatura uguale a quella critica, in
corrispondenza del punto (pc, Vc), o superiore, la densità del liquido e del gas diventano
uguali; il fluido presenta le medesime proprietà fisiche indipendentemente dalla fase,
ovvero si comporta come in un unica fase.
I fenomeni come la magnetizzazione spontanea o la coesistenza di fase liquido-gas,
sono tali che l’hamiltoniana è simmetrica sotto il gruppo di trasformazioni composto da I
e dalla sua potenza seconda I2, dove I è tale che per ogni i, Iσi = -σi. Rispetto al gruppo di
trasformazioni {I, E = I2}, le proprietà fisiche di ogni sistema termodinamico sono
invarianti, benché accade che, in corrispondenza del punto critico, tale simmetria sia
spontaneamente violata.
In un sistema termodinamico, riferendoci al modello di Ising, la rottura spontanea
della simmetria accade quando questo transita da un insieme di stati microscopici in cui
prevale il disordine ad un insieme di stati in cui, a causa delle interazioni tra le celle del
nostro modello, si instaura localmente una tendenza degli spin ad allinearsi ad una
direzione comune; questa tendenza si manifesta con il fatto che alcune delle osservabili
termodinamiche non godono della stessa invarianza di cui gode la hamiltoniana del
sistema.
Nella coesistenza liquido-gas per un fluido, a temperature superiori a Tc il sistema è
simmetrico per inversione degli spin e così anche le altre osservabili termodinamiche
restano inalterate per applicazione del gruppo di trasformazioni {I, E}. Invece sotto la
temperatura critica, benché l’hamiltoniana resti invariata rispetto al medesimo gruppo, il
che concorda con l’ipotesi di Maxwell secondo cui nella coesistenza di fase è l’energia
libera di Helmotz per molecola è la stessa in entrambe le fasi, la densità delle due fasi è
differente e la loro differenza aumenta al decrescere della temperatura. Il valore assoluto
di questa differenza può essere espresso in funzione della temperatura e la forma del
grafico è pressoché simile a quello relativo alla magnetizzazione spontanea.
R-3sat ed ensemble canonico. Definiamo la costante α come il rapporto tra il numero
di vincoli m ed il numero di variabili n; si verifica, con tecniche di analisi numerica, che
in corrispondenza del valore αc, il problema Ksat è soddisfacibile e sopra di esso Ksat è
invece non soddisfacibile; αc dipende da K, e per K ≥ 3 non è stato ancora possibile
dimostrare analiticamente quale sia il suo valore esatto alla transizione “sat – unsat”. Per
K = 2 il valore di soglia è paria 1ed è determinato esattamente; ciò è dovuto al fatto che il
problema è P-completo.
Siano x1, x2, …, xn , n variabili booleane e rappresentiamole con altrettante variabili
S1, S2, …, Sn , in modo che Si = +1 se xi = t o Si = -1 altrimenti. Rappresentiamo
inoltre le m clausole casuali Cj in forma di matrice m × n, facendo in modo che Cij = -1
se nella clausola è presente l’occorrenza ¬ xi, Cij = +1 se nella clausola è presente
l’occorrenza xi e Cij = 0 altrimenti. Definiamo la funzione di “costo” E[C, S] in modo che
5
il suo valore corrisponda al numero di clausole non soddisfatte da una valutazione
corrispondente alla configurazione S. Detto che la funzione δ( l ) è tale che il suo valore è
1 se l = 0, oppure è 0 se l ≠ 0, allora possiamo scrivere la funzione dell’energia come
m
⎛ n
⎞
E [C , S ] = ∑ δ⎜ ∑ C ij S i + K ⎟ .
j=1 ⎝ i=1
⎠
dove l’argomento della δ si annulla solo se la j-esima clausola è tale che nella
assegnazione dei valori di verità è falsa per tutti i suoi termini .
Indichiamo il minimo della funzione E[C, S] con E[C], dove i valori di questa
rappresentano il minimo numero di vincoli violati. Il valor medio di E[C] equivale per
definizione al valore dell’energia dello stato fondamentale EGS per sistemi di grandi
dimensioni. La funzione di partizione
Z[C] =
∑
e
−
E [ C ,S ]
T
S
ci consente di determinare il valore di EGS, per T che tende a zero, dal momento che
EGS = -T log Z[C] + O(T 2). Questo valore è nullo nella regione di soddisfacibilità ed è
maggiore di zero in quella di non soddisfacibilità.
Quindi, applichiamo il metodo delle repliche1 per calcolare agevolmente il valore
medio del log Z[C]; iniziamo scrivendo l’espansione Z[C]k = 1+ k log Z[C] + O(k 2), con k
intero. Replicando k volte la somma sulle possibili configurazioni S corrispondenti allo
stato di energia E[C, S] e mediando rispetto al ensemble canonico otteniamo che
1
E [C ,S ] ⎤
−
⎡
Z [ C ] = ⎢∑ e T
⎥
⎣ S
⎦
k
k
=
∑e
S 1 ,S
2
,..., S
−
1
T
k
∑ E[C, Sa ]
a =1
k
=
∑
S 1, S
2
z [{ S } ]
a
,..., S k
ovvero abbiamo k copie del problema iniziale relativamente a k configurazioni differenti
in almeno uno spin, ma tali che l’energia minima corrispondente a ciascuna di loro è la
medesima. Possiamo allora definire 2k frazioni c(σ ) in modo che i-esima di queste è
uguale al numero di volte per cui Sia = σia, su k, dove i k × n valori di spin sono resi in
termini vettoriali come 2k vettori σ a componenti binarie. Esse sono soggette alla
condizione di normalizzazione ∑ c(σ ) = 1 .
Il modello descritto ci consente di sostituire z[{S a}] con una certa funzione delle
“frazioni di occupazione” cosi da poter scrivere
)
Z [C ] k ≈ exp( − n β f ).
Inoltre prendendo in considerazione l’espressione della funzione di partizione
nell’ensemble canonico abbiamo che l’energia libera del modello R-3sat è
F (β ) = −
1
ln Z .
βn
1 Bisogna notare che il metodo delle repliche è da applicarsi a sistemi disordinati per i quali la valutazione della media della funzione di partizione
non prenderebbe in considerazione la lenta variabilità delle grandezze da cui essa dipende. Infatti nel metodo delle repliche è necessario valutare la
media sulla distribuzione delle variabili lente del logaritmo della funzione di partizione.
6
)
Esprimiamo analiticamente la densità di energia libera β f [c 0 ](α , T ) ≡ β f , dove β è
)
l’inverso della temperatura T ed f rappresenta il minimo del funzionale f [ c 0 ](α , T ) 1 per
k intero su tutti i possibili c, il quale soddisfa la relazione c(σ ) = c( -σ ). Nel limite di T
che tende a zero e nello spazio in cui c(σ ) è invariante sotto l’azione del gruppo di
trasformazioni {I, E}, le frazioni di occupazione possono essere espresse come i momenti
della densità di probabilità P(m) della distribuzione di magnetizzazione booleana m = 〈S〉,
dove -1 < m < 1, ovvero
c ( σ 1 , ..., σ k ) =
k
⎛1 + m σ
d
(
)
m
P
m
⎜⎜
∏
∫− 1
2
a =1 ⎝
1
a
⎞
⎟⎟
⎠
che rappresenta la densità di probabilità del valore di aspettazione delle variabili di spin
rispetto alla totalità degli stati di minima energia. Inoltre la magnetizzazione media degli
spin rispetto all’insieme di questi q stati è per definizione
m
i
1
q
=
q
∑
j =1
S ij .
⎛1 + ml ⎞
⎟ , otteniamo
2 ⎠
l =1 ⎝
K −1
−β
Posto che AK −1 ≡ Ak −1 ({m l }, β ) = 1 + (e − 1)∏ ⎜
P( m ) =
1
1 − m2
1 K -1
⎡
⎡ u ⎛ 1 + m ⎞⎤
⎛u
⎞⎤
−
+
u
exp
α
K
α
K
dm l P( m l ) cos⎜ ln AK −1 ⎟⎥ .
d
cos
ln
⎜
⎟
⎢
∏
⎢2
⎥
∫−∞
∫
⎝ 1 − m ⎠⎦
⎝2
⎠⎦
⎣
⎣
−1 l =1
∞
La corrispondente densità d’energia libera risulta essere
1 K
)
αK
− β f (α , T ) = ln 2 + α (1 − K ) ∫ ∏ dm l P ( m l ) ln AK +
2
−1 l =1
1 K −1
∫ ∏ dm P (m ) ln A
l
l
K −1
1
−
−1 l =1
1
dm P ( m ) ln(1 − m 2 )
2 −∫1
che per α = 0, ovvero in assenza di clausole, è pari a ln 2. Per brevità, il calcolo che ci
consente di ricavare questa espressione è riportato in appendice. Notiamo che a questo
punto la termodinamica del problema R-3sat è completamente determinata. Potremmo
infatti ottenere la densità di entropia derivando l’espressione dell’energia libera rispetto
alla temperatura.
Nel metodo delle repliche, la stima della densità d’entropia per il problema R-3sat, è
tale che in corrispondenza del valore α ≈ 4.0, le soluzioni della densità in funzione di α,
incominciano a differire dall’andamento lineare. In figura 2 è riportato l’andamento della
funzione sGS(α), i cui estremi sono sGS( 0 ) = ln 2 ≈ 0.7 e sGS(4.2) ≈ 0.1. Oltre questo
valore, le soluzioni si assemblano in raggruppamenti distinti
che contengono ciascuno un numero esponenziale di soluzioni.
Si verifica, in effetti, che per valori di α < 4.0 le soluzioni
appartengono ad un unico raggruppamento e sono
caratterizzate da una singola distribuzione di magnetizzazione.
Questo non accade oltre il valore di soglia e la causa del
comportamento della densità di entropia è da ricercarsi nella
rottura della simmetria delle configurazioni corrispondenti allo
1 Nel lavoro di R. Monasson e R. Zecchina , “Statistical mechanics of the random K-Sat problem” [Phys. Rev. E 56 (1997) 1357–1361],
l’espressione data al funzionale è
⎡
f [ { c } ] ( α , T ) = α l n ⎢ ∑ c (σ
⎣ σ 1 ,..., σ K
1
) . . . c (σ
K
⎛
1
) e x p ⎜⎜ −
T
⎝
7
k
K
∑ ∏
a =1
l =1
δ [σ
a
l
⎞⎤
1
− 1 ] ⎟⎟ ⎥ +
T
⎠⎦
∑
σ
c (σ ) l o g c ( σ )
stato fondamentale dell’energia. Tale fatto può essere spiegato se si suppone che lo spazio
delle configurazioni degli spin equivale ad un ipercubo n-dimensionale. Se si definisce la
distanza di Hamming d come la frazione di spin differenti in ciascuna configurazione ed
assumiamo che ogni coppia di vertici dell’ipercubo è separata dalla stessa distanza d,
allora i raggruppamenti di soluzioni sono tali che ogni coppia di soluzioni appartenenti a
due differenti raggruppamenti è separata dalla distanza d e questo comporta che i centri
dei raggruppamenti restano fissi sul ipercubo quando sono aggiunte nuove clausole,
ovvero le soluzioni in ciascun cluster tendono ad essere sempre più simili.
Come discusso in precedenza, tale rottura di simmetria causa una transizione dalla
regione sat a quella unsat. In figura 3 è riportato l’andamento della densità d’energia in
funzione di α. In conformità alla definizione data alla funzione dell’energia per il modello
R-3sat, nel limite di n ö ∞, l’aumento del numero di vincoli imposti al sistema coincide,
oltre il valore critico αc, all’aumento del numero di clausole violate. Bisogna, infine,
notare che il modello costruito, basato sul metodo delle repliche, non fornisce una buona
rappresentazione della zona di transizione, ma rende
completamente l’andamento del fenomeno nelle due fasi. Per
studiare la regione di transizione vi è la necessità di
introdurre in una posizione fondamentale il metodo delle
repliche con rottura della simmetria (o altri metodi come
quello delle cavità) e modificare in maniera appropriata il
modello appena descritto. Attualmente la regione di
transizione è stimata nell’intervallo ] 3.42, 4.51 [ e, mediante
tecniche di analisi numerica, la migliore stima del punto
critico è αc = 4.26.
Grafi casuali. Il modello R-3sat può essere applicato ad un problema ad esso
direttamente riducibile che riguarda la teoria dei grafi. Il problema del vertex cover (vc) di
un grafo G = (V, E), di n vertici, dato un numero positivo m < dim(V), riguarda la
possibilità di trovare un sottoinsieme W ⊆ V, di dimensione m o minore, tale che ogni
arco e ∈ E, ha almeno un estremo appartenente a W. Come il 3sat, anche il problema vc
è NP-completo. Prima di passare allo studio di questo altro problema, è necessario
familiarizzare con le definizioni elementari della teoria dei grafi.
Come usualmente avviene in questa teoria, denotiamo con [V]2 l’insieme dei
sottoinsiemi di un insieme V composti di 2 elementi e con la coppia G = (V, E)
dove E ⊆ [V]2, il generico grafo con vertici in V ed archi in E. Allora per ogni e ∈ [V]2
possiamo decidere (attraverso un esperimento che involve tramite variabili aleatorie) se e
può essere o meno un arco del grafo G e quindi appartenere ad E.
Siano V = {1, 2, …, n} e G0 un grafo su V dotato di m archi, allora la probabilità che
un grafo G, generato casualmente, corrisponda al dato G0 è pari a
⎛ n⎞
⎜ ⎟−m
P(G0 ) = p m ( 1− p ) ⎜⎝ 2 ⎟⎠
dove p∈[0,1] esprime la probabilità per e di essere un arco del grafo G0. Così, attraverso il
procedimento appena descritto, possiamo intendere l’insieme Λ di tutti i possibili grafi su
V come uno spazio di probabilità.
Se definiamo, per ogni potenziale arco e∈[V]2, uno spazio di probabilità Ωe = {1e, 0e},
relativo alla singola linea, dove le probabilità dei due soli eventi elementari possibili sono
Pe({1e}) = p e Pe({0e}) = q allora possiamo definire lo spazio tensoriale
Ω =
∏Ω
e ∈[V ] 2
8
e
delle applicazioni ω che ad ogni e ∈ [V]2 associa uno tra i due valori 1e e 0e. Risulta che
la probabilità P che G sia G0∈Λ è data dal prodotto delle probabilità elementari Pe dei
suoi archi e che ω e G si identificano nel senso che G è il grafo random generato in modo
tale che l’insieme dei suoi archi risulta essere E(G) = {e | ω(e) = 1e}. Quindi, se
consideriamo l’insieme Λ di tutti i grafi a n vertici, possiamo definire in esso l’insieme Λm
come quel sottoinsieme di Λ che contiene tutti i grafi a m archi, ed allora un grafo casuale
è un elemento scelto a caso di Λm.
Forniamo di seguito altre definizioni, della teoria dei grafi, che ci risulteranno utili di
seguito. Un grafo si dice connesso se esiste un percorso, ovvero una sequenza di archi,
appartenente al grafo che consente di andare da un qualsiasi vertice ad ogni altro. Un
albero T è un grafo connesso tale che T – e non è connesso, per ogni e ∈ T. Diremo che
un cluster è un componente connesso di un grafo G. Indichiamo con C(G) il numero di
cluster di G e con c(G) la frazione di cluster sul numero di vertici di G. Per c(G) ≈ 0 vi
sono un numero ridotto di cluster di grandi dimensioni; per c(G) ≈ 1 ci sono invece un
numero grande di piccoli cluster.
Per ogni intero r ≥ 1, un grafo è r-partito se esistono r sottoinsiemi di vertici non
adiacenti di V tali che ogni arco del grafo ha gli estremi in classi disgiunte. Un
grafo r-partito è detto completo se ogni coppia di vertici appartenenti a differenti
partizioni sono congiunti da un arco di G. La notazione usuale per un grafo completo
r-partito è rappresentata dalla scrittura Ksr, se ad ognuna delle r partizioni appartengono
esattamente s vertici; inoltre indichiamo con Kn il grafo completo 1-partito o
semplicemente il grafo completo composto da n vertici.
Random vertex cover. Trattiamo il problema del vertex cover come un problema di
ottimizzazione, facendo riferimento ai grafi casuali; in questa sua variante, si risolve il
problema relativo all’esistenza di un insieme di dimensione m che minimizza il numero di
archi non coperti nel dato grafo. Così, definendo una funzione d’energia, il grafo ha un
ricoprimento di dimensione m = αn se e solo se l’energia dello stato fondamentale è
nulla.
Il primo passo da fare consiste nel rappresentare matematicamente la funzione
d’energia definendola come E(G, α) = min{# archi non coperti}. Così facendo risulta che,
se indichiamo con αc il valore di threshold della transizione cov – uncov , per valori di α
sopra questa soglia il dato grafo è ricopribile e per valori sotto la stessa non lo è. La
situazione fisica che vogliamo realizzare è quella di un rete di n calcolatori, i cui
collegamenti sono creati casualmente ad ogni ciclo “invio/ricezione” e soprattutto sono
disordinati, che deve essere infettata da un virus. Se la rete è infettata allora il grafo è
ricopribile.
Prima di passare alla descrizione statistica, fissiamo il nostro modello R-vc.1 I dati di
partenza sono il grafo G, generato casualmente ed un numero positivo m. Un diavoletto
vuole infettare un insieme di calcolatori di questa dimensione, così da soddisfare la
richiesta del problema. Costruiamo il nostro modello tenendo presente che la rete G è ad
ogni ciclo ripartita in cluster; il numero di questi è un intero C(G) tale che 1 ≤ C(G) ≤ m.
Chiamiamo terminali quegli archi che hanno almeno un vertice che non è condiviso con
nessun altro arco e facciamo in modo che l’infezione colpisca, ad ogni ciclo, un certo
numero di terminali presenti nella rete. Postuliamo che il processo di infezione sia operato
dal diavoletto ed evolva nei cicli successivi al primo, seguendo una legge “naturale” F( l ) .
Al l-esimo ciclo il diavoletto cerca ed infetta un numero di terminali tale che il numero
totale di calcolatori infettati nel medesimo ciclo è F( l ) . È interesse dei gestori della rete
conoscere il valore di transizione αc con esattezza in modo da agire, in una qualche
1 Un possibile modello è rappresentato nell’articolo di A. K. Hartmann e M. Weigt, “Statistical Mechanics of the Vertex-Cover Problem”
[J. Phys. A: Math. Gen. 36 (2003) 11069-11093].
9
maniera, prima che il numero m di calcolatori infettati non sia stato raggiunto. Il
diavoletto si arresta in concomitanza al fatto che la probabilità di trovare un terminale non
ancora infettato è strettamente minore del suo complemento. Ci aspettiamo che in
coincidenza a questo comportamento del diavoletto si abbia una rottura di simmetria nelle
configurazioni degli archi. Notiamo inoltre che il valore di soglia dipende dalla
connettività del grafo, ovvero dal numero massimo di archi che possono avere lo stesso
estremo in comune.
A questo punto, analogamente al R-3sat, costruiamo una matrice m × n, facendo in
modo che Cij = 1 se il j-esimo arco ha come estremo l’i-esimo vertice, Cij = 0 se il j-esimo
arco non ha come estremo l’i-esimo vertice, e siano V1, …, Vn le n variabili di spin che
rappresentano lo stato di infezione degli n vertici del grafo. Allora la funzione E[C, V] ha
la forma
E [C , V ] =
m
⎛
n
∑ δ ⎜⎝ ∑ C
j =1
i =1
ij
⎞
Vi + 2 ⎟ ,
⎠
così che il suo valore corrisponda al numero di archi non coperti una volta che sia stato
assegnato l’insieme W corrispondente alla configurazione si vertici V; inoltre, il suo
valore allo stato fondamentale EGS = -T log Z[C] + O(T 2), è maggiore di zero in
corrispondenza della fase uncov ed è uguale a zero in quella cov. La funzione di
partizione canonica è data dall’espressione
Z [C ] =
∑
e
−
E [C , V ]
T
.
S
Percolazione sulla rete dei geni terminali. Posto che il sistema è nella fase uncov,
vincoliamo ogni vertice ad essere estremo di al più tre archi1 e consideriamo un reticolo
bidimensionale, in cui ogni sito è associata una variabile di spin. Il reticolo è costruito nel
modo seguente. All’origine poniamo lo spin relativo al generico terminale ed imponiamo
la condizione per cui nel sistema vi sia una netta prevalenza di uno dei due valori dello
spin. Indichiamo il segno corrispondente allo stato di infezione con I, altrimenti con N
intendiamo sia il fatto che l’arco è non infetto, sia che nella configurazione non è
presente il dato arco. Assumiamo che al contorno vi è lo stato I ed indichiamo con p la
probabilità che lo spin posto all’origine sia I. Si ha rottura di simmetria se p > 0.5,
situazione che fa coincidere p con la probabilità che ha il diavoletto di trovare un
terminale già infettato tra tutti i possibili. L’insieme delle configurazioni C è ripartibile in
due sottoinsiemi che indichiamo con Σ+ e Σ−, ai quali appartengono le configurazioni in
cui l’origine assume, rispettivamente, il valore I o quello N. Inoltre, associamo alla
generica configurazione in C, una configurazione Ξ delle frontiere che separano spin di
“verso” opposto, che, date le condizioni al contorno, la identifica univocamente.
Risulta
p=
∑
e
−
E [C , V ]
T
σ ∈Σ +
∑e
−
E [C , V ]
T
=1−
S
∑
−
E [C , V ]
T
−
E [C , V ]
T
e
σ ∈Σ −
∑e
=1− q
S
e posto che E[C, V] = EGS –2L( Ξ ) , nel limite termodinamico, dove L( Ξ )=| Ξ |/4 – 1/2
ed il modulo della frontiera rappresenta la sua lunghezza, consideriamo l’insieme Σ′ delle
configurazioni di Σ− che sono ottenute da quelle di Σ+ rimuovendo la più piccola frontiera,
di lunghezza ξ, intorno all’origine. Dato che il numero dei contorni di una data lunghezza
λ è minore di 2/(3λ)⋅3λ e l’origine si trova in un quadrato di lato λ/4, allora abbiamo che
1 Si impone che la connettività del grafo sia pari a 3, ma risultati analoghi si ottengono anche per connettività diverse.
10
∑
σ
∞
∑
ξ
<
∈Σ ′
=1
2
4 ξ⎛ξ ⎞
1
3 ⎜ ⎟ =
3ξ ⎝ 4 ⎠
24
∞
ξ
∑
ξ
3ξ
=4
ottenendo
∑e
−
2 L( ξ )
T
σ ∈Σ′
da cui
1
<
24
∞
ξ
∑
ξ
3 e
2 L( ξ )
T
=4
1
eT
24
ξ
−
1
eT
=
24
⎛ − 1
ξ ⎜⎜ 3e 2 T
∑
ξ =4
⎝
∞
1
ξ
⎞
⎟ .
⎟
⎠
1
eT q ∂ 1
eT q
=
ξ qξ =
∑
24 ∂ q 1 − q 24 (1 − q ) 2
ξ =1
∞
dove q = 3exp[-1/2T ] .
Poiché
p−q =
1
Z
∑e
−
E [ C, V ]
T
σ ∈Σ +
2 L( ξ )
−
⎡
⎤
T
⎢1 − ∑ e
⎥
⎣ σ ∈Σ′
⎦
comporta che la sommatoria rispetto alle configurazioni in Σ′ deve essere minore
dell’unità, possiamo imporre la disequazione
1
eT q
<1
24 (1 − q ) 2
e risolverla interattivamente con l’espressione della q.
Possiamo allora scrivere la densità di energia libera come
⎡
f [{ p }]( α , T ) = α ln ⎢ ∑ c (σ 1 ) ... c (σ k ) exp
⎣⎢ σ 1 ,..., σ K ∈ S
⎛ 1
⎜−
⎜ T
⎝
k
∑ {∏}
1−
(1 − V i ) (1 − V j ) ⎞⎟ ⎤
a =1 i , j ∈ E
4
1
⎟⎥ + T
⎠ ⎦⎥
n
∑ c (σ
i =1
i
) log c (σ i )
dove l’indice k è da riferire al metodo delle repliche, che stiamo implicitamente usando.
Le frazioni di numeri di occupazione c(σ), nel limite di T ö Tc, rappresentano i momenti
della densità di probabilità P(ι) della distribuzione di infezione della rete, dove ι
rappresenta il valore medio della osservabile, il cui valore è compreso tra 0 ed 1. Inoltre,
posto che la probabilità p ha, in questo limite, valore di percolazione 0.5, possiamo
ipotizzare che la probabilità d’infezione è proporzionale alla probabilità di avere un unico
cluster, che nel limite di n ö ∞, ha dimensione infinita, quando p è maggiore di questo
valore. Di fatto le proprietà geometriche delle frontiere coincidono con quelle dei cluster
nella rete e nel limite k ö 0, ovvero quando non vi sono più repliche, ma la rete è fatta di
un unico super-cluster, otteniamo l’espressione per i parametri d’ordine c(σ), che
possiamo esprimere come
1
c( j) =
⎛1− p ⎞
⎟
p ⎟⎠
∫ dpP (ι ) ⎜⎜⎝ 1 +
0
dove j è una misura dello stato di infezione della data configurazione.
In corrispondenza del fatto che la densità di energia libera è proporzionale a
ln 2numero di cluster troviamo che, nel limite di n ö ∞ e di k ö 0, p ≈ 0.7 da cui la
corrispondente temperatura critica è Tc ≈ 0.21714… . Questo ci consente di determinare
11
che in corrispondenza della temperatura critica, ovvero quando si verifica la rottura di
simmetria delle configurazioni di infezione, il diavoletto terminerà la sua operazione
quando p raggiunge il valore di soglia pc.
Note tutte i valori al punto critico delle grandezze che compaiono nel funzionale che
esprime la densità di energia libera e noto il valore di questo nel limite di n ö ∞, siamo
in grado di determinare il valore di threshold della transizione cov – uncov per via
analitica quando la connettività del grafo è pari a 3.
Bibliografia
M. R. Garey, D. S. Johnson, Computers and Intractability: A Guide to The Theory of
NP-Completeness, Freeman, New York (1979).
A. K. Hartmann e M. Weigt, Statistical Mechanics of the Vertex-Cover Problem, Journal
of Physics A: Math. Gen. 36 (2003), 11069-11093
O. C. Martin, R. Monasson, R. Zecchina, Statistical Mechanics Methods and Phase
Transition in Optimization Problems, arXiv:cond-mat/0104428 (2001).
M. Mézard, G. Parisi, R. Zecchina, Analytic and Algorithmic Solution of Random
Satisfiability Problem, Science (2002), Vol. 297, 812-815.
R. Monasson, R. Zecchina, Statistical Mechanicsof the Random K-Sat Modell, Phys. Rev.
E 56 (1997) 1357–1361.
L. Peliti, Appunti di Meccanica Statistica, Bollati Boringhieri, Torino (2003).
12
APPENDICE
Calcolo dell’energia libera nel metodo delle repliche.
Consideriamo il funzionale
⎡
f [{ c }]( α , T ) = α ln ⎢ ∑ c ( σ 1 ) ... c ( σ
⎣ σ 1 ,..., σ K
K
⎛
1
) exp ⎜⎜ −
T
⎝
k
K
a =1
l =1
∑ ∏
δ [σ
⎞⎤
1
− 1 ] ⎟⎟ ⎥ +
T
⎠⎦
a
l
∑σ
c ( σ ) log c ( σ )
i cui termini al secondo membro rappresentano rispettivamente le interazioni tra i 2k vettori σ e l’entropia del sistema.
Nel limite di grandi n ed m (ad α finito) la funzione di partizione
1
Z [C ] k =
dc (σ ) e
∫∏
σ
− n β f [{ c }]( α , T )
)
≈ exp( − n β f ).
0
è valutata con il metodo del punto di sella rispetto a tutti i parametri c che soddisfano alle relazioni c(σ ) = c( -σ ) e
c(σ ) = 1 . L’espressione delle frazioni c, dato che il funzionale è simmetrico per permutazioni delle repliche, può
∑
essere resa nei termini di k + 1 equazioni che costituiscono le equazioni del punto di sella, ovvero abbiamo che
⎛ k
⎞
c(σ 1 , ..., σ k ) = C⎜ ∑ δ(σ a + 1) ⎟ , alle quali imponiamo la condizione di raccordo C( k – j ) = C( j ) con 0 ≤ j ≤ k.
⎝ a=1
⎠
Le precedenti condizioni sui parametri c ci consentono di fissare la condizione
k
⎛k ⎞
j =0
⎝ ⎠
∑ ⎜⎜ j ⎟⎟ C( j ) = 1, sulle equazioni C.
Introduciamo allora gli overlap Qp su tutte le k possibili configurazioni di spin come funzioni della magnetizzazione m,
1
definendoli Qp = dm P (m) m 2 p . Inoltre è possibile scrivere i parametri c come
∫
−1
c(σ ) =
1
2k
p
⎛ k /2 ⎛
⎛ k /2 ⎛
⎞⎞
∂2p
1
⎜1 + ∑ ⎜ Q p ∑ σ a σ a ... σ a ⎟ ⎟ = 1 ⎜1 + ∑ ⎜ Q p ∑
(arctanh y )2 r
k ⎜
2p ⎟⎟
⎜ p =1 ⎜ a < ... < a 1 2
⎜ r =0 (2 p)!(2r )! ∂y 2 p
2
p
=
1
1
k
⎠
⎝
⎝
⎠
⎝
⎝
(
)
⎞⎞
⎟⎟
⎟⎟
y =0 ⎠ ⎠
dove {a1, a2, …, a2p} sono una successione di indici
Allora, sostituendo l’espressione di Qp ed uasando la formula che esprime i parametri c nei termini delle equazioni C, si
ha che l’espressione per le C( j ), nel limite di k ö 0, è data dalla relazione
j
1
⎛ 1- m ⎞
C( j ) = ∫ dm P(m) ⎜
⎟ .
−1
⎝1 + m ⎠
Così, date le condizioni sui C( j ), otteniamo l’espressione cercata
P (m) =
1
1− m2
∞
⎡u
⎛ 1 + m ⎞⎤
⎡
1 K -1
⎛u
∫ du cos⎢⎣ 2 ln⎜⎝ 1 − m ⎟⎠⎥⎦ exp ⎢⎣− αK + αK ∫ ∏ dm P(m ) cos⎜⎝ 2 ln A
−∞
e quindi l’espressione della densità di energia libera.
−1 l =1
l
l
K −1
⎞⎤
⎟⎥
⎠⎦