经理游戏:如何计算市场价值?

caw*_*caw 2 statistics

通常,足球经理游戏中的玩家具有市场价值.经理们根据这些市场价值出售他们的球员.他们认为:"哦,玩家价值3,000,00,所以我会尝试卖掉他3,500,000".

所有球员都有三个基本素质:

  • 强度值(1-99)
  • 他们可以达到的最大力量(1-99)
  • 动机(1-5)
  • 现年龄(16-40岁)

基于这些值,我计算了当前的市场价值.但我想根据最后一段时间内的玩家转移动态计算市场价值.我怎么能这样做?

我有上面提到的质量和最后一段时间的球员转移可供计算.

我该怎么计算呢?我是否必须根据质量对最后转移的球员进行分组,并简单地采用平均转会价格?

我希望你能帮助我.

替代文字http://i31.tinypic.com/2iglr3d.png

注意:玩家=物品/商品,经理=用户

Alc*_*sta 7

我的建议:定义一个距离函数,它取两个玩家的统计数据并返回一个距离值.既然你有两者之间的距离(对应于它们之间的相似性),你可以使用K-means算法来找到类似玩家的集群.

对于每个群集,您可以采用多个值来帮助您计算所谓的"市场价格"(如平均值或中值).

这是一个非常简单的例子,说明如何计算两个玩家之间的距离函数:

float distance(Player player1, Player player2){
    float distance = 0.0;

    distance += abs(player1.strength - player2.strength) / strengthRange;
    distance += abs(player1.maxStrength - player2.maxStrength) / maxStrength;
    distance += abs(player1.motivation - player2.motivation) / motivationRange;
    distance += abs(player1.age - player2.age) / ageRange;

    return distance;
}
Run Code Online (Sandbox Code Playgroud)

现在你有了距离函数,你可以应用k-means算法:

  1. 将每个玩家随机分配到群集.

  2. 现在计算每个集群的质心.在您的情况下,质心坐标将是(力量,maxStrength,动机,年龄).例如,要计算质心强度坐标,只需平均群集中所有玩家的强度.

  3. 现在将每个玩家分配到最近的质心.请注意,在此步骤中,某些玩家可能会更改其群集.

  4. 重复步骤2和3,直到收敛,换句话说,直到步骤3中没有玩家更改其群集.

现在您拥有了集群,您可以计算出类似玩家的平均价格.