2012-07-23 7 views
15

Vi este juego aquí Flow, se ve bastante interesante.¿Existe un algoritmo bien conocido que complete la cuadrícula debido a un conjunto de puntos?

Conecte los colores correspondientes con la tubería para crear un flujo. Empareje todos los colores, y cubra todo el tablero para resolver cada rompecabezas. Pero cuidado, las tuberías se romperán si se cruzan o se superponen.

Dado un conjunto de pares (x, y), ¿existe un algoritmo para resolver el puzzle, es decir, llenar el total de la rejilla (suponiendo que hay una solución) que no soy consciente de?

enter image description here

+0

Me encanta este juego, súper adictivo. –

+0

@DanW: Yo también;) – Chan

+0

Tengo la sensación de que se puede resolver usando [redes de flujo] (http://en.wikipedia.org/wiki/Flow_network) ... No sé cómo, sin embargo. – Artyom

Respuesta

6

Este es un ejemplo muy específico del problema global de enrutamiento. El enrutamiento global es un problema bien estudiado en VLSI CAD (donde uno necesita enrutar millones de redes en un circuito integrado). El problema es NP-completo y puede resolverse de muchas maneras, dependiendo de la compensación que necesite entre el tiempo de ejecución y la calidad. Después de wiki es un buen punto de partida:

http://en.wikipedia.org/wiki/Routing_(electronic_design_automation)

papel que aquí se ofrece un panorama de las diversas técnicas:

http://dropzone.tamu.edu/~jhu/publications/HuIntegration01.pdf

tener en cuenta que los punteros que había dado por lo general tratan de resolver una versión mucho más compleja del problema que usted había declarado. No obstante, los conceptos matemáticos siguen siendo los mismos.

+0

Por favor, corrija el primer hipervínculo (Wikipedia). Tiene un paréntesis que falta al final :) – Haider

Cuestiones relacionadas