Influencia de la dimensión de los autómatas celulares en las clases de complejidad.

9

Tomemos como ejemplo la reducción 3d → 2d: ¿Cuál es el costo de simular un autómata celular 3d con un autómata celular 2d?

Aquí hay un montón de preguntas más específicas:

  1. ¿Qué tipo de algoritmos cambiarán su complejidad de tiempo, en cuánto?

  2. ¿Cuál sería la idea básica para la codificación? ¿Cómo se asigna una cuadrícula 3D de manera eficiente (o no eficiente ...) a una cuadrícula 2D? (El desafío parece lograr la comunicación entre dos celdas que originalmente eran vecinas en la cuadrícula 3d, pero ya no son vecinas en la cuadrícula 2d).

  3. En particular, estoy interesado en la deriva de la complejidad para los algoritmos de complejidad exponencial (que supongo que sigue siendo exponencial sea cual sea la dimensión, ¿es el caso?)

Nota: No me interesan las clases de baja complejidad para las cuales el método de E / S elegido influye en las complejidades. (Quizás lo mejor es asumir que el método de E / S no tiene dimensiones: se realiza localmente en una celda específica durante una cantidad variable de pasos de tiempo).


Algún contexto: estoy interesado en la reescritura de gráficos locales paralelos, pero esos gráficos están más cerca de las cuadrículas 3D (o tal vez ωd ...) que de las cuadrículas 2d, me gustaría saber qué esperar de una implementación de hardware en un 2-dimentional chip de silicio.

Stéphane Gimenez
fuente

Respuestas:

5

Explicaré partes de este artículo: Simulación de autómatas celulares 3D con autómatas celulares 2D .

Comencemos por la codificación de la cuadrícula, una función . Intuitivamente, t no puede preservar la distancia porque el número de celdas a una distancia inferior a R desde el origen no será el mismo. Tendrá que integrar éstos sobre R 3 células en algunos el mismo número de células, sino que será de alguna manera de la forma r 2 , pero entonces usted debe tener r > R . Estos r y R son un poco como el radio de la noción de vecindad que se encuentra en cualquier autómata celular.t:Z3Z2tRR3r2r>RrR

Por lo que la transformación del artículo hará las cosas más grandes esencialmente por una potencia de al menos . Que si los puntos están distantes de d en la primera cuadrícula, estarán distantes de al menos O ( 3/ /2reen la segunda cuadrícula. Desafortunadamente, la inclusión dada es solo enO(d3).O(re3)O(re3)

Sin embargo, y este es un comentario muy importante, no obtienes el mismo vecindario que en el primer autómata y por eso dije anteriormente "un poco como". Para citar el artículo:

Z3Z2

Z3Z2t:Z3Z2

Es una apuesta segura decir que la complejidad (en el tiempo) de cualquier algoritmo ejecutado en una CA 3D explotará cuando se ejecute en la codificación de esta CA 3D en una CA 2D. El autor dice que no puede estar vinculado por ninguna función en su simulación. Y digo que la explosión es al menos exponencial en general, porque el tiempo de propagación de la información depende de la posición.

La idea de ejecutar algoritmos en autómatas celulares ya me parece un poco extraña, pero eso es personal. Sin embargo, eso no es nada comparado con la idea de una implementación de un autómata celular en un chip de silicio, ¿o soy solo yo?

jmad
fuente
Muchas gracias por el enlace. Esta distancia arbitraria entre dos nodos hace que el problema sea mucho peor de lo que pensaba. Sin embargo, el cambio de complejidad en los algoritmos quizás no sea tan malo, ya que no es necesario simular una implementación en un autómata 3D para ejecutarlos en un 2d. Esto significa que para mi caso de uso tendré que confiar en una codificación específica, ¡ya que una solución genérica tiene esta terrible limitación!
Stéphane Gimenez
Ah, y sobre la posible implementación de hardware, preguntemos ;-)
Stéphane Gimenez