Мурка

Тема в разделе "Машинное отделение", создана пользователем WildCat, 8 дек 2011.

  1. WildCat
    Оффлайн

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

    Репутация:
    0
    Вышла новая версия моего нового шахматного движка: Мурка 2.
    Распростаняется вместе с исходным кодом. Имеет рейтинг около 2636 CCRL. Поддерживает протоколы UCI/Xboard.
     
  2. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
    Код:
    $g++ -O2 -I. -c BitBoards.cpp -o BitBoards.o
    
    In file included from BitBoards.cpp:5:
    BitBoards.h:4:20: error: intrin.h: No such file or directory
    In file included from BitBoards.h:6,
                     from BitBoards.cpp:5:
    Types.h:4: error: ‘__int64’ does not name a type
    Types.h:5: error: ‘__int64’ does not name a type
    Types.h:6: error: ‘__int32’ does not name a type
    Types.h:7: error: ‘__int16’ does not name a type
    Types.h:8: error: ‘__int8’ does not name a type
    In file included from BitBoards.cpp:5:
    BitBoards.h:12: error: ‘BitBoard’ does not name a type
    BitBoards.h:14: error: ‘BitBoard’ does not name a type
    BitBoards.h:15: error: ‘BitBoard’ does not name a type
    BitBoards.h:16: error: ‘BitBoard’ does not name a type
    BitBoards.h:17: error: ‘BitBoard’ does not name a type
    BitBoards.h:18: error: ‘BitBoard’ does not name a type
    BitBoards.h:19: error: ‘BitBoard’ does not name a type
    BitBoards.h:20: error: ‘BitBoard’ does not name a type
    BitBoards.h:21: error: ‘BitBoard’ does not name a type
    BitBoards.h:22: error: ‘BitBoard’ does not name a type
    BitBoards.h:23: error: ‘BitBoard’ does not name a type
    BitBoards.h:25: error: ‘BitBoard’ does not name a type
    BitBoards.h:38: error: ‘BitBoard’ does not name a type
    BitBoards.h:39: error: ‘BitBoard’ does not name a type
    BitBoards.h:40: error: expected initializer before ‘&’ token
    BitBoards.h:41: error: expected initializer before ‘&’ token
    BitBoards.h:42: error: expected initializer before ‘&’ token
    BitBoards.h:43: error: expected initializer before ‘&’ token
    BitBoards.h:44: error: expected initializer before ‘&’ token
    BitBoards.h:45: error: expected initializer before ‘&’ token
    BitBoards.h:47: error: ‘BitBoard’ does not name a type
    BitBoards.h:48: error: ‘BitBoard’ does not name a type
    BitBoards.h:51: error: ‘BitBoard’ does not name a type
    BitBoards.h:52: error: ‘BitBoard’ does not name a type
    BitBoards.h:53: error: ‘BitBoard’ does not name a type
    BitBoards.h:54: error: ‘BitBoard’ does not name a type
    BitBoards.h:55: error: ‘BitBoard’ does not name a type
    BitBoards.h:56: error: ‘BitBoard’ does not name a type
    BitBoards.h:59: error: ‘uint8’ does not name a type
    BitBoards.h:60: error: ‘uint16’ does not name a type
    BitBoards.h:61: error: ‘BitBoard’ does not name a type
    BitBoards.h:62: error: ‘uint32’ does not name a type
    BitBoards.h:63: error: ‘BitBoard’ does not name a type
    BitBoards.h:66: error: ‘BitBoard’ does not name a type
    
     
  3. WildCat
    Оффлайн

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

    Репутация:
    0
    Нужен для функции _BitScanForward64.

    В g++ нет аналогов?
     
  4. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
    Можно у crafty спионерить. Плюс настроить типы. Но это надо время... Будет время, постараюсь обвернуть autotools-ами.

    Потому как типов __uint64 нет, есть аналоги uint64_t. В общем портировать надо... Кстати, версия deep или нет?
     
  5. WildCat
    Оффлайн

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

    Репутация:
    0
    Нет.
     
  6. krey
    Оффлайн

    krey Михаил Кройтор Команда форума Команда форума

    Репутация:
    1
    поэтому надо добавить
    Код:
    #ifndef __uint64
    typedef uint64_t __uint64
    #endif
    
     
  7. krey
    Оффлайн

    krey Михаил Кройтор Команда форума Команда форума

    Репутация:
    1
    вот адаптация кода Мурки2 + makefile под gcc - murka2-src
     
  8. Тянь-Викунтяу
    Оффлайн

    Тянь-Викунтяу Учаcтник

    Репутация:
    0
    Прекрасная тема.
    Разрастется так-же,как и обсуждение стрелки?
     
  9. Виталий В.
    Оффлайн

    Виталий В. Зарегистрирован

    Репутация:
    0
    Скачал, сейчас проверю, как мурка играет! Я однажды видел, как чёрная маленькая кошка. Пугала собачку породы боксёр. Я в этот момент на рынок в микро-районе зашёл, дело было зимой. Это не описуемо! Надо своими глазами видеть. Кошка с горизонтально раположенными ушами и хищным взглядом шипела и как бы бросалась боком на собаку. Боксёра на поводке держала девочка и разговаривала по мобилке. В итоге собачка стала дрожать, а я проникся безмерным уважением к кошкам! Потом девочка увела боксёра, и кошка из хищниа "превратилась" в обычную чёрную кошку. Надеюсь, Мурка-2 покажет всем "рыбам" гда раки зимуют!
     
  10. Тянь-Викунтяу
    Оффлайн

    Тянь-Викунтяу Учаcтник

    Репутация:
    0
    А у меня такой вопрос-зачем нужна Мурка?
    Ведь Кошка играет явно сильнее ее :)
     
  11. krey
    Оффлайн

    krey Михаил Кройтор Команда форума Команда форума

    Репутация:
    1
    это способ приручить дикую кошку. автор пытается привести код в порядок.
     
  12. WildCat
    Оффлайн

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

    Репутация:
    0
    У Мурки больше потенциал. :D
     
  13. krey
    Оффлайн

    krey Михаил Кройтор Команда форума Команда форума

    Репутация:
    1
    кстати, есть теоретическая идея Чебаненко, которая может быть реализована в движках. Можно её в Мурке проверить?
    Идея следующая: под тактической слабостью понимают фигуру (пешку), у которой число защит равно числу нападений. Король считается тактической слабостью, если ему можно дать шах. Это связано с тем, что нападение на тактическую слабость вынуждает ответы. Так вот, чем больше тактических слабостей у стороны, тем хуже позиция. А если у противника есть 5 и более слабостей, то (по утверждению одного ММ) в позиции есть разрешающая её комбинация.
    Вот я и предлагаю при оценке позиции подсчитывать тактические слабости и назначать штрафы (скажем 0.1 пешки за слабость) стороне, у которой нет права хода.
     
  14. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Учитываются любые нападения, безотносительно ценности фигур?
    То есть конь, защищённый пешкой своего цвета, но на которого нападает неприятельский ферзь - это слабость?
     
  15. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
    Да, пешку можно отвлечь, уже мотив.
     
  16. Тянь-Викунтяу
    Оффлайн

    Тянь-Викунтяу Учаcтник

    Репутация:
    0
    Матч Греко-Мурка с контролем 1+1.

    Код:
    Greko 9.0      69,5/100
    Murka 2         30,5/100
    В начале матча Мурка даже вырвалась вперед,но потом Греко ее с легкостью перекатала :(
    Заметил то,что Мурка недооценивает атаку на короля.Ей жертвуют материал и выносят.
     
  17. WildCat
    Оффлайн

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

    Репутация:
    0
    Попробовать можно, но считать все атаки может быть довольно накладно.
     
  18. krey
    Оффлайн

    krey Михаил Кройтор Команда форума Команда форума

    Репутация:
    1
    Я в Греку вставил, скорость упала на 2 порядка. Однако, думаю, можно оптимизировать - сделать расчёт нападений и защит в процессе перебора вариантов - так же, как реализован подсчет материала
     
  19. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Более того, при оценке в Греке вычисляется мобильность. Если использовать промежуточные данные, которые всё равно уже есть (битборды атак дальнобойных фигур), можно за счёт них ускорить.

    Но скорость, это ладно. Интересно бы потестировать на контролях с фиксированным числом позиций в дереве.
     
  20. Осипов Юрий
    Оффлайн

    Осипов Юрий Учаcтник

    Репутация:
    11
    А в Ипполитах и Рыбке давно уже оцениваются атаки и защиты - тоже на основе тех же битбордов атак/мобильности. Только немного подкорректировать веса и условия, и можно пробовать без всякой потери скорости.
     
  21. Тянь-Викунтяу
    Оффлайн

    Тянь-Викунтяу Учаcтник

    Репутация:
    0
    Контроль 1+1.
    Код:
    Rybka 1.0 beta  85,5/100
    Murka 2              14,5/100
    Слабовато как-то мурка играет... :(