2015-06-22 7 views
-3

Я пытаюсь запрограммировать свой первый шахматный движок, и я использую chessprogramming.wikispaces.com в качестве ресурса. Моя первая попытка состояла в том, чтобы использовать биты с учетом их производительности и того факта, что популярные двигатели, такие как Deep Blue, использовали биты; однако я нашел реализацию очень сложной, и пришел к выводу, что я должен начать небольшой для своего первого двигателя. Вместо этого я бы хотел использовать массив 8 на 8, но мне хотелось бы знать силу моего движка с массивом по сравнению с использованием битов. Если возможно, предоставьте приблизительный рейтинг шахмат для максимальной силы двигателя с использованием массива 8 на 8.Какова максимальная сила шахматного движка с представлением доски с использованием массива 8 на 8?

+0

Попробуйте попросить на http://programmers.stackexchange.com/ – Evert

ответ

2

8 на 8 может быть немного медленнее, но, как новичок, ваша программа будет сильнее, если вы используете 8 на 8, так как вы совершите гораздо меньше ошибок, и так как это не будет слишком результативным в любом случае (на наименьшая моя не).

Таким образом, даже если вы реализуете оба варианта, битовая программа может получить 1 слой глубже в дереве грубой силы, чем 8 на 8. Но действительно эффективный материал - это, например, используя алгоритм Alpha Beta с упорядочением перемещения и т. д.

Двигатель 8 на 8 с хорошей альфа-бетами всегда будет бить битбор с плохо реализованной альфа-бета-версией. Поэтому нет причин использовать биты в вашей первой прогаме;)

+1

Абсолютно правильно. Так как время вычисления увеличивается со скоростью O (m^d) (перемещение, глубина), представление перекладины в лучшем случае только увеличит глубину на 1. Функции оценки и обрезки - вот что дает мощность шахматного двигателя. – bcdan