Шашки

игровая логика

Re: Шашки

Сообщение дуп » 04.01.2010, 16:57

По-твоему получается, что в шахматных программах ФВ начинается еще при положительном depth, если на ветке были продления? :lol:

Вроде бы может такое быть.
Код: Выделить всё

value = pos_info_entry->value + 125;
  if (value < beta) {
    if (depth == 1) {
      new_value = qu_search(beta-1, beta, 0, new_pv);

:)
Аватара пользователя
дуп
 
Сообщения: 327
Зарегистрирован: 27.03.2008, 16:25
Откуда: Новгород

Re: Шашки

Сообщение WildCat » 04.01.2010, 17:09

NS писал(а):нет, продление за горизонтом - это когда Depth<=0, точнее чистый ФВ это когда мы в принципе Depth уже можем не менять

Какой смысл в случае шашек вводить понятие ФВ? Все излишние понятия должны быть исключены (бритва Оккама). ФВ стоит вводить не по формальному признаку (depth <= 0), а по смысловому - если есть какие-то отличия от основного перебора.
WildCat
Site Admin
 
Сообщения: 2167
Зарегистрирован: 25.03.2008, 20:53
Откуда: Гомель

Re: Шашки

Сообщение дуп » 04.01.2010, 17:14

WildCat писал(а): - если есть какие-то отличия от основного перебора.

В отдельном ФВ альфу поднимают статической оценкой. Чем не отличие?
Аватара пользователя
дуп
 
Сообщения: 327
Зарегистрирован: 27.03.2008, 16:25
Откуда: Новгород

Re: Шашки

Сообщение WildCat » 04.01.2010, 17:24

дуп писал(а):В отдельном ФВ альфу поднимают статической оценкой.

Убери это из своей программы, пока никто не заметил. :lol:

Вот поэтому излишние понятия и стремятся удалять, т.к. от них вреда больше, чем пользы.
WildCat
Site Admin
 
Сообщения: 2167
Зарегистрирован: 25.03.2008, 20:53
Откуда: Гомель

Re: Шашки

Сообщение дуп » 04.01.2010, 17:39

WildCat писал(а):Убери это из своей программы, пока никто не заметил.

Зачем убирать? Скорость выше. У людей есть, во всех шахматных прогах есть, а я что, рыжий, что-ли? :roll:
Аватара пользователя
дуп
 
Сообщения: 327
Зарегистрирован: 27.03.2008, 16:25
Откуда: Новгород

Re: Шашки

Сообщение NS » 04.01.2010, 17:41

Если рассматриваем превращения - то альфу поднимаем (разрешаем пустой ход с обрывом). А если рассматриваем взятия - ни в коем случае.
NS
Site Admin
 
Сообщения: 1306
Зарегистрирован: 23.03.2008, 17:18
Откуда: Санкт-Петербург

Re: Шашки

Сообщение WildCat » 04.01.2010, 17:48

Альфу поднимать можно только если есть уверенность, что среди не рассматриваемых ходов есть хороший ход, по крайней мере не ухудшающий оценку. В шашках в позиции с боем мы собираемся рассматривать все ходы - поэтому подымать альфу нельзя. Точно так же нельзя поднимать альфу в шахматах в позициях под шахом.
WildCat
Site Admin
 
Сообщения: 2167
Зарегистрирован: 25.03.2008, 20:53
Откуда: Гомель

Re: Шашки

Сообщение дуп » 04.01.2010, 17:57

WildCat, NS Спасибо. Этой тонкости я не знал. :oops:
Попробую переделать.
Аватара пользователя
дуп
 
Сообщения: 327
Зарегистрирован: 27.03.2008, 16:25
Откуда: Новгород

Re: Шашки

Сообщение Осипов Юрий » 05.01.2010, 02:00

В связи с этим можно вспомнить недавнюю идею Корбита под названием "smooth scaling". Там речь шла о нулевом ходе, но мысль можно обобщить - чем дальше вглубь, тем больше режем. В идеале можно вообще ликвидировать границу между FULL-SEARCH и ФВ. Просто по мере углубления эвристики прунинга срабатывают всё чаще, но постепенно (smooth), без резких границ.
Осипов Юрий
 
Сообщения: 225
Зарегистрирован: 27.03.2008, 13:56
Откуда: Пушкино

Re: Шашки

Сообщение WildCat » 05.01.2010, 08:12

Осипов Юрий писал(а):В связи с этим можно вспомнить недавнюю идею Корбита под названием "smooth scaling". Там речь шла о нулевом ходе, но мысль можно обобщить - чем дальше вглубь, тем больше режем.

Я что-то такое пытался сделать уже много лет назад. Судя по Стокфишу и Робе от этой идеи никакой пользы нет.

Осипов Юрий писал(а):В идеале можно вообще ликвидировать границу между FULL-SEARCH и ФВ. Просто по мере углубления эвристики прунинга срабатывают всё чаще, но постепенно (smooth), без резких границ.

У перебора дискретная природа, нельзя там что-то сделать по-настоящему постепенно. Все делается рывками. Можно лишь смягчить переход от основного перебора к ФВ (образно выражаясь).
WildCat
Site Admin
 
Сообщения: 2167
Зарегистрирован: 25.03.2008, 20:53
Откуда: Гомель

Re: Шашки

Сообщение дуп » 09.01.2010, 11:25

Все правильно вы говорили на счет повышения альфы в ФВ. Нехилый был у меня глюк :cry:
Исправил это дело - стало намного лучше. Попробовал несколько вариантов. Самый лучший - как говорил NS. Т.е. взятия - не повышаем, превращения - повышаем.
Аватара пользователя
дуп
 
Сообщения: 327
Зарегистрирован: 27.03.2008, 16:25
Откуда: Новгород

Re: Шашки

Сообщение WildCat » 09.01.2010, 11:54

Попробуй превращения вовсе убрать. У меня они ничего не дают.
WildCat
Site Admin
 
Сообщения: 2167
Зарегистрирован: 25.03.2008, 20:53
Откуда: Гомель

Re: Шашки

Сообщение дуп » 09.01.2010, 12:41

WildCat писал(а):Попробуй превращения вовсе убрать. У меня они ничего не дают.

Попробую, спасибо.
Я еще хочу попробовать нулевой ход. Считается, что в шашках он не работает, у Корнилова даже написано: "В шашках, например, его использование совершенно невозможно". Я прикинул, а с какой стати невозможно-то? В начале-середине игры дамок нет, у обеих сторон есть выбор ходов, может чего и получится. Честно говоря я уже пробовал, только давно, движок тогда совсем слабо играл. Максимум, чего смог тогда добиться, это нулевого эффекта. То есть прога побольше выигрывала, но и больше проигрывала, за счет зевков. Может сейчас чего получится. :)
Аватара пользователя
дуп
 
Сообщения: 327
Зарегистрирован: 27.03.2008, 16:25
Откуда: Новгород

Re: Шашки

Сообщение дуп » 11.01.2010, 14:56

WildCat, а в Каллисто повторы позиций проверяютя? Спасибо.
Аватара пользователя
дуп
 
Сообщения: 327
Зарегистрирован: 27.03.2008, 16:25
Откуда: Новгород

Re: Шашки

Сообщение WildCat » 11.01.2010, 15:07

Нет, т.к. в шашках это редко бывает (или просто лень делать).
WildCat
Site Admin
 
Сообщения: 2167
Зарегистрирован: 25.03.2008, 20:53
Откуда: Гомель

Пред.

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1