Новая шашечная программа Skifi

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

  1. NS
    Оффлайн

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

    Репутация:
    3
  2. NS
    Оффлайн

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

    Репутация:
    3
    Странно... А второй матч Skifi проиграла сразгромным счетом...
    В любом случае SiDra-у обыгрывает :)
     
  3. WildCat
    Оффлайн

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

    Репутация:
    0
    У меня Skifi играет значительно слабее KestoG (а значит и MiuMiu).
    Эту версию выкладывать или сделаешь более сильную?

    PS. Без ОФ в шашки играть нельзя.
     
  4. ProstoTak
    Оффлайн

    ProstoTak Старожил

    Репутация:
    1
    Никогда не занимался шашками, и посему антиресно узнать какие основные принципы при создании ОФ в шашках?
     
  5. WinPooh
    Оффлайн

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

    Репутация:
    95
    Ещё как можно :)
    Я только так и играю - исключительно на счёте материала.
    Однажды в школьные годы ничью с кмс-кой сделал, после чего она сказала: ну, типа, всё ясно - ты же шахматист :)
     
  6. WildCat
    Оффлайн

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

    Репутация:
    0
    Тебе это только кажется.
    И я говорил о нормальном уровне игры.
     
  7. NS
    Оффлайн

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

    Репутация:
    3
    ОФ (табличную) прикрутить пару минут. Я могу сделать две версии - одну с ОФ, другую без.

    Выкладывать наверно пока не надо.
    Я сегодня прикручу ЭБ (приведу генератор ЭБ в человеческий вид :) )
    Добавлю Хеш перекрестных позиций (помогает в дамочных позициях),
    и сделаю версию с простой ОФ.

    я не совсем разобрался с EI_Stop.
    Я прерываю перебор, делаю (внутри) лучший ход, возвращаю его в EI_Think
    Но в начальной позиции, в режиме игры с человеком - если несколько раз нажать "новая партия черными" - вылезает ошибка "Невозможный ход"

    И у меня не хочет работать EI_Analyse
    Как ты её у себя запускаешь?
     
  8. NS
    Оффлайн

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

    Репутация:
    3
    http://www.igorkorshunov.narod.ru/Draughts/KallistoInside.html
    Само простое -
    материал

    Это понятно

    Владение главной диагональю

    Если наша одна Дамка на главной, и больше никаких шашек/дамок на главной нет.

    Дамочные позиции

    Если у нас хуже, но у нас есть дамка/дамки - то наш минус можно уменьшить.

    баланс шашек по флангам

    Просто разница числа шашек на правом и левом фланге, чем меньше, тем лучше.

    ценность полей

    Например такая табличка (Для того что умела выигрывать тремя дамками против одной)
    (2,0,1,0,0,0,2,0, 0,0,0,0,0,0,0,0,
    0,2,0,1,0,2,0,2, 0,0,0,0,0,0,0,0,
    1,0,2,0,2,0,2,0, 0,0,0,0,0,0,0,0,
    0,1,0,3,0,2,0,0, 0,0,0,0,0,0,0,0,
    0,0,2,0,3,0,1,0, 0,0,0,0,0,0,0,0,
    0,2,0,2,0,2,0,1, 0,0,0,0,0,0,0,0,
    2,0,2,0,1,0,2,0, 0,0,0,0,0,0,0,0,
    0,2,0,0,0,1,0,2, 0,0,0,0,0,0,0,0
    );

    Плюс Эндшпильные библиотеки и оценка простейших эндшпилей.

    У меня сейчас отключено использование в ОФ баланса флангов,
    и обнулены Таблицы оценки шашек по координате, кроме одной, дамочной таблицы (приведенной выше)
     
  9. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

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

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

    Репутация:
    3
    В шашки человек также просчитывает все варинты, поэтому никакого "под ноль" всяко не будет :)
    Ничейная смерть в 64 клеточных шашках наступает...
     
  11. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    Ну насколько я знаю,те же программы играют с друг -другом не только в ничью!Как я пологаю ,если -бы столько ресерсов было-бы
    потрачено на тот же калисто ,сколько допустим на фриц,то уже сейчас калисто форсировано играл-бы без порожений в 1000 и даже
    в миллионе партий,а шашечные алгоритмы находили четкий путь к ничье!!!Играть было-бы действительно бессмысленно!!!
     
  12. NS
    Оффлайн

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

    Репутация:
    3
    Коечно не все партии вничью. Например на прошедшем только-что чемпионате Европы - одна партия была результативной :D

    Каллисто играет практически на пределе, почти идеально - практически достигнут потолок шашечной силы. Результативность меньше тридцати на тысячу партий.
     
  13. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    А в сто-клеточных шашках, то-же самое???
     
  14. NS
    Оффлайн

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

    Репутация:
    3
    Нет, в стоклетках всё нормально.
    Даже ежегодно проводится чемпионат в стоклеточный Чеккерс.
     
  15. NS
    Оффлайн

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

    Репутация:
    3
  16. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    Это все потому,что шашечные движки не так распостраненные и доработаны, как шахматные.
     
  17. NS
    Оффлайн

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

    Репутация:
    3
    Объяснили же - это потому что в шашках 64 клетках наступила ничейная смерть, а в 100 клетках просто всё нормально. До ничейной смерти как до луны... И среди людей, и среди сильнейших программ - так же как ничейной смерти нет и близко в шахматах (Хотя в шахматах рзультативность конечно выше чем в стоклетках)
     
  18. NS
    Оффлайн

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

    Репутация:
    3
    Есть основания думать что Игорь Коршунов постратил на Каллисто значительно меньше сил чем на WildCat?
     
  19. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    Код:
    До ничейной смерти как до луны... И среди людей, и среди сильнейших программ - так же как ничейной смерти нет и близко в шахматах
    Шахматы в 1000 раз сложнее,чем те же стоклеточные шашки.
    Код:
    Есть основания думать что Игорь Коршунов постратил на Каллисто значительно меньше сил чем на WildCat?
    Ну по всем параметрам,шашечные программы уступают в разработке, шахматным!!!
     
  20. NS
    Оффлайн

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

    Репутация:
    3
    То есть один и тот-же автор, написавший одну из сильнейших в мире шахматную и шашечную - слабее пишет шашки? А шахматы пишет лучше? :D
    По какому параиметру шашечные программы уступают? По тому что используют восьмишашечные ЭБ, и сразу из дебюта досчитываются до конечного результата??? :)
    По тому что даже в первой тестовой версии моей программы длина PV при 20 секундах на ход превышает 30-35 полуходов? :)

    Программа сразу реально частенько может досчитаться из последебютной позиции до точного результата.
     
  21. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    Код:
    Есть основания думать что Игорь Коршунов постратил на Каллисто значительно меньше сил чем на WildCat?
    А при чем тут WildCat?
    Разве -эта программа играет в ту же силу,что Фриц с рыбкой?:D
     
  22. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    Код:
    То есть один и тот-же автор, написавший одну из сильнейших в мире шахматную и шашечную - слабее пишет шашки?
    Естественно.Поскольку он разрабатывал программу по уже известной системе.В шахматных программах намного больше вложено знаний.
    Они лучше изучены.А вот в шашках приходиться разрабатывать все с нуля.
     
  23. NS
    Оффлайн

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

    Репутация:
    3
    Эта программа играет всего на 100 с небольшим пунктов слабее Фрица.

    А в шашках, в 64 клетках просто насупила ничейная смерть - посмотри таблицы турниров, спроси у любого разработчика либо сильного шашиста. Поэтому невозможна пограмма которая будет серьезно обыгрывать белковых шашистов, и невозможна программа которая получит серьезный перевес в счете в матче с Каллисто3.

    А по моему мнению вообще оценка в шашечных прогаммах не нужна.
    С одной стороны делаем ЭБ, а с другой Дебютную библиотеку на базе миттельшпильного самоубуча. И этого достаточно.
    И сейчас я именно эту теорию прверяю, поэтому и отключил ОФ в программе.
     
  24. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    Код:
    Эта программа играет всего на 100 с небольшим пунктов слабее Фрица.
    Это не мало.
    Не на столько уж шашки 100 клеточные сложнее,чем шашки 64 клеточные.Принцип игры у них один и тот-же.А разницу в большем кол-ве рассчетов ,связанном с лишними клетками на доске компенсируют максимум лет через пять,если серьезно будет разрабатывать
    шашечные движки!!!
     
  25. NS
    Оффлайн

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

    Репутация:
    3
    Какой известной системе? Переборные алгоритмы вообщ ничем не отличаются. И в шашках, и в шахматах они одинаковы.

    У меня вообще тольк одно отличие - в LMR смотрится 2 лучших хода без сокращений (меньше чем в шахматах), а использую LMR только начиная с Depth<4, ну и шашках не используется NullMove. Всё остальное тоже самое.
     
  26. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    Код:
    Какой известной системе? Переборные алгоритмы вообщ ничем не отличаются. И в шашках, и в шахматах они одинаковы.
    Но в шахматах в 1000 раз больше разных позиций ,чем в сто- клеточных шашках!!!!!!!
     
  27. WildCat
    Оффлайн

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

    Репутация:
    0
    Посмотри исходники SiDra и KestoG.
     
  28. NS
    Оффлайн

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

    Репутация:
    3
    Ладно, потом сделаю. Не хочется лезть в чужой код :)
    EI_Stop работает, а анализ сделаю потом.
     
  29. NS
    Оффлайн

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

    Репутация:
    3
    В стоклеточных шашках достточно много возможных позиции, чтоб не было никаких оснований говорить о ничейной смерти. В них только одна проблма - значительный запас прочности. Для победы нужен очень весомый перевес.
     
  30. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    А вроде существуют еще 124-ех клеточные шашки?
     
  31. NS
    Оффлайн

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

    Репутация:
    3
    Доску можно взять любую. Есть восьмидесяти клеточные и 144 клеточные 124 - это какие стороны у доски? :) доска 31x4? :lol:
     
  32. NIKMASTER
    Оффлайн

    NIKMASTER Учаcтник

    Репутация:
    0
    Код:
    доска 31x4?
    Нет ,доска 1.24 на 10:lol:
     
  33. WildCat
    Оффлайн

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

    Репутация:
    0
    Как ты дебютную сделаешь без ОФ?
    Чекерсные программы полностью держаться на ОФ + эндшпильные базы (ну и перебор ессно). Только эта комбинация позволяет генерить дебюты.
    И то там только начальная позиция проработана. В шашки из классической начальной позиции уже практически никто не играет так как вероятность ничьей запредельная.

    Но еще есть смысл играть с жеребьевкой начальной позиции. Т.к. иногда бывают перекошенные позиции, которые не так-то просто удержать.
     
  34. NS
    Оффлайн

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

    Репутация:
    3
    Методика построения дебютной - в общем случае "запоминание проигранных позиций"
    Если мы один раз проиграли партию, то в какой-то момент даже без ОФ появляется позиция с отрицательной оценкой. Если мы запомним эту оценку в Хеше, то программа даже издалека будет видеть что это "плохой варииант"

    Принцип построения дебютной (обучения)

    Позиции с известными оценками используются в переборе на любой глубине (Просто дополнительных Хеш пеекрестных позиций)

    В процессе каждой партии, если текущей позиции нет в списке позиции, то она в него добавляется (в конец списка)

    Потом бежим по списку с конца (чтоб использовать захешированные уже оценки)
    Анализируем с заданным временем на обдумывание, и добаляем каждую позицию в Хеш самобуча с полученной оценкой и указанием текущего Depth.

    Обучать буду (проводить партии) не только по партиям из начальной позиции, а по базе летающих шашек (например взятой с чемпионата) и по базе начальных позиций из оболочки Каллисто.
     
  35. NS
    Оффлайн

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

    Репутация:
    3
    Это даст очень разнообразную дебютную, а потом уже можно добавлять в программу ОФ...