我可以使用哪种算法来最小化在游戏中相互战斗的 2 种武器的获胜次数?

人工智能 数据集 游戏-ai 回归 算法请求
2021-11-13 12:39:51

我有一个涉及 2 种武器的游戏,它们互相对抗。每件武器都有 5 个特征/统计数据,具有一定的范围。我可以模拟游戏 ñ这些统计数据的随机初始化值的时间,以便收集数据集。我还可以计算一种武器与另一种武器的获胜、失败或平局的次数。

我正在寻找一种算法,可以最大限度地减少 2 种武器的获胜次数(可能通过更改这些功能),以使它们保持平衡。

1个回答

我将首先尝试按照我的理解重述您的问题。

  1. 你有一个包含武器的游戏。
  2. 武器以 5 个不同的数字为特征,其范围可以是不同的值(在您的示例中为 1-5?)。
  3. 您有一种方法可以模拟涉及两种武器的战斗。
  4. 战斗是随机的,但可以重复多次。可以确定平均赢率。
  5. 您正在寻找一种 AI 算法,该算法将接收大量统计数据,以及其中一个的平均胜率,并让您深入了解如何使平均胜率尽可能接近 50%。

如果这听起来正确,那么从根本上说,您的问题是一种回归形式,您可以使用 AI,但可能不需要。但是,您的问题可能不是线性的,因此您需要功能之间的交互。这是我的建议:

对于每对武器,存储一个逗号分隔的列表,其中包含每种武器的统计信息(一个接一个),然后是 wins1 - wins2。在顶部,列出每个属性的名称,用逗号分隔,(例如, Weapon1Str, Weapon1Range, ... ,weapon1-weapon2 然后使用像 R这样的语言,它可以简单地支持复杂的回归形式。

在 R 中,这很简单:

data <- read.csv(file="Myfile.csv")
lm(formula = dist ~ .*., data = data)

这应该产生一个“系数”列表,一个用于每个属性,一个用于每对属性之间的交互,它们形成一个包含 10 个变量的冗长二次方程。

该等式的任何零都应该是使这种差异最小化的一对武器。

这可能是开始的地方。如果它不起作用,也许来发布一个不同的问题,我们可以提供更多帮助。