Ho una rete (teorica) con N nodi, ciascuno con la propria posizione fissa. Ogni nodo invia un messaggio per ciclo, che deve raggiungere la radice direttamente o tramite altri nodi.Algoritmo per calcolare la rete ad-hoc più efficiente dal punto di vista energetico
Il costo energetico di invio di un messaggio dal nodo A al nodo B è la distanza tra loro, al quadrato.
La sfida è come collegare questi nodi, in un formato ad albero, per produrre la rete più efficiente dal punto di vista energetico.
E.g. Qui ci sono 2 possibili modi per collegare questi nodi, quello di sinistra è più efficiente dal punto di vista energetico.
Sto lavorando a un algoritmo genetico per risolvere il problema, ma mi chiedevo se qualcuno avesse altre idee o fosse a conoscenza di qualsiasi codice open source pertinente.
Modifica: Un altro aspetto della rete, che ho dimenticato di menzionare, è che ciascun nodo è alimentato a batteria. Quindi, se abbiamo troppi messaggi in routing tramite lo stesso nodo, la batteria di quel nodo si esaurirà, causando il fallimento della rete. L'efficienza energetica della rete è misurata dal numero di messaggi che possono essere trasmessi con successo da ciascun nodo alla radice prima che qualsiasi nodo esaurisca la batteria.
Modifica n. 2: Mi dispiace per l'omissione nel testo originale della domanda. Per questo motivo, alcune delle vostre risposte precedenti non sono proprio quello che sto cercando, ma non avevo familiarità con gli algoritmi MST, quindi grazie per avermi parlato di loro.
Nella speranza di rendere le cose più chiare lasciatemi aggiungi a:
Tutti i nodi inviare un messaggio di loro per ciclo, compresi i nodi interni. I nodi interni sono anche responsabili di inoltrare tutti i messaggi che ricevono. Ciò aumenta la tensione della batteria, è se inviavano un messaggio aggiuntivo. L'obiettivo è di massimizzare la quantità di cicli raggiunti prima che la batteria di qualsiasi nodo muoia.
Il diagramma è o organizzato in modo confuso o con etichetta errata. Il nodo sulla destra sembra essere (1,2), non (0,2). – Svante
La domanda non è chiara. Stiamo riducendo al minimo la somma dei pesi dei bordi? O la somma di tutte le lunghezze del percorso alla radice? (Anche i nodi intermedi possono inviare messaggi personali ...). O stiamo riducendo al minimo la somma dei percorsi tra due nodi qualsiasi? –
Questa domanda può trarre vantaggio da una definizione più chiara - anche la modifica in ritardo non ha aiutato poiché la maggior parte delle risposte si riferivano al primo (e più banale) problema. La mia soluzione calcola il costo energetico minimo (peso del bordo) dato che ogni vertice può prendere una certa quantità di batterie (bordi). – Larry