30.06.2013 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

é necessario riportare la formula di A(T ) <strong>per</strong><br />

capire che essa é una funzione complicata nella<br />

quale compare pesantemente la funzione Φ(•).<br />

Il calcolo a mano necessario <strong>per</strong> minimizzare<br />

A(T ) si é rivelato troppo avanzato e quindi é<br />

stata intrapresa una strada algoritmica <strong>per</strong> tale<br />

minimizzazione.<br />

3.3.1 Algoritmo di minimizzazione di J(•).<br />

Ricordiamo che <strong>per</strong> ipotesi si ha l’esistenza<br />

della legge di controllo Xr(k) ottima che<br />

minimizza J(T ) qualsiasi T. Quindi fissato<br />

Xr(k) con 0 ≤ k ≤ T che minimizza J(T − 1)<br />

si vuole trovare:<br />

Xr(T + 1) =<br />

argmin {J(T ) con Xr(0) . . . Xr(T ) fissati}<br />

Notiamo che si puó scrivere la forma ricorsiva<br />

VT = VT −1+Xi(T )+U(T )+XR(T +1) dove solamente<br />

Xi(T ) ed XR(T +1) dipendono da Xr(T +<br />

1). Quello che si fa é calcolare tutti i possibili<br />

valori di VT (Xr(T + 1)) i quali sono in numero<br />

pari al numero N di sensori componenti la rete.<br />

In corrispondenza ai valori appena trovati si<br />

va a valutare J(VT (Xr(T + 1))). Trovati questi<br />

ultimi N valori si va ad individuare il minimo<br />

di essi e come Xr(T + 1) si prende quello che<br />

genera il valore minimo di J(VT (Xr(T + 1)))<br />

appena trovato. Notiamo che non é detto che<br />

la radice venga spostata ad ogni istante discreto<br />

k anché se la procedura di minimizzazione<br />

appena indicata viene compiuta ad ogni istante<br />

k.<br />

Le simulazioni sono state eseguite con tutti i<br />

possibili criteri di scelta dei figli, ovvero criterio<br />

FigliEquispaziati, criterio FigliCasuali e con il<br />

criterio di scelta PrimoUno. Nel seguito viene<br />

solamente riportato il codice MATLAB del criterio<br />

FigliEquispaziati in quanto il codice degli<br />

altri casi é identico. Prima di riportare il codice<br />

<strong>per</strong>ó é necessario dire che l’algoritmo appena<br />

descritto é stato modificato <strong>per</strong> rendere minore<br />

il tempo impiegato dai messaggi <strong>per</strong> arrivare<br />

alla radice.<br />

3.3.2 Algoritmo di minimizzazione modificato<br />

di J(•).<br />

L’algoritmo appena descritto in linea di principio<br />

potrebbe spostare la radice ad ogni iter-<br />

azione. Risulta abbastanza ovvio che almeno<br />

dal punto di vista teorico se la radice viene<br />

spostata ad ogni iterazione alcuni messaggi<br />

potrebbero transitare a lungo attraverso la rete<br />

prima di incontrare un nodo con il ruolo di<br />

radice. Per aggirare questo problema invece<br />

che ad ogni istante k si potrebbe spostare<br />

la radice trascorso un tempo definito TempoInteradice.<br />

Nelle simulazioni si sono provati<br />

vari TempoInteradice differenti inoltre si é fatta<br />

una simulazione con un certo TempoInteradice<br />

minimo. Nell’ultima simulazione menzionata<br />

qu<strong>and</strong>o si sposta la radice si calcola il numero<br />

di livelli del nuovo albero e prima di spostare<br />

la radice si aspetta un TempoInteradice pari al<br />

numero di livelli. In questo modo si é sicuri che<br />

il numero di volte che un messaggio viene<br />

reinviato prima di raggiungere la radice é<br />

minore del numero di nodi dell’albero.<br />

19

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

Saved successfully!

Ooh no, something went wrong!