人工智能 - 如何确定拍卖出价的估值?

时间:2017-05-12 00:24:44

标签: swift artificial-intelligence decision-tree

我正在开展一个项目,那里有一系列被拍卖的卡片;最高出价者将在拍卖中赢得最高价值的卡片。

当AI播放器轮流时,他需要评估阵列并确定其出价的估值。

忽略与验证或规则有关的任何事情;因为我已经编程并测试了这些。

我的查询更具体地说明如何关联给定数组值的值;并提出竞标价值。

在项目中,卡的范围从1 ... 30; 30是最高的。

单次拍卖可能会有6张牌,随机播放并放置"拍卖"

即:

#1 - "Card name" - Value: 1
#2 - "Card name" - Value: 3
#3 - "Card name" - Value: 30
#4 - "Card name" - Value: 15
#5 - "Card name" - Value: 24
#6 - "Card name" - Value: 18

我的问题是,计算机如何审核这些价值观,并确定了他继续提高出价,甚至提出开标价的价值?

我们知道有一些变数。

  • 所有卡片都被拍卖
  • 手头现金
  • 剩余多少轮拍卖(目前,假设6轮拍卖)

鉴于此,我已经提出了一个基本的加权解决方案。

IE:

var weight = 1.0

if roundsRemaining = 1 {
   weight += 0.35
}

if weight > 1.0 { 
   weight = 1.0 
}

然后我在0和1.0之间随机化;越接近1.0,竞标者就越有可能出价。

虽然它给了我出价的概率,但它并没有告诉我他的出价的估价

理想情况下,我希望AI审核所提供的卡片并根据他认为最高卡片的价值进行出价(因为这是他的出价)。

这是我的查询;给出一系列带有值和已知参数的卡片; AI如何确定出价的估值。

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用Statistics :)

您可以在拍卖中对卡片进行平均,然后将该值与已知的值分布(即所有可能的套装的钟形曲线)进行比较,以找到该拍卖的p值。 p值越高,该集合越有价值,并且AI应该愿意支付它越多。

这是有效的,因为任何集合的所有值都将回归到平均值。

如果拍卖集未知,(也就是说,玩家无法在拍卖中看到所有牌),那么AI就可以猜测'基于已知的p值或记住已经看过哪些卡并将其从总分布中移除。

您可以使用此统计信息库,而不必编写自己的: https://github.com/evgenyneu/SigmaSwiftStatistics