开发者

Using SlopeOne algorithm to predict if a gamer can complete a level in a Game?

开发者 https://www.devze.com 2023-01-26 16:08 出处:网络
I am planning to use SlopeOne algorithm to predict if a gamer can complete a given level in a Game or not?

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 b开发者_运维百科e 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.


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.


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/

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号