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

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

  1. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
  2. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Странно... А второй матч Skifi проиграла сразгромным счетом...
    В любом случае SiDra-у обыгрывает :)
  3. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У меня Skifi играет значительно слабее KestoG (а значит и MiuMiu).
    Эту версию выкладывать или сделаешь более сильную?

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

    • Ветеран
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    5.479
    Симпатии:
    123
    Репутация:
    1
    Оффлайн
    Никогда не занимался шашками, и посему антиресно узнать какие основные принципы при создании ОФ в шашках?
  5. WinPooh В.М.

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Тебе это только кажется.
    И я говорил о нормальном уровне игры.
  7. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    ОФ (табличную) прикрутить пару минут. Я могу сделать две версии - одну с ОФ, другую без.

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

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

    И у меня не хочет работать EI_Analyse
    Как ты её у себя запускаешь?
  8. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    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 Учаcтник

    • Участник
    Рег.:
    07.12.2006
    Сообщения:
    402
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Москва
    Оффлайн
    Как я пологаю, поскольку шахматы намного сложнее шашек, то шашечные программы должны просчитывать абсолютно все варианты
    возможной игры,и человека должны делать под ноль.
  10. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    В шашки человек также просчитывает все варинты, поэтому никакого "под ноль" всяко не будет :)
    Ничейная смерть в 64 клеточных шашках наступает...
  11. NIKMASTER Учаcтник

    • Участник
    Рег.:
    07.12.2006
    Сообщения:
    402
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Москва
    Оффлайн
    Ну насколько я знаю,те же программы играют с друг -другом не только в ничью!Как я пологаю ,если -бы столько ресерсов было-бы
    потрачено на тот же калисто ,сколько допустим на фриц,то уже сейчас калисто форсировано играл-бы без порожений в 1000 и даже
    в миллионе партий,а шашечные алгоритмы находили четкий путь к ничье!!!Играть было-бы действительно бессмысленно!!!
  12. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Коечно не все партии вничью. Например на прошедшем только-что чемпионате Европы - одна партия была результативной :D

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

    • Участник
    Рег.:
    07.12.2006
    Сообщения:
    402
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Москва
    Оффлайн
    А в сто-клеточных шашках, то-же самое???
  14. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Нет, в стоклетках всё нормально.
    Даже ежегодно проводится чемпионат в стоклеточный Чеккерс.
  15. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
  16. NIKMASTER Учаcтник

    • Участник
    Рег.:
    07.12.2006
    Сообщения:
    402
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Москва
    Оффлайн
    Это все потому,что шашечные движки не так распостраненные и доработаны, как шахматные.
  17. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Объяснили же - это потому что в шашках 64 клетках наступила ничейная смерть, а в 100 клетках просто всё нормально. До ничейной смерти как до луны... И среди людей, и среди сильнейших программ - так же как ничейной смерти нет и близко в шахматах (Хотя в шахматах рзультативность конечно выше чем в стоклетках)
  18. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Есть основания думать что Игорь Коршунов постратил на Каллисто значительно меньше сил чем на WildCat?
  19. NIKMASTER Учаcтник

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

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

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

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

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

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Эта программа играет всего на 100 с небольшим пунктов слабее Фрица.

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

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

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Какой известной системе? Переборные алгоритмы вообщ ничем не отличаются. И в шашках, и в шахматах они одинаковы.

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

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Посмотри исходники SiDra и KestoG.
  28. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Ладно, потом сделаю. Не хочется лезть в чужой код :)
    EI_Stop работает, а анализ сделаю потом.
  29. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    В стоклеточных шашках достточно много возможных позиции, чтоб не было никаких оснований говорить о ничейной смерти. В них только одна проблма - значительный запас прочности. Для победы нужен очень весомый перевес.
  30. NIKMASTER Учаcтник

    • Участник
    Рег.:
    07.12.2006
    Сообщения:
    402
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Москва
    Оффлайн
    А вроде существуют еще 124-ех клеточные шашки?
  31. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Доску можно взять любую. Есть восьмидесяти клеточные и 144 клеточные 124 - это какие стороны у доски? :) доска 31x4? :lol:
  32. NIKMASTER Учаcтник

    • Участник
    Рег.:
    07.12.2006
    Сообщения:
    402
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Москва
    Оффлайн
    Код:
    доска 31x4?
    Нет ,доска 1.24 на 10:lol:
  33. WildCat Коршунов Игорь

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

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

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

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

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

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

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

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

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Это даст очень разнообразную дебютную, а потом уже можно добавлять в программу ОФ...

Поделиться этой страницей