SmarThink v1.95

Discussion in 'Машинное отделение' started by Сергей Марков, 24 May 2016.

  1. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    SmarThink v1.95 — версия движка от мая 2016. Основные изменения:

    — поддержка эндшпильных таблиц в формате Syzygy;
    — эндшпильные таблицы Налимова более не поддерживаются;
    — более агрессивные прямые отсечения в дереве перебора;
    — улучшено распределение времени;
    — различные оптимизации;
    — дальнейшая подстройка оценочной функции.

    Прирост в силе игры примерно 50 пунктов. При игре с самим собой на сверхкоротких контролях все 120, но это так, читерство)

    Скачать можно тут, как обычно: http://genes1s.net/smarthink.php

    [​IMG]
    WinPooh likes this.
  2. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    Перезалил архив, в изначальном забыл values.txt, без него движок играет заметно слабее (если играет вообще).
  3. Локомотив Старожил

    • Участник
    • Старожил
    Member Since:
    30.03.2012
    Message Count:
    4.948
    Likes Received:
    3.696
    Репутация:
    120
    Оффлайн
    В Аквариуме не работает. Версия 1.80 работает нормально, а вот 1.90 и 1.95 не фурычат.

    [​IMG]
  4. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    Это версия уже с values.txt?
    Ни один exe-шник не работает?..
  5. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Можно с этого места чуть поподробнее? :)
    На чём проводилось обучение? Сколько времени заняло? Каковы объёмы датасетов?
    Главное, сколько пунктов Эло это даёт (отдельно от прочих изменений в программе)?
  6. Локомотив Старожил

    • Участник
    • Старожил
    Member Since:
    30.03.2012
    Message Count:
    4.948
    Likes Received:
    3.696
    Репутация:
    120
    Оффлайн
    Да, это версия с values.txt. Пока попробовал только с x64, другие не испытывал. Пробовал также загрузить движок в Hiarcs Explorer, вот что показывает.

    [​IMG]
  7. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    ~24 000 000 позиций, игры в основном разных версий SmarThink между собой, но и немного с другими движками, взяты позиции, в которых сделанный далее в партии ход не был взятием или превращением. Подстройка ведётся на 20-ядерном Xeon'е, в общем-то, безостановочно. Периодически добавляется какой-то новый фактор, либо удаляется, либо меняется способ его расчёта, и всё запускается снова. Я использую сочетание случайных векторов при спуске, покоординатного спуска и спуска с модификацией пары факторов. На плато примерно через 3—4 дня это дело выходит.

    В целом алгоритм похож на https://chessprogramming.wikispaces.com/Texel's+Tuning+Method, но со своими нюансами, да и использовать я его, наверное, начал раньше, чем автор Texel)

    Вот тут ещё некоторые подробности: http://www.talkchess.com/forum/viewtopic.php?t=55696&start=108

    Общий эффект от этой подстройки оценить трудно, т.к. там было очень много итераций. Но, наверное, в сумме пунктов 80 или 100.
    —- добавлено: 24 May 2016 —-
    А что будет если просто запустить exe-шник? Он запускается? Что пишет в консоли?..
  8. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Я вот тоже немного сейчас играюсь с этим методом, правда на меньших объёмах, порядка миллиона позиций. Случайные вектора сходятся очень плохо, покоординатный спуск гораздо быстрее (практически в том простейшем варианте, который в статье приведён). А вот с усилением проблемы, редко когда удаётся больше 10-20 пунктов таким образом набрать. Может быть, из-за того, что оценочная функция в целом очень простая, всего порядка 50 компонент. Или партий всё-таки маловато...

    По идее, метод должен работать и для ходов со взятиями и превращениями, если функционал считать с использованием qsearch. Программа будет учиться делать правильные размены... Но если только тихие ходы, то вместо qsearch можно и просто eval вызывать, это быстрее. Пробовал и так и так, результаты сравнимы.

    Типичные значения функционала у меня получаются где-то порядка 0.35 (среднеквадратичная ошибка предсказания исхода партии по всем позициям в ней), после оптимизации обычно сбрасывается несколько единиц в третьем знаке после запятой.
  9. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    Ну если юзать qsearch, то сильно скорость падает. Мне кажется, что это неоправданно. Чтобы делать правильные размены достаточно понимать, что вероятность победы зависит от конкретного набора материала на доске.

    Случайные векторы помогают выйти из локальных минимумов, в которые приходит покоординатный метод. Я не делаю случайных векторов по всему множеству факторов, т.к. это точно совсем плохо. У меня есть обычно группы факторов, внутри которых я выбираю случайные векторы, но не любые, опять же, а с кастомным распределением. Генерируются они так, что чем больше в векторе ненулевых компонентов и чем больше они по модулю, тем меньше вероятность генерации такого вектора.
  10. Локомотив Старожил

    • Участник
    • Старожил
    Member Since:
    30.03.2012
    Message Count:
    4.948
    Likes Received:
    3.696
    Репутация:
    120
    Оффлайн
    [​IMG]
    —- добавлено: 25 May 2016, опубликовано: 25 May 2016 —-
    Установил dll файл в папку smt195, проблема вроде бы решилась.
    —- добавлено: 25 May 2016 —-
    Проблема решена. Удалось запустить движок в консоли и Аквариуме. Скачал dll http://ru.dll-files.com/libiomp5md.dll.html и скопировал в папку с программой.
    —- добавлено: 25 May 2016 —-
    Сергей Марков, наверно, надо добавить эту библиотеку в архив.
  11. Локомотив Старожил

    • Участник
    • Старожил
    Member Since:
    30.03.2012
    Message Count:
    4.948
    Likes Received:
    3.696
    Репутация:
    120
    Оффлайн
    Провёл блиц-матч из 4х партий SmarThink 1,95 - Murka 3x64 - 3:1 (+3 -1). (Контроль 3+2, без книги).
    Впечатления пока довольно приятные. Играет активно, стремится к захвату пространства. Чёрными также стремится играть на перехват, а не на уравнение.
    Из отмеченных недочётов - чересчур оптимистичная оценка позиции. Равную позу оценивает как лучшую для себя, при минимальном перевесе рисует себе больше единицы. В единственной проигранной партии явно недооценил угрозы королю, рокировавшись в длинную сторону на ослабленный ферзевый фланг. В общем, неисправимый оптимист, вроде Ларсена или Боголюбова.
    Интересный тактический удар провел в следующей партии.






    43..e5! 44. Bxe5 На отход слона решает Qc8!
    44..Qc3 45.Bxd4 У белых нет ничего лучше, чем отдать качество: 45.Qe2 Bxe5 46.Qxe5 Rf1+ ; 45.Re2 Qa1+
    45..Qxe1 и т.п., остальное дело техники.

    Красивый геометрический мотив, эдакая вилка по двум диагоналям.

    vasa likes this.
  12. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    exe-шники, в которых в названии есть _standalone, должны работать без неё.
  13. EvgeniyZh Учаcтник

    • Участник
    Member Since:
    07.02.2014
    Message Count:
    487
    Likes Received:
    112
    Репутация:
    15
    Location:
    Ришон ле Цион, Израиль
    Оффлайн
    Я сколько не игрался, так у меня сходиться и не стало, на любых объемах. Счас другие методы пробую...

    Интересный факт - регулируя процент ничьих в датасете, можно регулировать агрессивность движка.
  14. Vlad_Imir Новичок

    • Новичок
    Member Since:
    12.11.2006
    Message Count:
    77
    Likes Received:
    284
    Репутация:
    20
    Location:
    Россия
    Оффлайн
    smartthink.png
    C консоли этот екзешник запускается нормально, а в Арене (3.5.1) , вылетает. 180 версия SmartThink работаект нормально. Windows 7. 64 битная. Values.txt присутствует.
  15. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    Можно глянуть, что в View Problem Details?
  16. Vlad_Imir Новичок

    • Новичок
    Member Since:
    12.11.2006
    Message Count:
    77
    Likes Received:
    284
    Репутация:
    20
    Location:
    Россия
    Оффлайн
    Problem signature:
    Problem Event Name: APPCRASH
    Application Name: SmarThink_v195_x64_standalone.exe
    Application Version: 0.0.0.0
    Application Timestamp: 5742ed1e
    Fault Module Name: SmarThink_v195_x64_standalone.exe
    Fault Module Version: 0.0.0.0
    Fault Module Timestamp: 5742ed1e
    Exception Code: c000001d
    Exception Offset: 000000000000f5d0
    OS Version: 6.1.7601.2.1.0.256.1
    Locale ID: 1049
    Additional Information 1: aab0
    Additional Information 2: aab0c111e8754e170c831ecc8b08a209
    Additional Information 3: 2796
    Additional Information 4: 2796bdc013e143e6ae50f803d930f766

    У меня бывали случаи, что архив некорректно скачивался, но я еще раз скачал с вашего сайта smt195.zip. Разархивировал rar-ом.
  17. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    А какой процессор на машине?
  18. Vlad_Imir Новичок

    • Новичок
    Member Since:
    12.11.2006
    Message Count:
    77
    Likes Received:
    284
    Репутация:
    20
    Location:
    Россия
    Оффлайн
    Intel Core 2 Quad 6600, 4 Gb RAM
  19. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    Видимо, я накосячил где-то в параметрах при сборке версии x64 и из-за этого на машинах с SSE2 не работает. Я сегодня буду публиковать 1.96, попробуем это учесть...
  20. Vlad_Imir Новичок

    • Новичок
    Member Since:
    12.11.2006
    Message Count:
    77
    Likes Received:
    284
    Репутация:
    20
    Location:
    Россия
    Оффлайн
    1.96 нормально работает. Спасибо.
  21. Stargazer Учаcтник

    • Участник
    Member Since:
    29.04.2013
    Message Count:
    134
    Likes Received:
    75
    Репутация:
    6
    Оффлайн
    Файл SmarThink_v195_x32.exe запущенный в Win XP выводит свою инфу и совершает ошибку (из за чего ось его закрывает).
    Файл SmarThink_v196_x32.exe запущенный в Win XP ничего не выводит и сам закрывается.
    Файл values.txt, размером более чем в два раза превышающий ! сам движок (видимо призванный помочь последнему лучше думать:scratch:) рядом присутствовал.
  22. TopicStarter Overlay

    Сергей Марков Учаcтник

    • Участник
    Member Since:
    13.05.2006
    Message Count:
    136
    Likes Received:
    6
    Репутация:
    0
    Оффлайн
    Видимо, под XP придётся делать отдельную сборку, там всё плохо уже(
    А скриншот с ошибкой можете прислать? Особенно если там можно подробности посмотреть. Также сообщите модель процессора.
  23. Stargazer Учаcтник

    • Участник
    Member Since:
    29.04.2013
    Message Count:
    134
    Likes Received:
    75
    Репутация:
    6
    Оффлайн

    Proc P4 2,4GHz, Windows XP SP2 Home Edition (2005 года рухлядь) smt_err1.jpg smt_err2.jpg

Share This Page