Wie realisierbar wäre eine analoge Computerrevolution?

Ich versuche, eine Sci-Fi-Einstellung in einer nicht allzu fernen Zukunft zu schreiben, in der die Verarbeitung analoger Signale (in diesem Fall Gehirnwellen) einer der Hauptpunkte der Handlung ist und ziemlich erforderlich ist, um einige der Mechanismen zu erklären, die darin ablaufen das Weltall.

Die Analog-Digital-Konvertierung ist teuer und kann Daten in eine einfacher zu handhabende endliche Menge von Werten komprimieren, die im Gegenzug dazu führen würden, dass einige Informationen im Prozess verloren gehen. Das ist etwas, was ich nicht möchte, da einige der Mechanismen, die zur Entwicklung der Handlung erforderlich sind, subtile Unterschiede in den Gehirnwellen einer Person erfordern (in diesem Fall als eine Art biometrischer Schlüssel verwendet). Dieser letzte Teil kann vermieden werden, indem man einfach mehr Ressourcen auf einen normalen digitalen Computer wirft, aber das ist faul und etwas, das ich nicht will, da ein analoger Computer interessantere Details und Implikationen ermöglichen könnte.

Wie realisierbar wäre es für die Welt, wieder analog zu werden? In der Vergangenheit hatten wir analoge Computer, aber wir wechselten zu digitalen, weil sie anscheinend nicht auf Programmierbarkeit ausgelegt waren (sie waren wie ASICs) und bald wurde digital besser als analog, sodass es keinen Grund gab, zu versuchen, sich zu verbessern eine veraltete Technologie. Ebenso arbeiten die meisten unserer Telekommunikationsgeräte mit Wellen und analogen Signalen, aber sie werden an einem bestimmten Punkt des Prozesses (dh dem Modem) in digitale umgewandelt und verlieren alle Eigenschaften, die ein analoges Signal hat.

DARPA hat bereits 2012 versucht, eine analoge „Cellular Neuronal Network“-CPU (Projekt UPSIDE) für Computer Vision zu bauen, aber es gibt nicht viele Informationen darüber. Anscheinend ermöglicht es viel schnellere Geschwindigkeiten bei niedrigeren Energiekosten, auf Kosten einiger Fehler von Zeit zu Zeit und was als eine ganz andere Art der Problemlösung beschrieben wurde. Das Problem ist, dass es nichts darüber aussagt, wie programmierbar es ist (was es anscheinend ist, aber es erwähnt nicht, ob es Turing vollständig ist oder nicht). Außerdem scheint es sich um einen Hybrid-Analog-Digital-Computer zu handeln, was das Konzept war, über das ich ursprünglich nachgedacht hatte, es in meine Geschichte aufzunehmen.

Könnten wir in der Zukunft die folgenden Dinge sehen? Wie überlegen wären sie ihren digitalen Pendants? Hätten sie irgendwelche Einschränkungen?

  • Rein analoge CPU (könnten sie die Programme ausführen, die wir heute ausführen? Wären sie beispielsweise noch als PC verwendbar?)
  • Hybride Analog-Digital-CPU, wobei sie sich je nach Problemstellung ergänzen
  • Analoger RAM/Speicher. Kann digital-analog oder rein analog sein. Könnte es persistent gemacht werden, wie bei Memristoren? Wie würde das überhaupt funktionieren?
  • Wirklich analoge Telekommunikation. Ich weiß, dass sie aufgrund möglichen Signalrauschens unpraktisch sind, aber nehmen wir an, wir haben eine zuverlässige Lösung, um dies zu kompensieren, z. B. Algorithmen, die das echte Signal erkennen können
  • Holografische CPU? Sowohl digital als auch analog. Ich weiß, dass eine digitale optische CPU theoretisch realisierbar ist, aber ich habe keine Ahnung von Analog; Ich nehme an, es könnte mit Lichtfrequenz / Farbe oder so etwas arbeiten.
  • Analog orientierte Programmiersprachen. Wie würden sie sich von den Programmiersprachen unterscheiden, die wir heute verwenden, wenn überhaupt? Könnte es eine einheitliche Analog-Digital-Sprache geben, in der ein intelligenter Compiler entscheidet, ob er die analoge CPU oder die digitale CPU verwendet, ähnlich wie es die hUMA-Compiler-Optimierungen bereits tun?

Denken Sie daran, dass dieses Setting zwar überhaupt kein hartes Sci-Fi sein soll, aber es ist auch keine Fantasy-Wissenschaft. Was auch immer die Antworten sind, sie sollten in der Realität zumindest entfernt realisierbar sein, und insbesondere in den folgenden 70 Jahren oder weniger machbar sein, obwohl die Informatik immer einige Durchbrüche erzielen könnte. Es sollte kein Aufheben des Unglaubens erforderlich sein, um die Umgebung zu genießen, selbst wenn Sie sich auf diesem Gebiet etwas auskennen.

Hinweis: Ich schätze, Sie könnten einige Parallelen vom analogen Rechnen zum Quantencomputing ziehen, da beide am besten (oder nur) mit probabilistischen Algorithmen statt mit deterministischen Algorithmen zu funktionieren scheinen, aber hier geht es nicht um Quanten. Quantentechnologie existiert in dieser Umgebung, aber sie ist äußerst selten und wird nur in bestimmten Kontexten verwendet, ganz zu schweigen davon, dass das meiste davon äußerst experimentell ist und die breite Öffentlichkeit die Existenz einigermaßen brauchbarer Prototypen nicht wahrnimmt.


Bearbeiten:Genauer gesagt bestehen der Kontext und die Anwendungsfälle dieser Technologie darin, dass Benutzereingaben jetzt über eine Art Matrix von Elektroden verarbeitet werden, die in das Gehirn implantiert werden und in der Lage sind, die Gehirnaktivität/Gedanken des Benutzers zu lesen. Die Software, die die Ausgabe dieser Matrix verarbeitet, versucht bereits, die Gehirnaktivität in eine Art "universelle Gehirnsprache" umzuwandeln, die die Unterschiede zwischen menschlichen Gehirnen überdeckt, aber immer noch ein analoges/reelles Zahlen-/Wellensignal für die Feinpräzision benötigt (nicht wie in fehlerfrei, aber wie beschrieben) und hoher Durchsatz. Analoge Signale wurden gewählt, weil sich das Gehirn leicht von kleinen Fehlern und Diskrepanzen erholen kann und weil es der Funktionsweise des menschlichen Gehirns ähnlicher ist, aber aufgrund von Einschränkungen des Feedback-Systems "verzögert"

Dies ist auch der Grund, warum Computer gleichzeitig Operationen an ihrem kontinuierlichen analogen Ausgangsstrom ausführen, um die Zeit zu verkürzen, die der Benutzer auf eine Antwort wartet. Dies ist auch der Grund, warum alle Algorithmen, die direkt aus der Benutzerwelle lesen, auch gleichzeitig laufen: Es ist besser, die Welle spät zu aktualisieren, als sie anzuhalten, bis die Antwort verarbeitet ist. Darüber hinaus kann aufgrund der Natur des Gehirns ein Gedanke oder eine Gedankenfolge gelesen und vorhergesagt werden, während er gebildet wird, aber nicht bestätigt werden, bis er vollständig gebildet ist. Dieses Detail ist äußerst wichtig, da das Plotgerät auf dieser Tatsache basiert.

Stellen Sie sich den Informationsaustausch zwischen einem Computer und einem Menschen als ein normales Gespräch zwischen zwei Menschen vor (es wäre eher wie Telepathie, aber nehmen wir der Einfachheit halber an, dass sie nur miteinander sprechen).

  1. Der Computer nickt nur geduldig, während der Mensch mit ihm spricht, was ein kontinuierliches Feedback darstellt
  2. Mensch: Del...
  3. Computervorhersagen: Ich bin mir zu 85 % sicher, dass der Mensch mich fragen wird, ob ich etwas löschen möchte.
  4. Mensch: Löschen...
  5. Computer denkt: Löschbefehl bestätigt.
  6. Mensch: Datei löschen...
  7. Computervorhersagen: Ich bin mir zu 70 % sicher, dass Menschen darum bitten werden, eine einzelne Datei zu löschen. Ich bin mir zu 30% unsicher, ob Human mich auffordert, stattdessen ein ganzes Dateisystem zu löschen.
  8. Mensch: Datei /home/myUser/delt... löschen
  9. Computer denkt: Dateilöschung bestätigt. 52 Dateien, die die Kriterien FILEPATH=/home/myUser/delt* erfüllen, erkannt.
  10. Mensch: Datei /home/myUser/delta.bwave löschen
  11. Computer denkt: Dateipfad erkannt. Aufforderung zum Löschen der Datei /home/myUser/delta.bwave bestätigt. Löschen einleiten.
  12. Der Computer nickt für den Bruchteil einer Sekunde weiter, bevor er antwortet
  13. Computer: Datei erfolgreich gelöscht.

Was hier wirklich passiert ist, ist, dass der Benutzer die Löschung einer bestimmten Datei angefordert hat. Während der Benutzer seinen Satz formulierte, begann der Computer bereits mit allen notwendigen Vorbereitungen für seine Ausführung, ähnlich wie wir Menschen uns unterhalten: Wir können ein Wort anhand seines Lexems identifizieren, bevor das Wort vollständig gebildet ist, also können wir es mehr oder weniger erraten was als nächstes kommen wird, aber wir können die vollständigen Auswirkungen dieses Wortes nicht vollständig verstehen, bis wir alle Morpheme (falls vorhanden) hören. Ebenso können wir versuchen, wild zu raten, welches Wort als nächstes kommen könnte, und versuchen zu verstehen, was die andere Person uns zu sagen versucht, aber wir werden uns über die Einzelheiten nicht sicher sein, bis der gesamte Satz vollständig ist. Ebenso kann ein einzelner Satz etwas Licht in den Kontext des vorliegenden Themas werfen usw. Nachdem die Anfrage des Benutzers abgeschlossen wurde,

Dieser Punkt ist äußerst wichtig, da die Hacker der Zukunft versuchen werden, die Maschine dazu zu bringen, etwas anderes zu tun (oder sie einfach zum Stillstand zu bringen), indem sie sie mit einer Art "Punchline" überraschen, die sie überraschen kann. Da Sicherheitsprogramme gleichzeitig laufen, können sie den vollen Umfang der Benutzeraktionen erst dann wirklich verstehen, wenn es bereits zu spät ist. Stellen Sie sich das so vor, als würden Sie dem gegnerischen König über mehrere Runden hinweg eine Falle stellen: Die meisten der zuvor gemachten "unlogischen" Bewegungen beginnen in dem Moment Sinn zu machen, in dem Ihr König getötet wird. Der Absatz, in dem es um Kraniche ging, sprach eigentlich von Vögeln und nicht von Kästen, aber der Computer hätte das nie kommen sehen können, da er hauptsächlich mit Sätzen arbeitet und nicht mit Kontexten, die so groß wie ein Absatz oder kleiner Text sind; allgemein,

Um zu identifizieren, was der Benutzer zu sagen versucht, enthält eine moderne CPU ein neuronales Netzwerk, das es dem Betriebssystem ermöglicht, Wörter rückwirkend zu verstehen, nachdem es eine Reihe von Buchstaben gehört hat. Meistens wird dies durch die Verwendung von Bibliotheken und APIs von Userland-Programmen abstrahiert, obwohl sie je nach ihren Berechtigungen möglicherweise Zugriff auf den Wavestream erhalten.

Das zuvor erwähnte „biometrische Authentifizierungssystem“ arbeitet tatsächlich auf großen Segmenten des Streams. Da die automatische Konvertierung in die "universelle Gehirnsprache" die Varianz zwischen den Gehirnen der Benutzer reduziert (nicht entfernt!), ist es unmöglich, einen Benutzer allein anhand dieser Unterschiede zu identifizieren (ganz zu schweigen von dem, obwohl kleinen, aber zufälligen Rauschen der Leitung). , wäre ein solcher Detaillierungsgrad unmöglich). Aus diesem Grund arbeitet die Benutzerauthentifizierungssoftware mit einem größeren Satz von Gedanken: Sie erkennt den ungefähren Geisteszustand des Benutzers (aufgeregt, wütend, entspannt usw.) und „Manierismen“, die er möglicherweise hat. Dies entspricht mehr oder weniger dem Akzent, den eine Person haben kann, oder der stilometrischen Analyse ihrer Texte: Sie identifiziert sie mit einem hohen Maß an Genauigkeit, ist aber nicht unfehlbar.

Diese "universelle Gehirnsprache", von der ich spreche, wäre mehr oder weniger wie jede menschliche Sprache (wie Englisch). Es verschlüsselt Informationen, damit jeder sie verstehen kann, aber es ist nicht digital, weil die Art und Weise, wie Sie sprechen, möglicherweise etwas mehr über Ihre Botschaft aussagt, als die Sprache ausdrücken kann. Das bedeutet, dass der Benutzer im Konversationsbeispiel möglicherweise daran denkt, als Symbol A mit dem Änderungsfaktor B zu löschen, während die Software es in das Symbol X mit dem Änderungsfaktor Y übersetzt (was gleich B sein kann, obwohl ich nicht daran gedacht habe das noch. Ich glaube nicht, dass es wirklich wichtig ist). Der Änderungsfaktor sagt dem Computer, dass Sie nicht nur ans Löschen gedacht haben, sondern dass es sich auch so anhört, als wäre der Benutzer etwas verzweifelt oder wütend: Es sind analoge Metadaten, die schwer ins Digitale zu übersetzen wären, ohne ihre Bedeutung abzuschlachten. Hier versuchen die neuronalen Netzwerke der CPU zu erraten, was diese Metadaten bedeuten, ähnlich wie ein Mensch versuchen würde zu erraten, was dieser Tonfall bedeutet; es kann leichter zu erraten sein, wann der modifizierende Faktor stärker ist.

Was ich ursprünglich mit dieser Frage gemeint habe, ist: Wie könnte die CPU diese Gehirnwelle verarbeiten? Könnte eine Technologie direkt auf dieser Welle durch die Verwendung von analogen Betriebsprogrammen arbeiten oder wäre eine Umstellung auf digitale für alle Fälle erforderlich? Beachten Sie, dass die CPU über einen digitalen Coprozessor verfügt, der die Probleme verarbeiten kann, bei denen der analoge Computer nicht so gut verarbeiten kann, obwohl die Kommunikation zwischen diesen beiden etwas langsamer sein kann, ebenso wie die Übertragungen vom Speicher zum On-Die-Cache langsam sind. Könnte die analoge CPU eine universelle Turing-Maschine sein, unabhängig davon, wie praktisch das sein könnte? Alternativ, falls dies nicht der Fall ist,Wäre eine analoge Emulation auf einer digitalen CPU (emulierte neuronale Netzwerksimulationen, wie eine partielle Gehirnsimulation) die einzige Möglichkeit, dieses Problem anzugehen? Könnten außerdem Informationen über eine Welle irgendwo persistent gespeichert werden? Könnte die gespeicherte Welle tatsächlich als Welle und nicht als "Parametrisierung" einer Welle gespeichert werden?

Willkommen auf der Website. Es ist eine etwas große Frage, ich hoffe, das hat geholfen. Vielleicht möchten Sie das Tag „Hard Science“ hinzufügen und dies in 2 oder 3 separate Fragen aufteilen
@sdrawkcabdear Danke! Ich war mir nicht sicher, ob ich die Frage als harte Wissenschaft kennzeichnen sollte oder nicht, da die Beschreibung des Tags besagt, dass alle Antworten mit kalten, harten wissenschaftlichen Fakten und Zitaten / Demonstrationen untermauert werden sollten, was ziemlich schön wäre cool, aber nicht wirklich notwendig für diese Frage.
Diese Frage ist zu groß. Brechen Sie es auf, wenn Sie bessere Antworten wollen.
Sie sollten einen Blick auf Quantum Computing werfen.
Sie sollten sich die Bausteine ​​für analoge modulare Synthesizer ansehen. Diese bestehen aus mehreren Modulen, die jeweils eine bestimmte Funktion an einem analogen Signal ausführen und die durch andere analoge Steuersignale gesteuert und verändert werden. Sie führen im Wesentlichen Mathematik mit Funktionsgeneratoren und Filtern durch. Könnte für Inspiration sorgen. Was die Vervollständigung von Dateipfaden angeht, die es in der volldigitalen Unix-Welt seit Jahrzehnten gibt, drücken Sie einfach immer wieder die Tabulatortaste für den denkenden Teil des Computers. Und ja, es wird oft ausgenutzt, normalerweise durch Fehler im Zusammenhang mit dem Konzept „wo wir gerade sind“.
Ich frage nur, ob man die Geschichte irgendwo nachlesen kann?
Ich möchte nur anmerken, dass Sie eine sehr falsche Vorstellung von der Geschichte der Rechen- und Kommunikationsmaschinen haben. Wir sind von analog zu digital (oder analog zu diskret bei der Kommunikation) übergegangen, nicht wegen der Programmierbarkeit, sondern wegen der Verbesserungen des Signal-Rausch-Verhältnisses. Technisch gesehen ist die meiste KI analog, obwohl dieses analoge System auf digitalen Computern implementiert ist.
Die Sache ist die, moderne Computer müssen nicht analog sein. Ein moderner Computer stellt Daten als 64-Bit-Integer dar. Es sind spezielle Register verfügbar, die sogar bis zur Darstellung einer 512-Bit-Ganzzahl reichen (XMM-Register). Die Datenmenge, die eine 512-Bit-Ganzzahl übertragen kann, ist riesig . Kein analoger Computer könnte genau genug sein, um Spannungsänderungen mit einer Empfindlichkeit von 2^-512 oder sogar einer Empfindlichkeit von 2^-64 zu erkennen. Moderne digitale Computer können analoge Berechnungen einfach besser simulieren als ihre wirklich analogen Gegenstücke.
"Nehmen wir an, wir haben eine zuverlässige Lösung, um dies zu kompensieren, z. B. Algorithmen, die das echte Signal erkennen können." Dann haben Sie per Definition digitale Kommunikation. Oder ein telepathischer Algorithmus, der ohne ein fehlerverursachendes Medium zwischen ihnen direkt auf den Zustand des sendenden Geräts zugreifen kann.

Antworten (11)

Ich spiele sehr gerne mit diesem Thema, also werde ich die Frage auf den Kopf stellen. Jeder Computer, der heute hergestellt wird, ist ein Hybrid-Analog/Digital-Computer, den Sie vielleicht nicht kennen!Moderne Taktraten sind so unglaublich schnell, dass wir mitten in unseren vermeintlich digitalen Geräten analoge Signalkonditionierung durchführen. Moderne Speichersubsysteme verwenden analoge Techniken, um so viele digitale Bits wie möglich durch die Leitung zu kurbeln. Physische Leiterbahnen entlang der Platinen werden so verlegt, dass sie die gleiche Länge wie andere Drähte auf dem Bus haben, und sind Strukturen, die analoge Übertragungsleitungen auf dem CB leiten. CPUs müssen sich regelmäßig mit dem Anstieg der parasitären Kapazität zwischen ihren Logikelementen befassen, wodurch das "Fanout" eines Ausgangs auf mehrere Eingänge begrenzt wird. Gigabit-Ethernet ist tatsächlich auf die analoge Überlagerung von Spannungen angewiesen, um seine extremen Geschwindigkeiten zu erreichen. Analog taucht überall in der Computertechnik auf, also ist es eindeutig nicht die Hardware, über die wir sprechen, wenn wir über analog vs. digital sprechen.

Ich denke, die wichtigere Unterscheidung zwischen der analogen und der digitalen Welt findet sich in unseren Modellen dieser Computer-Subsysteme. Es ist nicht so, dass eine CPU nicht analog/digital gemischt ist, sondern die Tatsache, dass wir unsere CPUs so modellieren , als wären sie rein digital, was wirklich wichtig ist. Wir tun gerne so, als wären unsere CPUs perfekte digitale Strukturen, wenn wir Tausende von Codezeilen schreiben, die darauf ausgeführt werden sollen. Die Kluft zwischen analog und digital ist eher in den Köpfen der Entwickler als in der eigentlichen Hardware. Die Hardwarehersteller haben den analogen Teil ihrer Arbeit längst angenommen.

Dementsprechend würde die Realisierbarkeit von "analogem" Rechnen stark auf dem Wunsch von Programmierern beruhen, Fragen zu beantworten, die am besten analog gehandhabt werden. Ist der Wunsch erst einmal da, werden ihnen die Hardware-Hersteller gerne analoges Verhalten aussetzen. Dann würde das langsame Schleifen in Richtung nützlicher analoger Verhaltensweisen beginnen (hier passt die DARPA-Bemühungen hinein).

Wann ist also ein analoges Modell sinnvoll? Die wichtigste Antwort, die mir einfällt, ist Metastabilität. Digitale Schaltungen lösen wirklich gerne für jedes Bit an Informationen entweder einen wahren oder einen falschen Zustand auf. Wenn Sie vielen digitalen Logikschaltungen eine Spannung auf halbem Weg zuführen, können Sie tatsächlich in trippige metastabile Zustände eintreten, in denen die Schaltung tatsächlich für eine beliebige Zeit aufhören kann, sich wie beabsichtigt zu verhalten, nachdem die Spannung auf halbem Weg aufgelöst wurde. Auf der Hardwareebene verbringen wir viel Zeit damit, unsere Logikschaltungen daran zu hindern, jemals die metastabilen Punkte zu "sehen", wenn die Spannungen von niedrig nach hoch schwingen, wobei wir normalerweise "Taktung" verwenden, um dies zu tun.

Wo wäre das sinnvoll? Eine Sache, die Sie erwähnt haben, war Energie. Analoges Rechnen kannenergieeffizienter sein als digital, weil es sein Signal-Rausch-Verhältnis an den Moment anpassen kann. Stellen Sie sich eine digitale Zahl vor, in Binärform, 100001. Dies ist die Zahl 33 in Dezimalzahl. Wenn das ganz linke Bit durch Rauschen beschädigt wird, wird es zu 000001, was dezimal 1 ist. Wenn das Bit ganz rechts durch Rauschen beschädigt wird, wird es 100000, was 32 dezimal ist. In manchen Situationen ist der Unterschied in der semantischen Bedeutung von 33 und 32 ziemlich gering, und Sie sind möglicherweise bereit, einen Fehler im Bit ganz rechts zu akzeptieren, um dafür effizienter zu sein. Möglicherweise sind Sie weniger bereit, einen Fehler im Bit ganz links zu akzeptieren, das 33 in 1 ändert. Wenn diese 33 jedoch in einer Gleichung enthalten ist, sagen wir vielleicht 33 - 32, macht diese Subtraktion plötzlich alle Bits wichtig. Der Unterschied zwischen einer 1 oder einer 0 aus dieser Subtraktion könnte eine sehr große Sache sein! Digitale Modelle können eine solche Entscheidungsfindung nicht umsetzen, weil sie dafür ein analoges Modell darunter zulassen müssten. In der Zwischenzeit hat Ihr Verstand kein Problem damit, einen Zentimeter daneben zu sein, wenn Sie mit der Hand von links nach rechts winken, um sich von jemandem zu verabschieden, und dann die Präzision erhöhen, um etwas leserlich zu schreiben.

Dies wäre sehr leistungsfähig, wenn Sie mit sehr komplizierten parallelen Operationen zu tun haben. Wenn derzeit zwei Prozesse versuchen, unterschiedliche Werte an dieselbe Stelle zu schreiben, müssen sie „entkonfliktet“ werden. Einer muss gewinnen, der andere muss verlieren. Der Vorgang geschieht im Handumdrehen, viel schneller, als es beiden Prozessen bewusst war. Was wäre jedoch, wenn Ihre beiden Prozesse intelligenter sein und ihre Unterschiede tatsächlich durchsprechen wollten, um zu bestimmen, wie das Endergebnis aussehen könnte? Dies wäre eine natürliche Operation in einem analogen Computer. In einem digitalen Computer müssen wir viele Hürden durchlaufen, um dies zu erreichen (und normalerweise entscheiden wir uns einfach dafür, den „Rennfall“ in seiner Gesamtheit zu beheben und weiterzumachen).

Ein letzter Punkt der Metastabilität ist seine Fähigkeit, still zu sein. Ein Schaltkreis, der sich in seinem metastabilen Zustand befindet, kann bereit sein, bei der geringsten Empfindung zum Leben zu erwachen. Dies ist in digitaler Form schwierig, da die Lücken zwischen niedrigen und hohen Signalen so groß sind. Normalerweise müssen wir digitale Schaltkreise kundenspezifisch anpassen, um diese schnellen Feuersignale weiterzuleiten, während ein analoger Computer sie möglicherweise bei allen Signalen intrinsisch handhabt. Wenn ein Computer anhält, muss er in einem festen Zustand anhalten. Die Berechnung wird beendet. Ein analoger Computer kann stattdessen den Energieverbrauch immer weiter senken und in Richtung eines ausgeglichenen Zustands fahren, ohne wirklich zu stoppen. Wenn der Computer dann fortgesetzt wird, hat er möglicherweise tatsächlich etwas erreicht, während er gestoppt wurde!

Nun, ist das nicht eine Wendung! Das ist großartig. Ich denke, alles, was wir brauchen, ist eine Änderung der Denkweise in der Art und Weise, wie Entwickler ihre Lösungen für Probleme entwickeln, was durch einen Durchbruch in der Benutzerfreundlichkeit analoger Schnittstellen erreicht werden könnte (analoge Programmiersprachen werden mehr wie "traditionelle" Programmiersprachen). Dieser Durchbruch könnte durch den Paradigmenwechsel in der Art und Weise, wie Benutzer mit ihren Computern interagieren, durch die Einführung zuverlässiger Gehirn-zu-Computer-Schnittstellen erzwungen werden.
Ich würde alles, was eine diskrete Quantisierung und Regeneration beinhaltet, als "digital" betrachten. Möglicherweise müssen Sie verschiedene analoge Techniken verwenden, um verschiedenen unerwünschten parasitären Effekten entgegenzuwirken, aber wenn das Signal letztendlich so verarbeitet wird, dass Rauschen unterhalb eines bestimmten Pegels vollständig eliminiert wird, würde ich es als digitales System betrachten .
@supercat Deshalb sage ich: "Die Kluft zwischen analog und digital ist mehr in den Köpfen der Entwickler als in der tatsächlichen Hardware." Die Definition von „letztlich verarbeitet werden“ liegt in den Köpfen der Entwickler. Betrachten Sie als Beispiel ein DSL-Modem, das ständig das analoge SNR seiner Kanäle überwacht und Anpassungen vornimmt. Es lässt das analoge Signalrauschen nie ganz los, aber es vermittelt die Illusion einer rein digitalen Schnittstelle zum Computer. Die Hardware hat das Analoge nie aufgegeben, nur der Entwickler hat es getan.
Und es wird schwieriger, wenn das DSL-Modem bereit ist, SNR-Daten an den Computer zu liefern, und es basierend auf diesen SNR-Daten Entscheidungen darüber trifft, wie viele Daten übertragen werden sollen ...
@CortAmmon: Ein Modem nimmt sein eingehendes Signal und quantisiert es auf einen bestimmten Pegel. Die Quantisierung wird im Allgemeinen fein genug sein, dass die unteren Bits etwas unvorhersehbar von dem ideal erwarteten Wert abweichen, aber jede mögliche Folge von Abtastwerten definiert eine Hüllkurve, so dass jedes mögliche Signal, das innerhalb der Hüllkurve bleibt, von keinem anderen zu unterscheiden ist.
@supercat Ja, Sie haben das idealisierte Modem in Gegenwart von idealisierten Fehlern aus der Perspektive eines Entwicklers beschrieben, der an den Daten interessiert ist, die er auf der CPU verarbeiten wird. Sie können gerne glauben, dass die von uns verwendeten Computer so idealisierte Geräte sind, wie Sie möchten. Die Kluft zwischen analog und digital ist eher in den Köpfen der Entwickler als in der eigentlichen Hardware.
@CortAmmon: Die vom ADC gemeldeten Werte können aufgrund analoger Faktoren beschädigt sein, aber letztendlich werden sie in Zahlen umgewandelt und als solche verarbeitet. Eine Spannung, die genau 1/4 sein sollte, könnte als 01000000 oder 00111111 oder vielleicht als 01000001, 01000010, 00111110 oder 00111101 angezeigt werden, aber sie wird nicht als 0100000½ oder schlimmer als 0½½10000 angezeigt. Letztendlich trifft das Signal auf einen ADC, der es quantisiert; Alles, was feiner als die Quantisierungsauflösung ist, erhöht entweder den Messwert auf den nächsthöheren/niedrigeren Wert oder wird vollständig ignoriert – es gibt keine Möglichkeit „dazwischen“.
Abgestimmt, diese Antwort ist sachlich falsch. Es gibt eine klare Unterscheidung, wie Supercat zu erklären versucht, und zwar, dass die Empfangshardware bei einem digitalen Signal Annahmen darüber treffen kann, was das Signal sein sollte, z es war beabsichtigt. Digitale Signale werden regeneriert, wodurch Fehler beseitigt werden. Analoge Signale können dies nicht sein, da der Empfänger nicht weiß, welchen Wert der Sender senden „beabsichtigt“ und welchen Teil des Signals fehlerhaft ist.
@JanKanis Was ist Ihrer Meinung nach der Unterschied zwischen dem "Regenerieren" eines digitalen Signals und einem entschieden nichtlinearen analogen Betrieb?
@CortAmmon Regeneration diskretisiert das eingehende Signal in zB 0 oder 1, mit einem Schwellwert irgendwo dazwischen. Dadurch werden kleine Fehler eliminiert. Der entscheidende Unterschied zwischen einem digitalen und einem analogen Signal besteht darin, dass Sie kleine Fehler eliminieren können. Bei einem kontinuierlichen Betrieb (linear oder nicht, sagen wir 𝓍² oder Logarithmus) bleibt jeder Fehler bestehen. Wenn Sie eine Diskretisierungsoperation auf ein analoges Signal anwenden, wandeln Sie es entweder in ein digitales um oder behandeln es als digital.
@JanKanis Ich bin mir des Unterschieds bewusst und weiß, wo er fehlschlagen kann, wenn Sie nicht aufpassen (z. B. wenn Sie eine zu hohe Taktrate haben). Wenn Sie davon sprechen, dass das Signal eine 0 oder 1 ist, dann denken Sie natürlich bereits digital und arbeiten über dem Niveau all dieser analogen Komponenten, sodass Sie immer feststellen werden, dass digital anders ist als analog. Sie müssen einen Schritt tiefer in die Transistoren eintauchen, wo Sie feststellen, dass der lineare Bereich und der Schaltbereich nur Teil eines größeren kontinuierlichen Spektrums nichtlinearer Verhaltensweisen sind.
Der Unterschied besteht darin, ob man sich das Rechnen als eine digitale Aktivität vorstellen und somit den nichtlinearen Verstärkungen in diskreten Begriffen eine Bedeutung geben möchte, oder ob man sich das Rechnen als eine analoge Aktivität vorstellen möchte. Wir werden verschiedene Schaltungen bauen, die zueinander passen, aber alle arbeiten nach den Prinzipien der Physik, die von Natur aus analog sind.
Entschuldigung, ich meinte 0 oder 1 Volt, wie in meinem ersten Kommentar. Ein Computer behandelt seine Eingänge als digitale Signale, was bedeutet, dass er kleine Variationen in den Eingangssignalen entfernt/ignoriert. Sicher, im Inneren laufen alle möglichen kontinuierlichen Prozesse ab, aber das macht einen Computer noch lange nicht analog. Sie können sich einen Computer beliebig als teilweise analog vorstellen, aber das ändert nichts an der Art und Weise, wie ein Computer ein Signal behandelt, also ist es nicht in Ihrem Kopf. Es gab auch analoge Computer, wobei der entscheidende Unterschied darin bestand, dass eine kleine Variation der Eingaben auch eine Variation der Ausgabe verursachte.
Die Physik ist analog (oder genauer gesagt kontinuierlich), daher muss jeder digitale Computer aus kontinuierlichen Komponenten und Prozessen aufgebaut sein. Wie sieht Ihrer Definition nach ein vollständig digitaler Computer aus?

In der Zukunft könnten Sie einen Durchbruch bei der Entwicklung analoger Computer erzielen, die die Funktionen und die Effizienz eines menschlichen Gehirns emulieren . Ähnlich wie heute ein digitaler Computer mit einer spezialisierten GPU für Grafiken gekoppelt ist, hätte das analoge Gehirn einen digitalen CPU-Co-Prozessor, um die Dinge zu bewältigen, in denen digitale Computer gut sind. Im Wesentlichen hätten Sie eine Sache, die die Dinge tun könnte, in denen Menschen gut sind (Mustervergleich, Schätzung), die auf eine Sache verweisen können, in der Computer gut sind (sehr schnelle, sehr präzise Mathematik).

Stellen Sie sich einen Roboter vor, der nicht nur über Politik debattieren, sondern dabei auch die Recherchen und Statistiken durchführen könnte, die zum Abwägen ihrer Entscheidungen erforderlich sind.

Sie können zwei Merkmale von analogem vs. digitalem Computing in Ihrer Welt nutzen: Hitze und Präzision vs. Genauigkeit. Und bauen Sie auf unserem jahrzehntelangen Versagen auf, KI mithilfe digitaler Computer zu erreichen, etwas, von dem wir seit den 60er Jahren das Gefühl haben, an der Schwelle dazu zu stehen. Ich stelle mir eine Welt vor, in der, da Computer immer mehr in den Alltag integriert werden, Maschinen mit menschenähnlichem Denken immer wichtiger werden und analoge Computer darin besser sind.

Menschliche Gehirne unterscheiden sich in einigen wichtigen Punkten von digitalen Computern. Digitale Computer müssen von Menschen entworfen, verstanden und gebaut werden, und Menschen mögen einfache, ordentliche Dinge. Das menschliche Gehirn hat sich über Hunderte von Millionen Jahren von Versuch und Irrtum entwickelt und hat keine solche Zurückhaltung. Infolgedessen kann das menschliche Gehirn Dinge auf überraschende Weise tun. Digitale Computer werden von Menschen gebaut, um einfach zu sein , sie kombinieren viele, viele von wenigen grundlegenden Teilen auf neuartige Weise. Das menschliche Gehirn ist sehr, sehr, sehr komplexTausende von spezialisierten Neuronen werden verwendet, die jeweils mehrere spezialisierte Aufgaben erledigen und auf überraschende Weise wiederverwendet und neu kombiniert werden. Das Ergebnis ist ein digitales Gehirn, das vorhersehbar und präzise ist, aber auf Kosten von Flexibilität und Effizienz, während ein menschliches Gehirn unberechenbar und schlampig, aber sehr flexibel und sehr effizient ist.

Ihre zukünftige Gesellschaft wird einen Grund brauchen, um von Präzision und Vorhersagbarkeit zu Flexibilität und Effizienz überzugehen.

Digital Computing macht eines wirklich gut: Es berechnet sehr präzise, ​​sehr vorhersagbar und sehr schnell eine bestimmte Teilmenge von Problemen . Bei anderen Problemen wird es erschreckend langsam sein. Es wird genau das tun, was Sie ihm sagen, und das ist alles, was es tun wird . Und wie wir alle wissen, fällt es digitalen Computern sehr schwer, etwas Neues zu lernen oder damit umzugehen. Wie wir alle wissen, ist es selbst für eine gute KI sehr einfach, ein überzeugendes Gespräch zu führen.

Das menschliche Gehirn, ein analoger Computer, ist manchmal sehr präzise ( einen Baseball schlagen ), manchmal sehr schlampig (Mathematik und Statistik), manchmal sehr schnell (Baseball und Schätzung), manchmal sehr langsam (präzise Mathematik), aber es wird Ihnen etwas geben eine Antwort. Und es kann einige Probleme viel, viel schneller und zuverlässiger lösen als ein Computer, zum Beispiel Computer Vision, Pfadfindungsprobleme und Mustererkennung. Es macht alles sehr, sehr, sehr effizient und kann sie alle bewältigen . Es ist ein wirklich universeller Computer. Dasselbe Gehirn, das einen Fastball schlagen kann, kann rechnen, ein Gespräch führen, über Hindernisse rennen und eine Mahlzeit kochen.

Das menschliche Gehirn ist extrem effizient und wir können es bei weitem nicht nachahmen, wozu es fähig ist. Nehmen wir zum Beispiel das Human Brain Project . Professor Steve Furber von der University of Manchester hat dies zu seinem Versuch SpinNNaker zu sagen .

Mit 1.000.000 [ARM]-Kernen erreichen wir nur etwa 1 % der Größenordnung des menschlichen Gehirns.

Der ARM968, den sie verwenden, ist nicht gerade erstklassig, der Nintendo DSi verwendet einen mit 133 MHz, aber er zeigt, wie wichtig Parallelität und Wärmemanagement in modernen Computern sind und wie schlecht wir darin sind.

Hier sind ein paar Computerphile- Videos zu diesem Thema.

Das menschliche Gehirn kann tatsächlich extrem ineffizient sein, wenn es um Gehirne geht. Denken Sie an Papageien und Krähen. Alex der Papagei hatte die sprachlichen Fähigkeiten eines menschlichen Kleinkindes. Google "das Mädchen, das Krähen füttert" nach den wilden Krähen, die ihre Gaben so gut sie können erwidern und ihr glänzende Fundstücke bringen. Sowohl diese als auch viele andere Beispiele laufen auf Gehirnen, die kleiner als Walnüsse sind. Papageien und Krähen gehören zu den wenigen Arten, die den Spiegeltest auf Empfindungsfähigkeit bestehen.
@nigel222 Die Effizienz wird hier mit digitalen Computern verglichen.

Tatsächlich habe ich in meinem "Gap Year" um 1968 bei Redifon (dem industriellen Arm von Rediffusion, einem avant-le-lettre-Kabelunternehmen) an analogen Computern gearbeitet.
Ich schätze, diese waren (damals) ziemlich hochmodern, aber sie waren nicht das, woraus eine Seidengeldbörse gemacht ist.
Ich kann keine Bilder finden, aber zum Programmieren mussten Kabel in ein Patchboard von etwa 100 cm x 80 cm mit vielleicht 50 x 40 Steckdosen gesteckt werden. Ein vollständiges Problem kann 100-400 Kabel umfassen (denken Sie daran ), ganz zu schweigen von mehreren Dutzend Seiten mit Notizen.
Sobald ein Programm funktionierte, gab es in Echtzeit Antworten auf Variationen von Eingaben oder Parametern, mit einer Geschwindigkeit und Genauigkeit, die die digitale Welt erst um das Jahr 2000 (30 Jahre später!)
Das Debuggen war ein Problem (es gab keine Möglichkeit, Variablen zu verfolgen); und Stabilität war eine andere: Wenn einer der Operationsverstärker (JFET-Eingänge, bipolare Ausgänge) instabil wurde, wurde der gesamte Computer zu dem, was wir einen "Weihnachtsbaum" nannten, bei dem alle Überlastungslampen blinkten.

Also deine Fragen: analog CPU: vergiss es.
hybrid CPU: keine Ahnung.
analog/RAM storage: theoretisch möglich mit [Super]-Kondensatoren, aber nicht sehr praktisch.
Analog-oriented programming languages: Ich kann wirklich keine Brücke zwischen den Drähten auf einem Patchpanel und dem modernen Konzept der Programmierung erkennen.

Wenn Sie in Ihrer Geschichte das echte Leben parallelisieren möchten, sollten Sie besser Analog-Digital-Wandler verwenden und so viele Bits haben, wie Sie brauchen, um die feinsten Emotionen einzufangen.

FPGA gibt einen Hinweis darauf, wie eine analog orientierte Programmiersprache aussehen würde. Die FPGA-Programmierung beinhaltet die Beschreibung von Verbindungen zwischen Ein- und Ausgängen von Logikgattern, es ist so ziemlich ein Programmieräquivalent zu einem Bündel von Kabeln, die verschiedene Elemente verbinden. Ersetzen Sie digitale Logikgatter durch analoge Elemente und der Rest des Programmierschemas sollte gelten.

Sie wurden schon einmal ausprobiert und sind schlechter als digital.

MOSFET VS BJT Die Kernkomponente von CPU und Speicher sind also elektrische Schalter, die als Transistoren bezeichnet werden. Es gibt zwei Haupttypen, digitale MOSFET-Transistoren und analoge Bipolartransistoren. Der Grund, warum Computer digital sind, liegt darin, dass MOSFETS viel besser sind. Analoge Schaltungen werden nur verwendet, wenn die Schaltung analog sein muss.

MOSFETS haben einen stärkeren Leistungseffekt, da sie nur dann Strom verbrauchen, wenn sie BJTs schalten, verbrauchen sie Strom, wenn die Maschine eingeschaltet ist. MOSFETs können viel kleiner gemacht werden, ohne Fehler einzuführen, da sie kleinere Leckströme haben. Das bedeutet, dass Sie 100 oder 1000 MOSFETs für den gleichen Leistungsraum und die gleiche Wärme eines BJT erhalten können.

  • Analoge CPU- und RAM-Versuche wurden mit mehrstufiger Logik durchgeführt, sie waren weniger effektiv als nur digitaler

  • Es gibt hybride analoge digitale Prozessoren, die normalerweise analoge Eingaben in digitale Prozesse umwandeln und dann wieder in analoge Ausgaben umwandeln. Schauen Sie sich Mikrocontroller wie den Arduino an.

  • Aktuelle Computer simulieren analoge Zahlen mit Gleitkommazahlen und haben spezielle digitale Prozessoren zum Simulieren von Gleitkommaoperationen. Wenn analoge Prozessoren besser würden, könnten sie Fließkommaeinheiten in aktuellen CPUs ersetzen.

Theoretisch enthält ein analoger Datenpunkt unendlich viele Informationen, wenn er mit unendlicher Genauigkeit gemessen werden kann, seine 1,23245 ... Volt, die Dezimalstellen gehen theoretisch ewig weiter. Aber wir können diese Punkte niemals verwenden, weil es zufälliges, unvorhersehbares Rauschen gibt. Ein großer Teil der Elektrotechnik versucht, mit Rauschen fertig zu werden. Da das Rauschen einige der Informationen nutzbar macht, warum nicht einfach mit einem kleineren, weniger verrauschten Datensatz beginnen. Die Informationstheorie zeigt, dass das Entfernen von zufälligem Rauschen aus einem Signal ein wirklich schwieriges Problem ist, es sei denn, Sie kennen das ursprüngliche Signal bereits.

Optisch ist cool, aber immer noch 1000x zu groß und 1000x zu langsam, um mit Standard-CPUs mithalten zu können. Ich sollte dies nur ins rechte Licht rücken. Eine aktuelle CPU hat etwa 3 Milliarden Transistoren, die eine Milliarde Mal pro Sekunde umschalten. Ein Hauptanliegen beim Design ist, dass Elektronen genug Zeit haben müssen, um den Chip zwischen den Schaltern zu überqueren, und weil sie sich nur mit der Geschwindigkeit bewegen von Licht legen sie in dieser Zeit nur ein oder zwei Zoll zurück. Das Ganze kann unter dreißig Dollar kosten. Es ist schwer, damit zu konkurrieren.

Die Verwendung einer analogen FPU als Ersatz für unsere aktuelle FPU könnte funktionieren. Was ich verlange, ist schließlich eine willkürliche Genauigkeit des Signals, die eine reelle Zahlen-/analoge Verarbeitungseinheit erfordern würde. Ich weiß, dass es Bibliotheken gibt, die dies emulieren, aber das Problem, das sie haben, ist, dass sie langsam und ineffizient sind, weshalb das Projekt UPSIDE durchgeführt wurde. Die Idee hinter dem Projekt UPSIDE und der analogen CPU dieses Universums ist, dass neuronale Netzwerke in der Lage sein sollten, zu erkennen, was ein analoges Signal zu sagen versucht, was später als digitaler Code interpretiert werden kann. Natürlich werden ab und zu Fehler gemacht.
Wie würde die Telekommunikation außerdem mit digitalen willkürlichen Präzisionsübertragungen funktionieren? Soweit ich weiß, sollten sie linear sein, was das Programm zum Stillstand bringen könnte, während es auf die Übertragung der nächsten Nummer wartet, was ich nicht möchte. Die Übertragung sollte so schnell wie möglich erfolgen, vielleicht sogar fast augenblicklich.
Wenn es analoge Übertragungen mit beliebiger Präzision gäbe, hätten wir eine unendliche Bandbreite. Beim Senden von 1 Datum könnte es Tonnen von Informationen enthalten, sodass wir anstelle von 100 MB Billionen senden könnten.
@ a1901514 Das Gehirn zu emulieren ist eine großartige Idee, eine Menge Gedanken zum Umbruch sind von künstlichen neuronalen Netzwerken gekommen, die auf digitaler Hardware laufen. Aber das Gehirn hat auch viel Rauschen, also ist es auch nicht auf Präzision angewiesen, jedes Neuron hat eine endliche Anzahl von Zuständen, so dass es digital gemacht werden kann. Der wirkliche Unterschied besteht in der Gestaltung der Form des Netzwerks und der Tatsache, dass Neuronen viel energieeffizienter sind, weil sie sich abschalten, wenn sie nicht verwendet werden. Siehe science.sciencemag.org/content/345/6197/668.full für den Versuch eines Gehirnnetzwerks.
Die Idee wäre, dass, während analoge Signale die Bandbreite stark verbessert haben, Rauschen und Benutzerausgabegeschwindigkeit (denken Sie an Tastendrücke aus dem Gehirn) die maximale Geschwindigkeit begrenzen, die Telekommunikation erreichen kann: Sie IST viel schneller, aber nicht sofort. Der Algorithmus, der die Eingabe interpretiert, müsste sich auf vorherige Eingaben verlassen, um sich selbst im laufenden Betrieb zu kalibrieren und zu verstehen, wie das tatsächliche Signal-Rausch-Verhältnis ist und wie genau die empfangenen Daten sind, um tatsächlich eine fundierte Vermutung darüber anzustellen, was der Benutzer zu tun versucht . Wie in benötigen Sie einige vorherige Daten, um die Nachricht zu verstehen, z. B. Sprache.
Mit Telekom meinst du Telefongespräche? Sie haben eine extrem niedrige Bandbreite und selbst Videoanrufe würden nicht viel mehr benötigen. Die Anwendung eines starken Algorithmus, um zu versuchen, Rauschen zu entfernen, ist kontraproduktiv. Es wird versuchen, das nächste Signal basierend auf den letzten Signalen zu erraten ... warum also nicht einfach einen Komprimierungsalgorithmus verwenden, ein kleines sicheres Signal senden und den Algorithmus verwenden, um es in den Rest der Nachricht zu erweitern. Der Komprimierungsalgorithmus funktioniert garantiert, der Analysealgorithmus nicht.
Ich habe einen Kontext hinzugefügt, warum es analog zu meiner ursprünglichen Frage sein muss. tl; dr ist, dass Sie so genau wie möglich sein müssen, um Mehrdeutigkeiten zu vermeiden (ba ** könnte Bank, Back oder Bate sein) und einen kontinuierlichen Datenstrom aufrechterhalten. Da Sie Daten nicht wirklich als Pakete puffern können, müssten Sie ein universelles Komprimierungswörterbuch haben, aber der tatsächliche Datensatz ist so groß, dass Sie genauso gut 1: 1-Informationen übertragen können. Die Technologie hat sich ausreichend verbessert, um das Rauschen über Kabelverbindungen stark zu reduzieren, obwohl es immer noch Daten verzerren kann. Glücklicherweise fühlt es sich für den Computer mehr oder weniger an, als würde man durch ein Walkie-Talkie sprechen.

Es könnte sich lohnen, darüber nachzudenken, was die Natur getan hat. „Es gibt nichts Neues unter der Sonne“ stimmt nicht, ist aber auch nicht sehr weit hergeholt.

Die digitale Datenverarbeitung scheint also an erster Stelle gestanden zu haben. DNA, RNA, Stoppcodons, ein Escape-Codon, epigenetische Markierung, Fehlererkennung und Korrekturmechanismen in jeder Zelle. Es scheint alle Eigenschaften eines digitalen Systems zu haben. Ein Fehler um eine Basis (Bit) kann keine Auswirkungen haben oder den Organismus (Ergebnis) vollständig verändern.

Und dann entwickelten sich hybride Systeme. Nerven und neuronale Netze. Gehirne. Wir verstehen sie nicht ganz. Ein einzelnes Neuron akzeptiert viele analoge Eingaben von anderen Neuronen und scheint so etwas wie eine gewichtete Summe seiner Eingaben zu erzeugen. Wenn diese Summe einen Schwellenwert überschreitet, "feuert" das Neuron. Die Zelle ist bistabil, binär, feuernd oder nicht. Die Gewichte werden durch das Feuern verbundener Neuronen modifiziert. Und in einem Gehirn sind Neuronen Elemente eines absolut riesigen Netzwerks.

Synapsen, die Verbindungen zwischen dem Ausgang eines Neurons und dem Eingang eines anderen Neurons, sind komplexe molekulare Systeme. Nicht einfach analog. Thermisch laut. Möglicherweise eher quantenmagisch als nur laut. Hüten Sie sich vor jedem, der sagt, dass einzelne Synapsen einfach und gut verständlich sind.

Was fehlt, sind reine Analogsysteme ohne Hysterese. Die Systeme der Natur scheinen, wenn sie auf analoge Eingaben reagieren, immer mit Triggerschwellen ausgelegt zu sein, die größer sind, um sie zum Einschalten als zum Ausschalten zu veranlassen. Nicht anders als ein gewöhnlicher elektrischer Schalter. Nein auf halbem Weg.

Rein analoge Rechner? Bauchgefühl, außer für sehr eingeschränkte Problembereiche nicht sinnvoll. Hybride, Gehirne, die digitalen CPUs an sich überlegen sind? Offene Frage.

Ich erinnere mich an dieses Beispiel aus einem vor langer Zeit erschienenen Artikel in Scientific American, weil es so völlig kontraintuitiv war (On the Spaghetti Computer and other Analog Gadgets for Problem Solving," in der Computer Recreations Column (1984) http://www.scientificamerican.com /article/computer-recreations-1984-06/ ).Analoges Rechnen kann in vielen Fällen schneller sein als digitales Rechnen,aber anscheinend nur in der eigentlichen Verarbeitung.Eingabe und Ausgabe erforderten viel Arbeit und konnten zeitaufwändigsein.

Das angegebene Beispiel war ein "Spaghetti-Computer". Wenn jeder Strang ungekochter Spaghetti entsprechend den Eingaben auf eine andere Länge geschnitten würde, könnten Sie theoretisch einen Computer bauen, indem Sie die Spaghettilängen in Ihrer Hand entsprechend den Eingaben zusammensetzen und das Bündel "Ende auf" auf die Theke schlagen. Die Antwort würde sich aus dem Muster von hohen und niedrigen Spaghetti-Enden ableiten, die am anderen Ende Ihrer Hand von der Theke abstehen.

Sie haben also Minuten oder Stunden damit verbracht, die Längen Ihres Spaghetti-Computers zu schneiden und zusammenzusetzen, und müssen möglicherweise einige Zeit damit verbringen, sich die "Ausgabe" anzusehen, um die Antwort zu verstehen, aber der eigentliche Akt der "Berechnung" dauert den Bruchteil einer Sekunde das Spaghettibündel auf den Boden knallen.

Während dies ein bisschen sinnlos erscheint (und die Skalierung zur Lösung wirklich großer Probleme mit einem „Super Spaghetti Analogue Gadget“ auch schwierig und chaotisch sein wird, bis Sie es für die Post-Computational-Dinner-Party einkochen), sind analoge Computer potenziell brauchbar für die Lösung NP lösen Probleme, die digitale Computer für Äonen blockieren würden.

Der eigentliche Knackpunkt ist also, welche Art von Problemen gelöst werden, die die besonderen Eigenschaften eines analogen Computers erfordern. Sofern Sie nicht versuchen, ein NP-vollständiges Problem zu lösen oder das "Halteproblem" einer Turing-Maschine zu vermeiden, wurden digitale Computer auf ein sehr hohes Maß an Leistung und Genauigkeit verfeinert. Der einzige andere große Vorteil einer analogen Maschine ergibt sich aus der Tatsache, dass die meisten Beispiele, von denen ich je gehört habe, im Wesentlichen mechanischer oder elektrochemischer Natur sind, sodass sie nicht durch Stromspitzen, EMP und andere Umweltfaktoren beeinträchtigt werden, die digitale Computer stören können.

Ich beantworte nicht alle Ihre Punkte, aber ...

Analoge CPU, auf der die Programme ausgeführt werden, die wir heute ausführen , nein (wie bereits beantwortet). Analoge Computer wurden nicht für schrittweise sequentielle Operationen entwickelt; Sie wurden entwickelt, um bestimmte Klassen von weitgehend mathematischen Problemen zu lösen.

Hybrid , sicher ... kein Grund, warum ein digitaler Computer nicht an einen analogen Computer angeschlossen werden könnte, obwohl dies möglicherweise nicht viele Vorteile bietet.

Analoges RAM ... vielleicht keine so tolle Idee. Beispielsweise kann das Speichern einer Menge als Ladung funktionieren, bis sie ausläuft und der ausgelesene Wert nicht mit dem gespeicherten Wert übereinstimmt. So ziemlich jedes andere Konzept, das Sie sich für die analoge Speicherung vorstellen könnten, wäre anfällig für Verzerrungen oder den Verlust der gespeicherten Informationen. Analog ROM hingegen ist total praktisch - der gute alte Phonographenmaster.

Ganz analog kommunizieren – ganz praktisch. So haben wir die Dinge bis in die 1970er für Sprache gemacht und bis mindestens in die 1990er für Video. Sogar digitale Daten gingen ursprünglich als analoge Töne über die Leitung.

Ich möchte einen anderen Weg gehen:

In einem analogen Allzweckcomputer ... wie stellt man ein NAND-Gatter her?

Der Grund, warum Allzweckcomputer so flexibel sind, ist die Tatsache, dass jedes einzelne Stück der Logik im Inneren aus einem einzigen Element erstellt werden kann: dem NAND-Gatter. Umgekehrtes Und. Dies bietet funktionale Vollständigkeit ... alle anderen Logikfunktionen können nur mit NAND-Gattern aufgebaut werden.

Jetzt können Sie ganz einfach platz- und energieeffizientere Gatter für diese anderen Logikfunktionen erstellen ... aber der Schlüssel ist, dass alles aus einem Konzept herausgekocht werden kann und aus diesem Konzept alles andere aufgebaut werden kann.

Was ist also das analoge Äquivalent eines NAND-Gatters?

Ich könnte mir eine Verschmelzung von analogen und digitalen Schaltungen vorstellen; wir machen solche Sachen die ganze Zeit. Sie haben eine Soundkarte ... das ist es, was sie tut. Alte, zeitgemäße Grafikkarten, die zur Ausgabe analoger Signale für Video verwendet werden. Wifi muss zwischen elektromagnetischen Wellen und digitalen Signalen übersetzen.

Eine Schicht analoger Schaltungen würde Daten filtern, die dann blitzschnell auf einem digitalen Allzweckcomputer verarbeitet werden könnten. Die Macht der Zukunft scheint die Verschmelzung von Analog und Digital zu sein, die Stärken beider zu nutzen und die Probleme des anderen aufzuheben.

Wir lösen Probleme auf unterschiedliche Weise ... aber Googles Spracherkennungsassistent ist heutzutage erstaunlich genau. Sicher, es verwendet eine riesige Datenbank mit Aufzeichnungen, um Sprache zu identifizieren, anstatt ein fingergroßes Stück Fleisch zu verwenden ... aber das spielt die Stärken der digitalen Computer aus. Verarbeitung von Milliarden von Daten im Handumdrehen.

In "klassischen" analogen Computern wäre ein analoger Integrator das Analogon, das einem NAND-Gatter am nächsten kommt . Tatsächlich wurden viele analoge Computer danach bewertet, wie viele unabhängige Integratoren sie hatten. Allerdings ist die Herstellung eines guten Integrators viel, viel schwieriger als die Herstellung eines NAND-Gatters (zumindest mit der aktuellen Technologie).

Ja, es ist möglich, eine CPU zu entwerfen, die 100 % analog ist. 3D-Bildgebung ist nicht so schwer. Es ist schwierig, die Leute davon zu überzeugen, dass die Tatsache, dass sie alles glauben, was ihnen über analoge Computer erzählt wurde, genau der Grund dafür ist, dass es niemandem gelungen ist, eine vollwertige analoge CPU im kommerziellen Bereich zu entwickeln. Es ist Faulheit und Inkompetenz.

3D-Bildgebung kann grundsätzlich bereits durchgeführt werden. Wenn Sie sich nur einige der alten analogen Videoplatinen ansehen, die in den alten Tagen von Fernsehnachrichtensendern übertragene Bilder "verzerren" und "strecken" konnten, ist das im Grunde alles. Ein einfaches Polygon würde nur ein paar zusätzliche Eingaben und Optionen benötigen, um es richtig zu neigen, und dann dem Bildschirm weitere Polygone hinzufügen. So einfach ist das. Außer, dass Sie ein hochauflösendes Bild haben können und sich keine Sorgen um Pixel machen würden, und es wäre wirklich billig.

Auf YouTube gibt es ein altes Beispiel für einen analogen Computer, auf dem eine Physikauto- / Geländesimulation ausgeführt wird. Es ist 2D, aber andererseits ist es im Grunde nur eine analoge Standard-CPU. Hier ist es, aber es zeigt nicht das tatsächliche Auto, die Räder oder die Straße in diesem. https://www.youtube.com/watch?v=AEJtajaRj_s

Gut, dass analoges Computing gute Unterstützung bekommt. Digital ist nicht alles. Die Differentialgleichungen zur Darstellung der Mondflüge des Apollo-Programms wurden mit speziell für diesen Zweck angefertigten analogen Geräten berechnet. Sie variierten die Eingänge, ließen die Schaltung den Rest erledigen und die Antworten waren die Ausgänge.

Analoge Computer sind wesentlich energieeffizienter und gewinnen mit zunehmender Reife des maschinellen Lernens langsam mehr Aufmerksamkeit.

https://ieeexplore.ieee.org/document/8490883 https://phys.org/news/2018-06-future-ai-hardware-based-analog.html

„Analoge Techniken, die kontinuierlich variable Signale anstelle von binären Nullen und Einsen verwenden, haben inhärente Grenzen in ihrer Genauigkeit – weshalb moderne Computer im Allgemeinen digitale Computer sind. KI-Forscher haben jedoch begonnen zu erkennen, dass ihre DNN-Modelle auch im digitalen Zustand immer noch gut funktionieren Die Genauigkeit wird auf ein Niveau reduziert, das für fast jede andere Computeranwendung viel zu niedrig wäre.Daher ist es möglich, dass für DNNs vielleicht auch analoge Berechnungen funktionieren könnten.

Bisher hatte jedoch niemand schlüssig bewiesen, dass solche analogen Ansätze die gleiche Aufgabe erfüllen können wie die heutige Software, die auf herkömmlicher digitaler Hardware läuft. Das heißt, können DNNs mit diesen Techniken wirklich auf äquivalent hohe Genauigkeiten trainiert werden? Es macht wenig Sinn, beim Training eines DNN schneller oder energieeffizienter zu sein, wenn die resultierenden Klassifizierungsgenauigkeiten immer unannehmbar niedrig sein werden.

In unserem Artikel beschreiben wir, wie analoge nichtflüchtige Speicher (NVM) den „Backpropagation“-Algorithmus, der das Herzstück vieler neuer KI-Fortschritte bildet, effizient beschleunigen können. Diese Speicher ermöglichen die Parallelisierung der "Multiply-Accumulate"-Operationen, die in diesen Algorithmen verwendet werden, in der analogen Domäne am Ort der Gewichtsdaten unter Verwendung der zugrunde liegenden Physik. Anstatt große Schaltungen zum Multiplizieren und Addieren digitaler Zahlen zu verwenden, leiten wir einfach einen kleinen Strom durch einen Widerstand in einen Draht und verbinden dann viele solcher Drähte miteinander, damit sich die Ströme aufbauen können. Dadurch können wir viele Berechnungen gleichzeitig und nicht nacheinander durchführen. Und anstatt digitale Daten auf langen Reisen zwischen digitalen Speicherchips und Verarbeitungschips zu transportieren, können wir die gesamte Berechnung innerhalb des analogen Speicherchips durchführen."

Lagerung

Mit analogen Computern könnten Sie Informationen nicht zuverlässig speichern, da Sie das analoge Signal bei der Messung immer ändern würden oder nur weil es ein wenig Rauschen gab, ganz zu schweigen davon, dass Sie einen Weg finden müssten, es zu speichern den ersten Platz.

Der Grund, warum wir digitale Signale verwenden, ist, dass Sie beispielsweise entweder 0 V oder 1 V haben können und wenn die Spannung ein wenig abweicht, erkennt das System immer noch als die richtige. In Ihrer Frage fragen Sie jedoch nach einem analogen System, das subtile Unterschiede in den Gehirnwellen einer Person feststellen kann.

Lösung

Was Sie suchen, ist eine Erweiterungskarte , die sich um die analogen Informationen kümmert und einen Weg findet, sie perfekt in digitaler Form zu speichern (zum Beispiel könnte sie jede einfache Welle erkennen, die eine komplizierte Welle zusammensetzt, und diejenigen speichern, die leicht zu speichern wären). .

Sie könnten diese Erweiterungskarte sogar mit einem coolen Namen wie Brain Card einführen und nie wirklich erklären, wie sie funktioniert (oder eine einfache Erklärung geben, wie ich es gerade getan habe), nur dass die Leute sie kaufen und sie verwenden, um ihre Gehirnwellen mit 100% Genauigkeit zu speichern.