В этом проблема преждевременной оптимизации. Где ваша шахматная доска заняла бы 64 байта для хранения, теперь она занимает 32. Что это действительно мешает вам? Вы действительно проанализировали ситуацию, чтобы увидеть, нужно ли вам сохранять эту память?
Предполагая, что вы использовали один из наименее оптимальных методов поиска, прямой поиск AB до глубины D без эвристики, и вы генерируете все возможные перемещения в позиции перед поиском, тогда абсолютный максимальный объем памяти, необходимый для вашей доски, будет равен sizeof. (доска) * W * D. Если мы предположим, что W = 100 и D = 30 достаточно велики, то у вас в памяти будет 3000 плат на глубине D. 64 К против 32 К ... Это действительно того стоит?
С другой стороны, вы увеличили количество операций, необходимых для доступа к плате [местоположение], и это будет вызываться много миллионов раз за поиск.
При создании шахматного ИИ главное, что вам нужно будет искать, это циклы процессора, а не память. Это может немного отличаться, если вы ориентируетесь на сотовый телефон или что-то еще, но даже при этом вам придется больше беспокоиться о скорости, прежде чем вы достигнете достаточной глубины, чтобы вызвать какие-либо проблемы с памятью.
Что касается представления, которое я предпочитаю ... Мне нравятся битборды. Много серьезных измерений не проводилось, но я сравнил два сделанных мною двигателя: один битборд и один массив, и один битборд был быстрее и мог достигать гораздо больших глубин, чем другой.