我试图用Java制作一个Langton's ant(http://en.wikipedia.org/wiki/Langton's_ant)程序。我最初想到了一个只有两种颜色的简单实现 - 因此是一个布尔网格 - 或一个布尔值二维数组。
这里似乎有一个问题——网格需要在运行时构建——即用户输入网格长度的值。
这意味着我不能获取超过特定值的网格值 - 因为它会在 Java 堆上引发 Out of memory 错误。
我最多可以制作的典型网格是(30,000 * 30,0000)。
我正在考虑解决这个问题的方法,以至少使网格达到 2^32*2^32..
有人可以提供即兴算法的建议吗?还是其他优化?
虽然我的问题是针对一个特定问题的......我猜想解决这个问题的策略可能与许多此类问题相匹配。
谢谢