Autor | Zpráva | ||
---|---|---|---|
Kopiňák Profil * |
#1 · Zasláno: 15. 7. 2017, 09:17:55
Dobrý den,
mám na svém webu diskuzní fórum jehož součástí je možnost ohodnotit příspěvky (palec nahoru nebo dolů). U každého uživatele se snažím vytvořit cosi jako karmu, což je tedy nějaký jakože "průměr" hodnocení jak ho hodnotí ostatní uživatelé. Použil jsem na to vzoreček z www.evanmiller.org/how-not-to-sort-by-average-rating.html Funguje to relativně spolehlivě, nicméně chtěl bych do toho zakomponovat to, aby to počítalo lidem, kteří mají špatnou karmu a rozdají body jiným nižší vahou než výše postaveným uživatelům a samozřejmě naopak. Tj nějak tam dostat faktor člověka co hodnotí a upravit pak váhu toho hodnocení. Chci to proto, jelikož se mi tam občas registrují blbečci co omínusují spoustu lidé a pak celý systém naruší (musím pak přepočítavat a odmázavat). Řešení určitě není dovolit hodnotit třeba až po 100 příspěvcích nebo tak, nejlepší by bylo zahrnout tu váhu a pro nováčky nějakou menší konstantní. Věděl by někdo zdatný v matematice jak vzorec upravit, případně mě odkázat na nějaký vzorec který by splňoval to bych chtěl? |
||
Keeehi Profil |
#2 · Zasláno: 15. 7. 2017, 10:14:23
Nejsem zdatný matematik, ale vidím tam problém s cykličností.
Aby jsi mohl vypočítat karmu nějakého uživatele, musíš znát karmy uživatelů co ho hodnotili a tím nejspíše přenásobit jejich hlasy. Tím spočítáš novou karmu tomuto uživateli. Jenže tento uživatel mohl hodnotit uživatele kteří hodnotili jeho a tedy jejich karma je ovlivněna karmou tohoto uživatele a ted vlastně i váha jejich hlasu byla ovlivněna. Takže nynější karma uživatele závisí na jeho předchozí karmě protože podle toho se mohla počítat karma ostatních. |
||
Kopiňák Profil * |
#3 · Zasláno: 16. 7. 2017, 12:40:06
No je to docela složité. Vyřešil jsem to prozatimně tak, že dovolím lidem hlasovat jen tehdy, pokud mají karmu alespoň 30% a hlavně mají od ostatních alespoň 50 hlasů, tím eliminuji nově zaregistrované a pokud nebudou vyloženě škodit, dřív či později toto pravidlo prolomí a budou moci hlasovat.
|
||
Časová prodleva: 6 let
|
0