Почему определенные переменные используются в вычислениях "горячих"? - PullRequest
3 голосов
/ 17 марта 2011

Я недавно прочитал сообщение в блоге о формуле Reddit "hotness" .Представленная ниже формула, по-видимому, используется.Есть пара переменных, я не понимаю, почему они будут выбраны, хотя.Я планирую использовать эту формулу в качестве справочного материала для приложения, в котором я участвую, поэтому я хотел бы знать основы, по которым эти переменные были использованы.

1 декабря 8, 2005 - Зачем использовать эту дату?Кроме того, зачем вообще использовать время смещения?Почему бы не использовать эпоху?Была ли эта произвольная дата использована так, чтобы она не зависела от платформы?

2-й - 45000 - Зачем использовать 45000 в качестве делителя?Это произвольное число или оно имеет конкретное значение или цель?

t = (time of entry post) - (Dec 8, 2005)
x = upvotes - downvotes

y = {1 if x > 0, 0 if x = 0, -1 if x < 0)
z = {1 if x < 0, otherwise x}

log(z) + (y * t)/45000

1 Ответ

4 голосов
/ 17 марта 2011

1 декабря 8, 2005 - Зачем использовать эту дату? Кроме того, зачем вообще использовать время смещения? Почему бы не использовать эпоху? Была ли эта дата произвольной, чтобы не зависеть от платформы?

Я подозреваю, что это была "эпохальная" дата для оригинального кода Reddit. Это сделает его хорошим выбором, поскольку переменная t будет начинаться ближе к нулю, что сделает функции более стабильными.

2-й - 45000 - Зачем использовать 45000 в качестве делителя? Это произвольное число или оно имеет конкретное значение или цель?

Это эффективно масштабирующая функция для времени. Чем больше это число, тем меньше возраст влияет на общее уравнение. Я подозреваю, что после некоторого тестирования было выбрано 45000, и было установлено, что оно обеспечивает разумную скорость затухания с учетом выбранной эпохи.

...