使用 SlopeOne 算法来预测玩家是否可以完成游戏中的关卡?

发布于 2024-10-04 11:32:56 字数 684 浏览 0 评论 0原文

我计划使用 SlopeOne 算法来预测玩家是否可以完成游戏中的给定级别?

场景如下:

  1. 许多玩家玩游戏并尝试完成游戏中的 100 个关卡。
  2. 每个玩家可以任意多次玩一个关卡,直到他们通过关卡。
  3. 系统会跟踪级别以及每个级别的重试次数。
  4. 每个游戏关卡都属于 3 个类别(简单、中等、困难)之一。
  5. 每个类别的关卡大约分布为 33%,这意味着 33% 的关卡为简单,33% 的关卡为困难,等等。

使用此信息:

当新玩家开始玩游戏时,经过几个级别后,我希望能够预测 哪些关卡是玩家可以轻松跨越的,哪些关卡是他/她不能轻易跨越的。

有了这种预测能力,我想呈现用户能够以 50% 的概率跨越的游戏关卡。

我可以使用 SlopeOne 算法吗?

推理是我发现我想要的电影评级系统有很多相似之处。

n 个用户、m 个项目和 N 个评分来预测给定项目的用户评分。

同样,在我的例子中,我有

n 个用户、m 个级别和 N 次重试...

唯一的区别是在电影评级系统中,评级固定在 1-5 范围内,在我的例子中,重试范围可以是 1-x (x 可能高达 30)

虽然理论上有人可以重试 30 次以上,但现在我可以先将上限固定在 30 次,并在获得更多数据后进行调整。

谢谢。

I am planning to use SlopeOne algorithm to predict if a gamer can complete a given level in a Game or not?

Here is the scenario:

  1. Lots of Gamers play and try to complete 100 levels in the game.
  2. Each gamer can play a level as many times as they want until they cross the level.
  3. The system keeps track of the level and the number of ReTries for each level.
  4. Each Game Level falls into one of the 3 categories (Easy, Medium, Hard)
  5. Approximate distribution of the levels is 33% across each category meaning 33% of the levels are Easy, 33% of the levels are Hard etc.

Using this information:

When a new gamer starts playing the game, after a few levels, I want to be able to predict
which level can the Gamer Cross easily and which levels can he/she not cross easily.

with this predictive ability I would like to present the game levels that the user would be able to cross with 50% probability.

Can I use SlopeOne algorithm for this?

Reasoning is I see a lot of similarities between what I want to with say a movie rating system.

n users, m items and N ratings to predict user rating for a given item.

Similarly, in my case, I have

n users, m levels and N Retries ...

The only difference being in a movie rating system the rating is fixed on a 1-5 scale and in my case the retries can range from 1-x (x could be as high as 30)

while theoretically someone could retry more 30 times, for now I could start with fixing the upper limit at 30 and adjust after I have more data.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

╰◇生如夏花灿烂 2024-10-11 11:32:56

我认为它可能有效,但我会首先将 log 应用于尝试次数(你不能执行 log(0) 所以重试不起作用)。如果有人发现某个级别很容易,他们会尝试一两次,而发现困难的人通常必须一遍又一遍地做。 1 次与 2 次之间的差异远大于 20 次与 21 次之间的差异。这将消除对 go 值的数量设置任意限制的需要。

I think it might work, but I would apply log to the number of tries (you can't do log(0) so retries won't work) first. If someone found a level easy they would try it once or twice, whereas people who found it hard would generally have to do it over and over again. The difference between did it in 1 go vs 2 goes is much greater than 20 goes vs 21 goes. This would remove the need to place an arbitrary limit on the number of goes value.

梦在深巷 2024-10-11 11:32:56

我不知道该算法有多合适,但我在 python http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/

I don't know how fitting the algorithm might be but I found this on implementing it in python http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文