BitBoard в шахматах, какие бывают виды, чем они отличаются?

Тема в разделе "Машинное отделение", создана пользователем NS, 18 ноя 2006.

  1. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    В чем преимущества и недостатки разных видов BitBoard-ов?
     
  2. atoku
    Оффлайн

    atoku Модератор

    Репутация:
    0
    Давно надо было поднять такую тему. Из моего небольшого опыта выходит, что генератор получается очень быстро, а вот ОФ писать на этом сложнее чем на других вариантах. Я не прав?
     
  3. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Зависит что в ОФ - возможности фигур, проходные пешки и многое другое считается быстрее...
    Что-то считается медленней. Писать под BitBoard сложней.
     
  4. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Насчет генератора - 0x88 генератор очень простой, и пишется очень быстро (Для любых игр 8x8)
    БитБоард генератор в любом случае сложней.
     
  5. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    А кто из наших использует битборды?
     
  6. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Марков, Морозов, Медведев.
     
  7. Booot
    Оффлайн

    Booot Учаcтник

    Репутация:
    0
    "В чем преимущества и недостатки разных видов BitBoard-ов?"

    Да разница там лишь в способе генерирования ходов дальнобойных фигур :).

    По поводу сложности: я перепробовал все генераторы ходов (booot 2- 4) и остановился на битбордах как на самом удобном :). Что генерирование ходов, что ОФ там намного удобнее пишется, чем на других представлениях. Просто привыкнуть немного и все.
     
  8. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    То есть нет особого смысла в использовании повернутых... Или есть?
     
  9. Booot
    Оффлайн

    Booot Учаcтник

    Репутация:
    0
    "То есть нет особого смысла в использовании повернутых... Или есть?"

    Ну как... повернутые битборды позволяют крепко выиграть время при генерации ходов дальнобойных фигур. И только. В отличии от "просто битбордов" там всего лишь появляется 3 дополнительных битборда, содержащих повернутое представление шахматной доски. Ну и куча предвычисленных массивов :)
     
  10. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    А тоо что Pradu писал по поводу Магических чисел в Битбоард генераторах читал?
    Или это глупости?
     
  11. Booot
    Оффлайн

    Booot Учаcтник

    Репутация:
    0
    Нет! Это новый способ :). Причем судя по всему крайне быстрый! Но есть одно НО! (точнее 2 :) ).
    1. Нахождение магических чисел отдельная задача с шахматами малосвязанная.
    2. метод требует операции 64-разрядного умножения. Что подразумевает эффективность метода только в 64-разрядных системах.
     
  12. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Понятно - буду копать в этом направлении.
     
  13. Booot
    Оффлайн

    Booot Учаcтник

    Репутация:
    0
    Перспективно еще чем: если хочешь таки как-то позиционные признаки распознавать, то битборды - то что для этого прямо и существует :)
     
  14. NS
    Оффлайн

    NS Нефёдов Сергей баннер

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

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Хотя можно предварительно приводить к битовому виду.
    На одинаковых шашках одного цвета проверка наличия признака вообще в одно действие.
    Признак And Позиция = Позиция.
    Один раз достать из массива признак...
     
  16. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Хотя нужно придумывать методы индексации, и пробовать сочетания перебора признаков/перебора комбинаций шашек.
    Непонятно сколько признаков останется после исключения малозначимых, и какого вида они будут...
     
  17. Fruit
    Оффлайн

    Fruit Александр баннер

    Репутация:
    3
    Опасно переходить. Всё-таки МММ получается. ;)
     
  18. варяг
    Оффлайн

    варяг Учаcтник

    Репутация:
    0
    Согласен. Битборды просто не стоят того, чтобы ими заниматься. Я тоже использую схему 0x88 и меня это вполне устраивает. Быстро и просто, код понятный получается. А с битбордами слишком много заморочек.
     
  19. варяг
    Оффлайн

    варяг Учаcтник

    Репутация:
    0
    Я бы даже сказал МММ в квадрате :)
     
  20. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    В любом случае придется переходить на битовое представление, так как на x64 системах оно дает существенную прибавку к быстродействию...