今年の生徒会では、私は「歌」委員会に所属していて、曲を選びます。残念ながら、ダンスの子供たちはいつも愚かな歌の選択のいくつかを嫌うことになります。今年は違うものにできると思いました。先週の木曜日、私は簡単なPHPアプリケーションを作成して、子供たちが曲をデータベースに送信し、曲の名前、アーティスト、ジャンルを(ドロップダウンから)提供できるようにしました。また、Redditと同様の投票機能を実装しました。賛成ボタンをクリックすると、曲が賛成され、賛成数が増えます。反対票も同じです。
だれでも、データベースには、これらの曲、賛成票、反対票、およびタイムスタンプを評価するために使用できると思った3つの情報があります。しばらくの間、ランクは単に「投票」数の多い曲を一番上に置くことによって作成されました。つまり、賛成票が多いほど、反対票が少なくなります(賛成票-反対票)がリストの一番上に表示されます。それはしばらくの間はうまくいきましたが、日曜日までにリストには約75曲があり、最初に提出された曲は単にリストの一番上にありました。
日曜日に、ランクアルゴリズムを(賛成-反対)/(CurrentTimestamp-CreationTimestamp)に変更しました。つまり、短い時間で投票数が多いほど、リストに含まれる曲の数が多くなります。これはうまくいきますが、それでも私が望む方法ではありません。
今何が起こっているのかというと、曲が作成されて投票数1に投票された瞬間、それはどこかのリストの一番上に行き着くということです。ネガティブに投票数がある曲は、子供が通常一番下までスクロールしないため、あまり表示されません。
下の曲が上に表示されるようにデータを並べ替えることができたので、人々は下の曲を見る必要があります。正直なところ、これまで「人気」アルゴリズムに取り組む必要はなかったので、どう思いますか?
ウェブサイトhttp://www.songs.taphappysoftware.com-これをここに置くべきかどうかはわかりませんが、ダンスで不要な曲が発生する可能性があります:0