logotype bestlogic
Gens una sumus!
Логин
Пароль
Запомнить Забыли пароль?
Логические игры. EnglishRussian
Шахматы на сервере для игроков любой квалификации
  Все полуфиналистам X личного первенства БЛ необходимо, по 1 сентября 2018 года включительно, сообщить о своем участии/не участии в полуфиналах в соответствующем топике форума. Открыт прием участников в 1/4 финала через сервис сервера - http://www.bestlogic.ru/games.php?rezh=tournir&rezh2=zapis&formevent=31. Заявки принимаются от игроков имеющих рейтинг 2100 и выше. А также от игроков получивших путевки из 1/8 финала. Напоминаем игрокам, имеющим более одной регистрации, что на сервере разрешено играть не более чем двумя никами, причем РЕЙТИНГОВЫЕ партии между своими никами ЗАПРЕЩЕНЫ!!! В случае выявления наличия партий между клонами, игрок будет наказываться - от снятия рейтинга до полной блокировки его ников.
17.08.2018 10:33:21
“Общие темы”   “Предложения(Anons)”   “Шахматы(chess)”   “Команды(Teams)”   “Соревнования”   “Флейм”   “Новый форум”
Шахматы(chess)

    Тема: "Stockfish-теорема."

вернуться к списку тем   

 Страница 1 из 1

 13-12-2017 07:56:46
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Stockfish-теорема.

Пусть.
(1) fen - позиция для анализа
(2) Hash = h ( gB )
(3) MultiPV = v ( lines )
(4) Depth = d
(5) Clear Hash ( или перезапуск оболочки для работы с движком )

Тогда.
(1) При Threads = 1 (!!) и многократном перезапуске анализа позиции fen гарантированно получим:
--- одинаковый список ходов
--- одинаковые оценки
--- практическое одинаковое время анализа
(2) При Threads > 1 и многократном перезапуске анализа позиции fen гарантированно получим:
--- отличия в списках ходов
--- отличия в оценках
--- отличия во времени анализа


Следствия.
Если человек хочет "довести до кондиции" свой дебютный репертуар, он практически вынужден
работать на одном ядре ( Threads = 1 )... Иначе поплывут оценки и каждый день всё новые и новые
"усиления" будут щедро прилетать из "многоядерной среды"... Когда уже есть некая стабильная
структура вариантов, можно наброситься на них всем имеющимся железом в попытке что-то опровергнуть..

Комментатор некоторой партии или позиции может обозначить некую "многоядерную конфигурацию"
и в дальнейшем приводить оценки вариантов, которые скорее всего ни разу(!!) не совпадут с оценками
благодарных зрителей, решивших проверить те же варианты на той же самой конфигурации..

Допустим, что в некоторой партии оба игрока используют одинаковое железо и его конфигурацию..
Но каждый непременно "видит что-то своё", т.к. приоритетность в списке ходов-кандидатов и их оценки
реально "плывут".. Имеем ещё одну разновидность игры в "испорченный телефон".. А если после партии
они захотят её прокомментировать - вообще охренеют...

Какой же выход?... Как в конкретной партии обрушить всю мощь своего железа на оппонента, не рискуя
оказаться жертвой многоядерной ловушки?.. Думаю, что как-то так:
(1) Обзавестись "эталонным" анализом при Threads = 1
(2) Получить 2-3-4 "многоядерных" анализа
(3) Сделать "правильные" выводы

Можно возразить, что вполне достаточно сделать "правильные" выводы после разового "многоядерного"
анализа, не морочить себе голову и не терять время.. Дык все, собственно, так и играют!
Если угадать и "попасть в нужную струю", когда разовый анализ окажется лучшим из миллиона других...
При этом позиция - та же... Железо - то же... А цифры, зараза, хоть бы раз одни и те же показали..

Отредактировано ATSTOY 13-12-2017 08:19:41

 
Вверх   
 
 13-12-2017 09:17:22
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Пример.

1. Nf3 d5 2.c4 d4 3. g3 c5 4. b4 cxb4 5. a3 bxa3 6. Bxa3 Nc6 7. d3 e5 8. Bxf8 Kxf8 9. Bg2 g6 10. O-O Kg7 11. Nbd2


r1bq2nr/pp3pkp/2n3p1/4p3/2Pp4/3P1NP1/3NPPBP/R2Q1RK1 b - - 3 11


Hash = 1.1gB / MultiPV = 4 (lines) / Depth = 26 / Clear Hash ( или перезапуск оболочки для работы с движком )

Threads ________ Анализ #1 ________________ Анализ #2 ________________ Анализ #3
= 1 _____________ -0.33 Nge7, -0.27 f6 _______ -0.33 Nge7, -0.27 f6 ________ -0.33 Nge7, -0.27 f6
= 2 _____________ -0.56 Nf6, -0.31 a5 ________ -0.53 a5, -0.39 Nf6 _________ -0.47 Nf6, -0.40 a5
= 4 _____________ -0.46 a5, -0.41 Nf6 ________ -0.33 Nf6, -0.30 Nge7 _______ -0.37 a5, -0.37 Nf6

[*] в таблице приведены два "самых сильных" хода чёрных и их оценки

Отредактировано ATSTOY 13-12-2017 09:21:31

 
Вверх   
 
 15-12-2017 18:48:27
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Поведение asmFish ( 2017.10.04_popcnt ) практически
ничем не отличается от вышеописанного поведения Stockfish..

Конечный детерминированный автомат имеем при одном ядре..
Почему ПО с лёгкостью раскладывает процесс анализа по
ядрам, но каждый раз по-разному генерит "отчёт" я так и
не понял.. Заметно, что иногда дерево вариантов "заносит"
мимо и в "проверенное хорошее" направление возврата уже
нет.. Он будет только при перезапуске многоядерного анализа..
Хорошо, если при первом же перезапуске.. Во многом это
зависит от количества более-менее равноценных альтернатив и
сложности анализируемой позиции..

Отредактировано ATSTOY 15-12-2017 18:51:43

 
Вверх   
 
 13-02-2018 04:13:23
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Stockfish 9: https://stockfishchess.org/download/

Налетай! : )

 
Вверх   
 
 12-06-2018 01:38:42
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Contempt

Странная настройка движка ( от -100 до +100, default: 0 )...

Например, я хочу играть чёрными "более осторожно" против
вполне себе агрессивного товарисЧа... В данном случае для
всех ходов чёрных ( т.е. моих ) нужно использовать для анализа
-100... Для всех ходов белых: +100, чтобы "соответствовать"
стилю оппонента...

Движок же "настраивается" только одним глобальным числом
( и для белых и для чёрных ), что полностью исключает
"моделирование стиля" для каждой из сторон отдельно...

Предусмотрели хорошую возможность в движке...
Подкрепили кодом... Но не подкрепили элементарной логикой...
В результате "игрушка" имеет минимальную ценность, когда стили
игры белых и чёрных совпадают или почти совпадают...


Выбрался на сайт разработчикофф..
http://support.stockfishchess.org/discussions/questions/38802-settings-contempt

Попытался задать вопрос прямо в лоб, что называецца..

Есть ещё вариант:
http://support.stockfishchess.org/home

Тут сидят аж 4 человека, которых можно терроризировать
разными вопросами и проблемами.. Не применём : )

 
Вверх   
 
1 пользователь сказал спасибо: AlexTst (18.06.2018, 12:06)
 03-08-2018 06:29:28
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Можно вообще поставить вопрос грубо..

Пусть
1. Имеем 8 позиций для анализа
2. Имеем 8 ядер
3. Имеем 16Gb под хэш
4. В среднем конфигурация ( 8 ядер х 16Gb хэш ) досчитывает до Depth(50) за 2 часа
5. В среднем конфигурация ( 1 ядро х 2Gb хэш ) досчитывает до Depth(50) за 10 часов

Тогда.
1. Используя конфигурацию ( 8 ядер х 16Gb хэш ) мы потратим на 8 позиций 16 часов
2. Используя конфигурацию ( 1 ядро х 2Gb хэш ) мы потратим на 8 позиций 10 часов
3. При одноядерном анализе мы ОБЯЗАТЕЛЬНО получим "точную цифру" от алгоритма
4. При многоядерном анализе мы ОБЯЗАТЕЛЬНО получим "текущую случайную цифру" от алгоритма
5. Использование "многоядерности" может быть оправдано разве что жутким цейтнотом

Подавляющее большинство контролей на подавляющем большинстве сайтов более чем
тормозные... Цейтнот может возникнуть, если чел играет одновременно 100-200 партий...
Хотя, в данном случае уже не до "нюансов" - нужно быстро работать руками : )

Ещё одно направление - всевозможные тесты и чемпионаты движков.. Там реально
без ядер делать нечего... Ну или адванс-блиц / адванс-рапид партии с контролем типа
5мин + 10сек...

При дебютной подготовке или комментировании партий ( тут-то спешить вроде некуда )
также предпочтительно иметь стабильные "одноядерные" цифры...

 
Вверх   
 
1 пользователь сказал спасибо: akyla (04.08.2018, 13:26)
 04-08-2018 01:28:02
 akyla

Регистрация : 06.12.2014
Возраст : 18
Рейтинг(класс) : 2232 (C)
Партий : 477
Сообщений : 71
Благодарил(а) : 54 раз(а)
Поблагодарили : 50 раз(а)
  Re: Stockfish-теорема.
ремарки на полях-
1.чтобы иметь 16Гб хэша, надо иметь 32Гб ОЗУ- что при текущих ценах на память накладно...
2.важна не только память, но еще больше- L3 кэш процессора, который и взаимодействует с памятью- его дробить- ну очень накладно- там всего-то 8-16 Мб...
3.необязательно все 8 партий рассматривать до 50 глубины- где-то помогут базы и дебютные книги, где-то 6-7-фигурки...
вывод- анализировать по одной партии- надежнее...

 
Вверх   
 
1 пользователь сказал спасибо: ATSTOY (04.08.2018, 06:44)
 04-08-2018 06:01:04
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Дык это же ж пример...

Понятно, что 8-ядерный анализ не будет в 8 раз быстрее одноядерного...
Было взято, что в "5 раз быстрее"... Depth(50) - тоже не обязаловка...
8 позиций - не обязательно из 8 партий... Могут быть и из одной..

Просто не хочется регулярно "кушать" плавающие оценки и строить на них
плавающие умозаключения... Это как при сортировке "делением пополам"
каждый раз получались бы похожие, но разные отсортированные списки...

При распараллеливании процессов нужно всё-таки "вести себя прилично"...
Можно было бы даже отдельный параметр движка добавить:
Solid ( yes / no ... default: yes )
Тогда при помощи дополнительной синхронизации работы ядер ( что
подразумевает небольшую потерю времени, конечно ) клиент
всегда получал бы одинаковые оценки в одних и тех же позициях...
На 8 ядрах быстрее, на 1-ом ядре - медленнее... Но ОДИНАКОВЫЕ...
Но ВСЕГДА...

Для любителей "традиционного" стиля просто Solid = no...
И никакой многоядерный мусор мимо Вас не пролетит : )

 
Вверх   
 
1 пользователь сказал спасибо: akyla (04.08.2018, 13:26)
 04-08-2018 07:17:55
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Ещё пример.

В некоторой позиции 1-ядерный анализ после Depth(45) выдал:
+0.45 30. h3 h6... / +0.42 30. Nf3 a6... / +0.41 30. Rad1 Rac8...

Человек взвесил свои "за и против"... Допустим, что был выбран
ход 30. Nf3, на который ожидается ответ 30... a6

Если теперь запустить 1-ядерный анализ после 30. Nf3, то при
Depth(44) мы можем ожидать что-то в районе +0.42 для варианта
30... a6 ( опровержение или резкий скачок оценки могут прилететь
не раньше Depth(45) ) Т.е. какая-то логика и преемственность в
данном "эшелоне" имеется...

В той же позиции N-ядерный анализ после Depth(45) выдал:
+0.51 30. h3 h6... / +0.43 30. Rad1 Rac8... / +0.41 30. Nf3 a6...

Вроде бы ничего особенного... Но если запустить N-ядерный анализ,
скажем, 100 раз - для 30. Nf3 получим диапазон ( +0.3 ... +0.5 )...
Искать логику и преемственность в запуске N-ядернго анализа после 30. Nf3
при Depth(44) ещё труднее, т.к. у варианта 30... a6 будет свой разброс оценок,
который наложится на предыдущий разброс... Чем не генератор случайных
чисел?..

В некоторых оболочках есть опция построения дерева анализа...
Т.е. сначала строим RANDOM-дерево, а потом по нему RANDOM-блуждаем : )

 
Вверх   
 
 04-08-2018 13:26:24
 akyla

Регистрация : 06.12.2014
Возраст : 18
Рейтинг(класс) : 2232 (C)
Партий : 477
Сообщений : 71
Благодарил(а) : 54 раз(а)
Поблагодарили : 50 раз(а)
  Re: Stockfish-теорема.
логика здесь у вас- есть, но большинство ее просто не примет, ведь уверенность в отличном распараллеливании шахмат живет просто в каждом из нас... как же так- 32-ядерный проц гораздо лучше 8-ядерного... 128Гб ОЗУ- это просто супер, 32Гб- просто отстой...хотя даже тесты подтверждают нелинейность (корень из 2) возрастания силы от удвоения ядер +48 +34 +24 +17 +12 эло (соответственно 2-4-8-16-32 ядра)...
еще хуже воспринимается "предел глубины"- движок условно находит лучший ход на 50 глубине- а дальше хоть до сотой- оценка не меняется- зачем же тогда тратить память на дополнительный хэш?
но и это не все- взаимодействие L3 кэша процессора с памятью- ох какая непростая вещь, не просто так в самом процессоре L1, L2, L3 кэши идут по определенной схеме- ступенями- все это у меня описано в теме железа- но, подозреваю, большинство так и не поняло о чем речь, а ведь если коротко- важно только скорость связки кода L3- ОЗУ и она далеко не запредельна и по качеству и по количеству...

 
Вверх   
 
 05-08-2018 22:32:54
 ATSTOY

Регистрация : 04.05.2017
Возраст : 50
Рейтинг(класс) : 2113 (E)
Партий : 70
Сообщений : 61
Благодарил(а) : 8 раз(а)
Поблагодарили : 28 раз(а)
  Re: Stockfish-теорема.
Ещё одно наблюдение, так сказать... Как работает "Дом Колхозника" ( ? )
Возьмём, например, авторское Stockfish-сообщество...

Есть некая текущая базовая версия.
Потом идут эксперименты с настройками ( патчи от многочисленных
энтузиастофф этого дела )... В результате возникают разнообразные
модификации, которые на блиц(!)-тестах дают небольшую прибавку
в рейтинге... Через некоторое время появдяется новая базовая
версия... В неё могут быть включены в том числе и наиболее удачные
патчи...

Блиц-тест это конечно хорошо... На том же TCEC это даст прибавку,
т.к. тамошние контроли по сравнению с ICCF - блиц-контроли...

Далее... Всё "тормозное сообщество" мира, играющее 10 ходов за
50 дней, начинает юзать игрушку, оптимизированную под блиц : )
Другой-то игрушки нет...

Думаю, что для "тормозов" и движок мог бы быть оптимизирован
( или специально написан! ) под длинный контроль... И "патчи"
могли бы тестироваться не на миллионах блиц-партий, а на
тысячах тормозных...

На сегодня мы имеем:
1. блиц-движки
2. "тормоз"-базы партий, сыгранных на блиц-движках

Более того... Даже если возникнет отдельная "тормоз"-разработка,
куда автору с ней податься?... На ТСЕС - заклюют, т.к. контроли не те...
В рекламных целях тоже нужны быстрые матчи... Дней 5-10, а не 2-3 года...

Видимо, (блиц)-движок для (неблиц)-контроля - это надолго...

 
Вверх   
 
1 пользователь сказал спасибо: akyla (05.08.2018, 22:50)
 05-08-2018 23:10:19
 akyla

Регистрация : 06.12.2014
Возраст : 18
Рейтинг(класс) : 2232 (C)
Партий : 477
Сообщений : 71
Благодарил(а) : 54 раз(а)
Поблагодарили : 50 раз(а)
  Re: Stockfish-теорема.
такие движки есть- стрелка и некоторые другие- одноядерные, не быстрые... Нефедов Сергей одно время очень неплохие результаты показывал, сейчас Леонардо эстафету перехватил, но дело там покрыто мраком, кто ж чего расскажет, однако ходы из их лучших партий говорят сами за себя- первой тройкой движков там и не пахнет...

 
Вверх   
 
1 пользователь сказал спасибо: ATSTOY (06.08.2018, 00:27)

 Страница 1 из 1

вернуться к списку тем   

Присутствуют в теме: 0 (0 пользователей и 0 гостей)
Тему просматривают:
Всего просмотрели за последние 24 часа: 4
 
by Anatoliy Yenin © 2006-2018        
          Яндекс цитирования                    
Знакомство
Статистика
Карта сайта
Новости сайта
В мире шахмат
Рейтинг-лист
Игроки на сайте
Рейтинг-лист 960
Особые турниры
Тематические турниры
Первенство сайта
Командные турниры
Командные матчи
Партии
Турниры
Командные матчи
Командные турниры
Рейтинг-лист команд
Матчи и турниры
Общие темы
Предложения(Anons)
Шахматы(chess)
Команды(Teams)
Соревнования
Флейм
Новый форум
ЧаВО
Партии
Турниры
Командные
Опросы сайта
 
 
0.16072106361389