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) |
19.05.2019, 21:55 | #4591 |
Эксперт
Регистрация: 07.06.2016
Сообщений: 5,907
Сказал(а) спасибо: 13,814
Поблагодарили 12,717 раз(а) в 4,521 сообщениях
Репутация: 726
|
Re: Stockfish и его производные
Обновился AsmFish от 18/05/2019:
https://github.com/Counterply/asmFis...ish-CounterPly |
19.05.2019, 23:33 | #4592 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
Цитата: Сообщение от klf
А насколько перспективен подход, когда патчи тестируются для конкретных начал?
Например, наиграли миллион партий в староиндийке - такие коэффициенты/параметры движка. Наиграли миллион партий во французской - другие коэффициенты. Как только партия уходит в конкретное начало - движок в этот момент берет именно нужные настройки/коэффициенты |
20.05.2019, 00:00 | #4595 |
3 разряд
Регистрация: 19.01.2017
Сообщений: 226
Сказал(а) спасибо: 163
Поблагодарили 566 раз(а) в 172 сообщениях
Репутация: 86
|
Re: Stockfish и его производные
На самом деле не так много дебютов, объединяя их, если исходить из пешечных цепей.
Для середины игры также делать обобщения, укрупняя дебюты (всего несколько групп), а для эндшпилей единые принципы/коэффициенты.. Хотя бы такой подход применить к наборам позиций для тестирования, если нереально для движка. |
Пользователь сказал cпасибо: | Alex_Lk (20.05.2019) |
20.05.2019, 05:08 | #4596 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
"Всего 500", для каждого нужно будет писать свои патчи и свои тесты... Нужно в 500 раз больше разрабов и ядер приблизительно
|
23.05.2019, 11:30 | #4597 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
search.cpp ( между строками 1280 .. 1290 )
// Never assume anything on values stored in TT if( ( ss->staticEval = bestValue = tte->eval() ) == VALUE_NONE ) ss->staticEval = bestValue = evaluate(pos); То же самое можно написать так: ss->staticEval = tte->eval(); if( ss->staticEval == VALUE_NONE ) ss->staticEval = evaluate(pos); bestValue = ss->staticEval; Или так: if( ( ss->staticEval = tte->eval() ) == VALUE_NONE ) ss->staticEval = evaluate(pos); bestValue = ss->staticEval; И чуть-чуть сэкономить время ( 1-2 оператора присваивания ) |
23.05.2019, 14:46 | #4598 |
Гроссмейстер
Регистрация: 30.05.2018
Адрес: Севастополь
Сообщений: 4,022
Сказал(а) спасибо: 56
Поблагодарили 5,294 раз(а) в 2,673 сообщениях
Репутация: 216
|
Re: Stockfish и его производные
По-моему как раз наоборот, первое экономит время чуть-чуть.
По крайней мере во всём коде стокфиша везде присваивания нулю и т.д. написаны как a=b=c=d=0; |
23.05.2019, 14:49 | #4599 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
На самом деле, там все равно все оптимизируются и нельзя однозначно сказать, что быстрее. Лучше тогда то, что читабельнее
|
23.05.2019, 15:37 | #4600 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Нужно смотреть машинный код под асмом, для тех, кто разбирается.
IMHO, современные компиляторы не настолько тупые, чтобы не суметь оптимизировать такую мелочь. Цитата: Сообщение от sovaz1997
Лучше тогда то, что читабельнее
|
Пользователь сказал cпасибо: | sovaz1997 (23.05.2019) |
23.05.2019, 15:43 | #4601 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
if( ( ss->staticEval = bestValue = tte->eval() ) == VALUE_NONE ) ss->staticEval = bestValue = evaluate(pos);
Ну как же так... Вот это присваивание железно лишнее: bestValue = tte->eval() Умножаем на квадриллионы и получаем реальные потери во времени.. Никакая "оптимизация" тут не лечит, т.к. всё явно прописано.. |
Пользователь сказал cпасибо: | Chess762 (24.05.2019) |
23.05.2019, 15:46 | #4602 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
Asunta, с оптимизацииями там код может сильно отличаться. Одно дело мат.логика и совсем другие - скорость выполнения команд процессора, предсказание условий и т. п. Я почти уверен, что ничего не поменяется. Присваивание - очень быстрая операция. Поверьте, в движке есть ещё очень много того, что действительно замедляет.
|
23.05.2019, 15:49 | #4603 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
Asunta, ну и ещё: если условие не пройдет, bestValue не поменяется. А оно должно в любом случае меняться. Так что здесь уже изменение логики получится, которое не к чему.
|
Пользователь сказал cпасибо: | Asunta (23.05.2019) |
23.05.2019, 15:51 | #4604 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
Просто место козырное : )
Сюда заходят все потоки на всех глубинах при анализе каждой новой позиции... Потеря небольшая, но её как минимум нужно умножить на все Nodes, которые перелопатил Сток.. Невынужденная ошибка : ) Понятно, что таких мест навалом... Случайно на глаза попалось... При STC ( 10" + 0.1" ) может и сказаться... На более высоких контролях - вряд ли.. |
23.05.2019, 16:10 | #4605 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
Цитата: Сообщение от sovaz1997
Asunta, ну и ещё: если условие не пройдет, bestValue не поменяется. А оно должно в любом случае меняться. Так что здесь уже изменение логики получится, которое не к чему.
2 или 4 ( при == 0 ) присваивания if( ( a = F1 ) == 0 ) a = F2; b = a; 2 или 3 ( при == 0 ) присваивания Чувствуем разницу? |
23.05.2019, 16:20 | #4606 |
Гроссмейстер
Регистрация: 02.07.2016
Адрес: Сахалин
Сообщений: 4,792
Сказал(а) спасибо: 5,116
Поблагодарили 14,196 раз(а) в 4,064 сообщениях
Записей в дневнике: 251
|
Re: Stockfish и его производные
19-05-15 Ala master
ELO: 28.93 +-1.7 (95%) LOS: 100.0% Total: 40000 W: 6896 L: 3573 D: 29531 40000 @ 30+0.3 th 8 Multicore regression/progression test against SF10 after "Update failedHighCnt rule" of May 15th. Low TP. В многоядерном режиме отличный результат регресс-теста.
__________________
ICCF SIM 2547, International Arbiter, ICCF "Promotional Tournaments - Server" Organiser, RCCA Chess 960 Champion, ICCF 4th Chess 960 World Cup Final Winner. |
23.05.2019, 16:23 | #4607 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
Цитата: Сообщение от Asunta
if( ( a = b = F1 ) == 0 ) a = b = F2;
2 или 4 ( при == 0 ) присваивания if( ( a = F1 ) == 0 ) a = F2; b = a; 2 или 3 ( при == 0 ) присваивания Чувствуем разницу? |
23.05.2019, 16:27 | #4608 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
Не... Ну я уже по слогам, так сказать...
Ещё более популярно не могу : ) 3 присваивания или 4... Это как тупо удалить из текста "пустой" оператор типа a=a; Какая оптимизация ( ? ) Какой бенч ( ? ) Просто даром : ) Нагнуться и подобрать... Либо будет на копейку лучше, либо на 0.0001 копейки... Хуже-то точно не будет... |
23.05.2019, 16:47 | #4609 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
Asunta, вы уверены, что после процессорных оптимизаций ваше изменение что-то даст? Это выглядит коряво, по сравнению с тем, что есть. Вы не там оптимизируете, где надо. И иногда чрезмерная оптимизация приводит к снижению качества кода и ухудшению прогресса. Не учите меня, знаю, о чем говорю. Bench-ем проверить. Если даст 1%, то нормально. Если не даст даже 0.01% (наверняка не даст), то зачем оно надо?
P. S. Обратите внимание: у Стока есть упрощающие патчи. Они могут даже уменьшить силу игры, но дают более понятный код. Так что, поверьте, ваш патч не примут. Попробуйте, конечно) |
23.05.2019, 16:55 | #4610 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Stockfish и его производные
Я вообще не оптимизирую... Нигде : )
И напрягать никого не собираюсь.. Чисто случайно эта ерунда обнаружилась.. Пусть там и остаётся.. Ничего глобального : ) Какой там патч... Не смешите мои тапки : ) |
23.05.2019, 18:11 | #4611 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от sovaz1997
Bench-ем проверить. Если даст 1%, то нормально. Если не даст даже 0.01% (наверняка не даст), то зачем оно надо?
|
23.05.2019, 18:24 | #4612 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
ChessMan, я знаю, поэтому нужен длительный тест
|
Пользователь сказал cпасибо: | ChessMan (23.05.2019) |
24.05.2019, 09:25 | #4613 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Вот как сокращается, и тем самым упрощается и ускоряется код:
https://github.com/vondele/Stockfish...b647...00cb84b |
24.05.2019, 20:06 | #4614 |
Гроссмейстер
Регистрация: 02.07.2016
Сообщений: 2,104
Сказал(а) спасибо: 4,488
Поблагодарили 5,221 раз(а) в 1,744 сообщениях
Репутация: 435
|
Re: Stockfish и его производные
asmFish_19518.rar
http://s000.tinyupload.com/?file_id=...39501888582784 ---------------------------------------------------------- Raubfisch_X40b2_and_GTZ19b2.rar http://s000.tinyupload.com/?file_id=...18681742190747
__________________
"Не-ум - цветы вечности." Ошо |
4 пользователя(ей) сказали cпасибо: |
24.05.2019, 20:14 | #4615 |
3 разряд
Регистрация: 02.07.2016
Сообщений: 180
Сказал(а) спасибо: 908
Поблагодарили 261 раз(а) в 128 сообщениях
Репутация: 17
|
Re: Stockfish и его производные
Цитата: Сообщение от byan_mivv
asmFish_19518.rar
http://s000.tinyupload.com/?file_id=...39501888582784 ---------------------------------------------------------- Raubfisch_X40b2_and_GTZ19b2.rar http://s000.tinyupload.com/?file_id=...18681742190747 |
24.05.2019, 20:31 | #4617 |
Гроссмейстер
Регистрация: 02.07.2016
Сообщений: 2,104
Сказал(а) спасибо: 4,488
Поблагодарили 5,221 раз(а) в 1,744 сообщениях
Репутация: 435
|
Re: Stockfish и его производные
Тут нет усатого нянь в лице Бессмертного - приходится рыскать по дебрям самому...
__________________
"Не-ум - цветы вечности." Ошо |
24.05.2019, 22:25 | #4618 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Хорошая идея:
http://tests.stockfishchess.org/html...bc5925cf07390e Если у нас нет слонов, штрафовать коней, в случае если у соперника пешки стоят "размашисто". Т.е. по сути (если правильно понял идею), либо SF не очень охотно пойдет на размен слонов (в случае этих самых пешек, и наличия у себя коней), т.к. за это штраф и оценка ниже, либо если уж останется без слонов, но с конями, то будет пытаться разменять пешки (это избавит его от штрафа, а значит поднимет оценку). |
Пользователь сказал cпасибо: | Chess762 (27.05.2019) |
24.05.2019, 22:25 | #4619 |
3 разряд
Регистрация: 02.07.2016
Сообщений: 180
Сказал(а) спасибо: 908
Поблагодарили 261 раз(а) в 128 сообщениях
Репутация: 17
|
Re: Stockfish и его производные
Цитата: Сообщение от byan_mivv
Тут нет усатого нянь в лице Бессмертного - приходится рыскать по дебрям самому...
|
25.05.2019, 10:52 | #4620 |
Гроссмейстер
Регистрация: 02.07.2016
Адрес: Сахалин
Сообщений: 4,792
Сказал(а) спасибо: 5,116
Поблагодарили 14,196 раз(а) в 4,064 сообщениях
Записей в дневнике: 251
|
Re: Stockfish и его производные
Author: Joost VandeVondele
Date: Sat May 25 09:43:52 2019 +0200 Timestamp: 1558770232 Remove one division. (#2158) Can be included in the earlier calculation, with a small rounding difference. passed STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 17912 W: 4044 L: 3915 D: 9953 Elo +2.50 http://tests.stockfishchess.org/test...bc5925cf070d0e passed LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 56061 W: 9579 L: 9516 D: 36966 Elo +0.39 http://tests.stockfishchess.org/test...bc5925cf070e37 Bench: 3817662 http://abrok.eu/stockfish/
__________________
ICCF SIM 2547, International Arbiter, ICCF "Promotional Tournaments - Server" Organiser, RCCA Chess 960 Champion, ICCF 4th Chess 960 World Cup Final Winner. |
Пользователь сказал cпасибо: | Maratka (25.05.2019) |
Здесь присутствуют: 18 (пользователей: 0 , гостей: 18) | |
|
|