Computers can't play chess

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

  1. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    NS!
    Взял бы и сделал программу, играющую в Го
    Или для начала хотя бы в точки. На моем сайте www.igorkorshunov.narod.ru есть даже графическая оболочка + пара движков для точек. Но тупят со страшной силой. Если бы нашелся человек готовый программировать точки, может и я бы вернулся к этому занятию :)
  2. chich Учаcтник

    • Участник
    Рег.:
    11.02.2006
    Сообщения:
    3.535
    Симпатии:
    12
    Репутация:
    1
    Адрес:
    Воронеж
    Оффлайн
    а в чём принципиальная разница между Го и точками?
  3. NS Нефёдов Сергей

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

    Хотя можно на спор написать ГО, у кого лучше получится.
    Чтоб не было разногласий - очки считаем по Китайским правилам.
  4. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.494
    Симпатии:
    3.126
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    1. В возможности игры на месте съеденных камней.
    2. В правиле ко
    3. В размере доски
    4. В способе подсчёта очков после партии

    Короче, различий куда больше, чем сходств. Совершенно разные игры. Как футбол и волейбол - общего только то, что мяч круглый и примерно одного размера.
  5. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я все-таки предлагаю начинать с точек. Эта игра проще.
    В Го я пока мало чего понимаю. Но со временем можно попробовать и Го сделать.

    Еще одно важное отличие точек от Го это правила захвата вражеских камней.
  6. NS Нефёдов Сергей

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Ну хорошо. Давай попробуем Го.

    Меня интересует:
    - китайские правила Го
    - сайты по программированию Го
    - есть оболочка, которая позволяет подключать сторонние движки и проводить матчи между ними?
    - хотя бы в общих чертах, как оценивать позицию

    Я знаю только одну программу Го - igowin. По каким правилам она играет?

    ЗЫ. Еще одно отличие точек и ГО (может быть самое важное) - цель игры: в точки - окружить точки противника, в Го захватить побольше пространства.
  8. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.494
    Симпатии:
    3.126
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
  9. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.494
    Симпатии:
    3.126
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Не раскрыта тема ключа от квартиры, где деньги лежат :)

    Если серьезно, отсутствие чётких критериев сколь-нибудь приемлемой статической оценки позиции - и есть один из основных камней преткновения в Го-программировании. Даже для доски 9х9 (!), комбинаторная сложность Го на которой чуть поменьше или сравнима с шахматами...

    Умоляю: прежде чем бросаться на пулемет, ПРОЧИТАЙТЕ вот это:
    http://www.ai.univ-paris8.fr/~cazenave/CG-AISurvey.pdf

    Ну не глупые люди всё это писали, поверьте... И пересечение множества авторов сильных шахматных программ с множеством пробовавших писать Го - непусто...
  10. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Сейчас найду ссылки. На правила и т.д.
    Оболочки есть готовые, и есть протокол.
    Программы GnuGo, Go++, AYA, The Many Faces of Go и т.д.
    Пока сильнейшая вроде Go++
    Я всё, что платное - качал в Осле (нехорошо, но что делать;))
  11. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.494
    Симпатии:
    3.126
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    А мне очень нравится программа Handtalk. Могу желающим выслать. Написана на чистом ассемблере лет десять-пятнадцать назад, по размерам - просто малютка. Но играет очень хорошо. Многие эксперты считают, что по пониманию Го ничего лучше за это время так написано и не было.
  12. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    http://forum.weiqi.ru/index.php?f=0
    Это форум
    http://forum.weiqi.ru/read.php?f=4&i=1630&t=1630
    Это насчет правил - в последнем посте ссылка.
    В общих чертах - запрещено позиционное повторение позиции (запрещено повторение позиции независимо от очереди хода), если группа не имеет возможностей, она снимается с доски, запрещен самоубийственный ход, если при этом не снимаются с доски камни соперника (в этом случае камни соперника снимаются, а свои есно остаются) очки - своя территория + свои камни (снятые с доски камни не учитываются, для простоты - своя территория - территория к которой нет пути от камней соперника), партия заканчивается после двух пасов подрят (спасовали оба соперника)
  13. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.494
    Симпатии:
    3.126
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
  14. dees Учаcтник

    • Участник
    Рег.:
    09.05.2006
    Сообщения:
    17
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Handtalk сильно разрекламирован как единственная в мире программа, которой был присужден разряд 3 кю. Но однажды ей устроили "показательную порку", когда Дженис Ким, игрок-профессионал, разгромила ее на 25 камнях форы! 25 камней это просто чудовищная цифра, те, кто знаком с го не по наслышке поймут. Какие тут к черту 3 кю.
    Если считать профессионала как игрока 8-9-го дана , то рейтинг Handtalk получается в районе 15-17 кю. А это уровень человека, познакомившегося с правилами 2-3 месяца назад.
  15. NS Нефёдов Сергей

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

    • Участник
    Рег.:
    09.05.2006
    Сообщения:
    17
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Вообще считается что рейтинг в го должен считаться как с форовыми, так и с партиями на равных, иначе могут происходить деформации шкалы (сужения или растягивания). Если интересно, то обсуждение вопросов рейтинга можете найти на том же forum.kido.com.ru в разделе турниров, ох и флейма там!

    А по поводу рейтинга программ могу рассказать следующее. Я учился играть в го как раз с компьютером, так как живых партнеров под рукой не было. Это были GnuGo 3.4 и MFGO 11. Рейтинг обеих обычно оценивается примерно в 12-13 кю, эти программы не являются лидерами компьютерного го, но также и далеко не аутсайдеры, а так, крепкие середняки. Когда я стал выигрывать у них на равных я полез на интернет-сервер для игры с "живым" противником. В итоге мой рейтинг оказался примерно 20 кю, вместе с тем у роботов, работающих под управлением той же GnuGo на том же сервере рейтинг был примерно в 10 кю.
    Отсюда можно сделать вывод, что даже такой абсолютный новичок, каким был я оказался способен найти бреши в логике программ (хотя я даже не осознавал этого), позволившие сравнять наши шансы. Так что неудивительно, что занявшись целенаправленным поиском таких дыр живые игроки разносят программы в пух и прах.
  17. NS Нефёдов Сергей

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    WinPooh!
    Я прекрасно понимаю сложность программирования Го. Моя цель пока всего-лишь сделать прогу лучше, чем NS.
    Насколько она будет плохо играть с людьми для меня не важно.
  19. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    >Оболочки есть готовые, и есть протокол.

    Хотелось бы увидеть прямые линки.
  20. dees Учаcтник

    • Участник
    Рег.:
    09.05.2006
    Сообщения:
    17
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Подборка ссылок по компьютерному го есть на сайте GNU Go: http://www.gnu.org/software/gnugo/free_go_software.html

    Что касается протоколов то скорее всего в виду имелся GMP (Go Message Protocol) или GTP (Go Text Protocol). Их описания я думаю модно найти на том же сайте или по ссылкам с него.
  21. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Мне нужны прямые ссылки на хоть какую-нибудь оболочку позволяющую делать матчи между движками и на парочку движков.
    Или киньте в мыло.

    Все что я нашел это кучи исходников непонятно на чем написаных. Мне не нужны исходники!!! Мне нужны исполнимые файлы.
    Здесь столько любителей Го. Неужели ни у кого ничего нет?
  22. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Оболочки есть, но похоже лучше написать свою... Колбасит их сильно. Видимо "очень сильные шахматные программистами" пересеклись с множеством программистов пишущих программы в ГО...;)))
    Облочки - gGoClient, Jago...
    Проаграммы под оболочки - например GnuGo.
    Играют вроде только по Японским правилам (но я не уверен), очки считать абсолютно не умеют.
    Ссылки на исполнимые файлы сейчас дам.
  23. NS Нефёдов Сергей

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    >Оболочки есть, но похоже лучше написать свою...

    Сперва хочется попробовать те, что уже есть.
  25. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    В ГО совсем просто.
    Можно по аналогии с UCI тремя командами обойтись...
    Подсчет очков по Китайским правилам совсем элементарный.
    Очный чемпионат, на который легко записаться проводится по китайским правилам.
    http://www.cs.unimaas.nl/olympiad2006/index.htm
    http://www.cs.unimaas.nl/olympiad2006/rules.html
    http://www.cs.unimaas.nl/olympiad2006/images/olymp.jpg
  26. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    >Можно по аналогии с UCI тремя командами обойтись...
    Т.е. обойтись без поддержки GTP?

    Ты думаешь успеть к 11-й олимпиаде?
  27. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Jago не умеет подключать два движка. Какая оболочка точно умеет это делать?
  28. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Да, просто написать свою оболочку.
    К 11-ой врятли, хотя если не бояться последнего места - то можно.;)
    Идей куча, но как и с шахматами сроки поджимают.
    И если в шахматы Это не первый опыт играющей программы - то в Го программа была полу-играющей.
    Я вообще хотел поучатсвовать в Гекс (Hex) - но жена кучу кода убила, и все записи выкинула.
    Теперь обидно всё по-новой делать и обдумывать. (Нашел много неточностей в методе Андреевича, очень его улучшил, и сделал селективным - то есть программа может искать выигрыш без перебора, хотя это и не практично, но в конце партии может сразу видеть намного более сложные проходы, чем его метод)

    Два движка я подключать не пробовал, но какая-то из оболочек должна уметь это делать.
  29. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Все-таки расскажи как ты предлагаешь делать ОФ для Го.

    >Теперь обидно всё по-новой делать и обдумывать.
    А от переписывания проги только лучше становятся :)
  30. NS Нефёдов Сергей

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

    Оценочную функцию? Я делал по расстоянию от оцениваемого поля до полей ЗА краем доски, своих и фишек соперника. А там можно уже играться коэффициентами.
    ФВ - Ходы снимающие фишки соперника, ходы с угрозой снять, защита от угрозы снять.
    После пустого хода в ФВ - снимаются камни находящиеся в состоянии Атари (имеющие только одну степень свободы)...
  31. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Скачал gogui. Ни хрена непонятно как запускать.

    Архив был 7.8 Мб, который легко сжимается до 3.3. И такое наплевательство Го-программистов чувствуется во всем.
  32. NS Нефёдов Сергей

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

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.494
    Симпатии:
    3.126
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Many Faces of Go 11.0 вполне неплохо подсчитывает очки в конце партии. Я бы сказал, в 99.9% случаев даёт правильный результат.
  34. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.494
    Симпатии:
    3.126
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Взгляните, кстати, на результаты конкурса по определению результата партий.
    Программа-победитель правильно взяла 99.5% позиций.

    http://rusgolib.iponweb.net/GoNaPK/ProGo/KonkursRezul'tat.html
    (я не знаю почему эта ссылка портится... скопируйте её в строку браузера и ВСТАВЬТЕ АПОСТРОФ перед перед tat.html)
  35. NS Нефёдов Сергей

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

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