![]() |
Модераторы: Snowy, Poseidon |
![]() ![]() ![]() |
|
ifinchuk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 21.9.2008 Репутация: нет Всего: нет |
Я вот как то на спор на ajax за один день написал точки для игры в браузере через интернет.
После этого родилась идея сайт сделать Игра "Точки", "Дурак" и т.д. |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 1 Всего: 133 |
ifinchuk, или я не разобрался, или на вашем сайте нельзя играть против машины. Конечно, с человеком играть интереснее, но суть топика была в том, что бы создать именно игру с ИИ.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
ifinchuk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 21.9.2008 Репутация: нет Всего: нет |
Сорри за оффтоп.
Я разбирался с возможностью ИИ. И пришел к выводу что это почти не реально. Возможен только очень хитрый эвристический алгоритм. Там как при даже удалении в 3 клетки от активной игровой области слишком большая глубина поиска образуется. Возможно необходимо делать нейронную сеть, или как говорил эвристический алгоритм, но это нетривиальные задачи..( |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 1 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
wotker |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 18.7.2006 Где: Ростов-на-Дону Репутация: нет Всего: 5 |
если напишите игру с AI равным по силе 1-му дану вы получите 1 000 000 $. Дерзайте)
--------------------
ICQ :: 347306684e-mail :: wotker[at]rambler[dot]ru |
|||
|
||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Насколько я помню по студенческим временам, я в голове вовсе не просчитывал все комбинации. Думаю, что и хорошие игроки-люди тоже этого не делают. Говорить о том, что доска 30 на 30 допускает 900 возможных вариантов хода, на мой взгляд, нерационально.
На самом деле, возможно лишь НЕСКОЛЬКО вариантов: поставить точку где-то в середине, поставить точку вблизи границы, поставить точку вблизи угла. Подробная характеристика позиции, на мой взгляд, не нужна. Трудно вообразить, что где-то в середине есть клетка, ход в которую будет хорошим, притом, что ход в соседнюю клетку -- плохим. А раз не видно разницы, как говорится, то зачем платить больше? То есть, мне кажется, что игра должна анализироваться на двух уровнях, на стратегическом и на тактическом. На стратегическом уровне игровое поле должно рассматриваться как непрерывное пространство, по которой плавно распределяется поле важности. В процессе игры в этом поле возникают зоны повышения -- области реальных или возможных сражений. Кроме того, со стратегической точки зрения, точки свои и точки противника не представляются чем-то раздельным, а являются некими цепями в пространстве, замкнутыми или незамкнутыми. И, собственно, замыкание этих цепей вокруг как можно большей области и является стратегической задачей. Сражения рассматривается на тактическом уровне. На этом уровне можно рассматривать зону, допустим, 5 на 5 точек в районе, где происходит непосредственное столкновение. Этот район не такой уж и большой, для него можно применят обычную технику поиска эффективного поведения. То есть, в "сознании" программы игра должна выглядеть так. На стратегическом цепи программа видит цепи, свои и противника. Пространство непрерывно, цепи непрерывны (не состоят из отдельных точек). Особо выделяются концы цепей, границы областей и т.п. В этих районах поле важности повышается. Пространство в районе цепей, близких к соединению друг с другом, становится ещё более важным. Пространство в районе, где цепи близки к замыканию, становится наиболее важным. Так же повышается важность в тех местах, где только что совершён ход. Если важность "зашкаливает", то есть, превышает некоторый порог, то в этом месте включается тактический уровень, заводится одна тактическая площадка. Площадок в игре много. Программа может их заводить и уничтожать, объединять и разъединять, в зависимости от предпочтений стратегического уровня. Тактическая площадка состоит из отдельных точек и на ней ведётся обычный перебор вариантов, эвристики и т.п. Если противник сделал ход в какую-либо из тактических площадок, то программа вызывает её из кеша, вспоминает весь сделанный по ней анализ, и принимает решение, ответить ли противнику в этой площадке или в другой. Если важность площадки велика, в частности, если в ней существует угроза замыкания, то ответный ход будет сделан в ней. Если невелика, то, возможно, в другой. Проблема такого построения программы будет в грамотном подборе оценок важности и сопоставления стратегической и тактической важностей. Эта задача, я думаю, может быть решена при помощи обучения на большом массиве игр. |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: нет Всего: 15 |
Я тут вспомнил, как когда-то пытался научиться играть в го, читал про тактики... В общем и целом с цитатой согласен, но применительно к го есть такие особые точки - третий ряд от края, третья точка от конца ряда (4 точки на доску). Захват именно этих точек дает стратегическое преимущество - это точно. Плюс еще некоторые точки, в которые ставятся камни в начале игры (когда более сильный соперник дает фору более слабому). Как они отбираются, я не знаю, но возможно, какое- значение их положение имеет. Кстати, есть же что-то вроде сборника дебютов для го - эти труды начали создавать еще лет пятьсот назад с подробными комментариями. Может, стоит их поискать? -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Мне кажется, тогда Го похожа на Реверси. В Реверси тоже есть выгодные позиции.
Врочем, про Го я ничего не знаю, говорил именно про точки. Играется на листочке бумажки в клеточку, размер поля не фиксирован. Иногда даже неясно, где точно проходят края. Никаких выделенных точек там точно нет. Хотя, конечно, если поставить точку с краю, то её уже не окружат. |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: нет Всего: 15 |
Я, в свою очередь, ничего не знаю про реверси. Но выделение имеено тех точек в го, мне кажется, можно объяснить примерно так. В точках для того, чтобы взять точку противника, надо ее полностью окружить - поэтому интерес представляют точки на краю, как абсолютно защищенные от окружения. В го, чтобы взять точку противника, надо лишить ее т. н. "степеней свободы" (в оригинале - "дамэ", вроде как дословно переводится как "дыхание") - это соседние 4 точки рядом (справа, слева, сверху и снизу). Т. е. точки на краю обладают меньшим числом степеней свободы и более уязвимы. Группа точек (камней в терминологии го) имеет общие степени свободы. Если группа камней имеет две замкнутые области внутри себя, то такую группу в принципе нельзя захватить (т. н. "живая группа"). Кроме того, при подсчете очков, учитываются области, которые контролируются одной из сторон, хотя полностью не окружены. Таким образом, точки в третьем ряду сильнее всего мешают противнику сделать живую группу скраю и отхватить кусок территории. Ну или как-то так... -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Прочитал в Википедии про игру Го. По моему мнению, она не похожа ни на точки, ни на реверси. Это совершенно отдельная игра.
От реверси отличается тем, что фишки противника не становятся своими, а снимаются с доски. От точек отличается тем, что во многих случаях можно ходить внутрь захваченной противником территории. Собственно, и территории там никакой нет. Все три игры имеют разные правила захватывания. В реверси нужно поставить своих на концах линии, в точках надо построить замкнутый круг, а в Го надо лишить "дыхания". Чтобы написать программу для игры в Го надо какое-то время поиграть в игру, чтобы познакомиться с тем, как решает задачу мозг. А потом воплотить. Так что по Го я пас. А вот над точками можно подумать. А миллионы-то за какую игру дают, за Го или за точки? За Го наверняка! |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: нет Всего: 15 |
Миллионы дают за го. И что-то мне подсказывает, что к тому моменту, когда задача будет решена, сумма не раз подрастет... Я читал, что как-то на одном турнире одна участница (по совместительству - один из сильнейших игроков в го с мире) сыграла против компьютерной программы. Программе давалась фора в 25 камней, но она проиграла. То есть это результат аналогичен результату новичка, играющего в го несколько месяцев. А это была сильнейшая программа, которая разрабатывалась с начала 80-х... (Статья про это была в "Компьютерре" где-то лет 5 назад, события происходили в конце 90-х - начале 2000-х). Так что кому там хотелось миллионы заработать - вперед и с музыкой
![]() А я вот со своим мозгом не дружу... ![]() -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
KGG |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 23.7.2008 Репутация: -1 Всего: -2 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Совместные проекты/поиск партнёров" | |
|
Внимание: Этот раздел только для проектов в которых Вы будете выступать в качестве исполнителя! Темы и сообщения, не удовлетворяющие данным правилам, будут удаляться на основании пункта 3 Правил форума!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, Poseidon |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Совместные проекты/поиск партнёров | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |