Search | LastPosts | Recent | Register

E-mail:

Password: (Forgot it?)

Login

Uplanet => UP-форум => Быстренький опрос

Jump to:

Next Oldest | Next Newest

More: 1  2  >|
2/3/2018 11:35:03 PM Link | Reply | Edit | Quote

Erema

Profile Send Private Message Send E-Mail
Location: | Joined: 4/8/2010 | Posts: 312 |

Я тут прикручиваю к своему чатику рейтинг г+, очень простой. Но совет не помешает. Сразу скажу, исходим из имеющихся данных, поэтому все усложнения лесом. Нет никаких данных о финальных техах - поп-кап, дожитии до 15го, и тп.

В наличии: список законченных партий для ников, написанных латиницей (легенда, привет). Используются только ники, помеченные как основные (верифицированные чтоли).

Для каждого ника есть список алиасов, партии из них тоже входят в список. В теории рейтинг считается очень просто для каждого из алисов, но лично для меня это нафиг не нужно (да и не будет в чатике столько аккаунтов на юзера). Кстати ники с легенды могут быть учтены как алиасы к латинскому нику.

На каждого алиаса-юзера есть список игр, с признаком (победа, рип, дожитие). Учитываются только партии, в которых есть хотя бы 1 победитель, и 1 доживший-мертвый, и убираются все подобные новайсам или извратам:

if server == "spb" and (type == "novice" or type == "academy" or string.find(name, "novice") ~= nil) then

elseif server == "msk" and (type == "novice" or type == "novice1xx" or type == "novice2xx") then

elseif server == "legend" and (type == "test" or type == "другие" or type == "novice" or type == "unknown" or string.find(name, "zombie")) then

Так как нет даже полноценного списка игроков для каждой игры, он составляется анализом всего xml.

Имеем: число победителей = win, число доживших = live, число рипов = dead, общее число игроков = count

Сложность партии rating = 100 * math.log(value.count / value.win) / math.log(2) (исходим из того, что дуэль есть простейшая партия с 1 (100 рейтингом

Каждый победитель получает по свою долю от рейтинга , который отнимается от проигравших (дожившие условно по 1 доле, рипы по 2)

Долю можно расчитать как alpha = rating / (2 * dead + live)

Все бы ничего, но сдается мне что такой рейтинг будет отрицательным примерно для 99% игроков (У меня он получился ну очень минусовым, что несправедливо же )

C другой стороны, когда он отрицательный у всех, знак минус теряет какой либо смысл.

Варианты:

1) Развернуть схему и плюсовать рейт всем, скажем по схеме, когда победителям начисляется аналогично, дожившим сумма на всех в 2 раза меньше, рипам в 4 раза меньше на всех.

2) Оставить как есть

3) Какой нахер рейтинг, галакси умерла?


*** Edited 2/3/2018 8:37:02 PM UTC by Erema***


Erema, vice GM.

2/3/2018 11:39:20 PM Link | Reply | Edit | Quote

MapleKSI

Profile Send Private Message Send E-Mail
Location: | Joined: 6/16/2006 | Posts: 309 |

(3). Это все равно, что на полном серьезе начать обсуждать, как написать клиент получше или там новичков навербовать. Просто какой-то галактический стыд.

2/4/2018 9:42:09 AM Link | Reply | Edit | Quote

Andy_gal

Profile Send Private Message
Location: Crimea, Simferopol | Joined: 10/2/2017 | Posts: 26 | Offline

MapleKSI said:
Просто какой-то галактический стыд.

не согласен.
(1)

2/4/2018 6:31:01 PM Link | Reply | Edit | Quote

Erema

Profile Send Private Message Send E-Mail
Location: | Joined: 4/8/2010 | Posts: 312 |

Собственно в бета-версии рейтинг реализован, желающие потестить могут обратиться в лс


Erema, vice GM.

2/5/2018 9:09:42 AM Link | Reply | Edit | Quote

Glider

Profile Send Private Message Send E-Mail ICQ Message
Location: | Joined: 5/4/2006 | Posts: 1802 |

Все три варианта неверные .

Если нужен хороший неинфляционный рейтинг, то за основу надо брать рейтинг Эло и просто адаптировать его для игры на несколько игроков.

Проблема "рейтинг будет отрицательным примерно для 99% игроков" у подобных рейтингов решается очень просто, если происходит
игра где, скажем, у 9-го игроков крайне низкий рейтинг, а у 1-го - высокий, мат. ожидание победы последнего будет близко к 1, мат ожидание
победы для остальных будет близко к 0, соответственно, если игрок с высоким рейтингом побеждает кучу игроков с низким - то никакого
значительного прироста рейтинга он уже не получит, также как и у проигравших в этом случае ничего не убавится.

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

WBR, Glider.

2/5/2018 9:23:22 AM Link | Reply | Edit | Quote

Erema

Profile Send Private Message Send E-Mail
Location: | Joined: 4/8/2010 | Posts: 312 |

Глайдеру:

Шерлок Холмс и доктор Ватсон летят на воздушном шаре. Погода

портится, шар несется по ветру с огромной скоростю, оринетация

полностью потеряна...

Наконец небо расчищается, Холмс и Ватсон видят под собой залитую

солнцем природу. На берегу ручейка мужик пасет коров.

Когда шар пролетает над мужиком, Холмс обращается к нему:

- Любезнейший, не подскажете ли, э-э..., где мы находимся?

Мужик обалдело смотрит на Холмса и Ватсона, и, когда шар уже

улетел довольно далеко, кричит ему вдогонку:

- Вы находитесь на воздушном шаре!!

Холмс:

- Все ясно, Ватсон. Мы в России.

- Но Холмс! Почему вы решили...

- Элементарно, Ватсон. Этот человек - системный программист.

Только системный программист мог дать столь правильный и

при этом столь бесполезный ответ.

- Да, но почему вы решили, что мы именно в России?

- Элементарно, Ватсон. Только в России системные программисты

пасут коров.


Erema, vice GM.

2/5/2018 10:32:37 AM Link | Reply | Edit | Quote

GVNG

Profile Send Private Message
Location: Lublin | Joined: 11/29/2005 | Posts: 2381 | Offline

2Erema:

Это пересказ "c попыткой локализации". Оригинальная версия вот (и она куда более логичная):

Мужик с воздушного шара обращается к мужику внизу: -Я опаздываю на срочную встречу! Не подскажете ли, где я нахожусь? - Вы находитесь на воздушном шаре. - А, опять программист… - Да, а как вы догадались? - Ответ ваш точен и бесполезен. Теперь я из-за вас опоздаю на встречу, на которой обещал быть. - А вы менеджер? - Да, а как догадались? - Вы не знаете, где находитесь, куда двигаетесь, как сюда попали. На высоту вас поднял пузырь. Вы считаете, что те, кто ниже вас, обязаны выполнять обещания за вас. После разговора со мной ваше положение не изменилось, но в этом почему-то виноват я
*** Edited 2/5/2018 7:34:25 AM UTC by GVNG***


WBR, Roma, resurrected-GM.

2/5/2018 11:01:16 AM Link | Reply | Edit | Quote

Erema

Profile Send Private Message Send E-Mail
Location: | Joined: 4/8/2010 | Posts: 312 |

Тут проблема в том, что рейтинг эло на моей памяти предлагался несколько раз, а когда автора просили конкретную реализацию под партию в несколько человек, все заканчивалось фразой:



Очередной прожектер: надо брать рейтинг Эло и просто адаптировать его для игры на несколько игроков.

*** Edited 2/5/2018 8:01:36 AM UTC by Erema***


Erema, vice GM.

2/5/2018 11:30:45 AM Link | Reply | Edit | Quote

Glider

Profile Send Private Message Send E-Mail ICQ Message
Location: | Joined: 5/4/2006 | Posts: 1802 |

Erema said:
Тут проблема в том, что рейтинг эло на моей памяти предлагался несколько раз, а когда автора просили конкретную реализацию под партию в несколько человек, все заканчивалось фразой:

А на моей памяти никто никогда и не просил конкретной реализации рейтинга Эло, вместо этого сразу начинали рассказывать анекдоты про воздушный шар ))

WBR, Glider.

2/5/2018 11:37:45 AM Link | Reply | Edit | Quote

Erema

Profile Send Private Message Send E-Mail
Location: | Joined: 4/8/2010 | Posts: 312 |

Ну хз конечно. Я привел конкретный алгоритм. В ответ получил ожидаемое ФИ от любителя мечтать во снах о галакси, и фразу "надо просто".

Да непросто все, иначе г+ за десятки лет существования было бы засрано рейтингами.

В общем все ожидаемо.


Erema, vice GM.

More: 1  2  >|

Next Oldest | Next Newest

Uplanet => UP-форум => Быстренький опрос

  Please login or register to post.