2012-03-31 29 views
0

我正在尋找一個評分算法,但我真的找不到我在找什麼。讓我們想象一個應用程序,用戶可以在其中發表評論,可以對文章投票或創建評論,喜歡或不喜歡評論/文章。目標是根據用戶的活動對用戶進行排名。評分算法用戶/操作

這個系統本身可能會像一箇中立的對數或什麼東西一樣增長,所以越多點你越難獲得更多的分數。另外一個新手必須對一個非常有經驗的用戶有一個聲音,但他的聲音不那麼重要。

我正在考慮:

每個動作都有一個基準值。

用戶有一定數量的點數,這決定了他的體重。 他的點數決定了他的水平,以及他可以執行的一系列動作。

當用戶執行一個動作時,他的體重會影響動作的基本值,並且他的點數也會增加,所以他的體重也會增加。

聽起來不錯?你知道一些算法/代碼實現這種事情的例子嗎?謝謝

PS:我也意味着我應該採取哪個功能有重量?

回答

0

怎麼是這樣的:

每個動作都有基礎值至少100點(但不超過1000)。

用戶100分

開始如果已在總值爲基礎Ÿ執行行動X點,你給他10 * Y/log2(log2(X))加分的用戶。

因此,與100基值,用戶收到
執行連續動作之後:

360 points (460 total points) 
317 points (777 total points) 
306 points (1083 total points) 
and so on 
+0

你好,謝謝。是的,我認爲這是主意。也許我可以調整日誌,使其在「人類時間」中不會變得瘋狂,我也必須定義規則,所以無法對系統進行遊戲 – student310 2012-03-31 11:09:13