Jump to content

0x88

Представление шахматной доски 0x88 — это квадратно-ориентированный метод представления шахматной доски в компьютерных шахматных программах . Число 0x88 представляет собой шестнадцатеричное целое число (136 10 , 210 8 , 10001000 2 ). Ранговые и файловые позиции представлены полубайтами ( шестнадцатеричными цифрами), а битовые промежутки упрощают ряд вычислений до побитовых операций .

В представлении доски 0x88 макет распространяется на доску 8х16, равную размеру двух соседних шахматных досок. Каждому квадрату матрицы 8х16 присвоен номер, как можно увидеть в таблице компоновки платы. В этой схеме каждый полубайт представляет ранг или файл, так что 8-битное целое число 0x42 представляет квадрат в (4,2) в нумерации, начинающейся с нуля, то есть c5 в стандартной алгебраической записи . [1]

Прибавление 16 к числу квадрата дает число квадрата на одну строку выше, а вычитание 16 дает число квадрата на одну строку ниже. При переходе из одного столбца в другой число увеличивается или уменьшается на единицу. [2] В шестнадцатеричной записи допустимые шахматные позиции (A1-H8) всегда ниже 0x88. Такая схема упрощает многие вычисления, которые необходимо выполнять шахматным программам , позволяя выполнять побитовые операции вместо сравнений. [3]

Расположение платы 0x88 [1]
0x00 (а) 0x01 (б) 0x02 (с) 0x03(д) 0x04 (е) 0x05 (ф) 0x06 (г) 0x07 (ч) 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F
0x70 (8) 70 71 72 73 74 75 76 77 78 79 7F
0x60 (7) 60 61 62 63 64 65 66 67 68 69 6F
0x50 (6) 50 51 52 53 54 55 56 57 58 59 5F
0x40 (5) 40 41 42 43 44 45 46 47 48 49 4D 4F
0x30 (4) 30 31 32 33 34 35 36 37 38 39 3D 3эт.
0x20 (3) 20 21 22 23 24 25 26 27 28 29 2D 2F
0x10 (2) 10 11 12 13 14 15 16 17 18 19 1F
0x00 (1) 00 01 02 03 04 05 06 07 08 09 0D

Алгебраические обозначения и преобразования

[ редактировать ]
Квадраты на шахматной доске с алгебраическими обозначениями

Современным стандартом для идентификации полей на шахматной доске и ходов в игре является алгебраическая запись , при которой каждая клетка доски идентифицируется уникальной парой координат — буквой между a и h для горизонтальной координаты, известной как файл, и число от 1 до 8 для вертикальной координаты, известное как ранг.

В компьютерных шахматах координаты ранга файла внутренне представлены в виде целых чисел в диапазоне от 0 до 7, при этом файл a отображается до 0, а файл h отображается до 7, а координата ранга сдвигается на единицу вниз в диапазон от 0 до 7.

Преимущество схемы кодирования 0x88 заключается в том, что значения можно легко преобразовать между представлением 0x88 и координатами ранга файла, используя только побитовые операции , которые просты и эффективны для работы компьютерных процессоров. Чтобы преобразовать координату ранга файла, отсчитываемую от нуля, в значение 0x88:

Таким образом, 1 соответствует , при этом все 8 бит установлены в , b 2 соответствует , а h 8 соответствует . [1]

Чтобы преобразовать значение 0x88 в пару координат «ранг файла»:

Примечание. В приведенных выше формулах << и >> представляют сдвига логических битов операции влево и вправо соответственно, а & представляет побитовые и .

Приложения

[ редактировать ]

Внешнее обнаружение

[ редактировать ]

Обнаружение вне доски — это функция шахматных программ, которая определяет, находится ли фигура на разрешенной шахматной доске или за ее пределами. В 0x88 старший бит каждого полубайта показывает, находится ли фигура на доске или нет. В частности, из 8 бит, представляющих квадрат, четвертый и восьмой должны быть равны 0, чтобы фигура находилась на доске. [4] Это позволяет осуществлять внешнее обнаружение побитовым способом. и операции. Если $square AND 0x88 (или, в двоичном формате, 0b10001000) не равно нулю, то квадрата нет на доске. [5] Эта побитовая операция требует меньше ресурсов компьютера, чем целочисленное сравнение. Это ускоряет такие вычисления, как обнаружение незаконных перемещений. [5]

Квадратные отношения

[ редактировать ]

Разница действительных координат A и B 0x88 уникальна в отношении расстояния и направления, что неверно для классических упакованных трехбитных ранговых и файловых координат. Это делает поиск манхэттенского расстояния , возможных атак фигур и допустимых ходов фигур более экономичным. В то время как для классических квадратных координат в диапазоне 0–63 требуются таблицы размера 4 КБ (64×64), разница 0x88 требует 1/16 этого размера или таблиц размера 256 — или даже на 16 меньше. [6]

Добавляется смещение 119 (0x77 как максимальный допустимый квадратный индекс), чтобы сделать ±119 диапазоном 0–238 (размер 240 для целей выравнивания). [6]

0x88Diff = 0x77 + A − B

Принятие

[ редактировать ]

Хотя представление 0x88 изначально было популярным, в большинстве случаев оно было заменено системой битбордов . [7]

Цитируемые работы

[ редактировать ]
  • Хаятт, Роберт (2013). «Представления на доске шахматной программы» . Архивировано из оригинала 12 февраля 2013 года . Проверено 6 марта 2020 г.
  • Реуль, Фриц Макс Генрих (2009). Новые архитектуры в компьютерных шахматах (Диссертация). Gildeprint, Серия диссертаций TICC 6. ISBN  9789490122249 .
  • Остенсен, Эмиль Фредрик (осень 2016 г.). Университет Осло (PDF) (магистерская диссертация в области программирования и сетей). Университет Осло.
  • Морленд, Брюс (16 июля 2007 г.). «0x88 Генерация перемещения» . Архивировано из оригинала 16 июля 2007 г. Проверено 12 марта 2020 г.
  • Шалк, Андреа (7 августа 2008 г.). «COMP30191 Теория игр и игровые модели» (PDF) . Факультет компьютерных наук Манчестерского университета . Проверено 18 марта 2020 г.
  • Кин, Бен (ноябрь 2009 г.). «История компьютерных шахмат» (PDF) . Бордосская лаборатория исследований и компьютерных наук . Архивировано из оригинала (PDF) 23 марта 2020 г. Проверено 23 марта 2020 г.
  • Дэйли, Пол; Готоюх, Доминик; Хеннинг, Нил; Лоусон, Кейр; Макдональд, Алек; Таджаддинов, Тамерлан (18 марта 2008 г.). «Шахматный богомол — шахматный двигатель» . Проверено 23 марта 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: daeed21ed9cffd1ad36ecd04bbb876b9__1656423900
URL1:https://arc.ask3.ru/arc/aa/da/b9/daeed21ed9cffd1ad36ecd04bbb876b9.html
Заголовок, (Title) документа по адресу, URL1:
0x88 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)