CAPÍTOL 4. SUBGRAF DE DIFUSIÓ D’ENERGIA MÍNIMA
4.2. Algoritme de Kruskal
El problema del subgraf de difusió d’energia mínima pot resoldre’s de forma aproximada calculant l’arbre generador mínim del graf (amb l’algoritme de Kruskal, tal i com hem comentat anteriorment) i difonent la diversa informació del node arrel a la resta de la xarxa a través de l'esmentat arbre mínim. En aquest cas, s’ha considerat en primer lloc el graf complet en que tots els nodes poden comunicar-se amb tots els nodes a través dels seus enllaços o, el que és el mateix, en un primer instant s’ha considerat que el radi de cobertura de tots els nodes és suficientment gran com per cobrir la resta de nodes de la xarxa.
Un cop definit el graf complet, s’ha calculat l’arbre generador mínim mitjançant l’algoritme de Kruskal, tal i com s’ha descrit en el segon capítol. Fet això, s’ha especificat la ruta de transmissió de dades seguint el camí del node arrel a la resta de nodes a través de l’arbre generador mínim. Aquesta operació permet senyalar, per a cada node de la xarxa, una sèrie de nodes als que haurà de retransmetre la informació procedent del node arrel. A continuació s’ha assignat a cada node un radi de cobertura igual a la distància del node més llunyà al que ha de transmetre informació. Així, d’una banda ens assegurem la connectivitat
Ru Ru
ja que per definició qualsevol arbre és un graf connex i, per tant, podrem enviar informació des del node arrel a la resta de la xarxa. D’altra banda, tindrem un consum baix d’energia ja que utilitzarem com a referència l’arbre de pes mínim de tota la xarxa, és a dir, l’arbre amb una funció de cost menor si es sumen totes les arestes de l’arbre final.
Cal dir, però, que aquest mecanisme no permet obtenir la solució òptima del problema del subgraf de difusió d’energia mínima, que és el problema que en realitat es pretén resoldre. De fet, es tracta de problemes diferents ja que mentre que el problema del subgraf de difusió d’energia mínima MECBS és, com s’ha dit, un problema NP-complet, el problema de l’arbre generador mínim MST pot resoldre’s amb un algoritme com Kruskal de complexitat polinòmica. O dit d’una altra forma: encara que Kruskal obté la solució òptima del MST, no pot garantir la solució òptima per al problema del MECBS ja que es tracta de problemes diferents, per molt que la seva descripció sigui molt semblant.
A la Figura 4.2 s’exposa un graf senzill per demostrar la diferència entre els dos problemes. Es tracta d’una xarxa quadrada de costat igual a dos i formada per nou nodes. Es pot observar que en aquest cas la solució obtinguda amb l’arbre generador mínim (MST) mitjançant l’algoritme de Kruskal –a baix i a l’esquerra– difereix notablement de la solució del problema del subgraf de difusió d’energia mínima (MECBS), que en aquest cas es pot calcular a ma gràcies a la reduïda mida de la xarxa.
Tal i com es pot observar en l’anterior figura, totes les arestes del MST tenen un pes igual a u ja que totes tenen longitud igual a la unitat. En canvi, si ens fixem en el problema del MECBS, veiem que tenim quatre arestes de pes igual a la unitat (les dues horitzontals i les dues verticals) i unes altres quatre arestes de pes igual a dos (les arestes diagonals, ja que la seva longitud és l’arrel quadrada de 2). Cal recordar que el pes d’una aresta és igual al quadrat de la distancia dels dos nodes incidents a l’aresta, és a dir, la longitud de l’aresta elevada al quadrat. D’aquesta manera, és evident que la suma dels pesos de totes les arestes és inferior en el MST, on totes sumen 8, que en MECBS, on el total és igual a 12. I això és així, entre d’altres motius, perquè per definició el MST és l’arbre de menor pes possible entre tots els possibles arbres generadors del graf. Ara bé, si per una altra banda es calcula en ambdós casos el sumatori dels radis al quadrat es veu que el MST no és la millor solució al
problema. En el cas del MST obtindrem
Σ
Ri2= 3, ja que per tal que el nodearrel v1 pugui transmetre a la resta de nodes de la xarxa, els tres nodes dibuixats en blanc hauran d’enviar la informació a la resta de nodes a través d’enllaços de longitud u (cada un dels tres nodes pintats de blanc necessitarà d’un radi de cobertura igual a la unitat per fer possible una xarxa broadcast). En canvi, en el cas del MECBS el resultat serà
Σ
Ri2=2, ja que únicament el node arrel v1 haurà de cobrir altres nodes mitjançant un enllaç de longitud igual a l’arrel de dos, que és la distància màxima possible entre el node arrel i el més llunyà dels nodes de la xarxa.Dit d’una altra manera, amb MECBS podem tenir dues arestes a1‘ i a2‘ de major pes en conjunt (1 i 2 respectivament) que unes altres arestes a1 i a2 (ambdues de pes 1) a MST, però, malgrat això, amb MECBS podem cobrir les dues arestes amb el radi d’un sol node v1, mentre que amb MST podríem estar obligats a comptar les dues arestes com radis de dos nodes diferents v1 i v2. La clau s’amaga en el fet que amb MECBS un sol radi pot cobrir, en ocasions, més d’una aresta. I el que desitgem en aquest cas és minimitzar la suma dels radis, no la suma d’arestes. D’aquesta manera, en el problema del MECBS podem tenir finalment arestes amb majors pesos, però una suma de radis menor –ja que un sol radi podrà cobrir en algun cas més d’una aresta– i, per tant, un menor consum d’energia. És per això que Kruskal serveix per obtenir solucions òptimes només en el cas de l’arbre generador mínim, però no en el del MECBS.
D’aquesta forma, en el present projecte s’ha aplicat l’algoritme de Kruskal únicament com a mètode de resolució aproximat del MECBS amb l’objectiu de
prendre’l com a referència comparativa amb els models heurístics del simulated annealing i algoritme formigues.