Ответы в темах
-
АвторСообщения
-
NSУчастник
В проигранных и ничейных позициях нужен немного другой алгоритм, Я до вечера еще подумаю, и выложу что надумал…
//
Насчет выигранных — даже если не прерывать перебор на взятиях совершенных противником (а прерывать только на своих) — эффект не исчезает — начинает отдавать простые (и при этом выигрывающее продвижение ищется дольше) . Но в выигранных наверно от него (побочного эффекта) нет смысла избавляться — главная цель ведь выиграть, а эта цель достигается.NSУчастникУ алгоритма есть небольшой побочный эффект — отдает лишний материал, который не нужен для достижения победы….
NSУчастникРеально много не получится, так как по полной программе заработает Хеш перекрестных позиций, и будет очень много отсечений…
(отсечения по типу ходов (ход простой, взятие), по повторению позиции, по оценке из Хеша, «невыигрывающих ходов» и т.д.)
28 полуходов в самом длинном варианте (до первого движения простой) Это немного.NSУчастникПовторюсь — изменением ранга считается в том числе любой ход простой, неважно за какую сторону.
В этой позиции, после того как при точной игре белые и черные проведут по 2 дамки, еще 13 или 14 ходов (в идеальном случае!) нужно сделать только дамками, прежде чем начнет движение простая!
Если грубо, это примерно столько сколько возможных ходов в позиции где у обеих сторон по 2 дамки (т.е. примерно 20), в 13 или 14 степени. Это невообразимое число. Если 3-ник Петрова построить можно, зная принцип последовательного вытеснения, то здесь никак. 😉Вы неправильно считаете количество позиций
После того как белые и черные проведут по две дамки, при данном положении двух белых простых возможно (с учетом очереди хода)
2*30*29*28*27/(2!*2!) позиций (первый множитель 30 — так как два поля заняты белыми простыми)
То есть 328860 позиций… Так что всё не так уж и плохоNSУчастникВ алгоритме естественно имел в виду — Выигрывающая оценка +inf-ply, проигрывающая -inf+ply
NSУчастникТо есть полностью изменение алгоритма по сравнению с обычным перебором, в случае если согласно безранговым ЭБ позиция выиграна за сторону которая должна выдать ход.
Также максимизируем оценку, только за соперника рассматриваем только простые ходы (не взятия) дамками (если в позиции у него есть взятия — то прекращаем перебор и возвращаем за него проигрывающую оценку, и исключаем из рассмотрения все ходы простыми, включая превращения)
а за выигрывающую сторону рассматриваем только ходы ведущие в выигранную позицию.
Как только в позиции появляются взятия, либо среди выигрывающих ходов есть ходы простой, включая превращение в дамку — то сразу обрываем перебор, присваивая выигрывающую оценку.Очень красиво все описал! Когда уже наконец появится Скифи?
Я же в соседней ветке назвал дату выхода первой версии
Через неделю, скорей всего 17-го вечеромNSУчастникЭто не говорит о том, что при хороших алгоритмах невозможно выиграть этот эндшпиль с безранговыми базами.
Проще дожаться Игоря, и спросить у него — нормальный ли у него алгоритм в выигранных эндшпилях из ЭБ (не отключаются ли ЭБ)NSУчастникПовторюсь — изменением ранга считается в том числе любой ход простой, неважно за какую сторону.
В этой позиции, после того как при точной игре белые и черные проведут по 2 дамки, еще 13 или 14 ходов (в идеальном случае!) нужно сделать только дамками, прежде чем начнет движение простая!
Если грубо, это примерно столько сколько возможных ходов в позиции где у обеих сторон по 2 дамки (т.е. примерно 20), в 13 или 14 степени. Это невообразимое число. Если 3-ник Петрова построить можно, зная принцип последовательного вытеснения, то здесь никак. 😉28 полуходов (я правильно понял? Или 14 полуходов?), учитывая что у нас не минимакс, идут отсечения по повторению позиции, по невыигрывающим ходам (отдающим дамку) не рассматриваются ходы простой…
Ничего страшного — досчитается…Добавлено
Совсем забыл — в дамочных позициях вдобавок начинает хорошо работать Хеш перекрестных позиций.
И у проигрывающей стороны идут отсечения по ходам, в ответ на которые возможно выигрывающее продвижение простой.NSУчастникТо есть полностью изменение алгоритма по сравнению с обычным перебором, в случае если согласно безранговым ЭБ позиция выиграна за сторону которая должна выдать ход.
Также максимизируем оценку, только за соперника рассматриваем только простые ходы (не взятия) дамками (если в позиции у него есть взятия — то прекращаем перебор и возвращаем за него проигрывающую оценку, и исключаем из рассмотрения все ходы простыми, включая превращения)
а за выигрывающую сторону рассматриваем только ходы ведущие в выигранную позицию.
Как только в позиции появляются взятия, либо среди выигрывающих ходов есть ходы простой, включая превращение в дамку — то сразу обрываем перебор, присваивая выигрывающую оценку.NSУчастникПовторюсь — изменением ранга считается в том числе любой ход простой, неважно за какую сторону.
NSУчастникИз того что писал Игорь — я так понял он неверно использует ЭБ, когда программа уже находится в эндшпиле из ЭБ.
Не нужно отключать ЭБ — нужно вести перебор только среди ходов с соответствующей оценкой в ЭБ, а обрывать перебор после первого-же (выигрывающего) Взятия, превращения дамки, хода простой.
Хотя может я и ошибаюсь, и соответствующая ЭБ не отключается…NSУчастникЯ подтверждаю, первая версия будет готова в течении недели.
До сих пор нет регламента?!?NSУчастникЗначит я не так понял — раз идёт речь о замедлении расчета из-за PV, значит для того чтоб PV всегда был на полную глубину — не используются оценки из хеша…
Я не подумал что может быть замедление из-за получения PV…
Так как у меня этого замедления нет, и как его (замедления) добится простым извлечением PV я не знаю…NSУчастникСохранение главного варианта вообще не замедляет прогу (во всяком случае отследить это замедление очень проблематично)
Если не использовать оценки из Хеша в PV, то замедление возможно, но если даже использовать в PV оценку из Хеша, то сам PV никуда не денется.NSУчастникЗамедление только в случае, если в PV не берем оценку из Хеша.
Но даже если берем — PV от этого никуда не пропадает. -
АвторСообщения