Про воблу (stockfish)

Discussion in 'Машинное отделение' started by Scaramuccia, 22 Apr 2012.

  1. TopicStarter Overlay

    Scaramuccia Старожил

    • Участник
    • Старожил
    Member Since:
    13.01.2012
    Message Count:
    3.173
    Likes Received:
    2.085
    Репутация:
    61
    Оффлайн
    Как пользователь линукса я регулярно сталкиваюсь с ситуацией когда типовые проги написаны под винду и считается что какую-то задачу под линуксом не решить. Компьютерный анализ одна из таких областей - оболчки виндовые, движки тоже. Обычно выясняется что мнение ошибочно и под линуксом задача спокойно решается. Не будем рассматривать сейчас запуск гудини из под 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 and Goranflo like this.
  2. аван Старожил

    • Участник
    • Старожил
    Member Since:
    09.11.2010
    Message Count:
    1.660
    Likes Received:
    187
    Репутация:
    13
    Location:
    Украина
    Оффлайн
    Главный его недостаток - очень сильная переоценка позиции, к реальной оценке он стандартно прибавляет себе около +0,5.
    Причина этого - в чрезмерном оптимизме, за сомнительные возможности атаки он готов отдать все.
    Поэтому для анализа годится только в качестве "поставщика идей".
  3. TopicStarter Overlay

    Scaramuccia Старожил

    • Участник
    • Старожил
    Member Since:
    13.01.2012
    Message Count:
    3.173
    Likes Received:
    2.085
    Репутация:
    61
    Оффлайн
    А в какую сторону? При совершении хода оценка не меняется, а он вроде бы за другую сторону должен +0.5 дававть.

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

    • Участник
    • Старожил
    Member Since:
    09.11.2010
    Message Count:
    1.660
    Likes Received:
    187
    Репутация:
    13
    Location:
    Украина
    Оффлайн
    Это как раз меняет то, что он "с шашкой наголо" идет на позиции, которые считает чуть ли не выигранными, хотя на самом деле лишь с небольшим преимуществом, или считает, что у него немного лучше, хотя на самом деле немного хуже. Затем заигрывается и отгребает по полной программе.
  5. TopicStarter Overlay

    Scaramuccia Старожил

    • Участник
    • Старожил
    Member Since:
    13.01.2012
    Message Count:
    3.173
    Likes Received:
    2.085
    Репутация:
    61
    Оффлайн
    Стоп. Забыли про оценки важны исключительно ходы которые он предлагает.

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

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

    • Участник
    • Старожил
    Member Since:
    09.11.2010
    Message Count:
    1.660
    Likes Received:
    187
    Репутация:
    13
    Location:
    Украина
    Оффлайн
    Я уже говорил: Стокфиш годится только как поставщик идей, проверять их надо с помощью Гудини.
  7. SDChess Учаcтник

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

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    30.12.2009
    Message Count:
    16.477
    Likes Received:
    8.523
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Так, наверное, точнее будет: http://www.sdchess.ru/download_engines.htm
  9. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    30.12.2009
    Message Count:
    16.477
    Likes Received:
    8.523
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Скачал сегодня Стокфиш 5 для ХР 32-битку - работает. Решил посмотреть как играет с Гудини. И Стокфиш расправился в двух партиях с недавно сильнейшим движком без проблем. как с ребенком. Играли с контролем 4+2, без дебютной книги.
    Что заметил - Гудок в дебюте цепляется за материал и на этом горит, а Стокфиш располагает фигуры гармонично, не цепляясь за материал. В обеих партиях он убедительно победил.





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

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    30.12.2009
    Message Count:
    16.477
    Likes Received:
    8.523
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
  11. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.230
    Likes Received:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    Гуди во второй партии скандинавку играть не должен!
    кащеевцы писали, шо неверный кряк :rtfm:
  12. Vladruss НедоКМС, победитель второразрядников.

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    30.12.2009
    Message Count:
    16.477
    Likes Received:
    8.523
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    Почему не может? У меня некоторое время он ход 1...d5 рассматривает как сильнейший. Потом, правда, меняет свое решение. В какой-то момент мог и сыграть таким образом. А движок, вроде, нормально крякнут.
  13. clear0004 Учаcтник

    • Участник
    Member Since:
    06.09.2009
    Message Count:
    473
    Likes Received:
    101
    Репутация:
    19
    Оффлайн
    [​IMG]
    вроде ничья, до 60 глубины +0,38. А может и дальше
  14. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.230
    Likes Received:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
  15. DenKor Новичок

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

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.491
    Likes Received:
    3.120
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Тем не менее, плюс 8.5% скорости ребята получили. Так что практика в данном случае - критерий истины, несмотря на все умозрительные рассуждения про компилятор.
  17. DenKor Новичок

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

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.491
    Likes Received:
    3.120
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Так и я, представьте себе, программист. И тоже на C++. И с асмом дело доводилось иметь, правда, давно - лет 15 назад.
    Что тут обсуждать, вообще не понимаю: вот вам код Стокфиша на плюсах, вот он же на асме, берите, сравнивайте скорость и идентичность выводимого анализа.
    Комсюк likes this.
  19. nh2008 Старожил

    • Участник
    • Старожил
    Member Since:
    01.12.2013
    Message Count:
    3.961
    Likes Received:
    5.378
    Репутация:
    379
    Location:
    Украина
    Оффлайн
    8.5% - не критично для данного вида задачи, ИМХО.
    Скорее, реальный прогресс в создания специализированных процессоров.
  20. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.491
    Likes Received:
    3.120
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Ну, как сказать... Вроде, считается, что ускорение движка в два раза даёт плюс 100 пунктов Эло. Значит, 8.5% дадут 5-10 пунктов. В борьбе за высшую строчку рейтинга может и пригодиться.
    А так, конечно, суета это всё. Суета и томление духа :)
  21. DenKor Новичок

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

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.491
    Likes Received:
    3.120
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Согласен. Но, уверен, и исходный Стокфиш, и его ассемблерного собрата писали программисты с чрезвычайно прямыми руками. Растущими к тому же оттуда, откуда полагается.
    Rom and nh2008 like this.
  23. Rom Старожил

    • Участник
    • Старожил
    Member Since:
    12.02.2012
    Message Count:
    645
    Likes Received:
    276
    Репутация:
    28
    Оффлайн
    Интересно, откуда такая разница в размерах бинарников? У Асм всего 110 килобайт, а у оф. Стока в 10 раз больше, и даже без сизиги в 8 раз. Меньше избыточности? Встроенные динамические библиотеки? Что-то другое?
  24. minga Новичок

    • Новичок
    Member Since:
    02.11.2016
    Message Count:
    11
    Likes Received:
    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тник

    • Участник
    Member Since:
    18.06.2007
    Message Count:
    399
    Likes Received:
    475
    Репутация:
    11
    Location:
    Правда
    Оффлайн
    Многоядерность.
    Поставьте Threads=1 и получите стабильность.
    Комсюк likes this.
  26. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.230
    Likes Received:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    и тут про политику :)
  27. Michael-13 Господин

    • Участник
    • Старожил
    Member Since:
    18.11.2011
    Message Count:
    3.068
    Likes Received:
    1.098
    Репутация:
    29
    Оффлайн
  28. roman57 Учаcтник

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

    • Участник
    Member Since:
    30.08.2016
    Message Count:
    649
    Likes Received:
    120
    Репутация:
    3
    Оффлайн
    minga, это из-за того, что используется многоядерность (алгоритм Lazy SMP). В одном потоке все стабильно.
  30. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.230
    Likes Received:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    Официальная версия Stockfish 10.

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

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    30.12.2009
    Message Count:
    16.477
    Likes Received:
    8.523
    Репутация:
    530
    Нарушения:
    31
    Оффлайн
    А я, помнится, на Иммортале был единственным, кто заявлял со всей ответственностью, что мне Стокфиш нравится. Тогда про него даже и речи не было.
  32. Edwards Старожил

    • Ветеран
    • Старожил
    Member Since:
    11.02.2006
    Message Count:
    6.327
    Likes Received:
    323
    Репутация:
    21
    Location:
    CПб
    Оффлайн
    Почему-то, что 9-й, что этот, 10-й Стокфиш у меня дают разную оценку позиции в зависимости от стороны, за которую он "играет", анализирует. "За себя" ему всегда больше нравится.

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

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

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.491
    Likes Received:
    3.120
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Похоже на Contempt. Его надо установить в 0 в настройках.
    Edwards likes this.
  34. Комсюк народный модератор

    • Заслуженный
    • Ветеран
    • Заблокирован
    • Старожил
    Member Since:
    17.07.2011
    Message Count:
    19.230
    Likes Received:
    23.509
    Репутация:
    1.263
    Нарушения:
    31
    Оффлайн
    такого разброса не будет, но он действительно оптимистично оценивает свои шансы (это сделано для матчей движков)
    Нулевой контемпт выравняет оценку
    Edwards likes this.
  35. Gottfrid Учаcтник

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

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

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

Share This Page