Einfluss der Dimension zellularer Automaten auf Komplexitätsklassen

9

Nehmen wir als Beispiel die 3D → 2d-Reduktion: Was kostet die Simulation eines 3D-Zellularautomaten durch einen 2D-Zellularautomaten?

Hier sind einige spezifischere Fragen:

  1. Um wie viel wird sich die zeitliche Komplexität von Algorithmen ändern?

  2. Was wäre die Grundidee für die Codierung; Wie wird ein 3D-Raster effizient (oder nicht effizient ...) einem 2D-Raster zugeordnet? (Die Herausforderung scheint darin zu bestehen, eine Kommunikation zwischen zwei Zellen zu erreichen, die ursprünglich Nachbarn im 3D-Raster waren, aber keine Nachbarn mehr im 2D-Raster sind.)

  3. Insbesondere interessiert mich die Komplexitätsdrift für exponentielle Komplexitätsalgorithmen (die meiner Meinung nach unabhängig von der Dimension exponentiell bleibt, ist dies der Fall?)

Hinweis: Ich interessiere mich nicht für Klassen mit geringer Komplexität, für die die ausgewählte E / A-Methode einen Einfluss auf die Komplexität hat. (Vielleicht ist es am besten anzunehmen, dass die E / A-Methode dimensionslos ist: lokal in einer bestimmten Zelle während einer variablen Anzahl von Zeitschritten.)


Einige Zusammenhänge: Ich bin an einem parallelen Umschreiben lokaler Diagramme interessiert, aber diese Diagramme sind näher an 3D-Gittern (oder vielleicht ωd…) als an 2D-Gittern. Ich würde gerne wissen, was von einer Hardware-Implementierung auf einem 2-dimensionalen zu erwarten ist Siliziumchip.

Stéphane Gimenez
quelle

Antworten:

5

Ich werde Teile dieses Artikels erklären: Simulieren von 3D-Zellularautomaten mit 2D-Zellularautomaten .

Beginnen wir mit der Codierung des Gitters, einer Funktion . Intuitiv kann den Abstand nicht beibehalten, da die Anzahl der Zellen in einem Abstand von weniger als vom Ursprung nicht gleich ist. Sie müssen diese ungefähr Zellen in die gleiche Anzahl von Zellen einbetten , die aber irgendwie die Form aber dann müssen Sie . Diese und sind ein bisschen wie der Radius des Nachbarschaftsbegriffs, den Sie in jedem zellularen Automaten finden.t:Z3Z2tRR3r2r>RrR

Die Transformation des Artikels wird die Dinge also um eine Potenz von mindestens wesentlich größer machen . Wenn Punkte im ersten Gitter von entfernt sind , sind sie im zweiten Gitter von mindestens . Leider ist die angegebene Einbettung nur in .3/2dO(d3)O(d3)

Und dies ist eine sehr wichtige Bemerkung: Sie erhalten nicht die gleiche Nachbarschaft wie im ersten Automaten, und deshalb habe ich zuvor "ein bisschen wie" gesagt. Um den Artikel zu zitieren:

Es ist offensichtlich, dass es Zellen geben wird, die in sehr nahe beieinander liegen und so dass [ihre Codierung] in beliebig weit entfernt istZ3Z2

Das funktioniert auch für die Zeit: Die Ausführungszeit eines Schritts in kann in beliebig lang sein . Beachten Sie, dass die Codierung eher eine Simulation ist: Die 2D-CA des Autors simuliert sogar die Berechnung der Funktion .Z3Z2t:Z3Z2

Man kann mit Sicherheit sagen, dass die Komplexität (in der Zeit) eines Algorithmus, der auf einer 3D-Zertifizierungsstelle ausgeführt wird, explodiert, wenn die Codierung dieser 3D-Zertifizierungsstelle in eine 2D-Zertifizierungsstelle ausgeführt wird. Der Autor sagt, dass es in seiner Simulation nicht an irgendeine Funktion gebunden sein kann. Und ich sage, die Explosion ist im Allgemeinen zumindest exponentiell, da die Ausbreitungszeit der Informationen von der Position abhängt.

Die Idee, Algorithmen auf zellularen Automaten auszuführen, scheint mir schon etwas seltsam, aber das ist persönlich. Das ist jedoch nichts im Vergleich zu der Idee einer Implementierung eines zellularen Automaten in einen Siliziumchip, oder bin es nur ich?

jmad
quelle
Vielen Dank für den Link. Dieser willkürliche Abstand zwischen zwei Knoten macht das Problem viel schlimmer als ich dachte. Die Verschiebung der Komplexität von Algorithmen ist jedoch möglicherweise nicht so schlimm, da Sie keine Implementierung auf 3D-Automaten simulieren müssen, um sie auf 2D auszuführen. Dies bedeutet, dass ich mich für meinen Anwendungsfall auf eine bestimmte Codierung verlassen muss, da eine generische Lösung diese schreckliche Einschränkung aufweist!
Stéphane Gimenez
Oh, und über die mögliche Hardware-Implementierung, fragen wir ;-)
Stéphane Gimenez