Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Engineering

Energieeffizientes Sensornetzwerk-Routing in großem Maßstab mit einer Quantenprozessoreinheit

Published: September 8, 2023 doi: 10.3791/64930

Summary

Diese Studie bietet eine Methode, um eine Quantenprozessoreinheit zu verwenden, um die Routen für verschiedene Verkehrsdynamiken zu berechnen, die klassische Methoden in der Literatur übertreffen, um die Lebensdauer des Netzwerks zu maximieren.

Abstract

Die Methode der Energieeinsparung von Sensornetzwerken, die eine Mischung aus klassischem Computer und Quantenprozessor ist, hat sich als leistungsfähiger erwiesen als der heuristische Algorithmus mit einem klassischen Computer. In diesem Manuskript wird der technische Kontext für die Bedeutung der Methode dargestellt und begründet. Anschließend werden die Versuchsschritte in einem Arbeitsablauf demonstriert und bei Bedarf mit Illustrationen versehen. Die Methode wurde durch positive Ergebnisse in einem zufällig generierten Stichprobensatz von Netzwerktopologien validiert. Die erfolgreichen experimentellen Ergebnisse dieser Methode haben einen besseren Ansatz für Probleme zur Maximierung der Lebensdauer von Sensornetzwerken geliefert und gezeigt, dass der derzeitige Stand der Technik Quantenprozessoren in der Lage ist, große praktische technische Probleme mit Vorzügen zu lösen, die die aktuellen Methoden in der Literatur außer Kraft setzen. Mit anderen Worten, der Quantenvorteil kann nach bestem Wissen und Gewissen ausgenutzt werden. Es ist über das Stadium des Proof of Concept zum Nachweis der Machbarkeit übergegangen.

Introduction

Die Energieeinsparung in Sensornetzwerken war ein sehr kritisches Thema in Design1. Klassische Methoden gehen das Problem in der Regel mit einem Ad-hoc-Ansatzan 2,3,4,5,6. Diese Methoden emulieren jedoch die Sensorknoten als individuell verwaltete intelligente Assets, die auch zusammenarbeiten könnten, um sowohl den Interessen des Einzelnen als auch der Gemeinschaft zu dienen. Aufgrund des volatilen Umfelds, in dem Sensoren arbeiten, werden in einigen Arbeiten zufällige Algorithmen eingeführt, um die Unsicherheiten in der Umgebung zu erfassen, während in anderen die Biointelligenz verwendet wird, um heuristische Algorithmen zu entwickeln, die mit gesundem Menschenverstand akzeptable Ergebnisse erzielen könnten7. Zur weiteren Veranschaulichung: Für diese Zufallsalgorithmen sind die Umgebungsunsicherheiten einerseits möglicherweise nicht so zufällig wie die von einer klassischen CPU erzeugte Zufallssequenz, andererseits, selbst wenn die Umgebungsunsicherheiten absolut zufällig sind, können sie nicht von dem von der klassischen CPU erzeugten Zufallsprozesssimulator erfasst werden. Für diese Bio-Intelligenz-Algorithmen wurde erstens keine rigorose mathematische Analyse abgeleitet, um einen konzeptionellen Beweis zu erbringen, zweitens kann die Konvergenz zur Wahrheit oder die Fehlertoleranzgrenze nur unter Berücksichtigung einer informierten Grundwahrheit konfiguriert werden - obwohl eine beträchtliche Anzahl von Arbeiten in der Literatur bis zu einem gewissen Grad gezeigt hat, dass diese heuristischen Algorithmen funktionieren. Zum einen werden diese Algorithmen anhand klar definierter Anwendungsszenarien analysiert (nicht simuliert), sie hören bei bestimmten Kriterien auf, über die es sich in der weiteren Forschung noch zu überlegen lohnt, zum anderen wurde ein Großteil der Algorithmen, wie bereits erwähnt, nicht gegen Softwaresimulationen validiert, die leichter in den Mikroprozessoren eingesetzt werden können, die einen Sensor zu seinem Wesen machen8.

Maschinelles Lernen (ML) wird hier nicht berücksichtigt, da es Datenanalysen einsetzen muss, die eine relativ große Menge an Rechenleistung erfordern, die in Sensorgeräten nicht tragbar ist9.

Um die oben genannten Bedenken auszuräumen, stellen wir einen hybriden Quantenalgorithmus zur Verfügung. Der Algorithmus ist insofern hybrid, als der Mechanismus zur Auswahl des Clusterkopfes mithilfe eines klassischen Zufallsalgorithmus während der Routing-Berechnungen implementiert wird, die mit einem Quantenprozessor durchgeführt werden, sobald die Netzwerktopologie eingerichtet ist. Die Methode wird wie folgt begründet: (1) Wie im ersten Absatz bezüglich der Umweltunsicherheiten diskutiert, wollen wir nicht weiter versuchen, einen Quantensequenzgenerator anzuwenden, um die Umweltdynamik zu erfassen, da sie historisch rückverfolgbar sein könnte. Die historisch nachvollziehbare Umweltdynamik wurde durch verschiedene Forschungsarbeiten im Bereich des maschinellen Lernens in der Netzwerkwissenschaft begründet. Für die aktuelle Phase bleiben wir beim klassischen Ansatz. (2) Die exakte Methode, die sich auf eine abstrakte mathematische Analyse stützt, garantiert, dass man zur Grundwahrheit gelangt. Die quantenexperimentelle Physik wurde bisher von der physikalischen Mathematik in hohem Maße unterstützt. Darüber hinaus gibt es Algorithmusanwendungen wie den Shor-Algorithmus10 , um diese abgerundete Theorie zu beweisen.

Im Folgenden finden Sie eine ausreichende Menge an Literaturübersicht zum Vergleich. Das vorgeschlagene HEESR-Protokoll11 hat nachweisbare Vorzüge in Bezug auf die Ergebnisse, aber die Autoren haben die Konfigurationsparameter der Simulation gut spezifiziert, z. B. die genaue Zufallsverteilungsfunktion der Knotenposition, die richtige Ausrichtung des Clusterkopfprozentsatzes p (0,2%) und den Skalierungsparameter für die Verteilung des Energieniveaus (1-2 Joule) zwischen den Knoten a_i. Es untersagte dem Verfasser, die Versuche weiter zu duplizieren und den Vergleich durchzuführen. Der Power-Routing-Mechanismus12 verwendet das Kurvenanpassungsverfahren, um konvergente kontinuierliche Funktionen aus diskreten Datensätzen zu approximieren, die aus einem nicht spezifizierten Sample-Raum für Determinanten erhalten wurden, die den Entscheidungsprozess des optimalen Netzwerk-Routings beeinflussen. Das Kurvenanpassungsverfahren13 erfordert vorherige Informationen über die Netzwerktopologie. Unter realen Umständen sind möglicherweise keine Vorabinformationen verfügbar. Selbst wenn Vorabinformationen vorhanden sind, ist die Netzwerktopologie möglicherweise nicht regelmäßig genug, um auf Anpassungskurven abgebildet werden zu können, die eine ableitbare Berechnung ermöglichen. Der gleichen Logik folgend, hat das DORAF-Protokoll14 nicht begründet, wie und warum die Boltzmann-Funktion und die Logistikfunktion zur Approximation der Netzwerkdeterminanten verwendet werden sollen. Ismail et al.15 haben eine solide Referenz für zukünftige Forschungsbemühungen zur energieeffizienten Gestaltung von Routing-Protokollen im Unterwassernetzwerk geliefert.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

1. Einrichten der Dwave Ocean Environment

  1. Laden Sie die Ozean-Tools über den folgenden Link herunter und installieren Sie sie: https://docs.ocean.dwavesys.com/en/stable/overview/install.html
    1. Geben Sie am Terminal python -m venv ocean ein.
    2. Geben Sie am Terminal . ocean/bin/activate ein, wie in Abbildung 1 dargestellt.
    3. Geben Sie im Terminal git clone https://github.com/dwavesystems/dwave-ocean-sdk.git ein.
      Geben Sie als Nächstes cd dwave-ocean-sdk ein, wie in Abbildung 2 dargestellt.
      Geben Sie dann python setup.py install ein

Figure 1
Abbildung 1: Aktivierung der virtuellen Umgebung des Ozeans. Das Ocean-Paket, in das die D-Wave-API integriert ist, bietet eine bewölkte Benutzererfahrung über den eigenen Computer des Benutzers für die D-Wave-Maschine. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 2
Abbildung 2: Ocean SDK-Installation. Das Ocean-Paket bietet die notwendigen Toolkits für Entwickler, einschließlich einer praktischen Cplex-Installation. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

2. Installation der Cplex Python API-Schnittstelle

  1. Laden Sie Cplex herunter und installieren Sie es: https://pypi.org/project/cplex/
    1. Geben Sie im Terminal pip install cplex ein.

3. Konfigurationsparameter des Experiments

  1. Richten Sie die in Tabelle 1 erwähnten Experimentkonfigurationsparameter mithilfe der Python-Programmiernotation im Skript ein, wie in der ergänzenden Abbildung 1 dargestellt. Sobald das Skript ausgeführt und ausgeführt wurde, werden die zugrunde liegenden Sprachen verarbeitet, um die Variablen im RAM zu speichern. Ein Screenshot der Python-Codes, in denen den Parametern jeweils Werte zugewiesen werden, ist beigefügt (ergänzende Abbildung 1).
d0 87,7085 m ü. M.
E 50 * 1 x 10-09 Joule
epson_fs 1 * 10-12* 10 Joule
epson_mp 0,0013 * 1 * 10-12 Joule
Paketgröße 4000 Bit

Tabelle 1: Energiemodellparameter und Paketgrößeneinstellungen.

Ergänzende Abbildung 1: Skript1. Skript zum Einrichten der Experimentparameter. Bitte klicken Sie hier, um diese Datei herunterzuladen.

4. Python-Skripte

  1. Bereiten Sie die Python-Skripte vor, um 198 Sensorknoten-2D-Positionen zu generieren, die gleichmäßig in sechs Sektoren verteilt sind, die den kreisförmigen Bereich mit einem Radius von 50 m unterteilen.
    HINWEIS: Das kreisförmige Diagramm ist in 6 Sektoren unterteilt. In jedem Sektor wird die Position jedes Knotens mit zwei entsprechenden Variablen behandelt. Das eine ist der Winkel, das andere der Radius. Weisen Sie sowohl dem Winkel als auch dem Radius Werte zu, indem Sie einen gleichmäßigen Zufallsverteilungsgenerator verwenden. Das detaillierte Verfahren ist in den ergänzenden Abbildungen 2 und 3 dargestellt.
  2. Stellen Sie sicher, dass die 33 Sensorknoten innerhalb jedes Sektors zufällig durch eine Normalverteilung gestreut sind. Speichern Sie die 2D-Positionen in Textdateien für jeden Sektor unter der Namensschreibregel "posdata"+sector_no+'.txt' (Abbildung 3 und Abbildung 4).
    1. Segmentieren Sie den kreisförmigen Bereich mit einem Radius von 50 m in sechs Sektoren. Die Anfangswinkelwerte für diese sechs Sektoren ergeben den Vektor A= [60,120,180,240,300,360].
      1. Angenommen, der Sektorindex ist i, legen Sie die Pollänge für denj-ten Sensorknoten auf l_{i,j}=50*random.random() fest.
      2. Angenommen, der Sektorindex ist i, setzen Sie den Winkelwert für jten Sensorknoten wie folgt: ang_{i,j}=(60*random.random() + A_i - 60) * 2 * pi / 360
      3. Setzen Sie die kartesischen Koordinaten desj-ten Sensorknotens imi-ten Sektor als
        x_{i,j}=l_{i,j}*cos(ang_{i,j})
        y_{i,j}=l_{i,j}*sin(ang_{i,j})

Ergänzende Abbildung 2: Skript2. Skript zum Konfigurieren der beiden Dimensionspositionspositionen für jeden Knoten nach Sektor. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Ergänzende Abbildung 3: Script3. Skript zur Konfiguration der einzelnen Knotenpositionswerte innerhalb von 1 Sektor. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Figure 3
Abbildung 3: Generierte und gespeicherte Knotenpositionen getrennt in 6 Dateien, die jeweils einem Sektor entsprechen. Zweidimensionale Positionspositionen werden in 6 posdata+'idx'-Dateien gespeichert. Jeder stellt einen Sektor vor. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 4
Abbildung 4: Knotenpositionen, die in Sektor 0 gespeichert sind. Die Positionen sind zweidimensional und werden mit einem einheitlichen Zufallsgenerator generiert. Die erste Spalte enthält die horizontalen Positionen, und die zweite Spalte enthält die vertikalen Positionen. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

5. Vorbereitung der anfänglichen Energieniveaus

  1. Bereiten Sie die anfänglichen Energieniveaus für alle 198 Sensorknoten vor. Weisen Sie die eine Hälfte mit einer Anfangsenergie von 0,5 J und die andere Hälfte mit einer Anfangsenergie von 1 J zu. Erstellen Sie ein Array, um das Energieniveau jedes Knotens zu speichern, und verwenden Sie eine Schleife, um Zellen, die in geraden Zahlen sequenziert sind, den Wert 1 und den in ungeraden Zahlen sequenzierten Zellen den Wert 0,5 zuzuweisen. Ergänzende Abbildung 4 zeigt die Python-Codes, und das Ergebnis ist in Abbildung 5 dargestellt.

Ergänzende Abbildung 4: Skript4. Skript zur Zuweisung der Hälfte der Energie des Knotens von 1 Joule und der anderen von 0,5 Joule. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Figure 5
Abbildung 5: Energy_buffer anfängliche Zuweisung. Die Hälfte der Knoten wird mit Energie 1 Joule belegt, während die andere Hälfte mit 0,5 Joule belegt ist. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

6. Vorbereiten Advanced_Leach Algorithmusskripts (Abbildung 6 und Abbildung 7)

  1. Bereiten Sie ein funktionales Skript vor, in dem der Clusterkopf ausgewählt und der Cluster gebildet wird.
    HINWEIS: Der Cluster wird mithilfe einer Schleife unter der Bedingung ausgewählt, dass die Anzahl der ausgewählten Clusterköpfe kleiner ist als die Gesamtzahl der Knoten geteilt durch 6. Die Bedingung besteht darin, sicherzustellen, dass innerhalb jedes Clusters die Anzahl der Quellknoten kleiner oder gleich 6 ist. Innerhalb der Schleife wird jedem Knoten eine Zufallszahl zwischen [0,1] zugewiesen. Diejenigen, die kleiner als eine bestimmte Kriterienzahl sind, werden zum Clusterkopf, während andere zu den Quellknoten werden. Das detaillierte Verfahren ist in der ergänzenden Abbildung 5 dargestellt. Bei einem festen Pool von Cluster-Köpfen wählen die restlichen Quellknoten ihre Cluster-Köpfe innerhalb der kürzesten Distanz aus, vorausgesetzt, der Cluster-Kopf hat noch nicht mehr als 6 Quellknoten gehostet. Das detaillierte Verfahren ist in der ergänzenden Abbildung 6 dargestellt.
    1. Legen Sie T_n=P/(1-P*(count%(1/P)))) fest, wobei P = 0,2 (die proportionale Rate der Anzahl der Cluster-Köpfe zur Gesamtgröße des Netzwerks) ist und die Anzahl die Menge der bis zum Datum aufgerundeten Übertragung ist.
    2. Ermitteln Sie für jeden Sensorknoten eine Zufallszahl zwischen[0,1] threshold_rm = random.random()
      1. Wenn threshold_rm kleiner als T_n ist, wählen Sie diesen Sensorknoten als Clusterkopf aus.
    3. Wählen Sie für jeden der nicht cluster_head Knoten den nächstgelegenen Clusterkopf-Sensorknoten als Clusterkopf aus. Bei einem festen Pool von Cluster-Köpfen wählen die restlichen Quellknoten ihre Cluster-Köpfe innerhalb der kürzesten Distanz aus, sofern der Cluster-Kopf noch nicht mehr als 6 Quellknoten gehostet hat. Das detaillierte Verfahren ist in der ergänzenden Abbildung 6 dargestellt.
  2. Bereiten Sie die Befehlszeilen vor, um den Energieerschöpfungsprozess im gesamten Netzwerk für diese Runde zu berechnen. Für jede Ausführung des Algorithmus, die einen Batch von Lieferungen der Pakete von den Quellknoten an die Senke abschließt, wird das vorbereitete Energiespeicher-Array aktualisiert, um die Werte Zelle für Zelle zu reduzieren. Der Energieverbrauch entlang des Pfades ist die Summe des Energieverbrauchs pro Knoten-zu-Knoten-Route, die nach einem Energiemodell1 berechnet wird. Das detaillierte Verfahren ist in der ergänzenden Abbildung 7 dargestellt.
  3. Berechnen Sie die erforderlichen Übertragungsrundenmetriken.
    HINWEIS: Bei jeder Ausführung des Algorithmus, um einen Batch der Paketzustellung abzuschließen, wird das Energie-Array aktualisiert, die Ausführungsmenge und die Anzahl der ausgelaugten Knoten werden gezählt. Wenn der Wert größer oder gleich 1 ist, dann ist FND (First Node Die) gleich dem aktuellen Laufbetrag. Wenn der Wert größer oder gleich der Hälfte des Knotenbetrags ist, dann ist HND (half node die) gleich dem aktuellen Ausführungsbetrag. Wenn der Wert gleich der Gesamtanzahl des Knotens ist, dann ist AND (all node die) gleich dem aktuellen Ausführungsbetrag. Das detaillierte Verfahren ist in der ergänzenden Abbildung 8 dargestellt.

Figure 6
Abbildung 6: Cluster-Head-Array. Die Sequenznummern der Knoten, die als Clusterköpfe ausgewählt wurden. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 7
Abbildung 7: Clusterhead-Index-Array. Da es im Clusterkopf-Index-Array sechs Sektoren mit jeweils 33 Sensorknoten gibt, gibt die Zahl die Sequenznummer des Clusterkopfes an, zu dem der entsprechende Sensorknoten gehört. Der Positionsindex des Arrays entspricht der Sequenznummer jedes Sensorknotens. Für den Sensorknoten, der als Clusterkopf ausgewählt ist, ist die Nummer, die seinem Steckplatz im Array zugewiesen ist, die Sequenznummer von sich selbst. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Ergänzende Abbildung 5: Skript5. Skript zum Auswählen des Clusterkopfes. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Ergänzende Abbildung 6: Skript6. Skript zum Zuweisen von Quellknoten zu Clustern. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Ergänzende Abbildung 7: Skript7. Skript zur Aktualisierung des Energiepuffers für alle Quellknoten durch Reduzierung der durch die Übertragung verbrauchten Energiemenge. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Ergänzende Abbildung 8: Skript8. Skript zur Berechnung der Anzahl der Rundungen, bis zu denen der erste Knoten stirbt und die Hälfte der Knoten stirbt. Bitte klicken Sie hier, um diese Datei herunterzuladen.

7. Vorbereiten eines hybriden Quantenalgorithmus-Skripts

  1. Bereiten Sie ein funktionierendes Skript vor, in dem der Clusterkopf ausgewählt und der Clusterkopf gebildet wird.
    1. Da die maximale Clustergröße in diesem Experiment1 6 beträgt, stellen Sie sicher, dass die Anzahl der Clusterköpfe nicht weniger als current_valid_node_amount/6 beträgt, das Auswahlverfahren wird in einer Schleife ausgeführt, bis dieses Kriterium erfüllt ist.
      HINWEIS: Wenn current_valid_node_amount nicht größer als 6 ist, bilden diese gültigen Knoten selbst einen einzigen Cluster.
    2. Berechnen Sie für jeden der nicht cluster_head_valid Knoten den Abstand zu jedem der ausgewählten Clusterköpfe, und weisen Sie ihm den Clusterkopf zu, dessen Clustergröße 6 nicht überschritten hat, wobei der Entfernungswert der kleinste ist.
      ANMERKUNG: In 8 werden die Entfernungen aller nicht cluster_head_valid Knoten zu dem ausgewählten Clusterkopf 24 berechnet, und der gesamte ausgewählte Clusterkopf wird in 9 angezeigt. Abbildung 10 zeigt, dass alle Knoten ihrem entsprechenden Clusterkopf zugewiesen sind, und Abbildung 11 zeigt die Gruppierung der Mitgliedsknoten jedes Clusters in einem Vektorarray.
  2. Bereiten Sie das Skript für die Unterfunktion vor, in dem das Routingoptimierungsproblem pro Cluster gebildet und an die D-Wave-API übermittelt wird (Abbildung 12). Die Routingpfade werden Cluster für Cluster berechnet.
  3. Berechnen Sie mithilfe eines Python-Skripts den Energieerschöpfungsprozess im gesamten Netzwerk, um den Algorithmus nach Netzwerklebensdauer in Bezug auf die Anzahl der Übertragungsrunden quantitativ zu bewerten.
    HINWEIS: Für jede Ausführung des Algorithmus, die einen Batch von Lieferungen der Pakete von Quellknoten an die Senke abschließt, wird das vorbereitete Energiespeicher-Array aktualisiert, um die Werte Zelle für Zelle zu reduzieren. Der Energieverbrauch entlang des Pfades ist die Summe des Energieverbrauchs pro Knoten-zu-Knoten-Route, berechnet nach einem Energiemodell1. Das detaillierte Verfahren ist in der ergänzenden Abbildung 7 dargestellt.
  4. Zeichnen Sie mithilfe eines Python-Skripts den Moment auf, in dem der erste Knoten und die Hälfte der Knoten ausgelaugt sind. Das detaillierte Verfahren ist in der ergänzenden Abbildung 8 dargestellt.

Figure 8
Abbildung 8: toClusterHeadDistance-Array für Nicht-cluster_head Knoten mit Index 24. Die erste Spalte ist die Distanz und die zweite Spalte ist die Indexnummer des Clusterkopfes . Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 9
Abbildung 9: CHID_buff Array. Sequenznummern der Sensorknoten, die als Clusterköpfe ausgewählt sind. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 10
Abbildung 10 CHIdx_buff Array. Jedem entsprechenden Sensorknoten wurde die Sequenznummer der Clusterkopf-Sensorknoten zugewiesen. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 11
Abbildung 11: CH_BUFF Array. Clustergruppe pro Clusterkopf-Sensorknoten, die dem Array-CHID_buff entsprechen. Jede Clustergruppe besteht aus 0 oder mehr als 0 Sensorknoten. Jedes Clustergruppen-Array zeigt die Sequenznummern der Sensorknoten an, die sich darin befinden. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 12
Abbildung 12: Berechnung des Routingpfads pro Sektor. Für jeden Sektor werden die Routing-Pfade für alle Quellknoten berechnet. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

Die Ergebnisse einer Ausführungsstichprobe sind in Tabelle 2, Tabelle 3 und Tabelle 4 dargestellt. Die detaillierten Datasets für die drei Datenbatches sind im Ordner "Ergänzende Daten 1 " verfügbar.

Datensatz 1
198 Knoten in einem kreisförmigen Bereich mit einem Radius von 50m Hybrider Quantenalgorithmus Advanced_Leach-Algorithmus
FND 1442 727
HND 2499 1921

Tabelle 2: Batch 1 der Ergebnisse des Experiments.

Datensatz 2
198 Knoten in einem kreisförmigen Bereich mit einem Radius von 50m Hybrider Quantenalgorithmus Advanced_Leach-Algorithmus
FND 757 1463
HND 1925 2500

Tabelle 3: Batch 2 der Ergebnisse des Experiments.

Datensatz 3
198 Knoten in einem kreisförmigen Bereich mit einem Radius von 50m Hybrider Quantenalgorithmus Advanced_Leach-Algorithmus
FND 790 1461
HND 1888 2500

Tabelle 4: Batch 3 der Ergebnisse des Experiments.

Es werden drei Metriken mit den Definitionen4 wie folgt ausgewählt:
FND - Erster Knoten-Die. Die Anzahl der Übertragungen, auf die die Energie des ersten Sensorknotens aufgerundet wird;
HND - Half Node Die. Die Anzahl der Übertragungen rundet sich auf, bis zu der die Hälfte der Energie der Sensorknoten verbraucht wird;
LND - Letzter Knoten-Die. Die Anzahl der Übertragungen rundet sich auf, bis zu der das gesamte Sensornetzwerk tot ist.

Aus den Ergebnissen können wir ersehen, dass der hybride Quantenalgorithmus effizienter ist als der advanced_leach-Algorithmus.

Weitere Ergebnisse der Zeitkomplexität der vorgeschlagenen Methode und des Compliance-Diagramms sind in Abbildung 13 bzw. Abbildung 14 dargestellt.

Figure 13
Abbildung 13: Zeitkomplexität des Hybrid-Quanten-Algorithmus. Zeit in der Einheit von Sekunde, die für die Ausführung eines HQA-Zyklus über verschiedene Netzwerkgrößen hinweg aufgewendet wurde. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 14
Abbildung 14: Ergebnisse des Hybrid-Quantum-Algorithmus, der dem Advanced Leach-Algorithmus entspricht. FND und HND oder HQA und ALA weisen ein ähnliches Plotformmuster auf. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Ergänzende Daten 1: Datensatz der drei in dieser Studie durchgeführten Versuchsgruppen. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

Der derzeitige Stand der Technik kommerzieller Quantenprozessor kann bei Rechenproblemen jeder Netzwerktopologieeingesetzt werden 1. Die Anwendung von Quantenprozessoren ist nicht durch die Anzahl der physikalischen Qbits eingeschränkt, die einer der Quantenprozessoren implementieren konnte.

Im Bereich der Verlängerung der Lebensdauer von Sensornetzwerken zeigen die Ergebnisse einen Fortschritt in der Methode, um durch den Einsatz eines Quantenprozessors eine noch längere Lebensdauer des Netzwerks zu erreichen. Die Ergebnisse deuten darauf hin, dass der Quantenvorteil sowohl im öffentlichen als auch im privaten Sektor kommerziell genutzt werden kann.

Was die Auswirkungen auf das Management betrifft, so ist Quantum Advantage in der Lage, der nächste Meilenstein zu sein, um einen vielversprechenden Weg für nachhaltigen Wohlstand im Bereich Hi-Tech in naher Zukunft zu ebnen. Aktuelles High-Tech, in Bezug auf Lernstrategie und/oder Künstliche Intelligenz (KI), erfordert in jeder Methode den Kraftantrieb, um die Daten zu verarbeiten/zu halten. Aus einer hochrangigen Perspektive von Green Globe sticht es nicht als guter Kandidat hervor16. ML/KI macht die Berechnung zwar wirtschaftlicher, bietet aber keine Lösung für die Ursachenanalyse, da effizientes Computing durch leistungsstarke Recheneinrichtungen beeinträchtigt wird. Daher sind sie grundsätzlich durch den Hochleistungsrechner (HPC) begrenzt. Quantencomputer, die das Computing-Paradigma revolutionieren, haben sich in mehreren praktischen Testanwendungen als effektiv erwiesen, wenn es darum geht, schneller als herkömmliche Computer zu rechnen17,18. Quantengestütztes ML ist für den Autor PML (probabilistisches maschinelles Lernen). Der ML-Algorithmus (Script/High-Low-Level-Programmiersprache) läuft auf einem Computergerät, das entweder ein klassischer Computer oder ein Quantencomputer sein kann. Bei Verwendung des gleichen ML-Algorithmus der ausführbaren Befehlszeilen n geben f_cc(n) den Verbrauch bei der Berechnung für klassische Computer und f_qc(n) den Verbrauch bei der Berechnung für Quantencomputer an. f_cc(n) ist eine gewichtete Summe des Rechenverbrauchs klassischer ausführbarer Computerdateien alpha_i für die n Befehlszeilen. f_qc(n) ist eine gleichgewichtete Summe des Rechenverbrauchs von ausführbaren Quantencomputer-alpha_j für die gleichen n Befehlszeilen. Die Gewichtungen bleiben unverändert, da die ML-Befehlszeilen der oberen Ebene ebenfalls identisch sind. Vereinfacht gesagt, haben diese und frühere Arbeiten1 gezeigt, dass alpha_j immer kleiner als alpha_i ist, also ist f_qc(n) immer kleiner als f_cc(n).

In Bezug auf akademische Implikationen werden zuvor etablierte Prozessoren/Computereinrichtungen konventionell verwendet, um Forschern zu helfen, ihre Ideen und Pläne zu denken/zu generieren/zu entwickeln. Quantencomputer deuten darauf hin, dass der methodische Ansatz der Forscher eine epische Entwicklung erwartet. Es könnte disruptiv sein, aber optimistisch. Von nun an müssen Forscher, die nicht an theoretisches Algorithmendesign/-analyse gewöhnt sind, Hand in Hand arbeiten, um Quantenalgorithmen zur Lösung ihres Forschungsthemas zu entwickeln/zu generieren. Die meisten Quantenalgorithmen für die praktische Forschung sind nicht leicht verfügbar. In einem Satz veränderten sich die Computergeräte der Forscher. Die Einrichtung der virtuellen Umgebung und die QPU-API sind vollständig von einer zufriedenstellenden Internetverbindung abhängig.

Zu den Einschränkungen der Studie gehören: (i) Die Link-Kapazität wurde nicht berücksichtigt1. Die Paketverlustrate wird ignoriert. Zukünftige Arbeiten werden das zugrundeliegende Sensornetzwerkprotokoll betrachten, um das Problem sowohl unter Berücksichtigung des Energieverbrauchs als auch der Verlustkontrolle (entweder mit einem Re-Transmission-Schema oder nicht) angemessen zu formulieren. (ii) Es wird davon ausgegangen, dass die Netzwerktopologie im Voraus bekannt ist. Die Knotenpositionen sind festgelegt. (iii) Die Zeit, die benötigt wird, um den hybriden Quantenalgorithmus pro Runde auszuführen, ist länger als beim Advanced Leach-Algorithmus, aber mit höherer Genauigkeit. (iv) Der Algorithmus konnte offline nicht funktionieren.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

Nichts

Acknowledgments

Die Arbeit wird vom Engineering and Physical Sciences Research Council of the UK (EPSRC) unter der Fördernummer EP/W032643/1 unterstützt.

Materials

Name Company Catalog Number Comments
Dell Laptop Dell N/A
Ubuntu 18.04.6 LTS Canonical Ltd 18.04.6 LTS
Python3.8 Python Software Foundation 3.8.0
Dwave QPU Dwave https://docs.ocean.dwavesys.com/en/stable/overview/install.html

DOWNLOAD MATERIALS LIST

References

  1. Chen, J., Date, P., Chancellor, N., Atiquazzaman, M., Cormac, S. Controller-based energy-aware wireless sensor network routing using quantum algorithms. IEEE Transactions on Quantum Engineering. 3, 1-12 (2022).
  2. Lin, H., Uster, H. Exact and heuristic algorithms for data-gathering cluster-based wireless sensor network design problem. IEEE/ACM Transactions on Networking. 22 (3), 903-916 (2014).
  3. Zhou, Y., Wang, N., Xiang, W. Clustering hierarchy protocol in wireless sensor networks using an improved PSO algorithm. IEEE Access. 5, 2241-2253 (2017).
  4. How long is the lifetime of a wireless sensor network. Seah, W. K. G., Mak, N. H. 2009 International Conference on Advanced Information Networking and Applications, Bradford, UK, , 763-770 (2009).
  5. Salahud din, M., Rehman, M. A. U., Ullah, R., Park, C., Kim, B. S. Towards network lifetime enhancement of resource constrained IoT devices in heterogeneous wireless sensor networks Sensors. 20, 4156 (2020).
  6. Wu, W., Xiong, N., Wu, C. Improved clustering algorithm based on energy consumption in wireless sensor networks. IET Network. 6 (3), 7-53 (2017).
  7. Kumar, N., Kumar, V., Ali, T., Ayaz, M. Prolong network lifetime in the wireless sensor networks: An improved approach. Arabian Journal for Science and Engineering. 46, 3631-3651 (2021).
  8. Faris, H., Aljarah, I., Al-Betar, M. A., Mirjalili, S. Grey wolf optimizer: A review of recent variants and applications. Neural Computing and Applications. 30, 413-435 (2018).
  9. Kaur, J., Arifkhan, M., Iftikhar, M., Imran, M., Haq, A. Machine learning techniques for 5G and beyond. IEEEAccess. 9, 23472-23488 (2021).
  10. Shor, P. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAMJournalonComputing. 26 (5), 1484-1509 (1997).
  11. Qabouche, H., Sahel, A., Badri, A. Hybrid energy efficient static routing protocol for homogeneous and heterogeneous large scale WSN. Wireless Networks. 27, 575-587 (2021).
  12. Farooq, M., et al. POWER: probabilistic weight-based energy-efficient cluster routing for large-scale wireless sensor networks. The Journal of Supercomputing. 78, 12765-12791 (2022).
  13. Maddams, W. F. The scope and limitations of curve fitting. Applied Spectroscopy. 34 (3), 245-267 (1980).
  14. Wang, X., et al. A dynamic opportunistic routing protocol for asynchronous duty-cycled WSNs. IEEE Transactions on Sustainable Computing. , (2023).
  15. Ismail, A. S., Wang, X., Hawbani, A., Alsamhi, S., Aziz, S. Routing protocols classification for underwater wireless sensor networks based on localization and mobility. Wireless Networks. 28, 797-826 (2022).
  16. Garcia-Martin, E., Rodrigues, C. F., Riley, G., Grahn, H. Estimation of energy consumption in machine learning. Journal of Parallel Distributed Computing. 134, 75-88 (2019).
  17. Egger, D. J., et al. Quantum computing for finance: State-of-the-art and future prospects. IEEE Transactions on Quantum Engineering. 1, 1-24 (2020).
  18. Rasool, R. U., Ahmad, H. F., Rafique, W., Qayyum, A., Qadir, J. Quantum computing for healthcare : A review. TechRxiv. , (2021).

Tags

Engineering Ausgabe 199 Routing von Sensornetzwerken Quantenprozessoreinheit Hybrid Klassischer Computer Heuristischer Algorithmus Manuskript Technischer Kontext Bedeutung Versuchsschritte Operationsablauf Illustrationen Validiert Positive Ergebnisse Netzwerktopologien Probleme zur Maximierung der Lebensdauer von Sensornetzwerken Quantenprozessor nach dem Stand der Technik Technische Probleme Quantenvorteil Machbarkeitsnachweis
Energieeffizientes Sensornetzwerk-Routing in großem Maßstab mit einer Quantenprozessoreinheit
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Chen, J. Large Scale EnergyMore

Chen, J. Large Scale Energy Efficient Sensor Network Routing Using a Quantum Processor Unit. J. Vis. Exp. (199), e64930, doi:10.3791/64930 (2023).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter