Improve leech-ranking formula
dkl9

dkl9 commited on 2023-198 10:09:26
Showing 1 changed files, with 4 additions and 2 deletions.

... ...
@@ -2,14 +2,16 @@
2 2
     return number indicating how much of a leech the prompt is
3 3
 ]]
4 4
 local function badness(pr)
5
-    return math.log(pr.fail) / pr.succ * (pr.fail + pr.succ) / math.log(pr.delay)
5
+    local sff = math.log(pr.fail) / (pr.succ / (pr.fail + pr.succ)) ^ 2
6
+    local df = math.max(1, math.log(pr.delay) - 8) ^ 2
7
+    return sff / df
6 8
 end
7 9
 
8 10
 local function fn(config, deck)
9 11
     local leechqueue = {}
10 12
     for i, cg in ipairs(deck) do
11 13
         for j, pr in ipairs(cg.pr) do
12
-            if badness(pr) > 0.3 and pr.delay >= 0 then
14
+            if badness(pr) > 0.1 and pr.delay >= 0 then
13 15
                 table.insert(leechqueue, { i, j })
14 16
             end
15 17
         end
16 18