经济模拟算法?

3
我想创建一个游戏,让玩家创造不同价格的产品(称之为报价),我会给他们一定数量的客户(称之为需求)。
现在,我想要一个算法来决定每个玩家的市场份额。当然,我现在可以使用随机数来实现这个算法。但在此之前,我更愿意先询问一下,因为我相信很多人在我之前就已经尝试过了!
我的问题并不是非常具体,因为您的答案也不需要非常具体;)
谢谢您提前的帮助!

难道不只是找到市场上每个玩家的“概率分布”吗? - uday
你可能想在http://gamedev.stackexchange.com/上提出这个问题。 - Muad'Dib
这是我找到的一个算法示例:http://www.wseas.us/e-library/conferences/2011/Brasov2/MCBANTA/MCBANTA-31.pdf - NLemay
你会线性代数吗?试试列奥季夫模型 - Joel Cornett
1个回答

4

这实际上取决于您设置的变量和您想要创建的“市场”类型。您可以从以下简单公式开始(基本上将市场份额归结为利润问题),然后我会解释一下我所说的“市场类型”。

marketShare = totalCompanyProfit/allMoneyInProductCategory;
marketShare = ( (productSalePrice * demand)-(productManufactureCost * supply) ) / allMoneyInProductCategory;

有趣的是,"市场类型" 取决于你对需求的定义。例如,假设产品是法拉利,而您想模拟的市场是刚果共和国,其人均GDP为189美元。

targetMarketSize = (percentOfFittingDemographic * totalPopulation)
percentWhoHateYourProduct = AVERAGE( ( ABS(productVariable1 - variableIdeal1) / variableIdeal1 ), ( ABS(productVariable2 - variableIdeal2) / variableIdeal2 ), etc )
demand = (targetMarketSize) * ( 1- percentWhoHateYourProduct ) 

percentOfFittingDemographic是符合购买该产品的人群所占总人口的百分比(例如,有足够可支配收入购买10万美元汽车的人),在上述刚果的例子中可能为0.001。

从产品属性(productVariable)与其理想值(variableIdeals)之差的绝对值平均值出发,可以计算出对该产品不感兴趣的人群所占的百分比。用1减去这个值得到愿意购买该产品的人数的百分比,将该百分比乘以目标市场规模即得到需求量。如果产品完美无缺,则该平均值为0,整个目标市场都将成为该产品的用户。

还可以对平均值进行加权,例如表示市场更喜欢较低的价格而不是更大的屏幕尺寸。为了暗示一个属性增加了人们购买产品的愿望(例如,不是“提供一个月免费服务”,而是“提供六个月免费服务”),可以将其添加到平均值中。

percentLikesProductNow =  1 - e^(-1 * infinitelyLikedAttribute)

这个属性从infinitelyLikedAttribute=0开始为0%,到infinitelyLikedAttribute=10时约为0.005%,因此您可以尝试找到一种方法将该属性“缩放”到大约1到10之间。这在现实生活中也是有道理的,因为有些产品如果没有免费试用期我是不会购买的。例如:三个月的verizon互联网免费试用。如果没有这个,我可能会选择comcast,因为我只在那里住了6个月,但当时省下100美元还是很大的。然而,在另一个极端情况下,如果verizon向我提供100年的免费互联网,并再额外增加50年(假设不可转让等),这真的不会使这个优惠更具吸引力。
您也可以使用随机数生成器将所有这些内容乘以一个随机数,以便给它们一个+/- 15%的变化,让每个人都猜测 :)
希望这些信息对您有所帮助 :)

这是一个非常有趣的解决方案!谢谢你! - NLemay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接