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 ⎞⎤ ⎟⎥ ⎠⎦