我正在尝试使用Drools Planner来分配时间表。目前,我的Java和JavaBean设计模式的熟练程度较低,我需要一些简单的东西来练习。
是否有一个AI优化问题,满足以下条件:
- 已知使用’X’算法可以很好地解决
- 数据模型可以简单地用JavaBean设计模式表达
- 使用最少的额外功能(如规划实体难度)
这样的问题将是学习Drools Planner的好起点。
我现在正在尝试N-Queens问题,这似乎是这些问题中最简单的。所以我正在寻找与此相当的问题。
回答:
我正在尝试2X2数独(生成和解决)作为一个简单的练习。你可以基于Nqueens的代码来建模。虽然2×2数独很容易解决,但3×3数独可能会卡住。因此,你可以实现交换移动。
另一个有趣的问题是桶和总和。给定10个桶,每个桶可以容纳5个数字,以及50个数字;编写一个程序来分配这些数字,使得每个桶中数字的总和大致相等。
Bucket Bucket0 3 6 19 16 11 =55
Bucket Bucket1 8 2 5 25 15 =55
...
Bucket Bucket7 3 25 4 16 8 =56
Bucket Bucket8 12 20 12 9 2 =55
Bucket Bucket9 4 9 11 12 20 =56
这在实践中有实际应用,例如在一周内均匀分配不同难度的任务。