推薦人による論客ポイントの計算方法の変更

[ガラケー版(QRコード)] 総閲覧回数:3,683,759回 / ブログ拍手:2,294
作品DB等各サービスの機能追加情報や、技術系・面白系記事を中心に提供。
記事の投稿は基本Twitterでも告知させて頂いています。
連絡は作品DBの論客の方なら私書、DB外ユーザの方ならメールTwitterで可能です。
アクセス記録[推移 / PV内訳(過去1日 / 過去1週間) / 外部アクセス元 (昨日 / 過去1週間) / ログイン論客足跡]
プロフィール私書(メール)
   /   /送済
評価(一覧   /)
投票   /共:   /
ファン登録
作品/情報/
DB構築()
ブログ
[書く]
攻略記事リンク集
My Play List
<=新記事2007/01/17 論客ポイントの構成表示とヘルプ改定&計算式変更
=>古記事2007/01/14 重要!: 作品追加・更新作業に関する機能追加 + サイトマップ + α

1.
2007/01/16 作品DB開発/運用 > 推薦人による論客ポイントの計算方法の変更」
[この書込みのみ表示(記事URL紹介用) / 編集 / 削除 / トラバ送信 / 共有分類に追加(タグ付け)]

プログラムのソースに解説を付けてみることで説明させて頂きます。
今までは論客ポイントが掛け算効果で多人数になると増加幅が増える一方で爆発的な増加をしてしまうことへの対応として、増加幅に一定の制限をかけました(増加幅の上限が75000になるようにした)。
平たく言えば、ぷよぷよでの「ばよえ~ん」「ばよえ~ん」みたいな、連鎖がつながればつながる程増加幅が多くなる効果があるのですが、その増加幅に対して制約をかけたということです。

my %favorite=();
my $root_point=$ca->get('rec_range')+1; # 現在推薦可能人数は30人なので30+1=31になる
foreach my $lc_name (keys %recu) # 推薦人がいる方を1人1人計算 / ループ処理
{
foreach my $point (reverse sort @{$recu{$lc_name}}) # 高い値から処理 / ループ処理
{
my $favorite=$root_point-$point; # 現在の推薦可能人数上限30なら1位なら31-1=30ポイント / 1により近い方が高い値が出るように反転させている

my $e_lc_name=$c->escape($lc_name);

if(!(exists($favorite{$e_lc_name}))) # その人にとって推薦人1人目のポイント演算 / 種となる値を出す
{
$fcnt{$e_lc_name}=1;
$favorite{$e_lc_name}=100*$favorite; # 種となる値 / 1位として投票されていれば30 x 100=3000ポイントが種になる
next; # 1人目のポイント反映処理は終了/次の推薦人のポイント反映へ
}

# 推薦人2人目以降
my $plus=sprintf("%.0f", $favorite{$e_lc_name}*($favorite/$root_point)); # 掛け算なので累乗的な効果がある(多数の推薦を受けると上がるペースがアップしていく)

# 累乗的加算効果を制限する為、加算の上限が75000になるようにする
if($plus>75000)
{
$plus=75000;
}
$fcnt{$e_lc_name}++;
$favorite{$e_lc_name}=$favorite{$e_lc_name}+$plus; # 増加した推薦人ポイントの追加

# 例: 1人目が5位、2人目が10位、3人目が15位に投票していた時
# 2500+2500x20/31+((2500+2500x20/31)x15/31 = 2500+1613+1990=6103 point

}
}

ちなみに推薦人がいない人にはポイントの方は関係ありませんが、偏差値の方は上がっている人が多いのではないかと思われます。これは一部極端にポイントが増えた方のポイント/偏差値が、今回の変更である程度減った為、その分他の方が増える方向に反映されたのではないかと思われます。

本日はこの要素の変更の効果を見る為にこれだけしか変更していませんが、次の変更では同一作品に対する多重コメントへのポイント制約を加えることになると思います。

コメントする


[他の記事も読む]
<=新記事2007/01/17 論客ポイントの構成表示とヘルプ改定&計算式変更
=>古記事2007/01/14 重要!: 作品追加・更新作業に関する機能追加 + サイトマップ + α


大分類が「作品DB開発/運用」の記事
この論客の記事全て
RSS購読
RSS
ブログ表示スタイル
リスト/携帯(QRコード)
画像/動画/音声/リンク
表示開始年月
分類
全て
1.このサイトについて
2.作品DB開発/運用
3.ホームページ制作技術
4.Perl
5.C言語 / C++
6.検索エンジン&SEO
7.サッカー
8.自分のこと
9.Linux
10.旅行
11.思ったこと
12.パソコン
13.Berkeley DB
14.その他技術系
15.企画
16.スマートフォン
17.鑑賞
18.皆声.jpニュース
19.インターネット業界
20.運用マニュアル(自分用)
21.技術系以外実用書
22.料理
23.ALEXA
24.アニメ
25.会計
26.漫画
27.設計書
28.色々サイト作成
29.サーバー
30.自分専用
31.生活
32.OP/ED/PV
33.ゲーム
34.DB整備
35.新規開始作品紹介
36.英語圏の話題
37.大道芸
38.映画
39.PHP
40.ダイエット
41.Mac
42.JavaScript
43.MySQL
44.介護
45.作品DB作品追加作業
46.BI
47.Web API
48.パフォーマンス
49.インターネットの活用方法
50.Riak
51.Androidアプリ開発
52.Cassandra
53.スパム
54.写真
55.iOSアプリ開発
56.AWS
57.マーケティング
58.Web漫画
59.法律
60.mongodb
61.開発環境整備
62.Google Apps Script
63.meteor
64.Pentaho
65.Ansible
66.VPS
67.技術書メモ
68.Vagrant
69.Docker
70.dokuwiki
71.Apple Watch
72.Webサービス
73.セキュリティ
74.Elastic Search
75.Wordpress
76.クラウド
77.英語
78.MVNO
79.シンガポール
80.マレーシア
81.海外生活
日記の主な内容
サイト運営/開発
検索エンジン情報
・技術ネタ(Berkeley DB,
Linux, Perl, サイト作成)等

サイト管理
全まとめ
サーバー管理
定期処理状況
開発予定
削除提案
作品追加依頼
OP/ED追加依頼
OP/ED not found
作品提案承認欄

格言 fromスクライド
この世の理は即ち速さ
20年かければ馬鹿でも
傑作小説を書ける

助けられたら助け返す
それが俺のルール

強くなるには
一番弱い考えをする事だ
そしてその考えに反逆する




右側に何か入れてみるテスト


仕事でのサイト
介護DB
Helpyou
Doctor career
Nurse career
上へ ↑上へ 最速検索作品DB皆声