Время. Расчет времени на обдумывание хода.

Discussion in 'Машинное отделение' started by NS, 20 Nov 2006.

  1. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Пусть n-количество ходов оставшихся до контроля.
    n:=min(n,60) (если контроль на всю партию - то n:=60)
    t - оставшееся до контроля время (если прибавка на ход - то умножаем на количество оставшихся ходов и прибавляем к оставшемуся до контроля времени)

    Предлагаемая формула для расчета аварийки (максимального времени на обдумывание)
    (n+9)t/10n (есил по-максимуму, то тратит больше 10% времени на первый ход)
    Если так агрессивно тратить время страшно, то (n+39)t/40n :)
    Естественно если рассчитанное максимальное время на ход превышает показания часов, то уменьшаем его до показаний часов.
  2. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Закончил расчеты времени, потери при разных варинтах обдумывания, и вывел формулу для подсчета потерь и для расчета интервалов времени на обдумывание (пока всё без Пондера)
    Для контролей X/Y и Для контроля - время на партию.
    Кому-нибудь интересно?
  3. WildCat Коршунов Игорь

    • Команда форума
    Member Since:
    04.05.2006
    Message Count:
    3.599
    Likes Received:
    4
    Репутация:
    0
    Location:
    Гомель
    Оффлайн
    Расчеты не очень интересны. Интереснее практическая проверка.
  4. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Практическая проверка как обычно подтвердит результаты вычислений :)
    То что интервал в три раза (на всех ходах кроме контрольного) дает Максимальное падение силы (в худшем случае, когда всегда оказываемся на границах интервала) около 15 пунктов, а "в среднем" - 5 пунктов ЭЛО - тут ошибки быть не может, Так как и формула
    Сила=С+(ln(m)+A*(ln(1-m)))/(1+A)
    Где общее время на обдумывание 1, а потраченное время на текущий ход - m - верна.
    А - некий коэффициент который нужно найти опытным путем, С-константа (разная при разном А)
    m=1/(A+1) - Точка в которой функция силы достигает своего максимума.
    А - константа при времени на партию, либо зависит от количества ходов оставшихся до контроля при контролях X/Y

    И если формула силы верна (а почему ей не быть верной? Это формула расчета средней силы в пунктах эло за партию (усередняется Эло по ходам)) - то и выкладки с максимальным падением силы на 15 пунктов и средним на 5 - тоже верны.
  5. WildCat Коршунов Игорь

    • Команда форума
    Member Since:
    04.05.2006
    Message Count:
    3.599
    Likes Received:
    4
    Репутация:
    0
    Location:
    Гомель
    Оффлайн
    Обычно все наоборот :)
  6. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    У кого как :)
    Я делал без математических выкладок именно такой интервал (тесты показали что джает прибавку в несколько десятков пунктов по сравнению с чистой аварийкой)
    Только не делал тесты для оптимального расчета А в каждой ситуации.
  7. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Code:
    A=   1  Mopt=0.5000  Mmin= 0.31424  Mmax= 0.68576   2.18
    A=   2  Mopt=0.3333  Mmin= 0.19907  Mmax= 0.48895   2.46
    A=   3  Mopt=0.2500  Mmin= 0.14593  Mmax= 0.37825   2.59
    A=   4  Mopt=0.2000  Mmin= 0.11523  Mmax= 0.30808   2.67
    A=   5  Mopt=0.1667  Mmin= 0.09522  Mmax= 0.25975   2.73
    A=   6  Mopt=0.1429  Mmin= 0.08114  Mmax= 0.22449   2.77
    A=   7  Mopt=0.1250  Mmin= 0.07069  Mmax= 0.19763   2.80
    A=   8  Mopt=0.1111  Mmin= 0.06262  Mmax= 0.17651   2.82
    A=   9  Mopt=0.1000  Mmin= 0.05621  Mmax= 0.15946   2.84
    A=  10  Mopt=0.0909  Mmin= 0.05099  Mmax= 0.14540   2.85
    A=  11  Mopt=0.0833  Mmin= 0.04666  Mmax= 0.13363   2.86
    A=  12  Mopt=0.0769  Mmin= 0.04300  Mmax= 0.12361   2.87
    A=  13  Mopt=0.0714  Mmin= 0.03988  Mmax= 0.11499   2.88
    A=  14  Mopt=0.0667  Mmin= 0.03718  Mmax= 0.10750   2.89
    A=  15  Mopt=0.0625  Mmin= 0.03482  Mmax= 0.10092   2.90
    A=  16  Mopt=0.0588  Mmin= 0.03275  Mmax= 0.09510   2.90
    A=  17  Mopt=0.0556  Mmin= 0.03090  Mmax= 0.08991   2.91
    A=  18  Mopt=0.0526  Mmin= 0.02926  Mmax= 0.08526   2.91
    A=  19  Mopt=0.0500  Mmin= 0.02778  Mmax= 0.08107   2.92
    A=  20  Mopt=0.0476  Mmin= 0.02644  Mmax= 0.07727   2.92
    A=  21  Mopt=0.0455  Mmin= 0.02523  Mmax= 0.07381   2.93
    A=  22  Mopt=0.0435  Mmin= 0.02412  Mmax= 0.07065   2.93
    A=  23  Mopt=0.0417  Mmin= 0.02310  Mmax= 0.06774   2.93
    A=  24  Mopt=0.0400  Mmin= 0.02217  Mmax= 0.06507   2.94
    A=  25  Mopt=0.0385  Mmin= 0.02131  Mmax= 0.06260   2.94
    A=  26  Mopt=0.0370  Mmin= 0.02052  Mmax= 0.06031   2.94
    A=  27  Mopt=0.0357  Mmin= 0.01978  Mmax= 0.05818   2.94
    A=  28  Mopt=0.0345  Mmin= 0.01909  Mmax= 0.05619   2.94
    A=  29  Mopt=0.0333  Mmin= 0.01845  Mmax= 0.05434   2.95
    A=  30  Mopt=0.0323  Mmin= 0.01785  Mmax= 0.05261   2.95
    A=  31  Mopt=0.0313  Mmin= 0.01729  Mmax= 0.05098   2.95
    A=  32  Mopt=0.0303  Mmin= 0.01676  Mmax= 0.04945   2.95
    A=  33  Mopt=0.0294  Mmin= 0.01626  Mmax= 0.04801   2.95
    A=  34  Mopt=0.0286  Mmin= 0.01580  Mmax= 0.04665   2.95
    A=  35  Mopt=0.0278  Mmin= 0.01536  Mmax= 0.04537   2.95
    A=  36  Mopt=0.0270  Mmin= 0.01494  Mmax= 0.04415   2.96
    A=  37  Mopt=0.0263  Mmin= 0.01454  Mmax= 0.04300   2.96
    A=  38  Mopt=0.0256  Mmin= 0.01417  Mmax= 0.04191   2.96
    A=  39  Mopt=0.0250  Mmin= 0.01381  Mmax= 0.04087   2.96
    A=  40  Mopt=0.0244  Mmin= 0.01347  Mmax= 0.03988   2.96
    A=  41  Mopt=0.0238  Mmin= 0.01315  Mmax= 0.03894   2.96
    A=  42  Mopt=0.0233  Mmin= 0.01284  Mmax= 0.03804   2.96
    A=  43  Mopt=0.0227  Mmin= 0.01255  Mmax= 0.03718   2.96
    A=  44  Mopt=0.0222  Mmin= 0.01227  Mmax= 0.03636   2.96
    A=  45  Mopt=0.0217  Mmin= 0.01200  Mmax= 0.03557   2.96
    A=  46  Mopt=0.0213  Mmin= 0.01175  Mmax= 0.03482   2.96
    A=  47  Mopt=0.0208  Mmin= 0.01150  Mmax= 0.03410   2.97
    A=  48  Mopt=0.0204  Mmin= 0.01126  Mmax= 0.03341   2.97
    A=  49  Mopt=0.0200  Mmin= 0.01104  Mmax= 0.03275   2.97
    A=  50  Mopt=0.0196  Mmin= 0.01082  Mmax= 0.03211   2.97
    A=  51  Mopt=0.0192  Mmin= 0.01061  Mmax= 0.03149   2.97
    A=  52  Mopt=0.0189  Mmin= 0.01041  Mmax= 0.03090   2.97
    A=  53  Mopt=0.0185  Mmin= 0.01022  Mmax= 0.03033   2.97
    A=  54  Mopt=0.0182  Mmin= 0.01003  Mmax= 0.02979   2.97
    A=  55  Mopt=0.0179  Mmin= 0.00985  Mmax= 0.02926   2.97
    A=  56  Mopt=0.0175  Mmin= 0.00968  Mmax= 0.02875   2.97
    A=  57  Mopt=0.0172  Mmin= 0.00951  Mmax= 0.02825   2.97
    вот таблица для разных A, для случая максимального падения силы в 15 пунктов (среднее 5)
  8. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Если наилучшее распределение времени - равномерное (если сила программы равна средней силе хода, и партия никогда не кончается раньше контрольного хода) - Тогда А равно количеству оставшихся до контроля ходов (после исполнения текущего хода)
    То есть если на текущий момент осталось до контроля два хода, тогда А=1.
  9. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    вверху формулу немного не так написал :)
    Сила=С+k*(ln(m)+A*(ln(1-m)))/(1+A)
    где k = 70 / ln 2 - коэффициент дающий прибавку 70 пунктов при увеличении времени на обдумывание в 2 раза.
  10. WildCat Коршунов Игорь

    • Команда форума
    Member Since:
    04.05.2006
    Message Count:
    3.599
    Likes Received:
    4
    Репутация:
    0
    Location:
    Гомель
    Оффлайн
    Нет. Первые ходы намного важнее ходов в конце партии.
  11. krey Михаил Кройтор

    • Команда форума
    Member Since:
    10.04.2006
    Message Count:
    3.709
    Likes Received:
    50
    Репутация:
    1
    Location:
    Кишинев
    Оффлайн
    это утверждение исходит из того, что лучше ошибиться в конце партии а не в начале? ;)
    а мне кажется, что если программа ошиблась, то это уже конец партии. Надо считать ходы с одинаковыми приоритетами... В ситуации с человеком - до определенного момента он играет равномерно, когда на часах остается, скажем, 5 минут, у него начинается "цейтнот". Думается, как раз в логарифмической прогрессии ускоряется.
  12. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Я просто привел логическое объяснение коэффициента А :) , понятно что на практике А должно быть меньше количества оставшихся ходов после исполнения текущего.

    По моим прикидкам, при контроле на Партию - А=20
    Но лучше всё-таки провести хорошие тесты, например большой турнир версий с разным А.

    При контроле X/Y - А нужно подбирать для каждого количества оставшихся ходов отдельно.
  13. WildCat Коршунов Игорь

    • Команда форума
    Member Since:
    04.05.2006
    Message Count:
    3.599
    Likes Received:
    4
    Репутация:
    0
    Location:
    Гомель
    Оффлайн
    Какое отношение имеет A к формуле (n+9)t/10n?
  14. WildCat Коршунов Игорь

    • Команда форума
    Member Since:
    04.05.2006
    Message Count:
    3.599
    Likes Received:
    4
    Репутация:
    0
    Location:
    Гомель
    Оффлайн
    Если соперник чаще будет ошибаться в начале, а мы чаще в конце, то соперник будет часто не доживать до нашей ошибки. Кроме этого, у нас часто будет поза с перевесом, а это значит, что в ней будет сложнее грубо ошибиться.
  15. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Первый пост - вообще никакого отношения к теме не имеет :)
    По теме - производился расчет возможной потери силы при неравномерном времени на обдумывание.
    И он показал - что с точки зрения математики неравномерность это не так страшно, и трехкратный интервал дает очень маленькие потери, при этом устраняя потери на обрыве обсчета, когда просто зазря теряется время с нулевой вероятностью изменения решения (то есть выбранный ход поменяться не может в принципе)

    А - математически не рассчитать - можно получить только тестами.
  16. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    То есть мы можем посчитать А, но только зная формулу расчета силы, а в формуле расчета силы в качестве коэффициента присутствует А :)
    Для разных игр А будет разное...
    А потери силы на неравномерности будут одинаковы, и зависят они только от коэффициента к
  17. WildCat Коршунов Игорь

    • Команда форума
    Member Since:
    04.05.2006
    Message Count:
    3.599
    Likes Received:
    4
    Репутация:
    0
    Location:
    Гомель
    Оффлайн
    А зачем нам вообще определять это A? Какая нам от этого польза?
  18. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Мы определяем не А, а определяем время на обдумывание каждого Хода. :)
    Результаты для разных А я выложил, чтоб наглядно показать что при трехкратной неравномерности сила падает одинаково, практически независимо от А (независимо от коэффициента в формуле расчета силы программы). И величины среднего падания силы и максимального падения силы очень невелики.
  19. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    То есть мат. модель показывает что падение на неравномерности времени зависит практически только от коэффициента к причем зависимость линейная.
    И при трехкратной неравномерности времени на обдумывание мы "в среднем" будем терять УвеличенииСилыПрограммыВЭтуИгруПриДвухкратномУвеличенииВремениНаОбдумывание/12 пунктов силы - причем независимо от игры и от программы.
    Требуется только найти оптимальное положение этого трехкратного интервала (например путем тестового турнира программ с разным положением этого интервала)

Share This Page