Какой должна быть первая игра?

9 views
Skip to first unread message

Admin

unread,
Feb 9, 2007, 6:39:36 PM2/9/07
to AIPolygon
Мне кажется, первое состязание, должно пройти с использованием какой-
нибудь оооочень примитивной игры, что бы все желающие могли
потренироваться в написании своих программ.

Какую именно Игру вы предпочитаете?
- Камень, ножницы, бумага.
- Поиск клада на карте ( без / с препятствий ).
- Что-то другое.

Алхимик

unread,
Feb 12, 2007, 5:15:32 AM2/12/07
to AIPolygon
Поскольку предполагается создание универсальных игроков, то, наверное,
нужно предлагать сразу несколько игр разных типов.
1) вероятностные - типа "камень, ножницы, бумага" или даже проще: два
хода "орел", "решка" - один игрок играет на согласование, другой на
рассогласование.
2) игра с полной информацией -типа крестики-нолики.
3) нечто среднее между двумя первыми. На игровом поле расположены
грибы - съедобные и ядовитые. Игрок видит только соседние клетки (5
или 9), может передвигаться оп полю. Его задача собрать съедобные и не
трогать ядовитые. И так передвигаться по полю, чтобы помешать сделать
это противнику. Поле 10*10, 7 съедобных и 3 ядовитых. Победит, кто
больше соберет и не отравится.
Я думаю, что игрокам с универсальными программами будет заранее
сообщена суть игры, но не известен протокол ходов. Их задача будет
правильно интерпретировать входящую строку и связать ее с имеющимся
опытом.
Я думаю, что судейская программа должна не только передавать ходы
противника, но и некоторую информацию о игре. Например, в крестиках-
ноликах это может быть восемь чисел, обозначающих число знаков на
линии (вертикали, горизонтали и диогонали). Судейская программа
определяет, какие именно изменения произошли после ходов игроков, и
передает эту информацию вместе с ходом противника или после каждого
хода. Считаю обязательным с каждым ходом передавать название игры и
имя партнера, так сказать постоянные факторы.
Можно будет включать и не универсальные программы для привлечения
менее опытных программистов. По специальной заявке им высылается не
только содержание игры, но и протокол будущих ходов и они пишут
специально заточенные под данный конкретный протокол. Играть будут все
в одном турнире, а зачеты отдельно для универсалов и спец заточенных.

Dan Er

unread,
Feb 12, 2007, 5:42:08 AM2/12/07
to aipo...@googlegroups.com
Интересные предложения...

Все вами сказанное, надо учесть, но все-таки первая игра, должна опробовать
сам турнир. Поэтому, мне кажется, одной игры будет вполне достаточно и чем
проще, тем лучше. Тем более что игроков в начале будет не так уж и много, и
делать разные зачеты, пока, просто не целесообразно. На мой взгляд
"орел-решка" не плохо подойдут под такие цели.

Что касается протоколов. Я тоже считаю, что передавать информацию о ходе
игры, для некоторых игр просто необходимо (но не для всех). Я даже скажу
больше. Возможно, для каких то командных игр будет введена директива общения
между игроками команды. А вот название игры и имя партнера... это я не
пойму, зачем делать?

Dan Er

unread,
Feb 12, 2007, 5:51:15 AM2/12/07
to aipo...@googlegroups.com
Вот я еще подумал на счет "орел-решка" и "камень-нож...". Можно сделать так:
В начале игры игрок получает от судьи A,B,C,D..... (и возможно кол-во,
противников, хотя для первой игры это уже лишний наворот) и уже с ними
играет. Т.е. если это A,B, то игра "орел-решка", а если A,B,С то
"камень-нож...".

Алхимик

unread,
Feb 12, 2007, 9:44:38 AM2/12/07
to AIPolygon

On 12 фев, 12:42, "Dan Er" <dane...@gmail.com> wrote:
> между игроками команды. А вот название игры и имя партнера... это я не
> пойму, зачем делать?

Лично я буду пробовать (не знаю, как получится) делать универсальную
программу, играющую в разные игры. Может случится, что ходы в разных
играх совпадут (часто цифрами обозначаются) и может возникнуть
негативное влияние между разными знаниями ИИ. А название игры,
(транслируемое с ходом) разведет ситуации. А имя игрока позволит
диференцировать опыт игры, полученный от разных источников и более
точнее выбирать стратегию.
Возможно я забегаю вперед, и пока можно обойтись без этого до того
момента, когда такие проблемы действительно возникнут.

Алхимик

unread,
Feb 12, 2007, 10:07:27 AM2/12/07
to AIPolygon

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

Dan Er

unread,
Feb 12, 2007, 1:30:07 PM2/12/07
to aipo...@googlegroups.com
По-моему, вы не только вперед забегаете, но и то что вы хотите сделать, не
совсем правильно. Во-первых, если вы хотите универсальную программу, то она
должна сама уметь распознавать то в какой игре она принимает участие... если
же нет, то название игры вы можете определить вручную, до того как пошлете
ее на соревнование, я не вижу в этом проблему. Само по себе, распознавание
игры, это проблема, поэтому проведя соревнование по игре А, Б и В, можно
устроить соревнование, в котором заранее будет известно, что игра будет или
А или Б или В. Т.е. либо пишите универсальную стратегию для всех 3-ех, либо
пишите метод распознавания игры и потом уже выбор определенного метода. Но
до таких "гибридных" турниров, еще пока далеко.

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

Ну, можете, конечно, рассматривать это как название игры, можете, как
параметр. Это уже кто как хочет и кому как удобней. Что касается путаницы...
Это одна из ваших задач, что бы такой путаницы не было.
Кстати, это я 2 примера привел (A,B или A,B,C), а если эта начальная
информация будет A,B,C,D,E,F,G ? Как вы эту игру назовете? Другими словами,
если для каждого варианта параметров давать имя, то получится бесконечное
число наименований.

daner

unread,
Feb 12, 2007, 5:54:21 PM2/12/07
to AIPolygon
Сегодня, дискутировал по поводу КНБ (камень - ножницы - бумага) и у
меня получилось убедить оппонента в том, что интеллектуальная
программа эффективней чем "глупая" использующая какую-то одну
статичную стратегию. Пока мы дискутировали, я пришел к выводу, что
реализовать КНБ как первую программу, очень и очень полезно.

Во-первых, она простая и всем известная. В ней очень мало правил, и
протокол получится очень маленьким.

Во-вторых, участникам будет легко написать первую программу для
турнира, т.е. они сосредоточатся на привыкании писать для AIP,
подготовят себе платформу для дальнейших более серьезных программ. В
общем, это позволит опробовать весь процесс проведения турниров (как
технические, так и организационные проблемы).

И последнее, для многих уверенных, что КНБ это элементарно, результаты
могут оказаться очень неожиданными....:)

Reply all
Reply to author
Forward
0 new messages