Тестирование различных техник программирования шахматной игры

Discussion in 'Машинное отделение' started by WildCat, 17 Jul 2006.

  1. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Предлагаю выкладывать и обуждать в этой ветке насколько та или иная техника прибавляет силы к шахматному движку.
     
  2. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Вот что я имею в виду:


    последний релиз (скомпилирован VC++ 6.0)

    WildCat 6 - 2582


    та же версия, но скомпилирована VC++ .NET, без поддержки egtb

    WildCat 6.03.01 - 2590


    та же версия, но скомпилирована Intel C++ 6.0

    WildCat 6.03.02 - 2590


    та же версия, но скомпилирована VC++ .NET

    WildCat 6.03.03 - 2585


    Все последующие версии будут компилироваться Intel C++ 6.0


    Рейтинги расчитаны по результатам 1600 партий для каждой версии.
    Рейтинг Shredder 9 принят за 2750.
     
  3. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Сейчас тестируется версия, использующая библиотеку дебютов (все соперники играют без дебютов).

    Пока результат весьма посредственный - 2600 после 845 игр, т.е. библиотека прибавляет +10 рейтинговых очков.
     
  4. WinPooh
    Оффлайн

    WinPooh В.М. Staff Member

    Репутация:
    95
    А чему равна для такой выборки статистическая погрешность?
    Например, если два раза провести тест из 1600 партий для одной и той же версии, насколько близкие рейтинги получаются? Без знания этой величины как-то странно говорить о "плюс пять-десять".
     
  5. krey
    Оффлайн

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

    Репутация:
    1
    и еще, Игорь, когда вернешь обучение? я думаю, это тоже улучшит на 10-20 пунктов.
     
  6. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Статистическая погрешность должна быть около 15-20 пунктов. И то что библиотека дебютов укладывается в погрешность немного удивляет. Много людей писало о большой важности дебютов. Неужели у меня такая кривая библиотека?

    Нет методов для стат. оценки движка с включенным обучением, поэтому я его всегда отключаю, а из своего движка вообще выбросил. Хотя в матчах оно было бы полезно. И даже во WBEC можно было бы пару лишних очков нарыть.
     
  7. NS
    Оффлайн

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

    Репутация:
    3
    Я такую статистику не собирал - сейчас планирую собрать хорошую статистику по опровергающим ходам для LMR. Программу начал уже переписывать - планируется поднять NPS в 2-3 раза, суммарно увеличить силу ~ на 150 пунктов... (за счет изменения позиционной оценки+ Быстродействие + более тонкое использование LMR+SEE + небольшое изменение переборных алгоритмов)
    Если получится поднять на 200 - буду очень счастлив :)))
     
  8. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Закончено тестирование версии с основной библиотекой дебютов. Результат +3 очка. Дебютная библиотека, насколько я помню, построена по партиям гроссов с рейтом более 2600. Видимо, такой подход не позволяет сделать для движка сколь-нибудь полезную библиотеку.
     
  9. NS
    Оффлайн

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

    Репутация:
    3
    Видимо достатчно сильно играет в дебюте и без библиотеки.
    Насколько я слышал - о прибавке говорят в случае добавления дебютной библиотеки "Под Стиль программы"
     
  10. krey
    Оффлайн

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

    Репутация:
    1
    вообще, на мой взгляд, надо тщательно подбирать партии в библиотеку. кстати, WildCat, если я захочу составить свою библиотеку - что мне делать? обычный текстовый формат понимается?
     
  11. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Понимается обычный pgn для создания основной библиотеки (команда convert). Но в последних версиях отключено. Старый код этой функции потерялся, а новый писать не хочется. Можно использовать более старые версии.

    Или текст вида:

    [Site ""]
    e4!! e5 Nf3!! Nc6 Bb5!! a6 Bxc6!! dxc6 d4!! exd4 Qxd4!!
    [Site ""]
    e4!! c5 Nf3!! d6 d4!! cxd4 Nxd4!! Nf6 Nc3!! a6 f3!!
    [Site ""]
    e4!! c5 Nf3!! d6 d4!! cxd4 Nxd4!! Nf6 Nc3!! a6 Bg5!!

    для библиотеки стиля (команда import).
     
  12. krey
    Оффлайн

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

    Репутация:
    1
    что-то не то. я воспользовался WildCat 2.61
    Команда convert собрала у меня библиотеку стиля, команда import - типа пыталась брать простую библиотеку, но не хочет. и обычный pgn почему-то не берется.

    added я сделал по-простому - при помощи convert создал библиотеку стиля и переименовал. получилось :)
    сделал я библиотеку по eco файлу. а стиль - просто оставил свои предпочтения из дебютов и понаставил восклицательных знаков.
     
  13. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Это я перепутал.

    import файл-pgn -> основная библиотека WildCat.book
    convert текстовый файл стиля -> библиотека стиля WCstyle.book

    Ничего переименовывать не надо, а то будет работать неизвестно как.
     
  14. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Закончилось тестирование версии с дебютником стиля (сделанном Карлосом Песком) + основная библиотека: +28 пункта. Т.е. если очень постараться, то дебютная библиотека может быть полезной. А если ее сделать как попало, то и результата не будет.
     
  15. NS
    Оффлайн

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

    Репутация:
    3
    А если взять просто большую библиотеку, поставить обучение, и наиграть несколько тысяч партий с другими движками (за них используя их родные библиотеки).
    Это ничего не даст?
     
  16. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Мне такой эксперимент не интересен. Хочешь, сам попробуй.
     
  17. Fruit
    Оффлайн

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

    Репутация:
    3
    Ну, если наиграть несколько тысяч партий в контроле 60+15, то будет круто! А в 4+2, думаю, не много толку. Потом на длинных контролях это скажется.
    Кстати, если книга большая, то партий нужно не "несколько", а "много" тысяч.
     
  18. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    У меня в основной версии бонус за 7-ую линию для ладьи равен 0.3 и дается только, если вражеский король на 8-ой.

    Проверил два варианта:
    - бонус давать всегда -54 пункта после 386 игр (более 99.8%, что хуже).
    - совсем без бонуса -20 пунктов после 679 игр (более 94%, что хуже).

    Дальше буду проверять бонус на 8-ой линии. Потом интересно будет попробовать разные варианты мобильности фигур.
     
  19. Fruit
    Оффлайн

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

    Репутация:
    3
    А если увеличивать бонус для ладьи на 7-й, в зависимости от свободы ентой самой 7-й горизонтали? Напр, если ладья стоит на в7, а на а7 и с7 вражеские фигуры или пешки, то бонус меньше. А, в случае, ладья на в7, а дальше пешки только на f7, g7, h7, то бонус увеличивать.
     
  20. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Конкретнее предлагай. Например, +0.05 за каждую пустую клетку 7-ой рядом с ладьей? Ладья на 7-ой окруженная фигурами/пешками противника вообще не получит бонуса.
    Ты это хотел предложить?
     
  21. Fruit
    Оффлайн

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

    Репутация:
    3
    Да, что-то вроде этого. Именно бонус за каждую пустую клетку. Ладья в окружении пешик и др. фигур - без бонуса.
     
  22. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Может как-нибудь попробую. Проблема в том, что для тестирования нужно много времени.
    Если кто хочет помочь с этим, то могу дать версию с таким бонусом.
     
  23. NS
    Оффлайн

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

    Репутация:
    3
    Интересно - а какие позиционные признаки сами важные, и дают максимальную прибавку к силе?
     
  24. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Это действительно интересно. На первый взгляд кажется, что проходные и безопасность короля.
     
  25. NS
    Оффлайн

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

    Репутация:
    3
    Значит нужно мне в первую очередь сделать хорошую защищенность короля. :)
    И убрать безусловную ладью на седьмой :)
     
  26. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Лучше к ладье добавить вражеского короля на 8-ой.
     
  27. NS
    Оффлайн

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

    Репутация:
    3
    А если он на h7? Может на седьмой/восьмой?
     
  28. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Может
     
  29. Fruit
    Оффлайн

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

    Репутация:
    3
    Можно. Только тесты на другом компе, могут дать немного другие результаты!
     
  30. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    www.igorkorshunov.narod.ru/test_WildCats.rar
    В архиве две версии:
    6.03.02 - нормальная версия
    6.06.04 - экспериментальная, с бонусом за 7-ую для ладьи по числу соседних пустых клеток (за каждую 0.05), причем дружеская ладья не считается помехой, т.е. две наших ладьи на a7 и b7 получат одинаковый бонус.
     
  31. Fruit
    Оффлайн

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

    Репутация:
    3
    А контроль какой должен быть?
     
  32. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Какой тебе удобнее.
     
  33. Fruit
    Оффлайн

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

    Репутация:
    3
    Хорошо. Контроль выбрал 4+2. Через недельку будет известно что и как.
    А чем отличается Wildcat 6.0 от Wildcat_6_03_02? И какую книгу он использует на WBEC?
     
  34. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Шестая скомпилирована Visual C++ 6.0, а 6.03.02 - Intel C++ 6.0
    На WBEC используются родные книги.
     
  35. NS
    Оффлайн

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

    Репутация:
    3
    А сколько прибавки к силе дает TableBases? Пятифигурные, Шестифигурные?