Про воблу (stockfish)

Тема в разделе "Машинное отделение", создана пользователем Scaramuccia, 22 апр 2012.

  1. TopicStarter Overlay

    Scaramuccia Учаcтник

    • Участник
    Рег.:
    12.01.2012
    Сообщения:
    2.043
    Симпатии:
    1.110
    Репутация:
    46
    Оффлайн
    Как пользователь линукса я регулярно сталкиваюсь с ситуацией когда типовые проги написаны под винду и считается что какую-то задачу под линуксом не решить. Компьютерный анализ одна из таких областей - оболчки виндовые, движки тоже. Обычно выясняется что мнение ошибочно и под линуксом задача спокойно решается. Не будем рассматривать сейчас запуск гудини из под wine(он отлично работает), а также проги для работы с базой(scid меня вполне устраивает)

    Героем сегодняшнего обсуждения будет вобла. Stockfish - движок который ставиться под линукс по дефолту(во всех репозиториях он есть). В теме Матч Аронян-Крамник. 21-28 апреля 2012 была высказана оценка, что вобла слабый движок. Воспользовавшись рейтинг листами я покажу что это утверждение не верно.
    Будем пользоваться следующими листами:
    http://www.husvankempen.de/nunn//40120new/40_120_ratinglist/40_120_AllVersion/rangliste.html
    (всем сайтом)
    и http://www.computerchess.org.uk/ccrl/4040/.

    На первом есть контроль 40/4 40/20 (два вида) и 40/120. На втором 40/40.
    Результат:
    40/4 - 4
    40/20 - 11
    40/20 permanent brain = o n - 5
    40/40 - 4
    40/120 - 3

    Если посмотреть зависимость результатов от контроля то видно, что вобла тугодум. Чем больше времени на матч тем лучше результат(Хороший результат на 4 минутах скорее всего обусловлен сильной оценочной функцией - там расчёта почти нет).

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

    Самые интересные результаты можно увидеть на её личной страничке второго рейтинга.А именно - несмотря на четвёртое место рейтинга она проигрывает только гудини и то на очень небольшую величину(+12−14=26). Низкий же итоговый рейтинг обусловлен тем, что вобла не вырубает хвост - со слабыми движками она часто играет в ничью, а critter, например, наоборот выносит слабых, но плохо играет с топом.

    В итоге можно сказать, что вобла сильный движок, работающий помедленнее остальных, но играющий в заметно другой манере. Если вам нужен просто неплохой анализ позиций - воблы вполне достаточно(особенно если вы не любите острые варианты). Если же вы занимаетесь серьёзным анализом(advance, турнирная/матчевая подготовка). То вобла хороший кандидат в вашу коллекцию используемых движков.
    tesla и Goranflo нравится это.
  2. аван Учаcтник

    • Участник
    Рег.:
    08.11.2010
    Сообщения:
    1.648
    Симпатии:
    166
    Репутация:
    10
    Адрес:
    Украина
    Оффлайн
    Главный его недостаток - очень сильная переоценка позиции, к реальной оценке он стандартно прибавляет себе около +0,5.
    Причина этого - в чрезмерном оптимизме, за сомнительные возможности атаки он готов отдать все.
    Поэтому для анализа годится только в качестве "поставщика идей".
  3. TopicStarter Overlay

    Scaramuccia Учаcтник

    • Участник
    Рег.:
    12.01.2012
    Сообщения:
    2.043
    Симпатии:
    1.110
    Репутация:
    46
    Оффлайн
    А в какую сторону? При совершении хода оценка не меняется, а он вроде бы за другую сторону должен +0.5 дававть.

    С оценкой у него другая особенность - в его понимании +1.0 это гораздо меньше чем +1.0 гудини. Поскольку абсолютной шкалы все равно не существует то то что его оценки раза в два выше гудинивских по абсолютной величине ничего не меняет.
  4. аван Учаcтник

    • Участник
    Рег.:
    08.11.2010
    Сообщения:
    1.648
    Симпатии:
    166
    Репутация:
    10
    Адрес:
    Украина
    Оффлайн
    Это как раз меняет то, что он "с шашкой наголо" идет на позиции, которые считает чуть ли не выигранными, хотя на самом деле лишь с небольшим преимуществом, или считает, что у него немного лучше, хотя на самом деле немного хуже. Затем заигрывается и отгребает по полной программе.
  5. TopicStarter Overlay

    Scaramuccia Учаcтник

    • Участник
    Рег.:
    12.01.2012
    Сообщения:
    2.043
    Симпатии:
    1.110
    Репутация:
    46
    Оффлайн
    Стоп. Забыли про оценки важны исключительно ходы которые он предлагает.

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

    И если вспомнить как оценивает вобла -просто числа больше, меня умиляет гудинивская точность в 0.03 пешки. То видно что оба движка считают, что у белых хуже, но еще можно покрутиться.
  6. аван Учаcтник

    • Участник
    Рег.:
    08.11.2010
    Сообщения:
    1.648
    Симпатии:
    166
    Репутация:
    10
    Адрес:
    Украина
    Оффлайн
    Я уже говорил: Стокфиш годится только как поставщик идей, проверять их надо с помощью Гудини.
  7. SDChess Учаcтник

    • Участник
    Рег.:
    30.04.2006
    Сообщения:
    211
    Симпатии:
    38
    Репутация:
    4
    Оффлайн
    Предлагаем вашему вниманию новые версии компиляций Stockfish (версии 3, 4, DD и 5) для совсем старых процессоров в архаичных операционных систем (Windows 98 Windows 95), подготовленных Vicente Fernandez!
    http://www.sdchess.ru/Tournaments/test_1_top.htm
  8. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    Рег.:
    30.12.2009
    Сообщения:
    11.596
    Симпатии:
    4.835
    Репутация:
    420
    Нарушения:
    26
    Оффлайн
    Так, наверное, точнее будет: http://www.sdchess.ru/download_engines.htm
  9. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    Рег.:
    30.12.2009
    Сообщения:
    11.596
    Симпатии:
    4.835
    Репутация:
    420
    Нарушения:
    26
    Оффлайн
    Скачал сегодня Стокфиш 5 для ХР 32-битку - работает. Решил посмотреть как играет с Гудини. И Стокфиш расправился в двух партиях с недавно сильнейшим движком без проблем. как с ребенком. Играли с контролем 4+2, без дебютной книги.
    Что заметил - Гудок в дебюте цепляется за материал и на этом горит, а Стокфиш располагает фигуры гармонично, не цепляясь за материал. В обеих партиях он убедительно победил.





  10. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    Рег.:
    30.12.2009
    Сообщения:
    11.596
    Симпатии:
    4.835
    Репутация:
    420
    Нарушения:
    26
    Оффлайн
  11. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.423
    Симпатии:
    15.194
    Репутация:
    982
    Оффлайн
    Гуди во второй партии скандинавку играть не должен!
    кащеевцы писали, шо неверный кряк :rtfm:
  12. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    Рег.:
    30.12.2009
    Сообщения:
    11.596
    Симпатии:
    4.835
    Репутация:
    420
    Нарушения:
    26
    Оффлайн
    Почему не может? У меня некоторое время он ход 1...d5 рассматривает как сильнейший. Потом, правда, меняет свое решение. В какой-то момент мог и сыграть таким образом. А движок, вроде, нормально крякнут.
  13. clear0004 Учаcтник

    • Участник
    Рег.:
    06.09.2009
    Сообщения:
    470
    Симпатии:
    94
    Репутация:
    19
    Оффлайн
    [​IMG]
    вроде ничья, до 60 глубины +0,38. А может и дальше
  14. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.423
    Симпатии:
    15.194
    Репутация:
    982
    Оффлайн
    Antuan нравится это.
  15. DenKor Новичок

    • Новичок
    Рег.:
    26.11.2016
    Сообщения:
    11
    Симпатии:
    2
    Репутация:
    0
    Оффлайн
    Скорость что на ассемблере что на С++ будет одинаковой. Считайте что С++ в те же ассеблерные иструкции код компилирует. Другое дело что некоторые вещи можно оптимизировать под кокретные модели процессоров. Так что скорость это некривые руки програмера ...
  16. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.027
    Симпатии:
    2.234
    Репутация:
    88
    Адрес:
    Москва
    Оффлайн
    Тем не менее, плюс 8.5% скорости ребята получили. Так что практика в данном случае - критерий истины, несмотря на все умозрительные рассуждения про компилятор.
  17. DenKor Новичок

    • Новичок
    Рег.:
    26.11.2016
    Сообщения:
    11
    Симпатии:
    2
    Репутация:
    0
    Оффлайн
    Я же не умозрительно это говорю. Сам программист на ассемблере и С++. И проблемы оптимизации программ по скорости выполнения представляю.
  18. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.027
    Симпатии:
    2.234
    Репутация:
    88
    Адрес:
    Москва
    Оффлайн
    Так и я, представьте себе, программист. И тоже на C++. И с асмом дело доводилось иметь, правда, давно - лет 15 назад.
    Что тут обсуждать, вообще не понимаю: вот вам код Стокфиша на плюсах, вот он же на асме, берите, сравнивайте скорость и идентичность выводимого анализа.
    Комсюк нравится это.
  19. nh2008 Учаcтник

    • Участник
    Рег.:
    01.12.2013
    Сообщения:
    2.387
    Симпатии:
    3.087
    Репутация:
    255
    Нарушения:
    9
    Адрес:
    Украина
    Оффлайн
    8.5% - не критично для данного вида задачи, ИМХО.
    Скорее, реальный прогресс в создания специализированных процессоров.
  20. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.027
    Симпатии:
    2.234
    Репутация:
    88
    Адрес:
    Москва
    Оффлайн
    Ну, как сказать... Вроде, считается, что ускорение движка в два раза даёт плюс 100 пунктов Эло. Значит, 8.5% дадут 5-10 пунктов. В борьбе за высшую строчку рейтинга может и пригодиться.
    А так, конечно, суета это всё. Суета и томление духа :)
  21. DenKor Новичок

    • Новичок
    Рег.:
    26.11.2016
    Сообщения:
    11
    Симпатии:
    2
    Репутация:
    0
    Оффлайн
    В смысле сравнивать. Большинство затыков по скорости идет не от использования языка програмирования. А от неправильных алгоритмов например ввод-вывод на медленное устройство в цикле. Я и говорю что скорость программы зависит от кривых рук програмиста больше чем от языка ВУ.
  22. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.027
    Симпатии:
    2.234
    Репутация:
    88
    Адрес:
    Москва
    Оффлайн
    Согласен. Но, уверен, и исходный Стокфиш, и его ассемблерного собрата писали программисты с чрезвычайно прямыми руками. Растущими к тому же оттуда, откуда полагается.
    Rom и nh2008 нравится это.
  23. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    551
    Симпатии:
    203
    Репутация:
    21
    Оффлайн
    Интересно, откуда такая разница в размерах бинарников? У Асм всего 110 килобайт, а у оф. Стока в 10 раз больше, и даже без сизиги в 8 раз. Меньше избыточности? Встроенные динамические библиотеки? Что-то другое?
  24. minga Новичок

    • Новичок
    Рег.:
    02.11.2016
    Сообщения:
    11
    Симпатии:
    5
    Репутация:
    1
    Оффлайн
    Привет. Извиняюсь, что пишу здесь, у меня нет прав создавать новые темы. Но вопрос мой действительно относится к Стокфишу, но несколько иной.
    Меня интересует почему стокфиш одинаковую позицию каждый раз считает по разному.
    Я задю ему стартовую позицию, например такую

    position startpos moves e2e4 e7e6 d2d4 d7d5 b1c3 g8f6

    и даю команду расчитать 5 линий с глубиной 17 полуходов

    go depth 17

    так вот, для одной и той же позиции Стокфиш каждый раз выдает разный результат.

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

    uciok
    setoption name Hash value 1024
    setoption name MultiPV value 5
    setoption name Threads value 4
    ucinewgame
    position startpos moves e2e4 e7e6 d2d4 d7d5 b1c3 g8f6
    go depth 17

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

    Спасибо
  25. Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    383
    Симпатии:
    361
    Репутация:
    10
    Оффлайн
    Многоядерность.
    Поставьте Threads=1 и получите стабильность.
    Комсюк нравится это.
  26. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.423
    Симпатии:
    15.194
    Репутация:
    982
    Оффлайн
    и тут про политику :)
  27. Michael-13 Господин

    • Участник
    Рег.:
    18.11.2011
    Сообщения:
    3.005
    Симпатии:
    1.072
    Репутация:
    29
    Оффлайн
  28. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    114
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    Появился рецепт ничьей против Stockfish8 в программе Арена на компе 32bit , любопытно узнать работает ли этот рецепт на компе 64bit , вот заветные 3-х кратные повторения 1.Nf3 d5 2.d4 Bf5 3.Nh4 Bc8 ( Nf3 Bf5 ) - три раз , Stockfish8 отказывается играть по другому , правда это в режиме блиц 2минуты , буду пробовать в других режимах
    Camon14 нравится это.
  29. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    637
    Симпатии:
    111
    Репутация:
    3
    Оффлайн
    minga, это из-за того, что используется многоядерность (алгоритм Lazy SMP). В одном потоке все стабильно.
  30. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.423
    Симпатии:
    15.194
    Репутация:
    982
    Оффлайн
    Официальная версия Stockfish 10.

    http://abrok.eu/stockfish/
    Edwards нравится это.
  31. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    Рег.:
    30.12.2009
    Сообщения:
    11.596
    Симпатии:
    4.835
    Репутация:
    420
    Нарушения:
    26
    Оффлайн
    А я, помнится, на Иммортале был единственным, кто заявлял со всей ответственностью, что мне Стокфиш нравится. Тогда про него даже и речи не было.
  32. Edwards Ветеран

    • Ветеран
    Рег.:
    10.02.2006
    Сообщения:
    6.314
    Симпатии:
    253
    Репутация:
    15
    Адрес:
    CПб
    Оффлайн
    Почему-то, что 9-й, что этот, 10-й Стокфиш у меня дают разную оценку позиции в зависимости от стороны, за которую он "играет", анализирует. "За себя" ему всегда больше нравится.

    Т.е. я даю ему позицию, где ход белых, он пишет, скажем "+0.40".
    После сделанного белыми хода по его первой линии, если дать ему анализировать уже ход чёрных, он напишет что-то около "-0.40".
    Ну и так далее.

    В 8-й версии такого не было.
    Это как-то лечится?
  33. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.027
    Симпатии:
    2.234
    Репутация:
    88
    Адрес:
    Москва
    Оффлайн
    Похоже на Contempt. Его надо установить в 0 в настройках.
    Последние данные очков репутации:
    Edwards: 2 (За помощь со Stockfish) 5 дек 2018
    Edwards нравится это.
  34. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    13.423
    Симпатии:
    15.194
    Репутация:
    982
    Оффлайн
    такого разброса не будет, но он действительно оптимистично оценивает свои шансы (это сделано для матчей движков)
    Нулевой контемпт выравняет оценку
    Последние данные очков репутации:
    Edwards: 1 (За помощь со Stockfish) 5 дек 2018
    Edwards нравится это.
  35. Gottfrid Учаcтник

    • Участник
    Рег.:
    14.03.2016
    Сообщения:
    1.195
    Симпатии:
    1.485
    Репутация:
    96
    Адрес:
    Москва
    Оффлайн
    Да, он.
    В январе 2018-го года один из разработчиков (Stéphane Nicolet) сопроводил патч-commit об изменении default-значения параметра Contempt (кто как его по-русски интерпретирует: "нацеленность на атаку", "оптимистичность оценки позиции", "рискованность" и даже "степень презрения к сопернику") объёмным комментарием, в котором говорится, что на основании многих партий, сыгранных Стокфишем в TCEC, они меняют дефолтное значение параметра с 0 на 20 (до этого он был всегда равен нулю, как некое отражение "беспристрастности оценки"). С тех пор, за 2018 год, значение параметра Contempt в разных сборках Стокфиша успело "поплавать" от 12 до 24 (значение на данный момент).

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

    Правда, стоит отметить, что в апреле они ввели ещё два новых параметра в опциях: Analysis Contempt и UCI_AnalyseMode (который всё равно по умолчанию установлен в false).
    Последние данные очков репутации:
    Edwards: 2 (За помощь со Stockfish'ем) 6 дек 2018
    Edwards нравится это.

Поделиться этой страницей