Eines der erstaunlichen Dinge in der Informatik ist, dass die physikalische Implementierung in gewisser Weise "irrelevant" ist. Die Menschen haben erfolgreich Computer aus mehreren unterschiedlichen Substraten gebaut - Relais, Vakuumröhren, diskrete Transistoren usw. Die Menschen könnten bald erfolgreich Turing-Computer aus nichtlinearen optischen Materialien, verschiedenen Biomolekülen und einigen anderen Substraten bauen. Grundsätzlich scheint es möglich zu sein, einen Billard-Ball-Computer zu bauen .
Das physikalische Substrat ist jedoch nicht völlig irrelevant. Man hat festgestellt, dass bestimmte Komponentengruppen - insbesondere die Dioden-Widerstands-Logik - "unvollständig" sind: Unabhängig davon, wie viele von ihnen an eine Stromversorgung und aneinander angeschlossen werden, gibt es bestimmte sehr einfache Dinge, die nicht möglich sind tun. (Die Diodenwiderstandslogik kann UND, ODER implementieren, implementiert jedoch NICHT). Außerdem sind bestimmte Arten der Verbindung von Bauteilen - insbesondere von einschichtigen Perzeptronen - "unvollständig": Es gibt bestimmte sehr einfache Dinge, die sie nicht ausführen können. (Ein einschichtiges Perzeptron kann AND, OR, NOT implementieren, kann aber kein XOR implementieren.)
Gibt es einen weniger peinlichen Ausdruck für "physische Dinge, aus denen man eine Turing-Maschine bauen kann"? Oder im Gegenteil, "physische Dinge, die, egal wie viele sie haben, keine Turing-Maschine bilden können"?
Für eine Weile habe ich den Ausdruck "funktional vollständiger Satz" oder "universeller Satz von Toren" verwendet - oder, wenn ich mit Mathematikern spreche, "physikalische Dinge, die einen funktional vollständigen Satz implementieren können" - aber mir wurde gesagt, dass dies nicht der Fall ist. nicht ganz richtig. Einige Komponentensätze können einen funktional vollständigen Satz implementieren. und dennoch ist es nicht möglich, eine Turing-Komplettmaschine komplett aus diesen Komponenten zu bauen. Beispielsweise können Glühbirnen und manuell betätigte 4-Wege-Lichtschalter einen funktional vollständigen Satz (AND, OR, NOT, XOR usw.) implementieren. und doch ist es nicht möglich, eine Turing-Komplettmaschine vollständig aus Lichtschaltern und Glühbirnen zu bauen, da der (elektrische oder optische) Ausgang des einen nicht in den (mechanisch rotierenden) Eingang des nächsten eingespeist werden kann.
verwandt: Gibt es einen offiziellen Namen für den Begriff "wiederverwendbar universell"? und gibt es einen Namen für "Chips, aus denen man eine CPU bauen kann"?
Antworten:
Ich glaube, ein passender Begriff ist "eine physikalische Implementierung einer Turing-Maschine".
Das Hauptproblem bei jeder Implementierung besteht darin, wie ein "unendliches Band" oder in einer abstrakteren Ebene ein unendlicher Speicher bereitgestellt wird. Eine einfache Lösung für dieses Problem besteht darin, ein spezielles Symbol zu verwenden, um das letzte Bandquadrat anzugeben. Wenn eine Turing-Maschine sie erreicht, tritt sie in einen speziellen Zustand ein, der einen Benutzereingriff erfordert, der zusätzliches Band liefert. Dann kann der TM seinen Betrieb fortsetzen. Leider beinhalten solche Implementierungen, die "physikalisch" sind, Physik. Wenn das Universum endlich ist und die Planck-Skala dies zulässt, steht eine begrenzte Menge an Band zur Verfügung. Hier entstehen Probleme, die vielleicht nicht von Informatikern, sondern von Physikern beantwortet werden können. Beachten Sie, dass die Physiker in diesen Fragen, die als große offene Probleme der Größe von , noch keine Schlussfolgerung gezogen habenP≠ NP Daher wäre es unwahrscheinlich, dass ein Informatiker sie lösen würde.
Weitere Informationen finden Sie in Scott Aaronsons Artikel NP-complete Problems and Physical Reality , insbesondere im Abschnitt Analog and Relativity Computing.
Eine Lego-Implementierung (mit endlichem Band) finden Sie auch auf der folgenden Seite: http://legoofdoom.blogspot.com/
quelle
Die Physik modelliert die Realität mit Theorien, die ein Konzept des zeitabhängigen Zustands definieren, der einem System zugeordnet ist, und einen Zeitentwicklungsoperator, der beschreibt, wie sich dieser Zustand entwickelt. Sobald Sie ein physikalisches System finden, das (nach einer gewissen Diskretisierung des Zustandsraums) den Zustandsraum Ihrer Turing-Maschine implementiert und Interaktionsterme enthält, die (möglicherweise nach einer gewissen Diskretisierung) die Zeitentwicklung gemäß der Zustandsübergangstabelle von implementieren Befindet sich Ihre Turing-Maschine im Zustandsraum, haben Sie ein Turing-vollständiges physikalisches Modell Ihres Systems gefunden. So kann man wohl sagen, Ihr System ist "Turing-complete".
Bei der Betrachtung des Quantencomputers werden die Auswirkungen physikalischer Theorien auf das Turing-Berechnungsmodell diskutiert. Beispielsweise müssen physikalische Theorien reversibel sein. Eine Eigenschaft, die gewöhnliche Turing-Maschinen nicht teilen. Es gibt jedoch keinen Verlust in der Allgemeinheit, da jede Turing-Maschine durch eine reversible Maschine simuliert werden kann, mit einigem Aufwand, der Zeit gegen Raum usw. austauscht.
quelle
Ich möchte nur darauf hinweisen, dass die Vollständigkeit eines physischen Mediums zur Simulation der Logik, die für die Erstellung einer vollständigen Turing-Rechenmaschine erforderlich ist, nur durch die Fähigkeit festgelegt werden kann, ein NAND-Gatter zu verkörpern, da alle anderen Gatter von NAND-Gattern abgeleitet werden können (eins) Ich könnte fragen, was dann die NAND-Gatter ausmacht, und das ist eine sehr clevere Frage, aber es sind die NAND-Gatter ganz unten!).
Sie sollten sich die Arbeit von Charles Babbage und die Menschen ansehen, die er inspiriert hat. Babbage baute einen physischen Computer, um Polynomfunktionen in gedruckte Tabellen für mathematische Indizes zu tabellieren (damals gab es Stapel von Büchern, die nur Funktionsnamen enthielten, gefolgt von Blättern mit f (x) -Werten) sind zu einem Turing-Komplettcomputer mit Zahnrädern und Cams geworden. Sein Sohn Ich glaube, es wurde seine Arbeit fortgesetzt und die einzige physische Manifestation ihrer gemeinsamen Bemühungen war eine voll funktionsfähige mechanische ALU, die die Grundlage für die mechanischen Taschenrechner ist, die Sie vielleicht kennen oder nicht kennen. Die Finanzierung für diese Projekte fiel jedoch als mechanischer Computer in der Größe und Weise aus, wie sie in dieser Zeit hergestellt werden konnten, und war sehr unpraktisch. Seitdem und insbesondere bei jüngsten Ereignissen Leute haben Charles Babbages Forschung durchlaufen und fördern sie. Dieser Ansatz mag zum Lachen kommen, da es diejenigen gibt, die glauben, dass der einzige Weg, um serielle CPUs schneller als bisher zu machen, darin besteht, einige dieser mechanischen Ansätze in einer CPU zu implementieren, um die Probleme der Elektromagnetik in einem kleineren Maßstab als zu vermeiden die wir jetzt benutzen. Mechaniker arbeiten scheinbar in jeder Größenordnung.
In ähnlicher Weise wurde an dem sogenannten Quantencomputer gearbeitet, der große Berechnungen durch die Quantentheorie ermöglichen soll. Ich bin mir nicht ganz sicher, wie das alles funktioniert. Aber es spricht physikalisch Experimente der Teilchenphysik an, die auf der Quantentheorie beruhen.
Ich bin mir sicher, dass noch viele andere Computermedien erforscht werden, sogar Felsen in der Wüste, aber ich habe keine Erfahrung mit ihnen.
quelle