ここでの私の目標は、reddit のフロント ページと同様のシステムを生成することです。
私には物事があり、簡単にするために、これらの物事には投票があります。私が生成した最高のシステムは、時間減衰を使用することです。半減期が 7 日間の場合、今日の投票が 20 ポイントの価値がある場合、7 日後には 10 ポイントの価値があり、14 日後には 5 ポイントの価値になります。
問題は、これは私が非常に満足している結果を生み出しますが、スケールしないことです. 投票ごとに、他のすべての投票の値を効果的に再計算する必要があります。
だから、私は考えを逆転させることができるかもしれないと思った。今日の投票は 1 ポイントの価値があります。今から 7 日後の投票は 2 ポイントの価値があり、今から 14 日後の投票は 4 ポイントの価値があります。投票ごとに 1 つの行を更新するだけでよいため、これはうまく機能します。問題は、年末までに、とてつもなく膨大な数を保持できるデータ型が必要になることです。
というわけで、ひどいランキングになった線形成長を使ってみました。多項式の成長 (サイトの立ち上げと提出からの日数の 2 乗と 3 乗) を試したところ、わずかに良い結果が得られました。ただし、わずかに良い結果が得られると、すぐに維持不可能な数値に再び近づきます。
だから、私はあなたのスタックオーバーフローに来ます。天才的なアイデアを持っている人、またはこのシステムをモデル化する方法に関するアイデアへのリンクを持っている人は、Web アプリケーションに合わせて適切に拡張できます。