Skip to content

Hexágalon

17 enero, 2013

Tomemos un hexágono que conecta, de izquierda a derecha, los vértices 1 con 2 y 3, el vértice 2 con el 4, el vértice 3 con el 5, y finalmente el vértice 4 y 5 con el 6, como en la figura.

hexagono

Ahora, supongamos que en cada nodo se puede almacenar un galón de agua y el agua entra a través del nodo 1. Definimos que el flujo de agua es de 1/4 de galón por iteración. El objetivo es que se llenen los seis nodos. Aunque hay varias maneras definimos que: antes que se llegue agua a los nodos 2 y 3 se tiene que llenar el nodo 1. Los nodos 2 y 3 se llenan alnternando 1/4 de galón por interación. Antes de llevar agua al nodo 4 y 5, los nodos 2 y 3 deben estar llenos. De manera similar, el nodo 6 se llena una vez el nodo 4 y 5 estén llenos.  Ahora el reto es describir el algoritmo para llevar esto a cabo; maneras podrán haber varias ¿cuál será la más eficiente en término de líneas de descripción(líneas de código) o condicionales?

Habiendose logrado esto obtenemos la siguiente animación

Hexágalon

Note que cumple las reglas de llenado. El ciclo es de 24 pasos (4 pasos*galón*#nodos) y cuatro condicionales (if) anidados.

Ahora el siguiente reto que dejo es el hexágono de dos niveles

2lvl hexagono

Donde el nodo 1 se conecta con {2,3,7}; 2 con {4,8}; 3 con {5,4}; 4 con {6,10}; 5 con{6,11}; 8 con 10; 7 con 9; 10 y 11, cada uno, con 12; y finalmente 6 con 12. Las reglas de llenado son similares siguiendo las conexiones entre nodos mencionadas. Digamos, después de llenado el nodo 1 se llenan, de 1/4 en 1/4, el nodo 2, 3 y 7. Luego el 2 debe llenar alternando al 4 y 8, pero al mismo tiempo el 3 debe llenar al 5 y 9. El nodo 6 se llena hasta que el 4 y 5 están llenos, para luego terminar de llenar al nodo 12, tarea empezada por los nodos 10 y 11.

¿Y si ahora agregamos un nivel más? ¿Y si fuera algo más complejo que un hexágono?

Anuncios
No comments yet

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: