Leader (and sub Leader) Election per uniformare e ... - Automatica
Leader (and sub Leader) Election per uniformare e ... - Automatica
Leader (and sub Leader) Election per uniformare e ... - Automatica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Il sistema lineare appena scritto ammette<br />
quindi una unica soluzione che in generale puó<br />
avere componenti di segno qualsiasi. Notiamo<br />
<strong>per</strong>ó che vale la seguente implicazione:<br />
(nj ≥ 0 ∀ j)∧(λ > (α+1)∗(T +1)) ⇒ ( nj ≥ 0 ∀ j)<br />
Quindi <strong>per</strong> il conseguimento del nostro<br />
scopo non é sufficente trovare la soluzione<br />
n = Q −1 ∗ ∆ in quanto tale soluzione puó<br />
presentare componenti di valore negativo<br />
bensí si vuole trovare il vettore a componenti<br />
positive che in un certo senso approssima<br />
meglio la soluzione del sistema lineare. Si<br />
vuole quindi trovare il vettore n tale che la<br />
norma di (∆ − Q ∗ n) sia minima. Attraverso<br />
l’utilizzo della norma due si puó quindi<br />
scrivere:<br />
n = argmin ∆ − Q ∗ n 2<br />
2<br />
n ≥ 0<br />
<br />
<br />
<br />
= argmin <br />
<br />
Q ∗ (Q−1 <br />
<br />
<br />
∗ ∆ − n)<br />
<br />
<br />
<br />
n ≥ 0<br />
= −argmin Q ∗ C 2<br />
2 + Q−1 ∗ ∆<br />
C ≤ Q −1 ∗ ∆<br />
= −argmin C T Q T QC + Q −1 ∆<br />
C ≤ Q −1 ∗ ∆<br />
= Q −1 ∆ − C<br />
Si riconosce <strong>sub</strong>ito che trovare C é un<br />
problema di programmazione quadratica che<br />
puó essere risolto attraverso una moltitudine<br />
notevole di metodi. In sede di simulazione non<br />
é stato sviluppato un algoritmo di risoluzione<br />
dei problemi di programmazione quadratica<br />
ma ci si é appoggiati a MATLAB il quale <strong>per</strong><br />
risolvere questa tipologia di problemi fornisce<br />
la funzione “quadprog()“.<br />
Dopo aver trovato il valore di n si puó ricavare<br />
facilmente il valore di β. Infatti:<br />
T + 1 = N j=1 [nj] = N nj<br />
j=1 [ β ]<br />
⇒ β = ∆T ∗n<br />
T +1<br />
Grazie al risultato dell’ultimo calcolo si<br />
puó trovare finalmente:<br />
C<br />
2<br />
2<br />
n = n<br />
β<br />
Notiamo che il vettore n é a componenti positive<br />
<strong>per</strong>ó non é detto che sia a componenti<br />
naturali. Ricordiamo che la componente jesima<br />
del vettore appena trovato rappresenta<br />
il numero di istanti in cui il nodo j-esimo deve<br />
<strong>per</strong>manere nello stato di radice. Notiamo che é<br />
non influente ai fini che ci siamo posti l’ordine<br />
nel quale si mettono come radice i vari nodi.<br />
Da quanto detto risulta doveroso approssimare<br />
il vettore a componenti reali appena trovato<br />
con un vettore a componenti positive ed intere.<br />
Questa approssimazione é stata realizzata<br />
direttamente attraverso un casting delle componenti<br />
del vettore n, quindi si é sostituito<br />
ogni elemento del vettore n con il naturale piú<br />
vicino ad esso. L’errore che si commette con<br />
tale metodo é in generale piccolo in quanto le<br />
componenti di n che si trovano sono di solito<br />
tutte molto maggiori di 1 e quindi la loro parte<br />
decimale é trascurabile rispetto alla loro parte<br />
intera.<br />
31