MikeMirzayanov's blog

By MikeMirzayanov, 14 years ago, In Russian

Всем привет!

Вернувшись вчера с отдыха (да-да несколько дней плотной работы над Codeforces я называю именно так), я с увлечением прочитал посты, комментарии и снова посты, посвященные произошедшему инциденту. Я очень рад, что это происшествие не оставило равнодушным сообщество и нашлись люди, готовые конструктивно обсуждать произошедшее и предлагать свои варианты исправления. Отмечу, что в самом деле, текущий способ учета вклада оставляет желать лучшего. В свое время (ровно год назад!) он был написан за короткое время и имел своей целью с одной стороны подсчет вклада некоторым простым образом (для того чтобы "было" и накопления статистики), а с другой стороны, от него требовалась расширяемость - то есть такой способ организации хранения, при котором позже можно изменить формулы, принципы подсчета и пересчитать исторические данные.

В настоящий момент, когда сообщество выросло и немного окрепло вклад стали видны его слабые места и проблемы. Значит, самое время исправить ситуацию.

Поразмыслив над ситуацией, почитав мнения сообщества, я думаю, что разумно будет поступить следующим образом.

  1. Вклад, как явление, надо оставить, но модифицировать способы его подсчета.
  2. Делать каких-то больших вложений в усложнение системы мне не хочется - есть большое количество других направлений, которые более ценны и востребованы.
  3. Не хочется делать систему излишне управляемой некоторой диктаторской волей и т.п. Я против введения модераторов, способный решать все и вся. С другой стороны предоставлять повышенные права к управлению сообществом авторитетным пользователям - логичный и правильный шаг.
  4. С мнением natalia "Все члены сообщества Codeforces важны ему и должны иметь равные права при голосовании." я не согласен. Я за то, чтобы мнение профессионалов в профессиональном сообществе ценились/учитывались больше. Сообщество у нас профессиональное. Я считаю, что на симпозиуме врачей те, кто добился больших успехов на профессиональном поприще, кто более опытен, имели больший вес, чтобы к их мнению прислушивались больше. Аналогично и здесь. Если новичок высказывает правильные, логичные и справедливые мнения, то те же авторитеты поставят ему плюсы, что поднимет авторитет первого. Авторитет надо заслуживать некоторое время и прикладывать к этому определенные усилия. Другой момент, что вес голоса авторитета не должен быть сверхбольшим (некоторые цифры идут ниже по тексту).
  5. Давайте перейдем к предполагаемым принципам работы.
    • Ограничить число голосований в сутки. Разделять голосования за посты и комментарии. Люди, имеющие серый рейтинг или не участвующие в контестах голосовать не могут (читайте выше про профессиональность сообщества). Далее ограничения растут в зависимости от авторитета (т.е. зависят от вклада и рейтинга). Можно сделать как-то так (квоты на сутки):
      Положение по вкладуГолосаДобавка к авторитету
      В top103 за топик, 9 за комментарии 3
      В top50 2 за топик, 6 за комментарии 2
      Остальные 1 за топик, 3 за комментарии 1
      Положение по вкладу надо, наверное, учитывать, используя данные последних месяцев четырех.
      Положение по рейтингуГолоса Добавка к авторитету
      Красный 3 за топик, 9 за комментарии 3
      Желтый 2 за топик, 6 за комментарии 2
      Синий, зеленый 1 за топик, 3 за комментарии 1
      Серый, не-участник контестов или не участвовал слишком долго (четыре месяца?) не голосует 0
      Период в последний строке должен совпадать с периодом сбора статистики по первой таблице, может его стоить сделать другим? Кажется, что лучше выбирать минимум для участника по обоим трекам, чтобы определять дневные квоты голосования.
    • Не более половины дневной квоты (считать отдельно по топикам/комментариям) можно отдавать одному автору.
    • Не изменять рейтинг автора на основании оценок его комментария или топика, если за них слишком мало голосовали. Например, надо более одной оценки за комментарий, более трех за топик.
    • Сделать у топиков параметр соответствия тематике сайта (реклама/бред, явный оффтопик, просто топик, разбор/учебный материал/умный анализ работы Codeforces/отчет о контесте/тематическое другое). Дать возможность админу или авторитетам устанавливать этот параметр. Численно этот параметр может быть (0, 1, 2, 3).
    • Считать авторитет автора как сумму по третьим столбцам в табличках выше и учитывать голоса с такими весами.
    • Считать вклад автора как сумму оценок по его комментариям (учитывать веса) + утроенных оценок по топикам (учитывать веса). Во втором слагаемом надо учитывать как-то параметр соответствия тематике. Например, умножать сумму по топику на этот параметр (если она положительна).
    • Отображать вклад участника как некоторую функцию от накопленной сумму (конечно, монотонную). Функция должна сначала достаточно быстро расти, потом медленней. Возможно, квадратный корень подойдет.

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

Спасибо за внимание, жду комментариев.
MikeMirzayanov

  • Vote: I like it
  • +53
  • Vote: I do not like it

14 years ago, # |
  Vote: I like it +3 Vote: I do not like it
Could you please translate this post into english?