KotM

KotM

https://www.facebook.com/profile.php?id=100009483202854
Пикабушник
Дата рождения: 10 августа 1980
поставил 37690 плюсов и 16531 минус
отредактировал 67 постов
проголосовал за 91 редактирование
Награды:
5 лет на Пикабу
140К рейтинг 54 подписчика 27 подписок 160 постов 75 в горячем

Ответ на пост «Закрыл сезон»

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

Сейчас расскажу про свой опыт сна за рулём и как наловчился с этим бороться.

Я люблю дорогу. У меня несколько официально подтверждённых номинаций IronButt (проехать за сутки больше 1000 миль), множество неподтверждённых. Поэтому поверьте, опыт дальней езды и проблем, связанных с этим, достаточно большой.

Так вот, самая большая проблема дальняка -- ты свыкаешься с движением, трафиком, скоростью и перестаёшь осознавать серьёзность опасности. Тебе кажется, что ты просто устал, глаза медленнее стали моргать... На деле ты уже спишь. И даже если вдруг осознаёшь, что только что спал -- то скорее всего просто попытаешься взбодриться, не понимая, что ты уже в шаге от беды.

Ответ на пост «Закрыл сезон» Дорога, Авто, Мото, Уснул за рулем, Совет, Дальняк, Ответ на пост

приходилось и прямо так спать, в дневную жару

Я как-то возвращался домой из путешествия по Грузии, до дома уже немного осталось. Ехал уже вторые сутки, трасса Ростов-Дон тогда была ещё в ремонте. Честно скажу -- когда понял, что засыпаю, хотел остановиться, отдохнуть... Но увы, инфраструктура Беларуси довольно убога, никаких гостиниц по дороге не было, максимум, что получилось -- вздремнуть 15 минут на стуле, который мне уступил охранник на одной из заправок. Мотоцикл не машина, на ходу (с подогревом ручек и сидений) тепло, а вот остановиться и поспать не получится. Я пытался спать на обочине -- просыпался от холода через несколько минут...

Впрочем, я отвлёкся. Еду я, еду, 4 часа ночи, на дороге никого... Вдруг обнаруживаю, что почти въехал в отбойник разделительной полосы. "Отвлёкся" -- подумал я. Еду дальше -- вдруг уже колёса на обочине! Тут уже начал понимать, что засыпаю. Собрался, взбодрился, открыл визор шлема -- пусть лучше морда мёрзнет, но спать не буду!

Еду дальше. Еду ровно, не сплю, на дороге никого нет... И вдруг чуть не врезаюсь в автомобиль, буквально из неоткуда возникший передо мной прямо посреди дороги! Еле успел вырулить и обогнуть его... И вот тогда я с ужасом понял, что я спал столько, что успел догнать какой-то одинокий автомобиль, скрытый ранее за горизонтом, и спал всё это время, пока чуть не врезался ему в задний бампер!

На адреналине доехал до Минска в 5 утра, а там специально поехал уже не по МКАД, что было бы быстрее, а через город, чтоб монотонное движение не давало заснуть...

Теперь советы, которые мне после того случая помогали ни разу больше не заснуть за рулём.

  1. Самый основной совет, сделайте себе жёсткое правило: клюнули носом -- останавливайтесь поспать хотя бы на 15-20 минут. Это должна быть чёткая установка, вбитая в подкорку. Именно на уровне безусловного правила. Потому что если это будет на уровне "может быть", то когда вы станете засыпать, вы это правило проигнорируете, в тот момент вы не будете понимать всю степень опасности.

  2. Кофе, энергетики и прочие транквилизаторы -- вещь в себе, не особо рекомендую. Зависит от дозы, конечно, но не исключено, что чашка крепкого кофе даст вам бодрость за полчаса-час, а потом внезапно сон вас срубит ещё сильнее. 15 минут сна гораздо эффективнее, даёт заряд бодрости часа на 3 как минимум.

  3. Очень помогают леденцы (альтернативно семечки, орешки и так далее). Их нужно не просто держать во рту, а рассасывать, шевелить языком. Иначе не будет работать.

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

Показать полностью 1

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов)

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

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Однако у массовости и популярности есть своя отрицательная сторона: в итоге становится сложно найти себе соперника «по руке», чтоб обоим было интересно играть. Мы пробовали разные способы: описывали свои навыки, использовали разные системы оценок, характеризуя свой уровень… Увы, начинающие склонны себя перехваливать, а опытные игроки – недооценивать.

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Вы же помните про эффект Даннинга-Крюгера?

В итоге возникла идея создания рейтингового бота, благо API Telegram предоставляет широкие возможности для этого.

В этой статье я не буду рассказывать про особенности технической реализации. Если появится интерес, потом могу отдельно расписать. Хочу рассказать про то, как пытался вначале «натянуть на глобус» рейтинговую систему RTTF (она же TTW, с минимальными отличиями), а в итоге взял на вооружение систему Эло, которая используется в шахматах.

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Постановка задачи

Цель для бота была простая: сделать возможность расчёта рейтинга при регистрации обычных уличных игр, а не только официальных турниров. Т.е. договорился с кем-нибудь поиграть на рейтинг, зарегистрировал результат игры – получил рейтинг.

Первые попытки

Вначале не было сомнений в том, чтоб использовать популярные и проверенные временем формулы. Формула RTTF среди остальных вариантов (TTW, ФНТР) показалась самой продуманной, поэтому именно её начал обкатывать на тестовых сценариях. И буквально сразу столкнулся с определённым сложностями, после которых едва не опустил руки:

  1. Формула RTTF подразумевает турнирный формат. Т.е. серия матчей до 2-3 побед. Ничьей быть не может. В то время как «на улице» играют, как придётся. Могут и сериями, а могут и 15:3 выдать. Или ничью.

  2. Начальный рейтинг новичкам выставляется вручную организатором турнира. Нам же нужна полная автономность.

  3. Формула RTTF хорошо работает только для игроков примерно одного уровня. Если разница в рейтинге победителя и проигравшего составляет более 100 очков (один спортивный разряд), то рейтинг не меняется. В результате, если игроки разных уровней играют вместе, рейтинг может застрять на одном уровне.

В итоге пришлось отказаться от классического варианта и искать что-то другое. А именно -- рейтинг Эло, который давно и относительно успешно используется в шахматах. Относительно – потому что там тоже пришлось использовать определённые костыли для борьбы с накруткой. Тем не менее этот рейтинг больше приспособлен для расчёта рейтинга по парным встречам, нежели рейтинги RTTF-подобной формулы.

Ниже я приведу основные тестовые сценарии для понимания разницы между этими рейтинговыми системами. Если кто готов поверить мне на слово, можете сразу перейти к "Окончательному выводу" в конце статьи.

Ничья

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

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Если бы мы использовали рейтинг RTTF, то разумнее всего было бы вернуть 0 прироста рейтинга, потому что эта формула вообще не учитывает подобные варианты. В то время как Эло легко справляется с подобными случаями без всяких дополнительных костылей.

Игрок 1, рейтинг 1400 (соответствует 3-му разряду)
Игрок 2, рейтинг 1800 (соответствует 1-му разряду)

Счёт 1:1

Результат:

Игрок 1, рейтинг 1416 [+16]
Игрок 2, рейтинг 1784 [-16]

Анализ

Обратите внимание на момент, который всегда возмущал (и будет возмущать) игроков, привыкших к RTTF-подобной рейтинговой системе: два игрока сыграли с равным результатом, однако один из них в итоге потерял очки рейтинга. Хуже того, забегая вперёд, скажу, что потерять очки рейтинга можно, даже выиграв. :)

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

наглядные страдания КМС

Тем не менее в этом есть логика: если перворазрядник не смог уверенно обыграть третьеразрядника, то действительно ли он на своём месте в рейтинге? Эло корректирует рейтинг обоих игроков в зависимости от результата игры. За счёт этого рейтинг по Эло можно считать гораздо более точным, нежели RTTF-подобный рейтинг, где неважно, как именно ты выиграл, главное, что выиграл.

Вывод

На «улице» ничья – нередкий результат дружеских встреч. В отличие от Эло, RTTF такие результаты считать не умеет.

Одиночные игры, разница в 1 разряд

Проверять будем на игроках с рейтингом 1600 Эло (соответствует 450 RTTF) и 1400 Эло (350 RTTF). Это как раз границы третьего разряда, т.е. играет начинающий второй разряд с начинающим третьим.

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Анализ

В RTTF всё просто: разница между игроками составляет 100 очков, прироста рейтинга нет. К слову сказать, при 99 очках разницы никакого заметного изменения рейтинга тоже не будет.

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

  1. при счёте 3:1 изменения рейтинга нет, потому что это ожидаемый результат встречи игроков с такой разницей уровня;

  2. при счёте 3:2 более сильный игрок, несмотря на итоговую победу, теряет рейтинг. Потому что либо он играл хуже, чем ожидалось, либо его соперник играл лучше, чем ожидалось от его уровня.

Вывод

При игре с заведомо сильным или слабым соперником RTTF-подобный рейтинг меняться не будет. Для него нужны игроки примерно равного уровня, что реально при организации турниров, но слабо применимо в обычных встречах.

В то же время как Эло не только откорректирует рейтинг по результатам встречи, но ещё и заставит более сильного игрока играть всерьёз, чтоб не потерять рейтинг из-за самоуверенности в случае слива случайного сета.

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

он может много рассказать о том, почему не стоит давать фору при игре на рейтинг

Одиночные игры, разница в разряда

Учитывая особенности RTTF формулы, попробуем сравнить игроков в пределах одного разряда. Пусть это будет рейтингом 1500 Эло (соответствует 400 RTTF) и 1400 Эло (350 RTTF), сильный третий разряд с начинающим третьим разрядом.

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Анализ

Преимущество RTTF формулы над ФНТР или TTW в том, что она учитывает разницу в сетах, что заметно по первым трём играм в таблице. Однако дальше рост не идёт, подразумевается, что вместо 4:0 должны регистрироваться две игры со счётом 2:0, 2:0. Как правильно сделать такое разбиение при регистрации «уличного» счёта – непонятно. К примеру, счёт 4:2 ведь можно разложить как 2:1, 2:1, так и 2:0, 2:0, 0:2.

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

Вывод

Сказать, что какая-то формула тут проявила себя лучше, нельзя. Каждая по-своему хороша.

Читер против обычного игрока

Пришла пора перейти к анализу ситуаций с возможным читерством. От этого никуда не деться и, хотя бот сейчас отказывается работать в чатах, где меньше 20 участников, тем не менее вполне реально возникновение игрока, который на фейковых аккаунтах накрутит себе рейтинг уровня мастера спорта.

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

очень хотел вставить эту картинку хоть куда-нибудь в статью

Давайте проверим, что такой игрок сможет продемонстрировать при встрече с реальным соперником, который его обыграет со счётом, скажем, 3:0. Пусть у читера будет рейтинг 2000 Эло (750 RTTF), а у обычного игрока рейтинг 1200 (250).

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Аналогично посмотрим на результаты встреч с таким же уровнем: «КМС» против настоящего КМС.

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Анализ

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

Вывод

Обе формулы хорошо отработали варианты встречи читера и обычного игрока. Сколько бы фейковых побед ты не зарегистрировал, встреча с живыми игроками быстро всё поставит на место, буквально за один турнир.

-----------------------------------------------------------------------------------------------------------------

Окончательный вывод

При одинаковых уровнях (в пределах одного спортивного разряда) обе формулы ведут себя хорошо, показывают схожие результаты. Однако дальше у RTTF начинаются минусы:

1.  Строгая привязка к турнирному формату – необходимо место, время, люди.

2.  Бесполезность при игре разных уровней (отличающихся на разряд и больше).

3.  Затруднительно автоматически выставить начальный рейтинг (посев).

4.  Сложности с пересчётом рейтинга по произвольному счёту, включая ничью (3:12, 5:5).

Вердикт: шахматисты победили теннисистов. :)

Сравнение рейтинговых систем Эло и RTTF (или шахматисты против теннисистов) Рейтинг, Настольный теннис, Сравнение, Telegram бот, Длиннопост

Через 3 месяца использования. А сколько критики было поначалу...

P. S. Бот для настольного тенниса: @tt_rating_bot, аббревиатура рейтинга TTAR. За короткое время существования (меньше года в разработке) и без какого-либо внятного продвижения в нём уже зарегистрировано больше 4000 игр.

Бот для тенниса (большого): @TennisRatingBot (TAR), пока им никто не пользуется.

Бот для шахматного рейтинга: @chess_rating_bot. Необходимость сомнительна, делал по просьбе одного гроссмейстера.

Показать полностью 12

Ответ на пост «Когда бдительность решает»

Ох, разблокировалось воспоминание того возраста, когда я ещё был маленький, но в кровать уже перестал мочиться (чем по праву очень гордился).

Приснилось, что играем с друзьями в песочнице и мне как раз приспичило. Отошёл в сторонку, очень аккуратно всё расстегнул, приступил к действию, внимательно следя, чтоб ни одной капли не попало на штанишки...

Когда проснулся в процессе, самое обидное было, что я-то всё делал абсолютно правильно! До сих пор помню это чувство вопиющей несправедливости.

Оператор нейронных сетей первой категории

Когда я в конце 90-х поступал в университет, то мечтал научиться писать на Assembler. На тот момент мне это казалось верхом крутости -- владеть низкоуровневым языком программирования, с возможностью писать программы абсолютно для всего, а ещё какие возможности для хакинга!

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

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

Вчера пощупал очередную нейронную сеть. Ради интереса попросил её написать такую же функцию, которую сам вчера писал. Просто на словах, общий принцип. Результат был в точности, как моя функция. Имена переменных только чуть-чуть отличаются.

Похоже, вот и приходит время, когда классические программисты начинают уходить в небытие. Уступать тем, кто будет уметь просто формулировать задачи. И как бы нас тексты, сгенерённые ИИ, не уверяли, что потребность в программистах всё равно останется -- увы, грядёт следующее поколение. Которое через 20 лет будет искать кого-нибудь, кто знает эти древние низкоуровневые JAVA или .NET...

"Он всегда тут выходит"

Минутка ночных приключений.

"Тяжесть – это хорошо. Тяжесть – это надёжно"

Прикольно китайцы придумали. Чтоб их зарядное выглядело более "серьёзным", они туда грузик приклеили (см. сверху). Ты его берёшь в руки и такой: "О, не дешёвка какая-то, хорошее зарядное!"

"Тяжесть – это хорошо. Тяжесть – это надёжно" Маркетинг, Китайские товары, Лишний вес, Электроника, Грузики

Агрессивное настроение

Дочка готовится к урокам, читает вслух:

"...эти леса отличаются многоЯРОСТностью и ИЗБИЛИем видов..."

Идеальная аргументация

У жены (работает логопедом) бывают очень интересные дети. Одного такого ребёнка слышно ещё от лифта, бежит, врывается в квартиру с радостным криком: "Я первая!"

Потом довольно раздевается, не умолкая:

-- Я всегда первая! Я люблю быть первой! Я первая, даже когда вторая! Ведь нет никого больше второго? Значит, я первая!

Отличная работа, все прочитано!