gpt4 book ai didi

javascript - 如何在两个值之间生成一个随机数,并优先选择接近极限的数字

转载 作者:行者123 更新时间:2023-11-30 20:46:52 25 4
gpt4 key购买 nike

我正在实现一个基本上玩 Battle Ships 游戏的 AI 系统。该 AI 的一部分在于将 Ships 放置在棋盘上。这应该是一个随机过程,但统计数据表明,如果您将船只放在棋盘边缘附近,您就更有可能赢得比赛。

是这样的: enter image description here

所以,说船可以在 X(0 到 9 之间)和 Y(0 到 9 之间)的任何位置,我想实现一种算法,可以生成 0 到 9 之间的随机整数,返回的概率更高接近 0 或接近 9 的数字(4 和 5 的数字不太可能被返回)。这将是一个 javascript 算法,但任何使用伪代码的直觉都是值得赞赏的。

有什么建议吗?

谢谢!

最佳答案

假设您有一些样本和一个公平的抽样函数

// an equal distribution
const equalDistribution =
[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

// fair sampling function
sample (equalDistribution) // equal probability of 0 - 9

只需调整样本以包含更多您希望更频繁出现的数字 - 下面,09 与之前相比有更高的概率 (3/14) (1/10)

// 0 and 9 are more likely
const inequalDistribution =
[ 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9 ]

// same fair sampling function
sample (inequalDistribution) // = 0 and 9 more likely

这使您可以完全控制您想要的结果分布。当然,您现在的工作是创建一个函数,它采用equalDistribution 并根据一些输入创建inequalDistribution。这是您编写程序的地方,如果遇到困难,请分享并寻求帮助。

关于javascript - 如何在两个值之间生成一个随机数,并优先选择接近极限的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48613640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com