04.06.2016, 17:13 | #1 |
2 разряд
Регистрация: 03.06.2016
Сообщений: 441
Сказал(а) спасибо: 534
Поблагодарили 1,949 раз(а) в 431 сообщениях
Репутация: 181
|
Stockfish и его производные
Stockfish 14 Stockfish 14 для Android https://ufile.io/f/8ardx https://pixeldrain.com/l/ndVpnHXc#item=1 Архив предыдущих версий: https://www.dropbox.com/sh/75gzfgu7q...UfHbBr4r_RwhGa Официальный сайт стокфиш Обновления тестовых версий стокфиша: http://abrok.eu/stockfish/ Сборки Stockfish и CorChess от I. Ivec Развитие движка http://tests.stockfishchess.org/tests Stockfish_NNUE https://github.com/nodchip/Stockfish Сети: https://www.comp.nus.edu.sg/~sergio-v/nnue/ AsmFish Сборки от Maratka Компиляции движков от ChessMan Сборка Stockfish от Otodranik Sugar от Marco Zerbinati Shark и Orka О StockfishЦитата:
Авторы движка
Двигатель Stockfish был разработан Tord Romstad, Marco Costalba и Joona Kiiski. В настоящее время он развивается и поддерживается сообществом Stockfish. Авторы приложений Stockfish для Mac был собран Daylen Yang. Stockfish для iOS был собран Tord Romstad. История Проект Stockfish начался с движка Glaurung с открытым исходным кодом, созданного Tord Romstad. В ноябре 2008 года Марко Косталба разветвил код Glaurung 2.1 и представил Stockfish 1.0. Торд и Джоона Кииски присоединились к проекту «Стилфиш», и проект «Гларунг» постепенно исчез. Тем временем, Stockfish быстро поднялся, чтобы стать самым сильным шахматным движком с открытым исходным кодом, с частыми обновлениями каждые несколько месяцев. Сегодня он остается одним из самых сильных двигателей в мире. О GPL Stockfish является бесплатным и распространяется в соответствии с GNU General Public License Version 3 (GPLv3). По сути, это означает, что вы можете делать практически все, что хотите, с программой, включая ее распространение среди своих друзей, делая ее доступной для загрузки с вашего веб-сайта, продавая ее (либо самостоятельно, либо как часть некоторого более крупного программного пакета ) или использовать его в качестве отправной точки для собственного программного проекта. Единственное реальное ограничение заключается в том, что всякий раз, когда вы каким-либо образом распространяете Stockfish, вы всегда должны включать полный исходный код или ссылку на исходный код. Если вы внесете какие-либо изменения в исходный код, эти изменения также должны быть доступны в GPL. Для получения полной информации прочитайте GPL. [свернуть] Последний раз редактировалось ChessMan; 04.07.2021 в 09:38. Причина: Добавил ссылку на Стокфиш 14 + ссылка на пред. версии + Android |
59 пользователя(ей) сказали cпасибо: | ALEKS (05.10.2017), Alexandr_L (07.09.2017), Alex_Lk (28.09.2018), Alex_Zet (04.12.2018), Antuan (01.01.2019), Arikchess (02.03.2018), Benoni (18.05.2020), Borisk (02.12.2018), Chess762 (01.12.2016), ChessMan (30.10.2017), Cr@ck (30.03.2019), Demch (15.07.2018), genadiy (06.12.2018), gens (26.10.2018), Ghppn (31.12.2019), Gigabayt (14.09.2020), GL2016 (04.06.2016), IgorPastukhov (06.02.2018), ivm1995 (03.12.2017), KERCH (04.06.2016), kruzh (08.02.2019), Lawyer (18.09.2018), Maratka (24.05.2018), Michael Strelkov (29.01.2017), Ofiscer (06.06.2016), ogr56 (08.07.2019), Padre (18.11.2020), Psyclone2513 (06.10.2017), Raptor (17.11.2018), Rybka (21.01.2020), SergeyTUR (04.02.2019), Shadow (15.11.2017), SKY (11.05.2020), sovaz1997 (03.10.2017), ssserg (27.06.2020), Stavross (04.06.2016), tt66 (04.06.2016), valery 64 (16.07.2021), ValstepAS (23.12.2018), Vovan (22.03.2019), Александр (30.10.2018), Александр Руденко (26.07.2020), АЛЕКСЕЙ1976 (15.08.2021), Валекс (27.11.2018), Виталий В. (13.07.2016), Владимир Харламов (09.12.2019), Владимир001 (09.08.2020), Гудвин (04.06.2016), Иван (03.07.2021), илья (13.07.2021), Кевин (30.03.2017), Котюргин (12.09.2021), Ларин (09.02.2018), Петригин Олег (04.06.2016), Реналь (18.07.2020), Ренат (17.10.2016), Роман (02.06.2021), Философ (04.06.2016) |
09.08.2020, 21:54 | #10831 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от Реналь
Аброковский движок, прекращает работу по достижении глубины 38+. Не всегда, чаще работает нормально. Если перезапускаешь движок, то может остановится на другой глубине, а иногда и доработает до 55+
https://yadi.sk/d/Y0KPMT8LNxFRiA Чисто для проверки, как работает. |
09.08.2020, 21:56 | #10832 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
В общем, прошел патч....
Ну да, наверное если не более трех пешек, то ручная оценка "потянет", в конце концов всего месяц назад она была вообще единственно возможной. Но все же, "скакать" оценка будет.... Тут комбинированное условие. Если "оценка psq" (которая в себя включает оценку исходя из позиции фигур и их материала) сильно отличается от нуля, то используем классическую оценку. А насколько сильно теперь будет зависеть от количества пешек, чем больше пешек на доске, тем реже будет классическая оценка использоваться. Возможны и дальнейшие улучшения. Фактически это такой "детектор сложных позиций", в которых имеет смысл использовать NNUE, а не фигню, которая написана руками. Его можно улучшать и дальше. Собственно, даже нужно. У нас была в классической оценке "сложность" позиции, которая влияла на выигрываемость эндшпиля в ней, здесь, можно сказать, нечто похожее, только тут "сложность" позиции влияет на использование более сложной оценки. Причём 3 пешки - это просто пересечение со старой границей, было 520, стало 460 + (число пешек) * 20, т.е. если пешек 0, то мы используем NNUE в позициях с дисбалансом меньше 460, что, вообще говоря, тоже не так уж и мало.
__________________
Развернуть для просмотра[свернуть] |
Пользователь сказал cпасибо: | Kesandr (09.08.2020) |
09.08.2020, 22:23 | #10833 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Ну это я понял
Непонятно, почему ручная оценка в таких позициях дает Elo? Думаю, это все как бы временно, через ~20 Еlo, которые дают чисто сети вероятно оно и не понадобится. |
09.08.2020, 22:38 | #10834 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Ну это я понял
Непонятно, почему ручная оценка в таких позициях дает Elo? Думаю, это все как бы временно, через ~20 Еlo, которые дают чисто сети вероятно оно и не понадобится. Примерно по той же причине, по которой LazyEval давал эло в своё время - если у нас лишний ферзь и компенсации у противника не особо, то какой смысл там считать какие-то сложные атаки на короля или высчитывать крохи оценки проходных, у нас, чёрт возьми, лишний ферзь, как-нибудь да выиграем. Так и тут тоже - у нас лишний конь, к чему там тут NNUE? Лишнего коня реализует не то что базовый сток, но и любой 3000 движок. Ну, в большинстве случаев. Вонделе там погонял тесты, по его словам, мы переключаемся на базовую оценку примерно в 30% позиций, и 99,5% из этого - то, где NNUE вообще и не нужно, т.к. там "выиграно по-всякому".
__________________
Развернуть для просмотра[свернуть] |
Пользователь сказал cпасибо: | Maratka (09.08.2020) |
09.08.2020, 22:54 | #10835 |
Эксперт
Регистрация: 19.12.2019
Сообщений: 7,484
Сказал(а) спасибо: 4,655
Поблагодарили 12,178 раз(а) в 5,475 сообщениях
Репутация: 259
|
Re: Stockfish и его производные
Author: Vizvezdenec
Date: Sun Aug 9 21:26:17 2020 +0200 Timestamp: 1597001177 Adjust NNUE usage based on number of pawns in position The idea of this patch is that positions are usually more complex and hard to evaluate even if there are more pawns. This patch adjusts NNUE threshold usage depending on number of pawns in position, if pawn count is <3 we use the classical evaluation more often, for pawn count = 3 patch the is non-functional, with pawn count > 3 NNUE evaluation is used more often. passed STC https://tests.stockfishchess.org/tes...81672066536b1f LLR: 2.96 (-2.94,2.94) {-0.50,1.50} Total: 36520 W: 5011 L: 4823 D: 26686 Elo +1.79 Ptnml(0-2): 299, 3482, 10548, 3594, 337 passed LTC https://tests.stockfishchess.org/tes...81672066536b5c LLR: 2.98 (-2.94,2.94) {0.25,1.75} Total: 39272 W: 2630 L: 2433 D: 34209 Elo +1.74 Ptnml(0-2): 53, 2066, 15218, 2229, 70 closes https://github.com/official-stockfis...fish/pull/2960 bench 4084753 see source https://abrok.eu/stockfish/ |
09.08.2020, 23:00 | #10836 |
Гроссмейстер
|
Re: Stockfish и его производные
Цитата: Сообщение от Vizvezdenec
Потому что она просто быстрее?
__________________
PGN Spy - top tournaments |
09.08.2020, 23:06 | #10837 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Переяслав
В анализе эта фишка тоже работает или только в быструшках? Мне то в анализе спешить особо некуда и лучше полагаться на более качественную оценку...
|
09.08.2020, 23:10 | #10838 |
Гроссмейстер
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
К сожалению, работает и в анализе...
__________________
PGN Spy - top tournaments |
09.08.2020, 23:10 | #10839 |
Эксперт
Регистрация: 19.12.2019
Сообщений: 7,484
Сказал(а) спасибо: 4,655
Поблагодарили 12,178 раз(а) в 5,475 сообщениях
Репутация: 259
|
Re: Stockfish и его производные
Цитата: Сообщение от Vizvezdenec
Потому что она просто быстрее?
Примерно по той же причине, по которой LazyEval давал эло в своё время - если у нас лишний ферзь и компенсации у противника не особо, то какой смысл там считать какие-то сложные атаки на короля или высчитывать крохи оценки проходных, у нас, чёрт возьми, лишний ферзь, как-нибудь да выиграем. Так и тут тоже - у нас лишний конь, к чему там тут NNUE? Лишнего коня реализует не то что базовый сток, но и любой 3000 движок. Ну, в большинстве случаев. Вонделе там погонял тесты, по его словам, мы переключаемся на базовую оценку примерно в 30% позиций, и 99,5% из этого - то, где NNUE вообще и не нужно, т.к. там "выиграно по-всякому". |
09.08.2020, 23:12 | #10840 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Переяслав
я думаю в корчессе это непотребство отключат. Слава дериватам!!
|
09.08.2020, 23:13 | #10841 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Да, в КорЧессе Lazy Eval удалены.
|
Пользователь сказал cпасибо: | Jeweller (10.08.2020) |
09.08.2020, 23:22 | #10842 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
Ну на самом деле в анализе-то тоже... Не всё так просто. Потому что вот был в CorChess типа отключён LazyEval, ну замечательно, а хоть один матч на длинном временном контроле он у базы выиграл? Я таких не видел, обычно там отличие в каких-то следовых количествах эло.
В любом случае тут несложно собрать что-то, что не будет это использовать.
__________________
Развернуть для просмотра[свернуть] |
09.08.2020, 23:31 | #10843 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Все же переключатель решил бы все вопросы раз и навсегда.
Ну вот...так оно выходит! И еще раз повторюсь, мне кажется, что эта функция в целом временная, и после того, как сеть подрастет по тестам на FishTest на 2-3 десятка Elo, есть смысл ее отключить, и посмотреть что будет. Вероятно, выйдем на погрешность.... |
09.08.2020, 23:33 | #10844 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Кстати, легко промоделировать, взять первую сеть месячной давности, последнюю проверенную, и посмотреть разницу на одном движке, с включенной и отключенной этой опцией: на старой (слабой) сети пользы от этой фичи будет заметно больше.
|
09.08.2020, 23:42 | #10845 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
Если пользователь указал в настройках Use NNUE: ON, то каждый раз "переспрашивать"
и тем более менять режим ON/OFF просто некрасиво : ) Дополнительные 1-2 ELO ( исключительно на сверхмикроконтролях! ) никак не оправдывают грубую идеологическую диверсию, т.е. мелкую пакость : ) |
09.08.2020, 23:50 | #10846 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
Цитата: Сообщение от Asunta
Если пользователь указал в настройках Use NNUE: ON, то каждый раз "переспрашивать"
и тем более менять режим ON/OFF просто некрасиво : ) Дополнительные 1-2 ELO ( исключительно на сверхмикроконтролях! ) никак не оправдывают грубую идеологическую диверсию, т.е. мелкую пакость : )
__________________
Развернуть для просмотра[свернуть] |
09.08.2020, 23:56 | #10848 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
Не уверен, что его когда-нибудь придётся откатывать назад, разве что NNUE начнёт работать так же быстро, как и ручная оценка, причём учитывая, что последняя может LazyEval задействовать.
10-15% скорости даже на контролях адванса что-то дают, а "более точная" оценка в позициях с лишним конём... Ну тоже что-то, конечно, даёт, но насколько часто? Перекроет ли она это "что-то"? Я сомневаюсь.
__________________
Развернуть для просмотра[свернуть] |
09.08.2020, 23:58 | #10849 |
Гроссмейстер
|
Re: Stockfish и его производные
Справдливости я ради я правда итак никогда стокфишем не анализирую свои партии. Просто из принципа
__________________
PGN Spy - top tournaments |
10.08.2020, 00:02 | #10850 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
Дёшево и сердито:
Value Eval::evaluate( const Position& pos ) { if( Eval::useNNUE ) return ( NNUE::evaluate(pos) + Tempo ); return Evaluation<NO_TRACE>(pos).value(); } Если убрать из функции весь этот мусор - движок сразу побежит на 2%-3% быстрее ( при любых оценках, т.е. в 99% случаев! ) и на микроконтролях будет рвать движки с перегруженной функцией... |
10.08.2020, 00:09 | #10851 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Vizvezdenec
Вообще ускорение типа 10-15% на большинстве машин фиштеста, народ тут в некоторых компиляциях за процент всю плешь проедает
Может лучше тогда использовать классический Стокфиш? У него скорость выше на 40% минимум. |
10.08.2020, 00:12 | #10852 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Вы же понимаете откуда ускорение в этом патче?
Может лучше тогда использовать классический Стокфиш? У него скорость выше на 40% минимум. Ускорение из-за того, что альфабета по природе своей рассматривает очень много мусорных позиций, например, ставим коня под бой, противник его забирает, что там по оценке? Разумеется, по оценке выходит полная фигня, и для этого тяжёлая нейросетевая оценка совершенно не нужна, потому что тут достаточно просто материал посчитать. Это, как по мне, весьма здравая идея, в позиции "король и ладья против короля" оценка не нужна в принципе, а ведь движок и до такого досчитывается достаточно часто. Это в какой-то степени аналог futility pruning, который проводит отсечения по статической оценке, если она очень плоха/хороша, вроде бы пока никто не жаловался, что сток плохо ищет?
__________________
Развернуть для просмотра[свернуть] |
10.08.2020, 00:13 | #10853 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
Ускорение при ( +5.00 ) можно повесить на ёлку : )
А торможение за счёт кучи лишних операторов во всех остальных позициях? А попытка обмануть пользователя, который ясно высказался в настройке Use NNUE: ON ? |
10.08.2020, 00:15 | #10854 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Vizvezdenec,
добавьте пожалуйста в misc.cpp: Код:
#if defined(USE_AVX2) compiler += " AVX2"; #endif #if defined(USE_AVX) compiler += " AVX"; #endif #if defined(USE_SSE42) compiler += " SSE42"; #endif |
10.08.2020, 00:20 | #10855 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
Цитата: Сообщение от Asunta
Ускорение при ( +5.00 ) можно повесить на ёлку : )
А торможение за счёт кучи лишних операторов во всех остальных позициях? А попытка обмануть пользователя, который ясно высказался в настройке Use NNUE: ON ? Пользователь поставил настройку USE NNUE, т.е. "использовать NNUE". Она и используется. Вот если бы была настройка "don't use NNUE", а она всё равно использовалась - это был бы обман. А так никакого обмана нет - она используется. Просто в позициях, в 99,5% из которых это просто замедление не очень понятно для чего, используется более грубая оценка. Не вижу в настройках "always use NNUE", вижу просто "use".
__________________
Развернуть для просмотра[свернуть] |
10.08.2020, 00:24 | #10856 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
У меня по-факту собирается AVX-версия
|
10.08.2020, 00:32 | #10857 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Vizvezdenec
Только он играет на 50 эло слабее.
Ускорение из-за того, что альфабета по природе своей рассматривает очень много мусорных позиций, например, ставим коня под бой, противник его забирает, что там по оценке? Разумеется, по оценке выходит полная фигня, и для этого тяжёлая нейросетевая оценка совершенно не нужна, потому что тут достаточно просто материал посчитать. Это, как по мне, весьма здравая идея, в позиции "король и ладья против короля" оценка не нужна в принципе, а ведь движок и до такого досчитывается достаточно часто. Это в какой-то степени аналог futility pruning, который проводит отсечения по статической оценке, если она очень плоха/хороша, вроде бы пока никто не жаловался, что сток плохо ищет? И движок снова начинает "рассматривать очень много мусорных позиций". Как выразился Рональд Де Ман: "stitching together two entirely separate evals seems very hacky." (сшивание двух совершенно разных evals кажется очень хакерским.) https://github.com/official-stockfis...230c5aac9e322f |
10.08.2020, 00:44 | #10859 |
Гроссмейстер
|
Re: Stockfish и его производные
А как эта хрень вообще работает?
r1b1qr1k/2p3pp/4p3/1pb1PpN1/pn3N1P/8/PPP1QPP1/2KR3R w - - 0 1 Ставлю позицию. Нодчиповский сразу видит правильный ход на своих медленных сетевых оценках. Сток 0808 с аброка нихрена не видит, но скорость показывает процентов на 20 выше чем нодчиповский (хотя он обычно медленнее на 10% и более), но при этом ниже все равно, чем полностью отключить Use NNUE.
__________________
PGN Spy - top tournaments |
10.08.2020, 00:47 | #10860 |
Гроссмейстер
|
Re: Stockfish и его производные
Оставьте людям возможность:
1) Always use NNUE 2) Use hybrid 3) Do not use NNUE В чем проблема-то?
__________________
PGN Spy - top tournaments |
Пользователь сказал cпасибо: | ChessMan (10.08.2020) |
Здесь присутствуют: 7 (пользователей: 0 , гостей: 7) | |
|
|