Der Memristor

Im Spiegel gab es heute einen Artikel über mögliche Weiterentwicklungen der Computertechnik. In diesem Beitrag wurde auch ein neues Bauelement erwähnt, der Memristor:
Für den Berkeley-Professor Leon Chua gibt es noch einen anderen Weg: eine Modifikation der eingesetzten Chip-Architektur. Denn die hält Chua schon seit 1971 für eigentlich unvollständig: In einer theoretischen Abhandlung beschrieb er da die Bauelemente integrierter Schaltkreise und sah dabei ein Element als notwendig, das niemals in Chips landete - den sogenannten Memristor. Chua beschrieb das Grundprinzip eines Transistors mit eingebautem Gedächtnis: Einem Halbleiterelement mit variablem elektrischen Widerstand, der seine Information (dargestellt durch die Größe des Widerstands) auch beibehält, wenn kein Strom fließt. Damit würde, vereinfacht gesagt, der Arbeitsspeicher in den Chip selbst verlegt.
Danach folgt in diesem Artikel leider nur noch Marketing-Blabla. Auch ein Googeln nach Memristor erhellt den Geist nur wenig. Einzig und allein der entsprechende Wikipedia-Artikel enthält, und auch dieser nur in einem einzigen Satz, die eigentliche Kernidee, dazu weiter unten mehr.



Anhand der Tabelle kann man erkennen, warum Chua die Möglichkeit eines vierten (passiven) Elements für elektrische Schaltungen vorhergesagt hat. Man findet zunächst die drei bereits bekannten:
  • Ohmscher Widerstand (Resistivität)
  • Kondensator (Konduktivität)
  • Spule (Induktivität)
Das vierte Feld ist dann für den Memristor (Memristivität) frei. Um die Vorhersage von Chua zu verstehen, muss man von den Gleichungen nur wenig wissen: Die Gleichungen für die vier Elemente lassen sich auf Quotienten zweier Größen zurückführen: Den magnetischen Fluss Φ und die elektrische Ladung q. Dabei wird in der oberen Zeile der Tabelle die Ableitung des magnetischen Flusses nach der Zeit (Φ mit einem kleinen Punkt über dem Symbol) verwendet. In der rechten Spalte die Ableitung der Ladung nach der Zeit (q mit einem kleinen Punkt). Dabei ist die Ableitung des magnetischen Flusses nach der Zeit die elektrische Spannung, die Ableitung der Ladung nach der Zeit die Stromstärke. Das vierte Element, der Memristor, ist also definiert als Ableitung des magnetischen Flusses nach der Ladung.

Wozu das nütze ist, erkennt man, wenn man die Herleitung unter der Tabelle verfolgt. Für den magnetischen Fluss wird der Zusammenhang zur elektrischen Spannung eingesetzt, für die Ladung der Zusammenhang zum Strom. Die zeitliche Abhängigkeit kürzt sich heraus, die Einheit des Memristors ist dieselbe wie die eines Widerstands, also Ohm. Aber dieser Widerstand ändert sich im Laufe der Zeit, wenn durch den Memristor Strom fließt! Sein Widerstand ist proportional dem Integral des Stromes über die Zeit.

Und der entscheidende Satz des Wikipedia-Artikels ist ganz versteckt:
Ein weiterer Vorteil ist es, dass der Memristor mit Hilfe von Wechselstrom ausgelesen werden kann, wobei der Speicherinhalt erhalten bleibt.
Das ist es! Man vergrößert den Widerstand des Memristors, in dem man Gleichstrom in einer Richtung durch ihn fließen lässt. Man kann den Widerstand auch wieder verkleinern, wenn man den Strom in der umgekehrten Richtung durch ihn schickt. Und mit Wechselstrom kann man später die Größe des Widerstandes ablesen, in dem man die Spannung über dem Widerstand misst. Diese Messung ändert den Widerstand nicht, weil Wechselstrom ja heißt, dass abwechselnd gleich starke Stromanteile in beiden Richtungen fließen.

Das eröffnet vollkommen neue und phantastische Anwendungsmöglichkeiten. Die mögliche Stromlosigkeit von Computerspeichern bei Nichtgebrauch ist nur eine, und vielleicht nicht einmal die wesentlichste. Man könnte z.B. Fuzzylogikschaltungen aufbauen, die in Analogtechnik realisiert sind (auf diesen Anwendungsfall zielt der Hinweis auf die Ähnlichkeit zu Synapsen im Gehirn). Und und und. Chua ist ein Genie!

Kategorie: Physik
steppenhund - 12. Mai, 21:17

Ein wesentlicher Vorteil ist da noch gar nicht erwähnt. Man könnte den Memristor auch dazu verwenden, gezielt zu vergessen.
Die Vergessensfunktion wird viel zu selten beachtet.
(Ich meine das ernst.)
Ich der KI habe ich manchmal Ansätze gefunden, aber irgendwo scheinen die alle auf halbem Weg stecken geblieben zu sein.

Köppnick - 13. Mai, 07:58

Da wird es wohl auch einen einfachen Grund geben: Die Systeme haben bisher in Umgebungen operiert, in denen die Umweltbedingungen konstant bleiben. Da wird man das Lernen entweder nach einer definierten Zeit ganz einstellen oder, wenn es niemals beendet wird, wird man jedes Lernereignis mit der reziproken Anzahl aller Ereignisse gewichten.

Technisch gesehen ist die Implementierung einer Vergessensfunktion recht einfach: Man nimmt ein rekursives Filter. Dieses gewichtet kurz zurückliegende Funktionswerte stärker als ältere. Da die Zeit eine eindimensionale Größe ist, funktioniert Rekursion systemtheoretisch recht gut.

rein technische Anwendungsfälle fallen mir auf die Schnelle nicht ein. Erst wenn Maschinen in menschlichen Umgebungen operieren, wird es interessant. Zum Beispiel sollte ein Haushaltroboter nach dem Friseurbesuch seiner Herrin irgendwann kapiert haben, dass auch die völlig verändert aussehende Dame ihm Befehle erteilen darf, nicht nur der Herr, dessen ausgeleierte Jogginghose seit 20 Jahren dieselbe ist.
steppenhund - 13. Mai, 10:34

Mein Hauptanwendungszweck wäre Performance-Steigerung beim Data-Retrieval.
Auch wenn die Suchdauer bei Binärbäumen nlog-2(n) ist, (wenn ich mich nicht irre), entstehen bei den heutigen Datenbeständen im Terabyte bereits signifikante Zeiten. Um die zu minimieren, benötigt es DB-Reorgs und im Prinzip stelle ich mir so etwas wie eine automatische Archivierungsfunktion vor, die aber, wie mir scheint, in allen betrieblichen Umfeldern, vor allem SAP, ein stiefmütterliches Dasein hat.
Köppnick - 13. Mai, 12:19

In einem Binärbaum ist die Suchdauer proportional der Baumtiefe. Und die ist bei einem balancierten Baum der Zweierlogarithmus der terminalen Knoten. Das Balancieren eines Baumes (also die Sortierung der Knoten) kostet allerdings auch eine Menge Zeit. Soweit ich mich erinnern kann, gibt es Algorithmen, die einen Kompromiss bieten zwischen der Zeit des Einsortierens und der des Auslesens. Es wird also nicht genau balanciert, sondern nur ungefähr. Den Aufwand für eine exakte Sortierung kann man nur akzeptieren, wenn wenig Neues in den Baum geschrieben, aber viel aus dem Baum gelesen wird.

Von Datenbanken habe ich keine Ahnung. Also ob dort überhaupt binär sortiert und gesucht wird oder sequentiell. Beschleunigungsmöglichkeiten sehe ich dort vor allem (da wären wir bei 'Lernen'), wenn vorhergehende Suchen und deren Ergebnisse gespeichert werden und sich Suchanfragen häufig wiederholen.
steppenhund - 13. Mai, 18:24

Entschuldige bitte, das ist zu direkt gedacht. Suchanfragen speichern wird heute auch schon gemacht.
Es geht mir um die Reduktion der Datenmengen - und das mit einem sinnvollen automatischen Algorithmus.

Trackback URL:
http://kwakuananse.twoday.net/stories/4911679/modTrackback


Kommentare hier ...

In einem Binärbaum ist die Suchdauer...
Köppnick - 13. Mai, 12:19
Ein wesentlicher Vorteil ist da noch gar...
steppenhund - 12. Mai, 21:17
Ergänzung
Gregor Keuschnig - 5. Mai, 21:58
Diagonalenproblem
Köppnick - 5. Mai, 14:12
Fehlen des besten Zuges
Köppnick - 5. Mai, 13:58
Wie man das Nash-Diagonalen-Problem löst
steppenhund - 5. Mai, 13:29