Модераторы: Snowy, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Давайте напишем игру "Точки"!!! 
:(
    Опции темы
ifinchuk
Дата 21.9.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.9.2008

Репутация: нет
Всего: нет



Я вот как то на спор на ajax за один день написал точки для игры в браузере через интернет.
После этого родилась идея сайт сделать Игра "Точки", "Дурак" и т.д.
PM MAIL   Вверх
Poseidon
Дата 21.9.2008, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 1
Всего: 133



ifinchuk, или я не разобрался, или на вашем сайте нельзя играть против машины. Конечно, с человеком играть интереснее, но суть топика была в том, что бы создать именно игру с ИИ.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
ifinchuk
Дата 22.9.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.9.2008

Репутация: нет
Всего: нет



Сорри за оффтоп.
Я разбирался с возможностью ИИ. И пришел к выводу что это почти не реально.
Возможен только очень хитрый эвристический алгоритм. Там как при даже удалении в 3 клетки от активной игровой области слишком большая глубина поиска образуется.
Возможно необходимо делать нейронную сеть, или как говорил эвристический алгоритм, но это нетривиальные задачи..(
PM MAIL   Вверх
Poseidon
Дата 22.9.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 1
Всего: 133



Цитата(ifinchuk @  22.9.2008,  21:26 Найти цитируемый пост)
И пришел к выводу что это почти не реально.
Все реально и все уже давно придумано. Осталось только реализовать smile



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
wotker
Дата 23.9.2008, 06:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: нет
Всего: 5



если напишите игру с AI равным по силе 1-му дану вы получите 1 000 000 $. Дерзайте)
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
Dims
Дата 24.9.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Насколько я помню по студенческим временам, я в голове вовсе не просчитывал все комбинации. Думаю, что и хорошие игроки-люди тоже этого не делают. Говорить о том, что доска 30 на 30 допускает 900 возможных вариантов хода, на мой взгляд, нерационально. 

На самом деле, возможно лишь НЕСКОЛЬКО вариантов: поставить точку где-то в середине, поставить точку вблизи границы, поставить точку вблизи угла. Подробная характеристика позиции, на мой взгляд, не нужна. Трудно вообразить, что где-то в середине есть клетка, ход в которую будет хорошим, притом, что ход в соседнюю клетку -- плохим. А раз не видно разницы, как говорится, то зачем платить больше?

То есть, мне кажется, что игра должна анализироваться на двух уровнях, на стратегическом и на тактическом.

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

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

Сражения рассматривается на тактическом уровне. На этом уровне можно рассматривать зону, допустим, 5 на 5 точек в районе, где происходит непосредственное столкновение. Этот район не такой уж и большой, для него можно применят обычную технику поиска эффективного поведения.

То есть, в "сознании" программы игра должна выглядеть так.

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

Если важность "зашкаливает", то есть, превышает некоторый порог, то в этом месте включается тактический уровень, заводится одна тактическая площадка. 

Площадок в игре много. Программа может их заводить и уничтожать, объединять и разъединять, в зависимости от предпочтений стратегического уровня.

Тактическая площадка состоит из отдельных точек и на ней ведётся обычный перебор вариантов, эвристики и т.п.

Если противник сделал ход в какую-либо из тактических площадок, то программа вызывает её из кеша, вспоминает весь сделанный по ней анализ, и принимает решение, ответить ли противнику в этой площадке или в другой. Если важность площадки велика, в частности, если в ней существует угроза замыкания, то ответный ход будет сделан в ней. Если невелика, то, возможно, в другой.

Проблема такого построения программы будет в грамотном подборе оценок важности и сопоставления стратегической и тактической важностей. 

Эта задача, я думаю, может быть решена при помощи обучения на большом массиве игр.
PM MAIL   Вверх
RockClimber
Дата 24.9.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Цитата(Dims @  24.9.2008,  15:32 Найти цитируемый пост)
На самом деле, возможно лишь НЕСКОЛЬКО вариантов: поставить точку где-то в середине, поставить точку вблизи границы, поставить точку вблизи угла. Подробная характеристика позиции, на мой взгляд, не нужна. Трудно вообразить, что где-то в середине есть клетка, ход в которую будет хорошим, притом, что ход в соседнюю клетку -- плохим. А раз не видно разницы, как говорится, то зачем платить больше?

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


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Dims
Дата 24.9.2008, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Мне кажется, тогда Го похожа на Реверси. В Реверси тоже есть выгодные позиции. 

Врочем, про Го я ничего не знаю, говорил именно про точки. Играется на листочке бумажки в клеточку, размер поля не фиксирован. Иногда даже неясно, где точно проходят края. Никаких выделенных точек там точно нет. Хотя, конечно, если поставить точку с краю, то её уже не окружат.
PM MAIL   Вверх
RockClimber
Дата 25.9.2008, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Цитата(Dims @  24.9.2008,  19:46 Найти цитируемый пост)
Мне кажется, тогда Го похожа на Реверси. В Реверси тоже есть выгодные позиции. 

Я, в свою очередь, ничего не знаю про реверси. Но выделение имеено тех точек в го, мне кажется, можно объяснить примерно так. В точках для того, чтобы взять точку противника, надо ее полностью окружить - поэтому интерес представляют точки на краю, как абсолютно защищенные от окружения. В го, чтобы взять точку противника, надо лишить ее т. н.  "степеней свободы" (в оригинале - "дамэ", вроде как дословно переводится как "дыхание") - это соседние 4 точки рядом (справа, слева, сверху и снизу). Т. е. точки на краю обладают меньшим числом степеней свободы и более уязвимы. Группа точек (камней в терминологии го) имеет общие степени свободы. Если группа камней имеет две замкнутые области внутри себя, то такую группу в принципе нельзя захватить (т. н. "живая группа"). Кроме того, при подсчете очков, учитываются области, которые контролируются одной из сторон, хотя полностью не окружены. Таким образом, точки в третьем ряду сильнее всего мешают противнику сделать живую группу скраю и отхватить кусок территории.
Ну или как-то так...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Dims
Дата 25.9.2008, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Прочитал в Википедии про игру Го. По моему мнению, она не похожа ни на точки, ни на реверси. Это совершенно отдельная игра. 

От реверси отличается тем, что фишки противника не становятся своими, а снимаются с доски. 

От точек отличается тем, что во многих случаях можно ходить внутрь захваченной противником территории. Собственно, и территории там никакой нет.

Все три игры имеют разные правила захватывания. В реверси нужно поставить своих на концах линии, в точках надо построить замкнутый круг, а в Го надо лишить "дыхания".

Чтобы написать программу для игры в Го надо какое-то время поиграть в игру, чтобы познакомиться с тем, как решает задачу мозг. А потом воплотить. Так что по Го я пас.

А вот над точками можно подумать.

А миллионы-то за какую игру дают, за Го или за точки? За Го наверняка!
PM MAIL   Вверх
RockClimber
Дата 25.9.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Миллионы дают за го. И что-то мне подсказывает, что к тому моменту, когда задача будет решена, сумма не раз подрастет... Я читал, что как-то на одном турнире одна участница (по совместительству - один из сильнейших игроков в го с мире) сыграла против компьютерной программы. Программе давалась фора в 25 камней, но она проиграла. То есть это результат аналогичен результату новичка, играющего в го несколько месяцев. А это была сильнейшая программа, которая разрабатывалась с начала 80-х... (Статья про это была в "Компьютерре" где-то лет 5 назад, события происходили в конце 90-х - начале 2000-х). Так что кому там хотелось миллионы заработать - вперед и с музыкой  smile 

Цитата(Dims @  25.9.2008,  12:05 Найти цитируемый пост)
 чтобы познакомиться с тем, как решает задачу мозг.

А я вот со своим мозгом не дружу...  smile Сколько ни пытался придумать, как он задачи решает, так ничего и не придумал... Может, специальную литературу почитать?


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
KGG
Дата 30.9.2008, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 23.7.2008

Репутация: -1
Всего: -2



хочеш создавать игры ? 

http://foryour.isgreat.org/ заходи и читай....если что пиши
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Совместные проекты/поиск партнёров"
Snowy
Poseidon

Внимание:
В этом форуме обсуждаются вопросы только по совместным проектам, когда Вы хотите найти партнёров или стать участником проекта.
Запрещается размещение заказов на написание программ, поиск работников (для этого есть раздел "Работа") и реклама своих сетевых ресурсов.

Этот раздел только для проектов в которых Вы будете выступать в качестве исполнителя!

Темы и сообщения, не удовлетворяющие данным правилам, будут удаляться на основании пункта 3 Правил форума!

  • Человек, создающий тему, становится руководителем проекта. Все вопросы о разработке решаются с его согласия.
  • Публикация предложения к сотрудничеству считается защищённым авторскими правами и не может разрабатываться без согласия с руководителем проекта.
  • Конечный продукт должен содержать указание на всех участников и Vingrad.

  • Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, Poseidon

     
    1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
    0 Пользователей:
    « Предыдущая тема | Совместные проекты/поиск партнёров | Следующая тема »


     




    [ Время генерации скрипта: 0.0844 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


    Реклама на сайте     Информационное спонсорство

     
    По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
    Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.