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) |
05.12.2017, 20:28 | #2071 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от sovaz1997
Пешка в SF весит не 100, поэтому выполняется преобразование.
PawnValueMg = 171, PawnValueEg = 240, KnightValueMg = 764, KnightValueEg = 848, BishopValueMg = 826, BishopValueEg = 891, RookValueMg = 1282, RookValueEg = 1373, QueenValueMg = 2526, QueenValueEg = 2646, Делим все коэффициенты на 2,4 получаем то же соотношение весов при пешке в 100 единиц. |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 20:31 | #2072 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Итого, очень хочу услышать ответ на вопросы:
1) Цитата: Сообщение от Maratka
Я что-то не вполне понял, что именно даст этот патч в случае, если SF будет играть с заметно более сильным соперником?
Цитата: Сообщение от Maratka
Как меняется оценка в зависимости от contempt понятно. Непонятно, как движок должен понять, что он играет против заметно более слабого или заметно более сильного противника, и соответственно выставить нужный contempt?
Ну скажем на пальцах: в TCEC 10 на втором круге берем партии с Chiron. Четыре партии, четыре ничьи. Каким должен был бы установлен contempt в этом случае? Четыре партии с Houdini, четыре ничьи. Каким должен быть установлен contempt в этих партиях? Самое главное: как SF должен понять, что он играет со слабым Chiron, а не с сильным Houdini? |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 20:31 | #2073 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от sovaz1997
Я запустил SF против Chiron сегодня еще до вашего сообщения - тоже интересно стало (контроль 3 часа + 20 секунд, чтобы хоть как-то соответствовало TCEC). Contempt=40. К сожалению, Chiron пошел в другую линию, но это сути не меняет. Партию постараюсь выложить здесь.
|
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 20:37 | #2074 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
Maratka, чем больше контроль, тем больше вероятность ничьи. Я хотел эквивалент TCEC сделать с каким-то приближением по средней глубине
|
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 20:40 | #2075 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
Maratka, на 1-й я отвечал;
2) SF не будет определять, играет ли он с сильным или слабым соперником. Хотя, это можно сделать косвенно (определить силу игры по ходам соперника) |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 20:46 | #2076 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от sovaz1997
Maratka, чем больше контроль, тем больше вероятность ничьи.
Нас же интересует не результат в конкретной партии, и даже в конкретном матче, пусть даже и очень длинном матче во многие тысячи партий, а дельта изменения результата SF с патчем и без против Chiron (не обязательно его, можно взять любой другой заведомо более слабый движок). Отдельно потребуется второй матч с равноценным движком (идеально - предыдущая сборка SF). |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 20:47 | #2077 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от sovaz1997
SF не будет определять, играет ли он с сильным или слабым соперником.
|
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:08 | #2078 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
И еще вопрос:
Я совершенно запутался в этих Contempt'ах. Потому просьба на пальцах показать: 1) Я хочу, чтобы белые вели атаку. Для этого пишу contempt = (Options["Contempt"] + N) * PawnValueEg / 100; вместо int contempt = Options["Contempt"] * PawnValueEg / 100; где N - целое положительное число от 1 до 100. При этом, чем больше N, тем агрессивнее белые. 2) Я хочу, чтобы черные защищались Для этого я соответственно пишу contempt = (Options["Contempt"] - N) * PawnValueEg / 100; Соответственно, в случае если в настройках движка параметр Contempt стоит по умолчанию (0), то я получу более агрессивных белых, и более вязких в обороне черных? Я правильно понимаю? |
Пользователь сказал cпасибо: | Alexandr_L (05.12.2017) |
05.12.2017, 21:16 | #2079 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
И еще вопрос:
Я совершенно запутался в этих Contempt'ах. Потому просьба на пальцах показать: 1) Я хочу, чтобы белые вели атаку. Для этого пишу вместо int contempt = Options["Contempt"] * PawnValueEg / 100; contempt = (Options["Contempt"] + N) * PawnValueEg / 100; где N - целое положительное число от 1 до 100. При этом, чем больше N, тем агрессивнее белые. 2) Я хочу, чтобы черные защищались Для этого я соответственно пишу contempt = (Options["Contempt"] - N) * PawnValueEg / 100; Соответственно, в случае если в настройках движка параметр Contempt стоит по умолчанию (0), то я получу более агрессивных белых, и более вязких в обороне черных? Я правильно понимаю?
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
3 пользователя(ей) сказали cпасибо: |
05.12.2017, 21:30 | #2080 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
И еще вопрос:
Я совершенно запутался в этих Contempt'ах. Потому просьба на пальцах показать: 1) Я хочу, чтобы белые вели атаку. Для этого пишу contempt = (Options["Contempt"] + N) * PawnValueEg / 100; вместо int contempt = Options["Contempt"] * PawnValueEg / 100; где N - целое положительное число от 1 до 100. При этом, чем больше N, тем агрессивнее белые. 2) Я хочу, чтобы черные защищались Для этого я соответственно пишу contempt = (Options["Contempt"] - N) * PawnValueEg / 100; Соответственно, в случае если в настройках движка параметр Contempt стоит по умолчанию (0), то я получу более агрессивных белых, и более вязких в обороне черных? Я правильно понимаю? o["Contempt"] << Option(0, -100, 100); |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:31 | #2081 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от otodranik
Тебе нужно написать такую формулу, чтобы за белых при +1.00(к примеру) и контемпте +15 получалось = 1.00+0.15=1.15, за белых при +1.00 и контемпте -15 получалось 1.00-0.15=-0.85. За чёрных(самый сложный для понимания момент) при -1.00(к примеру) и контемпте +15 внимание получается -1.15!!! за чёрных при -1.00 и контемпте -15 получается -0.85!!! Принять оценку чёрных не за математический минус, а за своеобразный скалярный вектор! Это насчёт оценки.
http://forchess.ru/showpost.php?p=53307&postcount=2171 |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:37 | #2082 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от sovaz1997
Пешка в SF весит не 100, поэтому выполняется преобразование.
Код:
PawnValueMg = 171, PawnValueEg = 240, KnightValueMg = 764, KnightValueEg = 848, BishopValueMg = 826, BishopValueEg = 891, RookValueMg = 1282, RookValueEg = 1373, QueenValueMg = 2526, QueenValueEg = 2646, Код:
ss << "cp " << v * 100 / PawnValueEg; если мы ставим значение "Contempt", скажем 10 вместо 0 (в UCI опциях) то финальное значение int contempt увеличится не на 10, а на 24 так как int contempt = Options["10"] * 240 / 100= 10*2,4=24 вот что я имел в виду, когда писал: "Он не будет менять оценку на заданное число контемпта, хотя бы из-за этого:" Или я что-то пропустил? |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:37 | #2083 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Хорошо, а что тогда дает этот патч:
http://forchess.ru/showpost.php?p=53307&postcount=2171
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:38 | #2084 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от otodranik
До этого патча у Стокфиша был контемпт по сути - избегания ничьей, как-то так.
|
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:38 | #2085 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Здесь не надо ничего дописывать. нужно менять значение Contempt в параметрах UCI (так же ка Вы меняете число ядер или хеш)
При этом, для того, чтобы черные лучше защищались, нужно установить тоже +15? Однако, исходя из: Цитата: Сообщение от otodranik
За чёрных(самый сложный для понимания момент) при -1.00(к примеру) и контемпте +15 внимание получается -1.15!!!
Но если у них преимущество, зачем они будут защищаться? |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:41 | #2086 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Т.е. для того, чтобы белые сильнее перли вперед, нужно установить (условно) +15.
При этом, для того, чтобы черные лучше защищались, нужно установить тоже +15? Однако, исходя из: мы получаем, что при положительном Contempt играя черными, оценка станет не -1, а -1,15, т.е. ПРЕИМУЩЕСТВО черных по мнению движка увеличится. Но если у них преимущество, зачем они будут защищаться?
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:42 | #2087 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Вы не поняли. В формуле, что я привел (int contempt = Options["Contempt"] * PawnValueEg / 100; // From centipawns)
если мы ставим значение "Contempt", скажем 10 вместо 0 (в UCI опциях) то финальное значение int contempt увеличится не на 10, а на 24 так как int contempt = Options["10"] * 240 / 100= 10*2,4=24 вот что я имел в виду, когда писал: "Он не будет менять оценку на заданное число контемпта, хотя бы из-за этого:" Или я что-то пропустил? https://yadi.sk/d/K-MztD5m3QM8rN Запустить bench, в окне будут все отладочные сообщения. |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:42 | #2088 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Т.е. для того, чтобы белые сильнее перли вперед, нужно установить (условно) +15.
При этом, для того, чтобы черные лучше защищались, нужно установить тоже +15? Однако, исходя из: мы получаем, что при положительном Contempt играя черными, оценка станет не -1, а -1,15, т.е. ПРЕИМУЩЕСТВО черных по мнению движка увеличится. Но если у них преимущество, зачем они будут защищаться? При +15 - НЕЗАВИСИМО от цвета Стокфиш будет более оптимистичен(переть вперед), При -15 НЕЗАВИСИМО от цвета более осторожен, то есть защищаться. Поставил на весь матч - и забыл.
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
2 пользователя(ей) сказали cпасибо: | Alexandr_L (09.12.2017), Maratka (05.12.2017) |
05.12.2017, 21:45 | #2089 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от otodranik
При +15 - НЕЗАВИСИМО от цвета Стокфиш будет более оптимистичен(переть вперед), При -15 НЕЗАВИСИМО от цвета более осторожен, то есть защищаться.
При этом N очевидно не обязательно должны совпадать, т.е. возможно скажем +5 за белых, и -20 за черных? Цитата: Сообщение от otodranik
Я же говорю, что понять сразу проблематично, вот простыми словами так:
|
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:48 | #2090 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Т.е. для того, чтобы белые сильнее перли вперед, нужно установить (условно) +15.
При этом, для того, чтобы черные лучше защищались, нужно установить тоже +15? Однако, исходя из: мы получаем, что при положительном Contempt играя черными, оценка станет не -1, а -1,15, т.е. ПРЕИМУЩЕСТВО черных по мнению движка увеличится. Но если у них преимущество, зачем они будут защищаться? |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:51 | #2091 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
Re: Stockfish и его производные
Да, здесь правила сложения отрицательных чисел неуместны. Нам как-бы говорят авторы Стокфиша: забудьте всё то, чему Вас учили в школе!
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:54 | #2092 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Этот контемпт не влияет на то, каким цветом играет движок. То есть нельзя сделать "чтобы белые сильнее перли вперед" или " чтобы черные лучше защищались" но можно сделать "чтобы движок сильнее перл вперед" и " чтобы движок лучше защищался" ...
ucioption.cpp o["Debug Log File"] << Option("", on_logger); o["Use game mode"] << Option(true); o["Contempt"] << Option(0, -100, 100); search.cpp int contempt = Options["Contempt"] * PawnValueEg / 100; // From centipawns bool use_game_mode = (Options["Use game mode"]); if (use_game_mode == true) { if (us == WHITE) { printf("\n"); printf("My side is white\n"); contempt = (Options["Contempt"] + 5) * PawnValueEg / 100; } else { printf("\n"); printf("My side is black\n"); contempt = (Options["Contempt"] - 10) * PawnValueEg / 100; } } Eval::Contempt = (us == WHITE ? make_score(contempt, contempt / 2) (отладочные сообщения естественно можно повыкидывать). |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:56 | #2093 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Т.е. вот этот код - работать не будет, ну или вернее сказать - от него пользы не будет?
ucioption.cpp o["Debug Log File"] << Option("", on_logger); o["Use game mode"] << Option(true); o["Contempt"] << Option(0, -100, 100); search.cpp int contempt = Options["Contempt"] * PawnValueEg / 100; // From centipawns bool use_game_mode = (Options["Use game mode"]); if (use_game_mode == true) { if (us == WHITE) { printf("\n"); printf("My side is white\n"); contempt = (Options["Contempt"] + 5) * PawnValueEg / 100; } else { printf("\n"); printf("My side is black\n"); contempt = (Options["Contempt"] - 10) * PawnValueEg / 100; } } Eval::Contempt = (us == WHITE ? make_score(contempt, contempt / 2) (отладочные сообщения естественно можно повыкидывать).
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 21:58 | #2094 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Т.е. вот этот код - работать не будет, ну или вернее сказать - от него пользы не будет?
Развернуть для просмотраucioption.cpp
o["Debug Log File"] << Option("", on_logger); o["Use game mode"] << Option(true); o["Contempt"] << Option(0, -100, 100); search.cpp int contempt = Options["Contempt"] * PawnValueEg / 100; // From centipawns bool use_game_mode = (Options["Use game mode"]); if (use_game_mode == true) { if (us == WHITE) { printf("\n"); printf("My side is white\n"); contempt = (Options["Contempt"] + 5) * PawnValueEg / 100; } else { printf("\n"); printf("My side is black\n"); contempt = (Options["Contempt"] - 10) * PawnValueEg / 100; } } Eval::Contempt = (us == WHITE ? make_score(contempt, contempt / 2) [свернуть] (отладочные сообщения естественно можно повыкидывать). |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 22:00 | #2095 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
я что-то не вижу этого кода в официальном Стокфише
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 22:05 | #2096 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от otodranik
По этому коду у тебя просто получаются математические сложения контемпта, что в корне неверно будет!
По сути, за черных я не просто считываю из настроек двикжа Options["Contempt"], а сразу присваиваю считанному значение отрицательное число (подразумевается, что в настройки никто не лезет, и там выставлен нуль). Соответственно, Цитата: Сообщение от otodranik
При -15 НЕЗАВИСИМО от цвета более осторожен, то есть защищаться.
Цитата: Сообщение от ChessMan
я что-то не вижу этого кода в официальном Стокфише
|
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 22:05 | #2097 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от otodranik
Это код Маратки из его проекта(наверное)
|
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 22:10 | #2098 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Почему бы не попытаться пощупать то, что можно пощупать?
Settings = RR/4MB/10000ms+100ms/M 1000cp for 12 moves, D 150 moves/EPD:E:\Games\Chess\LittleBlitzer-2.74\tcec2.epd(101) Time = 39538 sec elapsed, 0 sec remaining 1. Stockfish 301117 x64 POPCNT 4953.0/10000 3657-3751-2592 (L: m=666 t=0 i=0 a=3085) (D: r=1785 i=503 f=187 s=44 a=73) (tpm=262.5 d=19.57 nps=1555198) 2. Stockfish 021217 x64 POPCNT 5047.0/10000 3751-3657-2592 (L: m=660 t=0 i=0 a=2997) (D: r=1785 i=503 f=187 s=44 a=73) (tpm=260.3 d=19.63 nps=1545436) Совпадение? (Движки отличались одной строчкой): ucioption.cpp o["Use game mode"] << Option(false); или o["Use game mode"] << Option(true); |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 22:31 | #2099 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от otodranik
Я же говорю, что понять сразу проблематично, вот простыми словами так:
При +15 - НЕЗАВИСИМО от цвета Стокфиш будет более оптимистичен(переть вперед), При -15 НЕЗАВИСИМО от цвета более осторожен, то есть защищаться. Поставил на весь матч - и забыл. При этом я совершенно не в курсе, каким цветом мой движок будет играть эти партии. |
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
05.12.2017, 22:37 | #2100 |
Гроссмейстер
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
|
Re: Stockfish и его производные
Maratka, можно изменить название в UCI, чтобы в PGN были видны отличия
|
Пользователь сказал cпасибо: | Alexandr_L (09.12.2017) |
Здесь присутствуют: 24 (пользователей: 0 , гостей: 24) | |
Опции темы | |
Опции просмотра | |
|
|