La hormiga de Langton
La hormiga de Langton es una máquina de Turing bidimensional inventada a finales de la década de 1980. La hormiga comienza en una cuadrícula de celdas negras y blancas y sigue un conjunto simple de reglas que produce un comportamiento emergente complejo.

La hormiga puede desplazarse en cualquiera de las cuatro direcciones cardinales en cada paso. La hormiga se mueve según las siguientes reglas:
- En una casilla blanca (1), gira 90° a la derecha, invierte el color de la casilla y avanza una unidad.
- En una casilla negra (0), gira 90° a la izquierda, invierte el color de la casilla y avanza una unidad.
- La cuadrícula no tiene límites y, por lo tanto, si la hormiga se mueve fuera de los bordes, la cuadrícula debe ampliarse con 0, manteniendo la forma rectangular.
Crea una función Langton's Ant con los siguientes parámetros:
grid - a two-dimensional list of 1s and 0s
# representing white and black cells respectively
column - horizontal position of the ant
row - ant's vertical position
n - number of iterations
direction - ant's current direction
# 0 - north, 1 - east, 2 - south, 3 - west
# default value will be 0... y devuelve el estado de la cuadrícula después de n iteraciones.
Ejemplos
langtons_ant([[1]], 0, 0, 1, 0) ➞ [[0, 0]]
# Initially facing north (0), at the first iteration the ant turns
# right because it stands on a white square, 1. After that, it flips
# the square and moves forward.
langtons_ant([[0]], 0, 0, 1, 0) ➞ [[0, 1]]
langtons_ant([[0, 0, 0], [0, 0, 0], [0, 0, 0]], 2, 2, 10, 1) ➞ [[0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 1, 1], [0, 0, 0, 1]]Notas
N/A