Главная › Форумы › Шашечные программы › Шашечные программы › Стандартная проверка корректности генератора ходов
- В этой теме 126 ответов, 8 участников, последнее обновление 17 лет, 1 месяц назад сделано Kallisto.
-
АвторСообщения
-
26.08.2006 в 07:11 #364650NSУчастник
Я изобрел-что-то или это было известно до меня?
//
Что проверку на наличие взятий можно сделать вместе с генерацией ходов, и причем в двух варинатах — при ОДНОРАЗОВОМ обращении к каждому полю доски (но замедляя make/unmake), либо в два прохода, не замедляя make/unmake (во втором случае так-же быстро определяется факт наличия взятий Дамки)?26.08.2006 в 07:22 #364651KallistoУчастникСкорее всего проверку лучше совместить.
Если использовать битборды, то не знаю. Там проверяется взятия простых за несколько логических операций без каких-либо проходов.У меня проще всего. В начале генерируем взятия. Если их нет, значит нет. Чего еще напрягаться?
Расскажи про свои два метода, а то ничего непонятно.
26.08.2006 в 07:25 #364652NSУчастникЯ по почте напишу.
В форуме приведу результаты скорости на начальной позиции, и на позиции шесть дамок против шести дамок (на Дамках ускорение должно быть намного сильнее)03.03.2007 в 15:04 #364653NSУчастникPerft в Бразильские шашки:
Depth= 1 Nodes= 7
Depth= 2 Nodes= 49
Depth= 3 Nodes= 302
Depth= 4 Nodes= 1469
Depth= 5 Nodes= 7473
Depth= 6 Nodes= 37628
Depth= 7 Nodes= 187302
Depth= 8 Nodes= 907836
Depth= 9 Nodes= 4431847
Depth=10 Nodes= 21566606
Depth=11 Nodes= 105534946
Depth=12 Nodes= 512171742
Depth=13 Nodes= 2483592238
В международные значения Perft кому-нибудь интересны?
03.03.2007 в 19:14 #364654AlexanderSУчастникPerft в Бразильские шашки:
Depth=10 Nodes= 21566606
В международные значения Perft кому-нибудь интересны?
У меня 21566622/21566642
Стоклетки очень интересны, у меня два генератора разные цифры выдают и не знаю в каком ошибку искать…
И вообще — делай стоклетки, а то сравнивать не с чем03.03.2007 в 21:13 #364655NSУчастникЗавтра с утра сделаю.
Чтоб нормально сравнить нужно чтоб дамочные взятия нескольких шашек по-прямой одинаково работали. У меня всегда считается что это одно взятие.То есть черные b2,g7
Дамка a1 имеет только одно взятие. a1:b2:g7:h804.03.2007 в 01:58 #364656AlexanderSУчастникЗавтра с утра сделаю.
Чтоб нормально сравнить нужно чтоб дамочные взятия нескольких шашек по-прямой одинаково работали. У меня всегда считается что это одно взятие.То есть черные b2,g7
Дамка a1 имеет только одно взятие. a1:b2:g7:h8У меня считаются за разные.
Поэтому сравнивать можно только с Дамирой Кстати у них бразильские вроде есть, надо будет спросить.
Боюсь поиск дубликатов замедлит генерацию, поэтому не стал делать, хотя не пробовал. Может и не сильно, коснется только взятий где несколько шашек снимаются, а таких не так уж много… Но все равно даже проценты терять не хотелось. Сейчас у меня похоже самый быстрый генератор в шашки 😆04.03.2007 в 09:03 #364657NSУчастникБоюсь поиск дубликатов замедлит генерацию,
Такой генерации можно добится без поиска дубликатов
04.03.2007 в 10:02 #364658KvadratУчастникЕсли после всех вариантов взятий позиция совпадает — считать варианты взятия за одно.
04.03.2007 в 10:34 #364659NSУчастникЕсли после всех вариантов взятий позиция совпадает — считать варианты взятия за одно.
Это очень медленно.
Намного проще после взятия шашки смотреть взятия в том-же направлении только с одного поля.
Либо с поля сразу после взятой шашки, либо добавлять взятия только непосредственно с поля перед шашкой которую берем.04.03.2007 в 12:24 #364660KvadratУчастникМожет быть тогда не сравнивать позы, а сравнивать расстановки снимаемых шашек? Или это практически одно и тоже?
Я не занимаюсь шашечным программированием, извините. 🙄
Но поддерживаю… 😉04.03.2007 в 13:00 #364661NSУчастникМожет быть тогда не сравнивать позы, а сравнивать расстановки снимаемых шашек? Или это практически одно и тоже?
Сверять снимаемые шашки конечно быстрее, но тоже достаточно медленно.
Вариант есть — просто не генерировать дубляжи при дамочных взятия «по прямой», большинство таким образом и генерирует.
Остаются только дубли на взятиях одинакового набора шашек в разном порядке — но на силу это не влияет.
04.03.2007 в 13:39 #364662NSУчастникperft в международные шашки:
Depth= 1 Nodes= 9
Depth= 2 Nodes= 81
Depth= 3 Nodes= 658
Depth= 4 Nodes= 4265
Depth= 5 Nodes= 27117
Depth= 6 Nodes= 167140
Depth= 7 Nodes= 1049442
Depth= 8 Nodes= 6483971
Depth= 9 Nodes= 41022614
Depth=10 Nodes= 258935682
Depth=11 Nodes= 1666207133
Depth=12 Nodes= 10752899471
04.03.2007 в 16:28 #364663AlexanderSУчастникperft в международные шашки:
[/code]Надо же, совпадает, во всяком случае до 9.
А с интерфейсом у меня расхождения уже на 5… Хоть знаю теперь где копать Спасибо 😉Что касается взятий — не думаю что такие дубляжи влияют на силу вообще
04.03.2007 в 16:34 #364664NSУчастникРаз совпадает… Значит у меня практически готова первая версия в международные шашки
Только интерфейс нужен,
и книга по эндшпилю — а то сейчас нет эндшпильной оценки. -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.