В конце статьи я даю ответ на этот вопрос. По поводу 3 битов — спасибо, отличная мысль.
Ещё одна причина — на практике часто нужно знать не только количество, но и сами ходы.
Все эти «извращения» возникают из желания придумать простой способ балансировки для такой простой идеи, как двоичное дерево поиска. К сожалению, просто не получается. Лично мне из всех попыток балансировки больше всего нравится рандомизированные деревья, которые уравновешиваются законом распределения случайных чисел.
В чём же расточительство? Элемент NIL хранится в единственном экземпляре и подвешивается везде, где нужно, увеличение объёма только в одном бите цвета на каждую вершину. Или вы в чём-то ещё видите расточительство?
Специально для таких увлечённых я записал процесс создания программы в виде уроков, где подробно объясняю создание всей программы. В конце курса на вип-уроке мы переделываем эту программу для мата другими фигурами. Рекомендую пройти этот курс, пока доступ открыт.
На самом деле комбинаций ещё меньше: на одной клетке не может стоять две фигуры, короли не могут стоять на соседних клетках, чёрный король не может быть под шахом и так далее. Забегая вперёд скажу, что в базе решений оказалось 5,609,790 комбинаций, массив будет заполнен на 67%.
Да, совершенно верно. Я специально такую позицию выбрал, фотографию делал сам специально для статьи.
Об этом в статье написано в последнем абзаце перед разделом «Мат в 1 ход».
Да, это невозможный мат, который нашёл алгоритм поиска всех матовых комбинаций.
Такая позиция может появится только если последний ход был превращением пешки в слона :)
У меня была мысль использовать только 16 позиций белого короля (левый нижний угол 4х4), а все остальные комбинации получать отражением.
Но переделывать уже не стал.
Совершенно верно, изначально желание было именно таким. Но хорошенько взвесив все за и против — решил просто поставить мат конём и слоном — это и практика, и много времени тратить не нужно! Видеоуроки по созданию этой программы вышли на 12 часов…
Ещё одна причина — на практике часто нужно знать не только количество, но и сами ходы.
Именно поэтому при создании визуализации для выбора хода чёрных пришлось перебирать все возможные ходы.
Спасибо.
Полное понимание контекста задачи, спасибо!
Я долго думал, где опубликовать эту статью.
Почему-то решил это сделать здесь. Видимо зря :)
Далее идёт пояснение, цитирую:
Об этом в статье написано в последнем абзаце перед разделом «Мат в 1 ход».
Такая позиция может появится только если последний ход был превращением пешки в слона :)
http://videosharp.info/chess/?fen=8/8/8/8/3N4/K7/2B5/1k6
Но переделывать уже не стал.
Я привёл пример невозможного мата, и написал об этом.
Я об этом написал в последнем абзаце, перед разделом «Мат в 1 ход».