Ключевое слово
20 | 05 | 2026
Новости Библиотеки
Шахматы Онлайн
Welcome, Guest
Username: Password: Remember me

TOPIC: Шахматы. Человек против компьютера

Шахматы. Человек против компьютера 01 Окт 2017 14:59 #301

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 116303
  • Thank you received: 2641
  • Karma: 122
Alexander wrote:
Уверены, что вообще N где-нибудь обязательно хранится? Ведь вроде кроме как для Налимова это значение нигде не нужно. Вдруг его еще считать надо? :)
После каждого взятия не судьба i-- сделать? :glasses:
Каждому - своё.

Шахматы. Человек против компьютера 01 Окт 2017 15:03 #302

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
Вполне себе судьба, но обратите внимание на дополнительные накладные расходы связанные ос определением, что произошло именно взятие

Шахматы. Человек против компьютера 01 Окт 2017 15:14 #303

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 116303
  • Thank you received: 2641
  • Karma: 122
Alexander wrote:
Вполне себе судьба, но обратите внимание на дополнительные накладные расходы связанные ос определением, что произошло именно взятие
В движке все это давно есть. Иначе он (движок) не смог бы оценить даже банальный выигрыш пешки
Каждому - своё.

Шахматы. Человек против компьютера 01 Окт 2017 15:18 #304

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
Vladimirovich wrote:
В движке все это давно есть. Иначе он (движок) не смог бы оценить даже банальный выигрыш пешки

В расчете ОФ не обязательно явное знание N. Поэтому возможно потребуются некоторые дополнительные такты

Шахматы. Человек против компьютера 01 Окт 2017 15:21 #305

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 116303
  • Thank you received: 2641
  • Karma: 122
Alexander wrote:
В расчете ОФ не обязательно явное знание N. Поэтому возможно потребуются некоторые дополнительные такты

Сама ОФ занимает тысячи, если не более тактов.
Пару тактов на if любая прогга переживет
if (N<=6)
{
TB()
}
else
{
OФ()
}
Каждому - своё.

Шахматы. Человек против компьютера 01 Окт 2017 15:38 #306

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31410
  • Thank you received: 224
  • Karma: -124
Vladimirovich wrote:
Почему?
Потому что оперативной памяти не хватит и придется обращаться к диску. Плюс сам поиск в огромной таблице скорее всего медленнее простой ОФ. В результате в ветках достигающих таблиц будет замедление, придется либо более агрессивно обрубать варианты, либо жертвовать временем на будущие ходы.

Шахматы. Человек против компьютера 01 Окт 2017 15:38 #307

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
Vladimirovich wrote:
Сама ОФ занимает тысячи, если не более тактов.
Пару тактов на if любая прогга переживет

пару тактов - это cmp для регистра, а если со смещением, то больше. Плюс еще jne отнюдь не пара :) Плюс еще надо поддерживать актуальным это самое N

Шахматы. Человек против компьютера 01 Окт 2017 15:43 #308

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 116303
  • Thank you received: 2641
  • Karma: 122
PP wrote:
Потому что оперативной памяти не хватит и придется обращаться к диску. Плюс сам поиск в огромной таблице скорее всего медленнее простой ОФ.
Неправильно. Пример в Колизее.
Alexander wrote:
пару тактов - это cmp для регистра, а если со смещением, то больше. Плюс еще jne отнюдь не пара :)
Не надо крохоборствовать, ув. Alexander
Вы же уже знаете, что я прав
:beer:
Каждому - своё.

Шахматы. Человек против компьютера 01 Окт 2017 16:39 #309

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
Это общие слова. Нужна практика (с) :beer:

Шахматы. Человек против компьютера 01 Окт 2017 17:06 #310

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31410
  • Thank you received: 224
  • Karma: -124
Vladimirovich wrote:
Неправильно. Пример в Колизее.
Что неправильно, где пример?

Шахматы. Человек против компьютера 01 Окт 2017 17:42 #311

  • Хайдук
  • Хайдук's Avatar
  • OFFLINE
  • Наместник
  • Posts: 49571
  • Thank you received: 133
  • Karma: 17
пока четко не представляю как организованы таблицы Налимова, хотя в принципе готов согласиться, что поиск в них отнимет меньше времени, чем пахание и оценка вариантов на ходу :glasses:

Шахматы. Человек против компьютера 01 Окт 2017 18:25 #312

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
PP wrote:
Vladimirovich wrote:
Неправильно. Пример в Колизее.
Что неправильно, где пример?

Все по-моему совершенно правильно - в вариантах (особенно порождаемых ФВ) позы уже из 10-12 фигур будут иногда размениваться до налимовских, а это уже обращение не к оперативке и тем более не к процессорному кэшу :beer:

Шахматы. Человек против компьютера 01 Окт 2017 18:47 #313

  • Хайдук
  • Хайдук's Avatar
  • OFFLINE
  • Наместник
  • Posts: 49571
  • Thank you received: 133
  • Karma: 17
полагаю, что ОФ/ФВ тоже не может напичкать вспаханные варианты в оперативку и тем более не в процессорный кэш :flag:
Last Edit: 01 Окт 2017 18:50 by Хайдук.

Шахматы. Человек против компьютера 01 Окт 2017 18:55 #314

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
Хайдук wrote:
полагаю, что ОФ/ФВ тоже не может напичкать вспаханные варианты в оперативку и тем более не в процессорный кэш :flag:

Да вроде все в оперативке держится. По крайней мере, в параметр движка "Hashtable size" всегда меньше объема памяти
Last Edit: 01 Окт 2017 19:01 by Alexander.

Шахматы. Человек против компьютера 01 Окт 2017 19:51 #315

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 116303
  • Thank you received: 2641
  • Karma: 122
Alexander wrote:
а это уже обращение не к оперативке и тем более не к процессорному кэшу...
Да, но их зато уже считать не надо совсем далее :glasses:
Положите фсе на SSD и enjoy :beer:
PP wrote:
Что неправильно, где пример?
У Вас утро не задалось?
Введите там любую позицию до 6 фигур и получите абсолютно точную оценку
Каждому - своё.
Last Edit: 01 Окт 2017 19:52 by Vladimirovich.

Шахматы. Человек против компьютера 01 Окт 2017 20:00 #316

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
Vladimirovich wrote:
Alexander wrote:
а это уже обращение не к оперативке и тем более не к процессорному кэшу...
Да, но их зато уже считать не надо совсем далее :glasses:
Положите фсе на SSD и enjoy :beer:

Можно еще в будущем будет на 3D XPoint :)
Но если посмотреть настройки реального движка, то видно, что далеко не все так просто:
http://kvetka.org/houdini_opt.shtml#syzygy_p wrote:
EGTB Probe Depth. Возможные значения от -10 до 99.
Эта настройка управляет частотой обращения движка к эндшпильным базам. Это могут быть базы в формате syzygy (см SyzygyPath) или Налимова (см. NalimovPath). Чем выше её значение, тем чаще будет происходить обращение к базам. Как утверждают разработчики, делается это с помощью хитрых алгоритмов, так что количественно описать настройку не получится. При значении настройки -10 алгоритмы отключаются. Увеличивать значение имеет смысл, только если у вас очень быстрый жёсткий диск. Значение по умолчанию: 5.

Шахматы. Человек против компьютера 01 Окт 2017 20:08 #317

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 116303
  • Thank you received: 2641
  • Karma: 122
Alexander wrote:
Но если посмотреть настройки реального движка, то видно, что далеко не все так просто:
Это они что-то тупят... Один if, как описано выше, решает проблемы и с диском
Каждому - своё.

Шахматы. Человек против компьютера 01 Окт 2017 20:33 #318

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
Ничего не тупят, скорее всего этот параметр как-то влияет на глубину с которой обращаются (или наоборот не обращаются) к эндшпильным базам. Времени много может теряться на боковые варианты
Last Edit: 01 Окт 2017 22:09 by Alexander.

Шахматы. Человек против компьютера 01 Окт 2017 21:04 #319

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 38604
  • Thank you received: 977
  • Karma: 63
Alexander wrote:
Вполне себе судьба, но обратите внимание на дополнительные накладные расходы связанные ос определением, что произошло именно взятие
Шахи и взятия любой уважающий себя программер движка должен отличать. Это форсаж, его надо первым считать.

Шахматы. Человек против компьютера 01 Окт 2017 21:37 #320

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31410
  • Thank you received: 224
  • Karma: -124
Vladimirovich wrote:
Введите там любую позицию до 6 фигур и получите абсолютно точную оценку
И? Я разве отрицаю способность таблиц выдать точную оценку? Я пишу, что эта точная оценка будет получена не задарма, а ценной замедления. Не забывайте, что Вам придется обращаться к базам миллионы раз, и часто при этом обращаться к диску. Даже SSD будет работать на порядок величины медленнее оперативки. В итоге практическая сила игры может и упасть.

Шахматы. Человек против компьютера 01 Окт 2017 22:09 #321

  • Alexander
  • Alexander's Avatar
  • OFFLINE
  • Боярин
  • Posts: 10534
  • Thank you received: 110
  • Karma: 10
Ruslan73 wrote:
Alexander wrote:
Вполне себе судьба, но обратите внимание на дополнительные накладные расходы связанные ос определением, что произошло именно взятие
Шахи и взятия любой уважающий себя программер движка должен отличать. Это форсаж, его надо первым считать.

Все это не означает, что никаких действий по фиксации не надо

Шахматы. Человек против компьютера 02 Окт 2017 04:32 #322

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 38604
  • Thank you received: 977
  • Karma: 63
PP wrote:
Вам придется обращаться к базам миллионы
Какие еще миллионы раз? Встретил позицию с числом фигур из ТН, нашел в базе оценку, обрезал дерево. Таблицы наверняка индексированы, поиск в них доли секунды занимает. Страница с этим типом материала закэшировалась в следующий раз из памяти запрос пойдет.
Last Edit: 02 Окт 2017 04:35 by Ruslan73.

Шахматы. Человек против компьютера 02 Окт 2017 04:34 #323

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 38604
  • Thank you received: 977
  • Karma: 63
Alexander wrote:
Все это не означает, что никаких действий по фиксации не надо
Это imho все сущие копейки, добавить атрибут к ходу и во время определения хода, проверить, стояла ли там фигура.
Last Edit: 02 Окт 2017 05:44 by Ruslan73.

Шахматы. Человек против компьютера 02 Окт 2017 06:29 #324

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31410
  • Thank you received: 224
  • Karma: -124
Ruslan73 wrote:
Какие еще миллионы раз? Встретил позицию с числом фигур из ТН, нашел в базе оценку, обрезал дерево.
Такие. Сколько позиций комп рассматривает? Как только останется 7 фигур, так полетят обращения к таблицам.Ruslan73 wrote:
Таблицы наверняка индексированы, поиск в них доли секунды занимает.
Доли секунды это огромное время.

Шахматы. Человек против компьютера 02 Окт 2017 06:42 #325

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 116303
  • Thank you received: 2641
  • Karma: 122
PP wrote:
Такие. Сколько позиций комп рассматривает? Как только останется 7 фигур, так полетят обращения к таблица

Слушайте, вызов ОФ это ж не единичный вызов, для каждой рассматриваемой позиции нужно посчитать далее огромную кучу нодов в цикле
Оценка каждого узла графа постоянно изменяется в зависимости от последующего расчета
Это прекрасно видно для Воблы например

А вызов баз заканчивает всю итерацию ноды нахрен и приговор обжалованию не подлежит.

О чем речь вообще?
Ну поставьте позицию 6 фигурок на комп какую нибудь непростую и сравните, сколько времени уйдет с таблицами и без.

P.S. Тем более, зная тип позиции, загрузить в память нужный файл не составит труда при нонешних размерах памяти
Уж пятифигурки то вообще все влезут, падумаишь 6 гиг всего.
Каждому - своё.

Шахматы. Человек против компьютера 02 Окт 2017 07:06 #326

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 38604
  • Thank you received: 977
  • Karma: 63
PP wrote:
Такие. Сколько позиций комп рассматривает? Как только останется 7 фигур, так полетят обращения к таблицам
Комп рассматривает миллионы во всех узлах дерева в куче ниток. Нитки разбросаны по ядрам. При этом сложные алгоритмы применяет для каждой позиции из целого дерева. А тут вместо расчета поддерева с тысячами узлами ниже нужно одно значение прочитать из страницы которая уже в кэше. Обрезаются тысячи узлов ниже. Если исходная позиция залезла в N фигур то никто не будет миллионы раз лезть к таблице, тогда вообще расчет заканчивается и идет поиск 1 текущего хода с макс. оценкой по таблице который практически ничего не стоит :flag:
Last Edit: 02 Окт 2017 07:25 by Ruslan73.

Шахматы. Человек против компьютера 02 Окт 2017 07:15 #327

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 38604
  • Thank you received: 977
  • Karma: 63
PP wrote:
Доли секунды это огромное время.
Это вообще ничто, 99% там будет потрачено на разовое первое чтение страниц с диска в кэш и все. Таблицы Налимова не меняются в процессе расчёта, значит в кэше могут висеть вечно.

Шахматы. Человек против компьютера 02 Окт 2017 07:35 #328

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 38604
  • Thank you received: 977
  • Karma: 63
Vladimirovich wrote:
P.S. Тем более, зная тип позиции, загрузить в память нужный файл не составит труда при нонешних размерах памяти
Уж пятифигурки то вообще все влезут, падумаишь 6 гиг всего.
И 5 и 6 и 7 влезут, потому как в таблицах все мыслимые соотношения материала и расстановок. В партии такого разнообразия никогда не будет и потребуются считанные проценты от объема таблиц.

Шахматы. Человек против компьютера 02 Окт 2017 14:31 #329

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31410
  • Thank you received: 224
  • Karma: -124
Vladimirovich wrote:
Ну поставьте позицию 6 фигурок на комп какую нибудь непростую и сравните, сколько времени уйдет с таблицами и без.
Вы так и не поняли. Ставить надо например 10 фигурную и сравнивать скорость с таблицами или без.

Шахматы. Человек против компьютера 02 Окт 2017 14:35 #330

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31410
  • Thank you received: 224
  • Karma: -124
Ruslan73 wrote:
Это вообще ничто, 99% там будет потрачено на разовое первое чтение страниц с диска в кэш и все. Таблицы Налимова не меняются в процессе расчёта, значит в кэше могут висеть вечно.
Вы размер таблиц представляете, куда Вы их целиком собираетесь засунуть? Поскольку различные 7 фигурки будут возникать при расчете издалека, неизбежно придется постоянно обращаться к диску, Вы очевидно как и Владимирович не понимаете о чем идет речь. Обращение к таблице, когда осталось только 7 фигур очевидно ускорит и улучшит игру, а вот обращение к таблицам при расчете вариантов издалека уже не обязано усиливать игру движка. Будет зависеть от многих параметров.
Moderators: Vladimirovich, Ruslan73
Рейтинг@Mail.ru

Научно-шахматный клуб КвантоФорум