Про воблу (stockfish)

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

  1. TopicStarter Overlay

    Scaramuccia Учаcтник

    • Участник
    Рег.:
    12.01.2012
    Сообщения:
    1.482
    Симпатии:
    424
    Репутация:
    19
    Оффлайн
    Как пользователь линукса я регулярно сталкиваюсь с ситуацией когда типовые проги написаны под винду и считается что какую-то задачу под линуксом не решить. Компьютерный анализ одна из таких областей - оболчки виндовые, движки тоже. Обычно выясняется что мнение ошибочно и под линуксом задача спокойно решается. Не будем рассматривать сейчас запуск гудини из под 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.582
    Симпатии:
    124
    Репутация:
    2
    Адрес:
    Украина
    Оффлайн
    Главный его недостаток - очень сильная переоценка позиции, к реальной оценке он стандартно прибавляет себе около +0,5.
    Причина этого - в чрезмерном оптимизме, за сомнительные возможности атаки он готов отдать все.
    Поэтому для анализа годится только в качестве "поставщика идей".
  3. TopicStarter Overlay

    Scaramuccia Учаcтник

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

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

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

    Scaramuccia Учаcтник

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

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

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

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

    • Участник
    Рег.:
    01.05.2006
    Сообщения:
    190
    Симпатии:
    29
    Репутация:
    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
    Сообщения:
    8.457
    Симпатии:
    2.696
    Репутация:
    237
    Оффлайн
    Так, наверное, точнее будет: http://www.sdchess.ru/download_engines.htm
  9. Vladruss НедоКМС

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





  10. Vladruss НедоКМС

    • Ветеран
    Рег.:
    30.12.2009
    Сообщения:
    8.457
    Симпатии:
    2.696
    Репутация:
    237
    Оффлайн
  11. Комсюк народный модератор

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

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

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

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    8.984
    Симпатии:
    7.899
    Репутация:
    434
    Нарушения:
    22
    Оффлайн
    Antuan нравится это.
  15. DenKor Новичок

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

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

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

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

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

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

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

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

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

    • Новичок
    Рег.:
    02.11.2016
    Сообщения:
    9
    Симпатии:
    2
    Репутация:
    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
    Сообщения:
    355
    Симпатии:
    250
    Репутация:
    9
    Оффлайн
    Многоядерность.
    Поставьте Threads=1 и получите стабильность.
    Комсюк нравится это.
  26. Комсюк народный модератор

    • Ветеран
    Рег.:
    17.07.2011
    Сообщения:
    8.984
    Симпатии:
    7.899
    Репутация:
    434
    Нарушения:
    22
    Оффлайн
    и тут про политику :)
  27. Michael-13 Учаcтник

    • Участник
    Рег.:
    18.11.2011
    Сообщения:
    1.790
    Симпатии:
    433
    Репутация:
    26
    Адрес:
    Санкт-Петербург
    Оффлайн

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