30.06.2013 Views

Studio di un algoritmo di consensus Newton-Raphson ... - Automatica

Studio di un algoritmo di consensus Newton-Raphson ... - Automatica

Studio di un algoritmo di consensus Newton-Raphson ... - Automatica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Proposizione 1: Si abbiano f<strong>un</strong>zioni costofi ∈ C 2 ∀i, siano<br />

cioè continue fino alla derivata seconda, con derivate seconde<br />

f ′′<br />

i strettamente positive, limitate e definite ∀x ∈ R. Sia inoltre<br />

il valore <strong>di</strong> minimo globale x∗ = ±∞.<br />

Consideriamo l’Alg. (1), equivalente al sistema <strong>di</strong> equazioni<br />

(16) con con<strong>di</strong>zioni iniziali v(0) = w(0) = y(0) = z(0) = 0.<br />

Se le ipotesi precedenti sono sod<strong>di</strong>sfatte, allora esiste ε ∈<br />

(0,1) tale che, se ε < ε, l’Alg. (1), asintoticamente fa<br />

convergere ogni agente al valore <strong>di</strong> minimo globale x∗ , quin<strong>di</strong><br />

si ha limt→+∞ x(k) = x∗1. Questo <strong>algoritmo</strong> è quin<strong>di</strong> valido per le specifiche con<strong>di</strong>zioni<br />

iniziali descritte dalla proposizione precedente, ma è importante<br />

saggiare la robustezza <strong>di</strong> esso con con<strong>di</strong>zioni iniziali <strong>di</strong>verse:<br />

la proposizione seguente stabilisce che il valore iniziale<br />

xi(0) può essere essere preso arbitrariamente, mentre le con<strong>di</strong>zioni<br />

iniziali vi(0), wi(0), yi(0), zi(0) se sufficientemente<br />

elevate possono influire sulla stabilità e sulla convergenza del<br />

sistema.<br />

Proposizione 2: Si consideri il sistema in (17) con con<strong>di</strong>zioni<br />

iniziali arbitrarie v(0), w(0), y(0), z(0), x(0) e definiamo<br />

gli scalari:<br />

α(0) := 1<br />

N 1T (y(0)−v(0)) (19)<br />

β(0) := 1<br />

N 1T (z(0)−w(0)) (20)<br />

Se valgono le ipotesi della proposizione 1 allora esistono ε,<br />

α, β ∈ R+ tali che, se ε < ε, |α(0)| < α, |β(0)| < β<br />

si ha limt→+∞ x(t) = ξ(α(0),β(0))1, dove ξ(α(0),β(0)) è<br />

<strong>un</strong>a f<strong>un</strong>zione scalare continua nei suoi argomenti tale per cui<br />

ξ(0,0) = x ∗ .<br />

D. Ulteriori considerazioni sull’<strong>algoritmo</strong> presentato<br />

1) Algoritmo <strong>di</strong> <strong>Newton</strong>-<strong>Raphson</strong>: Richiamiamo ora brevemente<br />

l’<strong>algoritmo</strong> <strong>di</strong> <strong>Newton</strong>-<strong>Raphson</strong> classico, che è alla base<br />

dell’<strong>algoritmo</strong> <strong>di</strong>stribuito che stiamo stu<strong>di</strong>ando. Siano a, b<br />

gli estremi dell’intervallo in cui cade la ra<strong>di</strong>ce dell’equazione<br />

ed assumiamo f con derivata prima e seconda a segno<br />

costante nell’intervallo in questione. Si può notare che |f ′ (x)|<br />

è crescente quando il segno delle due derivate è lo stesso,<br />

decrescente quando è <strong>di</strong>scorde. In ogni caso |f ′ (x)| raggi<strong>un</strong>ge<br />

il valore massimo nell’estremo nel quale f(x) ha lo stesso<br />

segno <strong>di</strong> |f ′′ (x)|: in<strong>di</strong>chiamo questo valore con x0, quello<br />

<strong>di</strong> partenza dell’<strong>algoritmo</strong> (chiamato in letteratura estremo <strong>di</strong><br />

Fourier).<br />

Sia ora x1 l’ascissa del p<strong>un</strong>to in cui la tangente al grafico<br />

in (x0,f(x0)) interseca l’asse x, si può <strong>di</strong>mostrare che x1 ∈<br />

(x ∗ ,x0) e si ha, per la positività <strong>di</strong> f(x) e f ′ (x):<br />

perciò:<br />

f(x0)<br />

f ′ > 0<br />

(x0)<br />

x1 −x0 = − f(x0)<br />

f ′ < 0<br />

(x0)<br />

quin<strong>di</strong> x1 < x0: il p<strong>un</strong>to x1 approssima meglio x ∗ rispetto<br />

ad x0. È possibile iterare il proce<strong>di</strong>mento partendo dal nuovo<br />

p<strong>un</strong>to calcolato, in generale:<br />

xk+1 = xk − f(xk)<br />

f ′ (xk)<br />

k = 1,2,...<br />

e si può <strong>di</strong>mostrare la convergenza per k → +∞ della<br />

successione xk alla ra<strong>di</strong>ce x ∗ (allo scopo si veda <strong>un</strong> qualsiasi<br />

testo <strong>di</strong> calcolo numerico).<br />

2) Gossip <strong>consensus</strong>: In <strong>un</strong> <strong>algoritmo</strong> <strong>di</strong> consenso, la<br />

com<strong>un</strong>icazione tra i no<strong>di</strong> può anche avvenire secondo <strong>un</strong>o<br />

schema casuale, ovvero ad ogni istante temporale vengono<br />

scelti casualmente due no<strong>di</strong> che com<strong>un</strong>icano tra loro ed attuano<br />

la me<strong>di</strong>a dei loro stati privati. In questo caso si parla <strong>di</strong> Gossip<br />

<strong>consensus</strong>.<br />

Gli algoritmi Gossip possiedono interessanti proprietà perché<br />

si è <strong>di</strong>mostrato che in <strong>un</strong>o schema <strong>di</strong> com<strong>un</strong>icazione riducono<br />

il numero delle trasmissioni necessarie rispetto agli algoritmi<br />

deterministici ed evitano errori e collisioni nello scambio dei<br />

dati; per <strong>un</strong> maggior dettaglio si veda [3] e [8].<br />

SiaG = (V,E) <strong>un</strong> grafo conN no<strong>di</strong>, completo e non orientato,<br />

con lati E ⊂ {(i,j) ∈ V}. Ad ogni istante temporale <strong>un</strong> lato<br />

(i,j) viene scelto casualmente in E con probabilitàW (i,j) > 0<br />

tale che <br />

(i,j)∈E W(i,j) = 1.<br />

I due no<strong>di</strong> connessi attuano la me<strong>di</strong>a dei loro stati locali:<br />

<br />

xi(k +1) = xi(k)+xj(k)<br />

2<br />

xj(k +1) = xj(k)+xi(k)<br />

2<br />

mentre gli altri no<strong>di</strong> restano inalterati:<br />

(21)<br />

xh(k +1) = xh(k) ∀h = i,j (22)<br />

Sia ora ei = [0,...,0,1,0,...,0] il vettore N × 1 con<br />

l’i esima componente uguale ad 1, sia Eij = (ei −ej)(ei −<br />

ej) T e definiamo la matrice <strong>di</strong> <strong>consensus</strong>:<br />

P(k) = I − Eij<br />

2<br />

Le equazioni (21) e (22) si possono allora riscrivere in modo<br />

compatto:<br />

x(k +1) = P(k)x(k)<br />

dove x(k) = [x1(k),...,xN(k)] rappresenta lo stato del sistema.<br />

Si vede che P(k) è doppiamente stocastica, quin<strong>di</strong>, con<br />

le ipotesi ass<strong>un</strong>te sul grafo, il sistema converge asintoticamente<br />

con probabilità <strong>un</strong>o al valore dell’average <strong>consensus</strong>:<br />

lim<br />

t→+∞ x(k) = x∗ 1 = 1T 1<br />

N x(0)<br />

Si può <strong>di</strong>mostrare inoltre che questo è l’<strong>un</strong>ico <strong>algoritmo</strong><br />

randomizzato che preserva la me<strong>di</strong>a degli stati iniziali.<br />

3) Distributed <strong>Newton</strong>-<strong>Raphson</strong> Gossip <strong>consensus</strong>: Ve<strong>di</strong>amo<br />

ora in che modo il Gossip <strong>consensus</strong> appena presentato<br />

si può applicare all’<strong>algoritmo</strong> illustrato in II. La struttura è<br />

simile a quella presentata in Alg. 1, con la <strong>di</strong>fferenza che<br />

all’interno del ciclo for (alla riga 9) la matrice P non è<br />

costante, ma cambia ad ogni iterazione. Lo scopo è quello<br />

<strong>di</strong> simulare <strong>un</strong>o schema <strong>di</strong> com<strong>un</strong>icazione che richieda meno

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!