Formaler Begriff für die Energiekomplexität von Rechenproblemen


35

Computerkomplexität umfasst die Untersuchung der zeitlichen oder räumlichen Komplexität von Rechenproblemen. Aus der Sicht des Mobile Computing ist Energie eine sehr wertvolle Rechenressource. Gibt es eine gut untersuchte Anpassung von Turing-Maschinen, die den Energieverbrauch bei der Ausführung von Algorithmen berücksichtigen? Gibt es auch etablierte Energiekomplexitätsklassen für Rechenprobleme?

Referenzen sind willkommen.


1
Der Energieverbrauch ist maschinenabhängig und ein praktisches Problem, dh die in der klassischen Analyse verborgenen Konstanten sind in der Regel von Interesse (der einzige Unterschied zwischen Laufzeit und Energieverbrauch).
Raphael

6
Theoretisch können Sie reversible Schritte ohne Energiekosten ausführen. In der Praxis kann man Chips bauen, die reversible Schritte zu wesentlich geringeren Energiekosten ausführen als nicht reversible Schritte. Wie sich dies in Theorie umsetzt, ist nicht klar, aber vielleicht können wir ein Turing-Maschinenmodell definieren, das reversible Schritte zu Kosten von und nicht reversible Schritte zu Kosten von β ausführt und theoretisch über den Energieverbrauch nachdenkt. Zumindest ist es vielleicht besser, als verzweifelt die Hände hochzuwerfen und zu sagen: "Es ist alles maschinenabhängig." αβ
Peter Shor


Susanne Albers verfasste eine hervorragende Umfrage zur Kommunikation von ACM, Energieeffiziente Algorithmen. cacm.acm.org/magazines/2010/5/87271-energy-efficient-algorithms/…
Mohammad Al-Turkistany

Antworten:


28

Gibt es eine gut untersuchte Anpassung von Turing-Maschinen, die den Energieverbrauch bei der Ausführung von Algorithmen berücksichtigen? Nein!

Aber vielleicht könnten Sie sich eins einfallen lassen. Es ist möglich, dass Sie die Schritte der Turing-Maschine in reversibel und nicht reversibel unterteilen (bei den nicht reversiblen gehen Informationen verloren). Theoretisch kosten nur die nicht reversiblen Schritte Energie. Die Kosten einer Energieeinheit für jedes Bit, das gelöscht wird, wären theoretisch das richtige Maß.

Es gibt einen Satz von Charles Bennett, dass die zeitliche Komplexität höchstens um eine Konstante zunimmt, wenn eine Berechnung reversibel gemacht wird (CH Bennett, Logical Reversibility of Computation ) erhebliche Zeitverlängerung (Referenz hier) . Landauers Prinzip besagt, dass ein bisschen Löschen k T kostet der Energie ist T die Temperatur und k die Boltzmannsche Konstante. Im wirklichen Leben kann man nicht annähernd dieses Minimum erreichen. Sie können jedoch Chips bauen, die reversible Schritte mit wesentlich weniger Energie ausführen, als sie für irreversible Schritte benötigen. Wenn Sie reversiblen Schritten die Kosten von α und irreversiblen Schritten die Kosten von β zuweisen , scheint dies ein vernünftiges theoretisches Modell zu ergeben.kTln2Tkαβ

Ich weiß nicht, wie sich Turing-Maschinen mit einigen umkehrbaren Schritten auf Chips mit einer umkehrbaren Schaltung beziehen, aber ich denke, beide Modelle sind es wert, untersucht zu werden.


Peter, ich erinnere mich, dass ich in Diskussionen über Efficient Church-Turing Thesis gelesen habe, wie viel Energie für die Berechnung aufgewendet wurde. Wissen Sie, ob es eine gute Referenz zum Thema gibt? (Ich kann dies als separate Frage posten, wenn Sie das bevorzugen.)
Kaveh

4
Wenn Sie sich nur um Polynomfaktoren sorgen, wie Sie es für die Efficient Church-Turing-These tun, funktioniert alles, weil Sie mit nur einem konstanten Faktoranstieg in der Zeit eine reversible Berechnung (willkürlich kleiner Energieaufwand) erhalten können Der Raum kann nicht größer als die Zeit sein. Ich glaube, ich habe kürzlich eine gute Umfrage zu diesem Thema gesehen. Hoffentlich kann jemand es finden.
Peter Shor

Vielen Dank Peter, ich denke, ich finde es möglicherweise selbst mit Google (ich werde eine Frage posten, wenn ich es nicht finde).
Kaveh

interessante Ideen, die zu der Frage führen, inwieweit sich beliebige Algorithmen in reversible Berechnungen umwandeln lassen. Wie beim QM-Computing ist dies immer mit "Ancilla" -Bits möglich, aber das Beibehalten dieses "Kratzers" kann in einigen Fällen die Effizienz des Algorithmus beeinträchtigen, und es ist möglicherweise bisher nicht so gut verstanden, wie viel. note williams hat einige ideen zu platzsparenden reversiblen berechnungen
vzn

Selbst wenn wir einen Rechner mit umkehrbarer Berechnung haben, gibt es immer noch einige "versteckte" Energiekosten: Wenn wir eine neue Berechnung ausführen möchten, müssen wir entweder eine neue Speicherbank erstellen oder einige der zuvor geschriebenen Daten löschen, um Platz zu schaffen für die neuen Eingaben und Berechnungen. Wie wirkt sich das auf die Antwort aus? (ZB wird bei reversiblen Berechnungen normalerweise der Zugriff auf einen Abschnitt des initialisierten, "leeren" Speichers
usul

7

Es gibt noch keine Energiekomplexitätsklassen, aber es besteht definitiv ein großes Interesse daran, zu untersuchen, wie Algorithmen entworfen werden können, die unter bestimmten Modellen energieeffizient sind. Ich bin nicht mit der gesamten Arbeit vertraut, aber ein Einstiegspunkt ist die Arbeit, die Kirk Pruhs für nachhaltiges Computing leistet. Kirk ist ein Theoretiker mit Fachkenntnissen in Scheduling und Approximation und ist in letzter Zeit in diesem Bereich sehr aktiv geworden. Daher ist seine Perspektive eine gute für algorithmische Leute.

ps gabgohs ansatz zu landauers prinzip ist gut. Wenn Sie mehr über die Beziehung zwischen Energie und Information erfahren möchten, gibt es keine bessere Quelle als das Maxwell's Demon-Buch .


+1 Danke Suresh für deine Antwort.
Mohammad Al-Turkistany

5

Dies ist keine direkte Antwort, aber es gibt einige potenziell nützliche Zusammenhänge, um Programme zu zeichnen / zu erforschen, die in Anlehnung an Stay und Baez 'Arbeit zur algorithmischen Thermodynamik durchgeführt werden sollen: http://johncarlosbaez.wordpress.com/2010/10 / 12 / algorithmische-thermodynamik /

Beachten Sie jedoch, dass diese Arbeit keine tatsächlichen physischen Konsequenzen aufzeigt, sondern einen bislang rein mathematischen Zusammenhang verdeutlicht.


5

Kei Uchizawa und seine Mitautoren untersuchen die Energiekomplexität von Schwellwertschaltungen. Sie definieren es als die maximale Anzahl von Schwellwerttoren, die 1 über alle möglichen Eingänge ausgeben.

Da es sich nicht um Turing-Maschinen handelt, beantwortet dies die Frage nicht. Aber ich hoffe, dass ihre Papiere einige Ideen geben. Seine Webseite enthält Hinweise. http://www.nishizeki.ecei.tohoku.ac.jp/nszk/uchizawa/


4

Es gibt eine Rechtfertigung für die Verwendung des externen Speichermodells als Modell für energiebewusste Berechnungen. Paolo Ferragina hat dies in seinem eingeladenen Vortrag auf der ESA 2010 kurz besprochen, aber ich weiß nicht, ob es veröffentlichte Ergebnisse gibt. Die Grundidee ist, dass, wenn die Anzahl der E / As die Rechenzeit dominiert, die für diese E / As erforderliche Energie wahrscheinlich den Gesamtenergieverbrauch dominiert.

Der Bericht des Ersten Workshops zur Wissenschaft des Energiemanagements enthielt hauptsächlich Fragen und offene Probleme. Ich weiß nicht, was auf dem zweiten Workshop passiert ist , aber die Webseiten berichten, dass es eine spezielle Ausgabe von Sustainable Computing geben wird, die sich mit theoretischen, mathematischen und algorithmischen Ansätzen für nachhaltiges Rechnen befasst.


0

Hier sind einige neuere / andere Referenzen / Blickwinkel zu dieser scheinbar tiefen Frage, an der derzeit geforscht wird. Wie von P.Shor angedeutet, scheint das Gebiet bislang auf eine umfassende Umfrage, Standardisierung und / oder Vereinheitlichung zu warten. Es werden zunächst abstraktere / theoretischere Ansätze aufgeführt, gefolgt von mehr angewandten Ansätzen: energieeffiziente Algorithmen, Messung des Energieverbrauchs in mobilen Geräten zum Sortieren, Untersuchung von Faktoren in VLSI, die die Energie- / Zeitkomplexität beeinflussen.


-3

Zeit- und Raumkomplexität sind geräteunabhängig. Ich sehe keine Möglichkeit, Geräte mit hoher Energiekomplexität unabhängig zu machen.

WWW

O(Wf(n))=O(f(n))


Ich stimme diese Antwort herab, da ich denke, dass sie den Punkt verfehlt. Ich denke, es gibt eine theoretische Rechtfertigung dafür, den Energieverbrauch eines Algorithmus, der auf dem Landauer-Prinzip basiert, zu senken. Ich finde die Frage sehr vernünftig.
Gabgoh

@gabgoh Ich fürchte, jede allgemeine Untergrenze müsste Annahmen zur Homogenität treffen, die den Zweck zunichte machen würden. @TheMachineCharmer Tatsächlich können echte Prozessoren je nach Effizienz unterschiedliche Befehlsreihenfolgen haben. Positiv, obwohl Ihr zweiter Absatz mich verwirrt.
Raphael

4
Zeit und Raum sind NICHT geräteunabhängig, genauso wie Energie nicht geräteunabhängig ist. Ein einzelner Rechenschritt auf einem IBM 360 von 1970 dauert viel länger als ein einzelner Rechenschritt auf meinem Laptop. Theoretisch sollte ein reversibler Rechenschritt kostenα Energieeinheiten, während ein nicht reversibler Rechenschritt kosten sollte β Energieeinheiten, wobei die tatsächlichen Werte von α und βsind maschinenabhängig. Die Anzahl derα und βschritte hängen nur vom programm ab.
Peter Shor

1
@Konrad: gabgoh bezieht sich auf Rolf Landauer, nicht auf Lev Landau.
Peter Shor

1
@ Peter: danke für die Info. Für die Aufzeichnung habe ich jedoch über Edmund Landau gesprochen, den Erfinder der Big-O-Notation. Ich dachte, das war es, worauf sich Gabgoh mit „Landauers Prinzip“ bezog.
Konrad Rudolph
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.