Как стать автором
Обновить

Комментарии 45

НЛО прилетело и опубликовало эту надпись здесь
Почему же? Все только впереди…
Где тупик? По-прежнему есть множество игр, где ИИ слишком слаб (например в жанре RTS). В статье речь идет о том, что игра должна «красиво отдаться» игроку, потому, что люди любят побеждать. А красиво, значит так, чтобы игрок не почуял подвоха.
В RTS ИИ умел уверенно обыгрывать игрока уже лет 10 назад. Например, в том же «Z». Неплохой ИИ (хотя и более примитивный) был в «KKnD2» и «Total Annihilation».

С тех пор разработка ИИ в RTS сделала явный шаг назад :) Видимо, потому что массовым игрокам с мощным ИИ играть неинтересно…
НЛО прилетело и опубликовало эту надпись здесь
То, что очевидно людям «в теме», зачастую со стороны, воспринимается как «захватывающие подробности»… не забывайте)
Некоторые люди, когда не моугт понять статью, начинают ее обсирать ..D
Одни думают, как сделать ИИ умнее, другие пытаются сделать его глупее. Разве на данном этапе развития игр ИИ настолько сложен, что его невозможно обыграть?
Скорей всего это называется «роботизм».
В играх бывают очень простые для алгоритмизации и дальшнейшего просчета компьютером ситуации: забить шар в лузу, пулю в голову, мяч в ворота, шашку в дамки и так далее.
С другой стороны есть РПГ и стратегиями немного сложнее, например взять ту же доту: 93 героя с уникальными скиллами, то есть каждому надо знать тактику боя против 92 остальных. Дальше больше: в командах по 5 героев, то есть имея тактику боя против 92 героев надо как то это скоординировать в бой 5х5. К тому же не одним боем решатся исход игры, есть куча тактических моментов вроде гангов, целенаправленного долбления героев, которым нельзя давать качаться… Попробуйте привести хотя бы примерную идею, как научить этому ИИ :)
Так что эффективность ИИ колеблется от нуля до полного отсутствия шансов на победу в зависимости от выбранной игры.
Только дотеры считают доту сложной стратегией.
Конечно. Думаю вы без труда напишите ИИ, которого будет невозможно обыграть в «крестики-нолики». :)
Кстати, по этой задаче можно так же понять насколько сложно сделать грамотно проигрывающего ИИ. :D
хорошая статья всегда было интересно почитать про продуманные ошибки ИИ, очень хочется увидеть продолжение, желательно с примерами :)
Рекомендую dtf.ru — там на форуме, в посмортемах и статьях, есть с десяток интересных публикаций на тему разработки ИИ.
Тема действительно интересная.
Читать компьютер и задачи выбора, а именно:
алгоритм риска
алгоритм жадности
Совершенно верно.

Но немного упрощая, надо заложить игровому ИИ «страх проиграть», смешанный с «азартом (это даже в байтах не изложить)» и «идеальным компьютерным расчётом». И, надо заметить, эта консистенция должна быть совершенно разной для разных кругов людей — человек очень зависимое от компании существо. Даже на практике, играя в карты в «дурочка», не в каждой компании везёт и решение проблемы далеко не в профессионализме в этой игре.

Тема и в самом деле интересная, но её реализация заставляет сильно задуматься.

PS: есть тут психологи (аль парапсихологи)? Хотелось бы услышать варианты ответа на вопрос: почему человек выигрывает когда верит, что выйграет. Не надеется, а именно чувствует, что выйграет. Этот вопрос касается именно игр между человеками. Причем любые (интересует с проф. точки зрения, как программиста).
Есть такая штука — эффект хиндсайта (Hindsight bias). Тенденция преувеличивать способность предвидеть, после того как результат стал известен. Также известна как феномен «я знал это!».

То есть не человек выигрывает, когда верит, что выиграет, а человек верит, что верил, что выиграет, когда выигрывает )

А еще есть т. наз. эффект самосбывающихся пророчества (the self-fulfilling prophecy). Например, когда человек приходит к мнению, что проиграет — он начинает подспудно делать так, что это мнение сбывается.
Спасибо, не знал, что это имеет научное название :). Но говорил немного о другом: человек даже не верит — просто знает, что выйграет (хотя предпосылок нет) и выигрывает несколько раз подряд, как игра в костяшки.

Однажды именно у меня была такая ситуация в студенческие годы, когда я по [извиняюсь] нетрезвости играл с КМС по шахматам. Степень трезвости у обоих была примерно одинаковая и не сильная. Я выйграл 4 из 10 и учитывая, что я в жизни в шахматы играл раз 15 не более (знаю только примерные правила и ходил по интуиции).

Это просто был личный пример, но наблюдал его очень много раз на разных людях по своей специфике.

Так, что-то я разошёлся в метафизику :). Адекватные парапсихологи или иной философии интересные люди здесь есть? — вопрос этот меня с детства терзает — «как же так происходит?».
Я одно время работал с персоналом казино. Вот статья «по мотивам» про то, почему люди «просто знают». Кстати, многие крупье в первый же месяц работы в казино сами начинают играть. Злую шутку с ними играет избирательного припоминания…
casinostrateg.ru/statyi/lucky.php
Эту книжку уже читал, давненько правда (в этой статье абзацы из неё).

В моей кандидатской эта фраза была немаловажной:
«Это не просто детская любознательность, это проявление нашего эволюционного преимущества: стремления выяснять закономерности в том, как устроен мир. [b]Если причину не удаётся найти в материальном мире — люди ищут её в мире нематериальном[/b].

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

»Многое есть того, что не известно нашим мудрецам, друг Гораций." (с) упрощённый пересказ.

И мой нестандартный вопрос так и остаётся открытым :). Я бы задал [и задавал] его на сайте звездочётов, богоприближенцев, даже филологов — у них знаний по литературе много, но боюсь к науке, как к вещественному, они никак не приближены.
о да, выиграл у пьяного «КМС» =) мозг!
В этом кстати ничего удивительного нет. Люди, играющие в шахматы профессионально имеют огромную память на позиии. Своего рода базу данных дебютов, миттельшпилей, эндшпилей и других страшных слов. Соответственно игра ведется на уровень выше, нежели «передвигание кукол». И начинается и заканчивается игра как правило тоже определенным образом.

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

То же самое и в настольном теннисе например. Новички зачастую делают подачи «неправильно», поскольку рука у них не поставлена. Подрезки и прочая техника тоже получается сильно случайной, а это может жутко осложнить дело в игре. Первую партию даже у перворазрядника можно сыграть вничью, а то и выиграть, выехав как раз на плохо прогнозируемой манере игры.

На практике, мастеру достаточно пару раз сыграть с таким новичком, чтобы понять его стиль игры и выработать соответствующую защиту. Дальше как правило новичку выиграть будет уже практически невозможно.

В состоянии опьянения именно эти навыки страдают в первую очередь, что в теннисе что в шахматах. Поэтому профессионал скатывается на свои «моторные шаблоны», где новичек гораздо более разболтан а потому сильнее :)

Как то так в общем.

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

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

Алгоритм самообучения частенько применялся ещё так в годах 90х — как пример, Mortal Kombat 3,4. Но эти игрушки были рассчитаны на постоянные посиделки.

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

Логическим завершением является то, что идея топикмастера на раздумие и размышление где и как применить.
Так в Mortal Kombat 3 был алгоритм самообучения?! Ога! Теперь по прошествую стольких лет ВСЁ СТАЛО ПОНЯТНО!!!
Алгоритм самообучения были в MK1,2, только он был слишком простым и обходился очень просто: «не повторяй серию из своих „трёх движений“

А в дальнейшем, именно по этому эта серия игры и была столь увлекательна. Они хорошо продвинулись в человекоподобном ИИ в приложении к этой игрушке.
И честно говоря, как и программист и как и «дитё своего времени», которое любило эту игру, — программерам этой игры (жаль сейчас имён не помню) огромнейшая уважуха. Такую идеальную логику поведения применимо к ситуации к поведенческим инстинктам людей в игре я более никогда не встречал. Особенно ИИ — это была вещь: работало аж на 144 пне (я про мк3).
Я бы предложил двигатся к бОльшей реалистичности. То есть скажем в бильярде не просто выставлять угол и силу атаки, а именно моделировать ИИ так чтобы он ходил вокруг стола, оценивал его с разных сторон, а потом производил атаку аля настоящая, используя глаза которая тупят слегка, используя слегка трясущеися руки, поправки там на неудобную позу и конечную реакция в момент удара итп. То есть внести в удар все те моменты, которые и заставляют реального человека бить не совсем туда куда следует, по идее это обеспечит бОльшую реалистичность.

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

— Я совсем идиот!
— Нет, что вы, что вы. Ну хотите я буду поддаваться?

Хотя все это игры и развлечения. Почему бы и нет, не знаю.
а где надыбать игрушку бильярд, которая на скрине в начале? )
Подобный вопрос, где найти покер со скриншота? Хотя бы просто название…
ААА))) Это ор. Сделать ИИ умным — не проблема. Проблема — сделать его тупым как человек)
Вы только в думайтесь… Возможно в этом и кроется сикрет эмуляции человеческого вышления. Нужно не пытатся понять, как он думает. Достаточно понять, как он тупит — что кажется нереально. Потому что человек — существо с уникальной, харизматичной тупостью))))
Делать такие продуманные ошибки просто необходимо, ибо большинство людей играет ради удовольствия и, естественно, приятно, когда ты побеждаешь. Не буру в расчет маленькую группу людей, которые уперто будут играть, играть, играть, постоянно проигрывать безошибочному компьютерному мозгу, пока не станут играть почти так же хорошо (натренируются) или подсознательно найдут глюк в алгоритме, позволяющий им выиграть. Ведь характеры у всех разные. Но все же, большинство, к коим я отношу себя, любят в свое удовольствие просто поиграть перед телефизором или монитором и выиграть компьютер в «сложной, но можной» битве.
Хоть в шахматы, хоть в стрелялки, хоть в карты, хоть в шарики. Играть ради удовольствия — это же так приятно! :0)
Я не буду играть в игры-единоборства следующего года, только по той причине, что я это прочитал.
Буду пилить в Диабло 3, там мобы всегда останутся тупыми :)
Просто убить всех человеков (с) стало уже не интересной затеей.
Хороший ИИ сделает так, чтобы человеки сами загнали себя в угол и попереубевали друг друга…
хороший ии должен самообучаться в процессе игры с человеком, набираясь одновременно с ним опыта.
я как-то делал ии для игры в крестики-нолики на поле 3х3 с которым было _интересно_ играть несколько десятков партий, пока он наконец не выучивал беспроигрышную стратегию. алгоритм там был примитивный с построением дерева позиций. а суть правильной стратегии для человека — в каждой партии придумывать новый обманный манёвр. ии его запоминал и больше не попадался.
в случае с бильярдом или шахматами ии построением дерева ева ли поможет он должен обучатся по ходу игры но не так чтобы на второй раз стать непобедимым.
в случае бильярда интересного ии быть не может, ибо и ежу понятно, что если он не попал — значит поддался. касательно шахмат — в начале игры деревья как-раз рулят. а потом, обычно делают по принципу минимизации функционала методом перебора. но такой подход означает, что ии будет безошибочно просчитывать как минимум несколько ходов вперёд. а значит человеку придётся ставить сложность пониже, чтобы иметь возможность выиграть не случайно.
— Как ты смог выиграть в шахматы, против компютера с рейтингом 3227?
— Это было несложно… Он вчера нажрался как скотина, а сегодня, с бодуна, сел со мной играть.
СкайНет уже близко!
угу, он сделает ошибку и проиграет человечеству :)
Это очень опасно — учить компьютер допускать неочевидные просчёты. Рано или поздно ИИ научится совершать очевидные ошибки для предсказуемой неочевидной победы…
Подумалось, с одной стороны ИИ должен стремиться выйграть всеми доступными способами, дополнительно должен существовать контр ИИ, в задачу которого будет входить не дать выйграть первому ИИ. Получается достаточно реалистичное поведение, внутренняя борьба не позволит однозначно доминировать только одному из алгоритмов.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории