-3

这是问题的简化版本:

你有一个由五个战士组成的小组。每个战士拥有 1 到 10 件物品,每人可以携带 1 件物品参加战斗。给定关于战斗的信息(地形类型、一天中的时间等),每个战士应该选择哪种武器来产生最强的群体?

物品可以是弓、盾、剑、弹射器、医疗箱、马等。地形类型可以是山区、平原、沼泽、雪地等。

请注意,规则不容易编纂,因为它们是基于物品和地形条件之间的协同作用:例如,“剑”是一种好武器,“弓”是一种好武器,但五个战士有剑或五弓兵不如二弓三剑兵,因为五剑兵无掩体易受远程攻击,五弓兵因盾而无用。还有复杂的地形条件,例如,如果地形很难穿越,或者如果你在山顶上,弓会更好。一匹马在平坦的地形上会很棒,但是如果一个人有一匹马而其他人没有武器,那么这匹马就没用了。

我天真的解决方案是(a)训练机器学习回归算法以将地形信息和一组 5 个项目组合作为输入并产生一个值,越高越好,然后(b)产生项目的所有组合输入,饲料每个进入算法,并选择最高值。然而,随着组合学的爆炸式增长,这很快就会变得非常昂贵。

有没有更好的算法来表达“考虑到所有这些可能性,选择最佳组合”?如果它可以在亚马逊的机器学习堆栈上使用,则可以加分。

4

1 回答 1

0

这不是机器学习问题。这是一个搜索/优化问题,因此没有最好的“机器学习”算法。见:https ://en.wikipedia.org/wiki/Mathematical_optimization

鉴于您已经有了一种廉价的方法来模拟给定地形和组合的战斗,您在幼稚的方法中提到的问题是测试所有组合的成本太高,不要这样做!有许多搜索算法会尝试修剪您的搜索空间(请参阅https://en.wikipedia.org/wiki/Beam_search)。一种非常适合您的情况的易于实施的技术(这正是典型示例之一)是使用遗传算法,其中您的基因型是战士的组成。我敢打赌,有很多 GA 库可以导入 AWS。

于 2017-04-11T00:59:15.207 回答