El Algoritmo de Aldous-Broder llamado así por dos matemáticos, David Aldous and A. Broder (quienes trabajaban en la investigación de arboles uniformes), es uno de los algoritmos para generar laberintos más sencillos que existen, pertenece a la categoría de «cavar túneles», lo que quiere decir que dado una matriz nxn, se cava un camino a lo ancho y alto de la matriz hasta cubrirlo en su totalidad.
El algoritmo es el siguiente:
Este algoritmo, si bien consigue su objetivo de trazar un laberinto, es ineficiente porque visita la misma casilla varias veces dado que se mueve al azar y a más grande el laberinto, más tiempo tardara en visitar todas y cada una de las casillas.
A continuación un ejemplo trivial del algoritmo:
Dado una matriz 3×3
Se elige «al azar» una casilla
A continuación se desplaza a una casilla vecina adyacente al azar (vertical u horizontalmente, no en diagonal)
Si la casilla no ha sido visitada aun, se cava un túnel entre ambas
Y se repite nuevamente buscando otra casilla hasta cubrirlas todas
El siguiente video muestra el anterior proceso para varios tamaños de laberintos, se puede apreciar como a mayor dimensión del laberinto, más tiempo consumirá recorrer cada casilla y por tanto el tiempo para generar el laberinto es cada vez mayor.
enjoy!!!?
SQLite es un sistema de gestión de bases de datos relacional, escrita en C, si se desea hacer uso de encriptación con S[...]
Apache POI es la API de Java para el trabajo con archivos de Microsoft como son Word, Excel y Power Point. Apache POI se[...]
Para terminar el tutorial, debemos unir tanto la VISTA como el MODELO y para eso esta el CONTROLADOR. o.O El controlador[...]
EL patrón MVC (Model, View, Controller) o Modelo, Vista Controlador, es un tipo de diseño que separa en capas bien defin[...]
BorderPane es un layout que distribuye los nodos hijos en 5 posiciones TOP, LEFT, BOTTOM, RIGHT y CENTER Los nodos hijos[...]
Slim es un micro framework para PHP que nos ayuda a escribir rápidamente aplicaciones Web y APIs sencillas pero poderosa[...]