这是问题的简化版本:
你有一个由五个战士组成的小组。每个战士拥有 1 到 10 件物品,每人可以携带 1 件物品参加战斗。给定关于战斗的信息(地形类型、一天中的时间等),每个战士应该选择哪种武器来产生最强的群体?
物品可以是弓、盾、剑、弹射器、医疗箱、马等。地形类型可以是山区、平原、沼泽、雪地等。
请注意,规则不容易编纂,因为它们是基于物品和地形条件之间的协同作用:例如,“剑”是一种好武器,“弓”是一种好武器,但五个战士有剑或五弓兵不如二弓三剑兵,因为五剑兵无掩体易受远程攻击,五弓兵因盾而无用。还有复杂的地形条件,例如,如果地形很难穿越,或者如果你在山顶上,弓会更好。一匹马在平坦的地形上会很棒,但是如果一个人有一匹马而其他人没有武器,那么这匹马就没用了。
我天真的解决方案是(a)训练机器学习回归算法以将地形信息和一组 5 个项目组合作为输入并产生一个值,越高越好,然后(b)产生项目的所有组合输入,饲料每个进入算法,并选择最高值。然而,随着组合学的爆炸式增长,这很快就会变得非常昂贵。
有没有更好的算法来表达“考虑到所有这些可能性,选择最佳组合”?如果它可以在亚马逊的机器学习堆栈上使用,则可以加分。