Java中Q-Learning状态的多维(7维)数组

Java中Q-Learning状态的多维(7维)数组,java,arrays,memory,multidimensional-array,q-learning,Java,Arrays,Memory,Multidimensional Array,Q Learning,我正在为一个游戏编写一个Q-Learning实现,Q-Learning状态需要一个7维数组,因为我有关于游戏的所有信息(玩家x、玩家y、怪物、宝藏、可能的移动等等) 所有的状态加起来都超过10亿个,而内存无法处理这么大的静态矩阵,我很确定算法不需要太多的状态,那么如何使用动态结构来实现呢 我的第一个想法是使用如下内容: ArrayList<ArrayList<ArrayList<ArrayList<ArrayList<ArrayList<ArrayList&l

我正在为一个游戏编写一个Q-Learning实现,Q-Learning状态需要一个7维数组,因为我有关于游戏的所有信息(玩家x、玩家y、怪物、宝藏、可能的移动等等)

所有的状态加起来都超过10亿个,而内存无法处理这么大的静态矩阵,我很确定算法不需要太多的状态,那么如何使用动态结构来实现呢

我的第一个想法是使用如下内容:

ArrayList<ArrayList<ArrayList<ArrayList<ArrayList<ArrayList<ArrayList<Double>>>>>>> qList;
arraylistqlist;
但我不确定这是一个合理的解决方案,也不确定如何分配所有这些ArrayList


创建动态数据结构以存储7维矩阵的最佳方法是什么?

a
double[][][]]
会更节省内存。内存无法处理double[][][[]][[]]-我需要创建的矩阵的一个示例是double[12][12][256][128][16][4]