Forchess - форум о заочных шахматах  

Вернуться   Forchess - форум о заочных шахматах > Заочные турниры и партии > Шахматные программы и движки

Ответ
 
Опции темы Опции просмотра
Старый 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
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 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 единиц.
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 20:31   #2072
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Итого, очень хочу услышать ответ на вопросы:
1)
Цитата: Сообщение от Maratka
Я что-то не вполне понял, что именно даст этот патч в случае, если SF будет играть с заметно более сильным соперником?
2)
Цитата: Сообщение от Maratka
Как меняется оценка в зависимости от contempt понятно. Непонятно, как движок должен понять, что он играет против заметно более слабого или заметно более сильного противника, и соответственно выставить нужный contempt?
Ну скажем на пальцах: в TCEC 10 на втором круге берем партии с Chiron. Четыре партии, четыре ничьи. Каким должен был бы установлен contempt в этом случае? Четыре партии с Houdini, четыре ничьи. Каким должен быть установлен contempt в
этих партиях?
Самое главное: как SF должен понять, что он играет со слабым Chiron, а не с сильным Houdini?
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 20:31   #2073
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от sovaz1997
Я запустил SF против Chiron сегодня еще до вашего сообщения - тоже интересно стало (контроль 3 часа + 20 секунд, чтобы хоть как-то соответствовало TCEC). Contempt=40. К сожалению, Chiron пошел в другую линию, но это сути не меняет. Партию постараюсь выложить здесь.
По уши достаточно получаса.
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 20:37   #2074
sovaz1997
Гроссмейстер
 
Аватар для sovaz1997
 
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
По умолчанию Re: Stockfish и его производные

Maratka, чем больше контроль, тем больше вероятность ничьи. Я хотел эквивалент TCEC сделать с каким-то приближением по средней глубине
sovaz1997 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 20:40   #2075
sovaz1997
Гроссмейстер
 
Аватар для sovaz1997
 
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
По умолчанию Re: Stockfish и его производные

Maratka, на 1-й я отвечал;
2) SF не будет определять, играет ли он с сильным или слабым соперником. Хотя, это можно сделать косвенно (определить силу игры по ходам соперника)
sovaz1997 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 20:46   #2076
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от sovaz1997
Maratka, чем больше контроль, тем больше вероятность ничьи.
И тем меньше партий, а значит больше погрешность.

Нас же интересует не результат в конкретной партии, и даже в конкретном матче, пусть даже и очень длинном матче во многие тысячи партий, а дельта изменения результата SF с патчем и без против Chiron (не обязательно его, можно взять любой другой заведомо более слабый движок).
Отдельно потребуется второй матч с равноценным движком (идеально - предыдущая сборка SF).
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 20:47   #2077
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от sovaz1997
SF не будет определять, играет ли он с сильным или слабым соперником.
Тогда откуда усиление текущей бета-версии против SF7 на ~30 лишних Elo?
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:08   #2078
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 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), то я получу более агрессивных белых, и более вязких в обороне черных?

Я правильно понимаю?
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (05.12.2017)
Старый 05.12.2017, 21:16   #2079
otodranik
Гроссмейстер
 
Аватар для otodranik
 
Регистрация: 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), то я получу более агрессивных белых, и более вязких в обороне черных?

Я правильно понимаю?
Тебе нужно написать такую формулу, чтобы за белых при +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!!! Принять оценку чёрных не за математический минус, а за своеобразный скалярный вектор! Это насчёт оценки.
__________________
AMD Ryzen 7 5700G@3.8GHz
AMD Ryzen 5 2600@3.4GHz
otodranik вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Alexandr_L (05.12.2017), Maratka (05.12.2017), sovaz1997 (05.12.2017)
Старый 05.12.2017, 21:30   #2080
ChessMan
Super Moderator
 
Аватар для ChessMan
 
Регистрация: 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), то я получу более агрессивных белых, и более вязких в обороне черных?

Я правильно понимаю?
Здесь не надо ничего дописывать. нужно менять значение Contempt в параметрах UCI (так же ка Вы меняете число ядер или хеш)

o["Contempt"] << Option(0, -100, 100);

ChessMan вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:31   #2081
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 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
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:37   #2082
ChessMan
Super Moderator
 
Аватар для ChessMan
 
Регистрация: 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;
Вы не поняли. В формуле, что я привел (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

вот что я имел в виду, когда писал: "Он не будет менять оценку на заданное число контемпта, хотя бы из-за этого:"


Или я что-то пропустил?
ChessMan вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:37   #2083
otodranik
Гроссмейстер
 
Аватар для otodranik
 
Регистрация: 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
otodranik вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:38   #2084
ChessMan
Super Moderator
 
Аватар для ChessMan
 
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от otodranik
До этого патча у Стокфиша был контемпт по сути - избегания ничьей, как-то так.
Перефразирую: это был не контемпт, а оценка ничьей.
ChessMan вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:38   #2085
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от ChessMan
Здесь не надо ничего дописывать. нужно менять значение Contempt в параметрах UCI (так же ка Вы меняете число ядер или хеш)
Т.е. для того, чтобы белые сильнее перли вперед, нужно установить (условно) +15.
При этом, для того, чтобы черные лучше защищались, нужно установить тоже +15?

Однако, исходя из:
Цитата: Сообщение от otodranik
За чёрных(самый сложный для понимания момент) при -1.00(к примеру) и контемпте +15 внимание получается -1.15!!!
мы получаем, что при положительном Contempt играя черными, оценка станет не -1, а -1,15, т.е. ПРЕИМУЩЕСТВО черных по мнению движка увеличится.
Но если у них преимущество, зачем они будут защищаться?
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:41   #2086
otodranik
Гроссмейстер
 
Аватар для otodranik
 
Регистрация: 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
otodranik вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:42   #2087
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 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, в окне будут все отладочные сообщения.
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:42   #2088
otodranik
Гроссмейстер
 
Аватар для otodranik
 
Регистрация: 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
otodranik вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Alexandr_L (09.12.2017), Maratka (05.12.2017)
Старый 05.12.2017, 21:45   #2089
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от otodranik
При +15 - НЕЗАВИСИМО от цвета Стокфиш будет более оптимистичен(переть вперед), При -15 НЕЗАВИСИМО от цвета более осторожен, то есть защищаться.
Итого, если я хочу, чтобы мой движок играл белыми на победу, а черными на ничью (что при более-менее равных соперниках - вполне разумная тактика), я должен ставить Contempt +N, играя белыми, и -N, играя черными?

При этом N очевидно не обязательно должны совпадать, т.е. возможно скажем +5 за белых, и -20 за черных?

Цитата: Сообщение от otodranik
Я же говорю, что понять сразу проблематично, вот простыми словами так:
Ничего проблематичного я не вижу, в особенности когда есть вполне толковый перевод в двух словах, которого я и добивался. ;)
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:48   #2090
ChessMan
Super Moderator
 
Аватар для ChessMan
 
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от Maratka
Т.е. для того, чтобы белые сильнее перли вперед, нужно установить (условно) +15.
При этом, для того, чтобы черные лучше защищались, нужно установить тоже +15?

Однако, исходя из:

мы получаем, что при положительном Contempt играя черными, оценка станет не -1, а -1,15, т.е. ПРЕИМУЩЕСТВО черных по мнению движка увеличится.
Но если у них преимущество, зачем они будут защищаться?
Этот контемпт не влияет на то, каким цветом играет движок. То есть нельзя сделать "чтобы белые сильнее перли вперед" или " чтобы черные лучше защищались" но можно сделать "чтобы движок сильнее перл вперед" и " чтобы движок лучше защищался" ... для первого варианта ставим значение от 0 до +100, во втором от 0 до -100 (минус сто). И если движок при плюсовом контемпте играет черными то он будет оценивать не -1,00 а -1,15 (в пользу черных), а при минусовом оценка будет -0,85 приблизительно (хотя на самом деле точное значение увеличения/уменьшения оценки не будет равным тому, что Вы выставите в настройках контемпта!!!)
ChessMan вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:51   #2091
otodranik
Гроссмейстер
 
Аватар для otodranik
 
Регистрация: 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
otodranik вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:54   #2092
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 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)

(отладочные сообщения естественно можно повыкидывать).
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:56   #2093
otodranik
Гроссмейстер
 
Аватар для otodranik
 
Регистрация: 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
otodranik вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 21:58   #2094
ChessMan
Super Moderator
 
Аватар для ChessMan
 
Регистрация: 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)
[свернуть]


(отладочные сообщения естественно можно повыкидывать).
я что-то не вижу этого кода в официальном Стокфише
ChessMan вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 22:00   #2095
otodranik
Гроссмейстер
 
Аватар для otodranik
 
Регистрация: 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
otodranik вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 22:05   #2096
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от otodranik
По этому коду у тебя просто получаются математические сложения контемпта, что в корне неверно будет!
Где ошибка?
По сути, за черных я не просто считываю из настроек двикжа Options["Contempt"], а сразу присваиваю считанному значение отрицательное число (подразумевается, что в настройки никто не лезет, и там выставлен нуль).
Соответственно,
Цитата: Сообщение от otodranik
При -15 НЕЗАВИСИМО от цвета более осторожен, то есть защищаться.
Так как я играю черными, защищаться - это естественное положение дел.

Цитата: Сообщение от ChessMan
я что-то не вижу этого кода в официальном Стокфише
Его там и нет.
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 22:05   #2097
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от otodranik
Это код Маратки из его проекта(наверное)
Почему бы не попытаться пощупать то, что можно пощупать?
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 22:10   #2098
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от Maratka
Почему бы не попытаться пощупать то, что можно пощупать?
Games Completed = 10000 of 10000 (Avg game length = 23.287 sec)
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);
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 22:31   #2099
Maratka
Эксперт
 
Аватар для Maratka
 
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
По умолчанию Re: Stockfish и его производные

Цитата: Сообщение от otodranik
Я же говорю, что понять сразу проблематично, вот простыми словами так:
При +15 - НЕЗАВИСИМО от цвета Стокфиш будет более оптимистичен(переть вперед), При -15 НЕЗАВИСИМО от цвета более осторожен, то есть защищаться.
Поставил на весь матч - и забыл.
Проблема в том, что поставить на матч недостаточно, нужно поставить на много матчей, которые играются ночью, покуда я сплю.
При этом я совершенно не в курсе, каким цветом мой движок будет играть эти партии.
Maratka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Старый 05.12.2017, 22:37   #2100
sovaz1997
Гроссмейстер
 
Аватар для sovaz1997
 
Регистрация: 27.09.2017
Адрес: Москва
Сообщений: 4,142
Сказал(а) спасибо: 2,297
Поблагодарили 2,510 раз(а) в 1,635 сообщениях
Репутация: 92
По умолчанию Re: Stockfish и его производные

Maratka, можно изменить название в UCI, чтобы в PGN были видны отличия
sovaz1997 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Alexandr_L (09.12.2017)
Ответ


Здесь присутствуют: 23 (пользователей: 0 , гостей: 23)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:20. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Рейтинг@Mail.ru