Подключение движка

Тема в разделе "Машинное отделение", создана пользователем Tristan, 19 дек 2006.

  1. Tristan
    Оффлайн

    Tristan Учаcтник

    Репутация:
    0
    Всем привет!

    Кто знает, какой формат нужно реализовать, чтобы на программном уровне общатся с шахматным движком? Как посылать ему ходы, как получать ответы и т.д.
    Нужно для написания собственного GUI для движков (таких как Fritz 5, Crafty, Ruffian и проч.)
     
  2. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Это недавно обсуждалось здесь.
     
  3. Tristan
    Оффлайн

    Tristan Учаcтник

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

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

    Репутация:
    3
    Самый продвинутый общепринятый протокол на данный момент - UCI2.
    http://www.shredderchess.com/download.html
    В самом низу страницы ссылка для скачивания.
    удобно смотреть что шлют движки в Арене - там есть отладочное окно.

    Вот еще одна ссылка для скачивания.
    http://sourcechess.jino-net.ru/UCI2.zip
     
  5. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Я тоже рекомендую ориентироваться на UCI.

    Один очень удобный инструмент при изучении протокола - программа InBetween. Её можно подключить между движком и интерфейсом и настроить чтобы она вела лог интерфейса. Таким образом можно изучить интерфейс любого движка без использовании Арены. (Движка WB или UCI). Скачать можно здесь.
     
  6. NS
    Оффлайн

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

    Репутация:
    3
    :)
     
  7. Tristan
    Оффлайн

    Tristan Учаcтник

    Репутация:
    0
    Спасибо, други! А как на счет Winboard интерфейса? Это совсем другой интерфейс?
    Например, на каком интерфейс работает сайт freechess.org?
     
  8. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Winboard это такой же текстовый интерфейс как UCI. Я не рекомендую браться за поддержку Winboard до тех пор пока оболочка не будет полностью рабочей с UCI. Кроме того Winboard и UCI с переменным успехом конвертируются друг в друга адаптерами.
     
  9. WinPooh
    Оффлайн

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

    Репутация:
    95
    С Фрицем просто так не выйдет, у Сhessbase-движков собственный, закрытый протокол... С Крафти и Раффиан - да, получится.
     
  10. Tristan
    Оффлайн

    Tristan Учаcтник

    Репутация:
    0
    Ок, спасибо.
    А что-нибудь по-моднее нету? Типа XML, Web services? И я так и не понял по какому интерфейсу работуют сайты типа freechess.org или www.chessclub.com?
     
  11. NS
    Оффлайн

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

    Репутация:
    3
    Мы говорим о движках сайтов, или об интерфесах шахматных движков? :)
    Движки поддерживают в основной своей массе один из двух открытых протоколов UCI/Winboard (либо сразу оба)
    XML? :)
    Мы о чем говорим? О репликации данных или об обмене информацией шахматного движка и оболочки? :)
     
  12. Tristan
    Оффлайн

    Tristan Учаcтник

    Репутация:
    0
    Про движки я все понял. Теперь интересует вопрос по сайтам. :)
     
  13. WinPooh
    Оффлайн

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

    Репутация:
    95
    freechess.org работает на протоколе xboard
    playchess.com - опять таки, на своём внутреннем чессбейзовском протоколе
    ICC вроде бы тоже какой-то проприетарный протокол поддерживает
    так же и Планета, Берег и пр. - везде всё собственное, без намёка на стандарт

    так что общаться, видимо, получится только с семейством xboard-серверов (FICS и его клоны)

    а протоколы не открывают по двум причинам:

    1) коммерческие услуги - платная авторизация и всё такое
    2) анти-читерские прибамбасы - они у всех свои, и их тоже не хотят разглашать
     
  14. варяг
    Оффлайн

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

    Репутация:
    0
    А я как раз новичкам рекомендую наоборот. Winboard гораздо легче реализовать.
     
  15. NS
    Оффлайн

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

    Репутация:
    3
    И чем-же он легче?
    В каком методе?
     
  16. WildCat
    Оффлайн

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

    Репутация:
    0
    WinBoard гораздо приятнее реализовывать. Легко можно управиться за полчаса.
    А UCI я не могу сделать уже больше года. Как только начинаю его делать, сразу начинает тошнить. Только огромным усилием воли смог режим анализа сделать, т.к. это было очень надо.

    Но это мои чисто эстетические предпочтения.
     
  17. NS
    Оффлайн

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

    Репутация:
    3
    У меня была написана простая оболочка под Winboard, а движок поддерживает UCI -
    по сложности точь-в-точь тоже самое...
     
  18. WildCat
    Оффлайн

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

    Репутация:
    0
    Тут дело не в сложности, а в извращенности UCI.
     
  19. NS
    Оффлайн

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

    Репутация:
    3
    Это с какой точки зрения посмотреть :)
    Например передача позиции... В UCI передается полная информация - начальная позиция и сделанные ходы. Я считаю что это намного лучше чем передача только очередного хода.
     
  20. NS
    Оффлайн

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

    Репутация:
    3
    И анализ партий (с конца партии!!! Чтоб использовать захешированные оценки)
    Каким образом можно реализовать в Winboard? Движок должен уметь отслеживать повторение позиции - значит ему нужна каждый раз информация с самого начала партии!
     
  21. Tristan
    Оффлайн

    Tristan Учаcтник

    Репутация:
    0
    А что на счет xboard интерфейса? Кто-нибудь его реализовывал? Насколько я понимаю, он схож с WinBoard...
     
  22. atoku
    Оффлайн

    atoku Модератор

    Репутация:
    0
    Насколько я понимаю - это просто одно и то же.
     
  23. WildCat
    Оффлайн

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

    Репутация:
    0
    Че-то не понял ничего. Чего тут не хватает для полного счастья?
    Есть команда undo для анализа с конца партии.
     
  24. WildCat
    Оффлайн

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

    Репутация:
    0
    А где в winboard передается неполная информация?
     
  25. NS
    Оффлайн

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

    Репутация:
    3
    undo - это полная информация? :)
    Я говорю о том, что по-моему мнению всяко лучше передавать всю информацию.
    А вся - это стартовая позиция, и последовательность ходов из неё. Одной командой.
    То есть как раз в UCI получается сделано лучше и удобней, хоть вообще запускай - чтоб через ход ходили разные движки :)
    Кстати, могу выложить такой переходник :)
     
  26. WildCat
    Оффлайн

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

    Репутация:
    0
    То же что и в winboard. Только там не передается каждый раз то, что уже и так известно движку.

    Я же говорил, что UCI вызывает у меня чисто эстетическое отвращение. По функциональности он почти ничем не хуже winboard.
     
  27. Tristan
    Оффлайн

    Tristan Учаcтник

    Репутация:
    0
    Ничем не хуже? Может ничем не лучше? Он (UCI) вроде поновее же! Как он может быть хуже?
     
  28. WinPooh
    Оффлайн

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

    Репутация:
    95
    Ну уж нет. Передавать, так всё полностью - вместе со всеми предыдущими партиями, игранными этим движком, и вообще вместе со всей историей шахмат. Только так: каждый ход - посылаем в сообщении всю Мегабазу, не меньше :D
     
  29. WinPooh
    Оффлайн

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

    Репутация:
    95
    Здесь вы делаете негласное предположение, что всё новое лучше всего старого, не так ли? :)
     
  30. WildCat
    Оффлайн

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

    Репутация:
    0
    Я этого не говорил! Я сказал: "почти ничем не хуже".
     
  31. Tristan
    Оффлайн

    Tristan Учаcтник

    Репутация:
    0
    Ну как я понял из обсуждения, UCI продвинутей и функциональней Winboard и тут вы говорите - не хуже. Это почти как Мерс почти ничем не хуже жигулей. :)
     
  32. Tristan
    Оффлайн

    Tristan Учаcтник

    Репутация:
    0
    Я надеюсь на это. :)
     
  33. NS
    Оффлайн

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

    Репутация:
    3
    А чего тут надеяться? :)
    Достаточно посмотреть какой протокол поддерживают лучшие коммерческие движки и оболочки :)
    Шреддер, Хиаркс, Фрукт, Рыбка и т.д. - все поддерживают UCI.
     
  34. WildCat
    Оффлайн

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

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

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

    Репутация:
    3
    По сложности они одинаковы, пользователю удобней UCI.
    Я именно об этом с самого начала и говорю :)
    Поддержка протокола - это мизерная часть от шахматной программы, требующая минимальных усилий.
    Вся процедура получения позиции у меня занимает несколько десятков строк (начальная позиция, fen, парсинг строки с преобрзованием хода во внутрений формат, и исполнние его)
    И главное - это как раз возможности и удобство для пользователя.