facebook facebook
 
 
 
   
 
Човек срещу машина
01.05.2010 | автор: Иво Цеков


Милиони геймъри по света са фенове на популярната стратегия StarCraft, а в Южна Корея тя е със статут едновременно на религия и официален спорт. Тази история, разказана от Game Pro обаче ни отвежда в Калифорния, където двойка амбициозни студенти работи здраво над бот, който трябва да бъде истинско страшилище и за най-добрите StarCraft професионалисти сред геймърите.

За честа на човечеството

Възможно ли е да създадеш изкуствен интелект, който да играе и мисли StarCraft като професионален играч от най-висока класа? На този въпрос се опитват да намерят отговор Бен Уебър и Питър Маухортър, докторанти от Университета на Калифорния в Санта Круз. Под ръководството на своя професор, двойката работи над мащабен проект, който се стреми да създаде реалистично и динамично поведение в машините. Така AI-то в компютърните игри става естествен обект на изследване, а младежите се спират на StarCraft, защото реалновремевите стратегии са отлична среда за изследване на компютърния интелект и това как реагира той на действията на играчите.

Технологията отвръща на удара

Така се ражда EISBot или Expressive Intelligence Studio's StarCraft bot. Той е програмиран на специален език и съдържа елементи, които се занимават с различните аспекти на геймплея. Т.нар. реактивен език е новост в областта на изкуствения интелект. За разлика от останалите езици, той реагира изключително бързо, което позволява вземането на решения в динамична среда и изчислява само един ход напред, въз основата на моментната ситуация, което го прави по-гъвкав. В бота са вкарани всевъзможни комбинации на базата на реални профи срещи по StarCraft. "StarCraft общността е много активна и това ни дава богат избор от информация, която можем да кодираме в нашия проект", обяснява Уебър. Другата причина, поради която екипът се спира на класиката на Blizzard е нейната комплексност. "В играта има три напълно обособени раси и балансиран геймплей, а във всеки един мач са приложими голямо количество различни стратегии", обяснява Уебър.

Възможно ли е ботът да стане толкова добър, че направо да заблуди човешките си опоненти и особено по-неопитните сред тях? "Програмата трупа своя набор от стратегии като изучава повторения на изиграни мачове. Ако му бъдат заложени достатъчно голям набор от такива мачове, той ще има страхотно голям избор от ходове, но за момента оригиналността му е относително малка", казват учените, "Но нашата цел е в завършения си вид EISBot да прилага и уникални ходове, които създава и изпълнява сам". За целта една от задачите на екипа е да въведат в програмата различни бойни маневри, вдъхновени от прочутия древен трактат "Изкуството на войната".

Какво е постигнато до момента?

В момента EISbot играе единствено с протосите, но за сметка на това вече трупа победа след победа в двубои с реални противници. Крайната цел на младите учени е да създадат бот, който не само разполага с голямо количество предварително заредени ходове, а умее да реагира на всеки един геймплей нюанс. "По време на професионални мачове в главата на един геймър минават какви ли не мисли и е адски трудно всичко това да се кодира", признават младежите. В момента именно вкарването на подобни специфични действия, които не могат да се опишат в една-единствена стратегия, е основна задача пред екипа. "За подготовка преди важно състезание професионалните играчи понякога отделят повече от 60 часа седмично - това е впечатляващо и ако искаме да създадем машина, способна да победи такива играчи, ще трябва да работим доста", завършва Бен Уебър.

Звучи амбициозно, но дали проектът ще се превърне в реалност? Само бъдещето ще покаже, а да не забравяме, че новият StarCraft II излиза доста скоро... 

напиши коментар
 

570 мнения
профил »
dr_gilotin каза на 03.05.2010, 08:34 ?. :

г-н Цеков, за пореден път ме удивлявате с невероятните си статии.
Тази статия не се отнася само за геймърите като геймъра и като човешки същества.Защо?
Защото компютрите са създадени от хора и като такива би трябвало ние да сме с една стъпка пред тях, представете си най-простото този "бот" ако победи всички хора и се саморазвива развива със всеки противник, какво ще стане нима не става все по-явно че компзтрите ни управляват? Ами ако стане така че станат и по-интелигентни от нас ?!? (знам че тук всеки по по-повъкностен или по-малд читател би казал: "Тва са глупости стил "Матрицата"", но реалноста е такава, замислете се кой може без ПЦ днещно време.
Няма да разтягам темата допълнително, нека остане отворена ( искам да чуя и коментарите на хора като VK_ , n00b , защото хората дават доста смислени коментари.

Още веднъж браво за статията.

4164 мнения
профил »
VK_ каза на 03.05.2010, 08:38 ?. :
Редактиран на 03.05.2010, 12:18 ?.

Интересна статия. Благодарности към г-н Цеков и неговата находчивост.

Че създаването на ИИ не е лесна работа си е факт, но още по-трудно е да се балансира. Ще дам няколко примера с различни ИИта:

- СнС - в тази игра ИИто работеше да един и същи принцип чак до излизането на 3тата част. На практика той разполагаше с ограничен брой тактики, но пък дори модовете го използваха тъй като беше изключително лесно да се настрои. В случай, че дадена атака бъде отблъсната ИИто преминава в контра режим т.е. преценя какви юнити да използва, за да бъде максимално ефективен срещу противника. Сега като се замисля, мисля че най-големият минус на този ИИ беше икономиката =) Просто умираше от желание да произвежда комбайни дори да нямаше ресурси. Така при една кована атака в тиберийното поле на противника той губеше всичките си комбайни и разпродаваше част от сградите си, за да произве нови... не е много уместно а? =) Но такива бяха времената. Страхотна офанзива, но слаба икономика.

- Старкрафт - определено има нужда от по-добър ИИ. И то не само за да върти стратегии ами поведението на самите юнити беше странно. Всички сме виждали как теран се загражда със складове зад тях 1-2 бункерчета с пешаци вътре и зад тях малко обсадни танкове. Повечето меле юнити прото стояха пред складовете опитвайки се да докопат бункерите или танковете и въртейки се като мухи без глави... жалка гледка просто. Или пък поведението да драгуните. Един приятел казваше редовно "за да изпратиш 12ка драгуни на някъде, трябва да изпратиш и 12ка навигатори". Ужасен патфайндинг и не само за този юнит. Заклещването на работниците по разни места измежду строителните обекти. И да, пак ще се повторя - определено имат нужда от ИИ на по-високо ниво.

- Уорхемър 40к ДоУ - Още с излизането на играта са появи един мод - Dawn of Skirmish мисля се казваше - та този мод обогатяваше ИИ в играта. Първоначално чрез допълнителни настройки като хендикап, "забавена първа атака" и още един куп щуротии, а по-късни версии вече имаше и един куп нива на трудности. Не мисля, че имаше минуси този проект освен този, че на високите трудности никой не може да го победи 1в1. Да, според мен това е минус. ИИ разполага с информация за това какви команди задаваш на юнитите си и с какви юнити разполагаш. От там той винаги знае къде се готвиш да нападнеш и с какво точно. Единсвеният шанс за победа беше чрез контрол над критични точки.

Та мисълта ми, е че не е трудно ИИ да бъде силен трудно е да го накараш да работи =)

562 мнения
профил »
ivo tsekov каза на 03.05.2010, 08:50 ?. :

Здравейте, приятели! Благодаря за добрите думи, за нас винаги е било цел да ви правим съпричастни към всички интересни неща, които се случват в и около гейм индустрията. А в случая определено става въпрос за комбинация от геймърски, технологични и дори философски аспекти. Онези от вас, които се интересуват повече от проекта, могат да посетят неговата официална страница - http://eis.ucsc.edu/EISBot - където ще се запознаят с повече подробности, ще видят програмата в действие срещу човешки противници и дори могат да свалят нейната последна версия. А иначе темата за изкуствения интелект и това до каква степен може да бъде "хуманизиран" е много интересна и се надявам да стимулира оживена и увлекателна дискусия на страниците на сайта - такава, каквато многократно сте показвали, че може да водите!

2 мнения
профил »
beholder каза на 03.05.2010, 09:28 ?. :

Здравеите темата наистина е много интересна все пак изкуственият интелект днес е навсякаде около нас :) дори да си пуснем музика ползваме ПС-то.
Но АИ ботовете като цяло са доста слаба страна на игрите.За жалост когато са на easy и medium за 1 гамер са направо като децка игра но на hard или са непобедими или просто от началото ако не те бият се губи всякаква тръпка.
А за изкуствения интелект преди 50 години хората са мислели,че телевизора ще оправлява света и няма да се измисли нещо по добро от него.Та идеята ми е,че всичко се развива и ще доиде ден когато машина с изкуствен интелект ще ни сипва вода да пием :D

253 мнения
профил »
GiantR каза на 03.05.2010, 11:27 ?. :

ИИ ботовете са доста интересна тема на разговор която веднъж обсъждах с един мой приятел.
Стигнахме малко или повече до извода, че можеш лесно да направиш някой бот да прави някаква много мощна атака с 500 единици и ти да не можеш да се противопоставиш, защото за разлика от нас компютрите могат да контролират всяка една единица поотделно едновременно и по този начин да те побядят само и единствено със микро мениджмънт.
Също така докато ние се бием с неговата армия някъде там, бота също може и да си оправлява базите да му помпат единица, да прави ъпгрейди и т.н.
Тези неща някои там умопомрачени корейци могат и да правят едновременно, но за нас простосмъртните това е малко прекалено. APM на ботовете може и милионите да достигат(преувеличение).
Сега в момента може и да няма ак толкова добри ботове, но в момента е просто въпрос на време.

260 мнения
профил »
ThI SanDmaN каза на 03.05.2010, 17:28 ?. :

Ако един изкуствен интелект може да изпълнява сложни процедури като игране на игри и то не какви да е игри като тетрис или понг ами доста по сложни като старкрафт значи може да се направи изкуствен интелект за много по прости но важни цели

1 мнения
профил »
D1lgiq каза на 03.05.2010, 18:52 ?. :

Пробваите да биете някоя 6ах програма на висока трудност и тогава говорете за AI.
Преди години Каспаров изгуби ма4 от 14 партии срещо компютър

1 мнения
профил »
Noob каза на 03.05.2010, 21:49 ?. :

Не се чувствам много добър обаче на Стареца съм забелязал че за да биеш
ботовете траа само да ти останат 10-тина танка и 3-5 от изтребителя (незнам как им викате на самолетите дето стрялят само по лятяши работи) и да доживееш докато не намалеят ресурсите.Тогава ботовете стават някак си прекалено пасивни.
А колкото до ИИ знам ли може някои ден Терминатор да се гледа като документален филм в час по история в училиштата за подрастващи киборгчета

267 мнения
профил »
TreantBG каза на 04.05.2010, 06:37 ?. :
Редактиран на 04.05.2010, 06:53 ?.

Да направиш бот не е толкова трудно колкото си мислите.
Самия аз съм си правил ботове на игри като Travian Nemexia BGMafia и то преди година (смятам че сега съм в пъти по-добър).
Е все пак тези игри не могат да се сравнят с сложността на StarCraft, но в ръцете на специалисти и с правилния програмен език и достатъчно време - може да се направи много добро AI.
Но въпреки това от програмна гледна точка всеки бот може да си има някакъв недостатък.
Примерно ако бота им оценява събитията по важност и преоритет - да речеме че напада базата ви където е главната ти армия и защита, и в същото време с няколко единици отиете да избиете малко работници и той няма защита, за бота се озовава в един вид дилема. Дали да се върне или да напда.Ако избере да напда и удържите армията му, през това време той ще остане без работници - играта е предварително спечелена.Ако избере да се върне и вие още избивате работници пак ще сте на +.

Това което имам предвид е че бота винаги ще мисли като ... робот :D
а робот винаги можеш да надхитриш.

Споко скоро няма да видиме Терминатор.

4164 мнения
профил »
VK_ каза на 04.05.2010, 07:11 ?. :

.... и на какъв език го написа тоя бот? А какви инструменти ползва?

267 мнения
профил »
TreantBG каза на 07.05.2010, 10:00 ?. :

PHP ползвах
има доста полезна библиотека която съдържа много функции за пращане и взимане на информация от сървъри.

2755 мнения
профил »
Zlob каза на 05.05.2010, 07:59 ?. :

Много интересно наистина,преди време гледах как направиха супер противник(вид механичен бот) за световния шампион по джаги.Беше безкрайно интересно съревнование,но човека спечели.Винаги ще остана на мнение,че хората са по-добри от машините,пък дори и да се развиват самите машини.Не е изключено един ден някой Скайнетоподобен да почне да ни трепе,но затова ще сме си виновни самите ние.С цел да се спасят няколко човешки живота на пилоти и разновидностите им може всички да си заминат,каква ирония само.

60 мнения
профил »
powerplay каза на 07.05.2010, 16:04 ?. :

Много интересна тема :)
Накараме да се замисля , но като гледах клипчето не разбрах кой е компютъра но протоса беше много зле ако имаше 1-2 Dark Archona Играта му беше в кърпа вързана :D

A Колкото до терана най-старата стратегия танкове + мини и малко маринки лесна мишена , Моето мнение е че каквото и да направят компютъра си остава тромав а човека ако е добър винаги може да вземе максимума от ситуацията.

71 мнения
профил »
stanimirmn каза на 07.05.2010, 19:04 ?. :

Гадното е, че при повечето стратегии, по-труден AI значи просто да му причиняваш по-малко щета на единиците, а той повече на теб, което за мен е крайно нелогично и глупаво.Защо просто не се направи AI-то да прави бурна икономика и да спами там квото има за строене и тва си е..

4164 мнения
профил »
VK_ каза на 08.05.2010, 12:04 ?. :
Редактиран на 08.05.2010, 12:04 ?.

Би ли дал някой пример за такива стратегии. Защото според мен това е по-скоро логиката за трудностите при шутърите. При стратегиите нещата по-скоро се свеждат до време за реакция, какви юнити да използва и какви не в зависимост от нивото на трудност.

457 мнения
профил »
spark6665 каза на 08.05.2010, 10:24 ?. :

Наистина интересна тема... Моето мнение по въпроса е, че както каза някой по- горе, ботът винаги ще си е... бот :D . Просто трябва да му се хване... ''цаката''. Не мисля, че имам какво да изразя повече по въпроса. Въпрос на време е да видим какво ще излезе от EISbot-а :) . Интересно е, отново, това, което някой бе написал по-горе за човека, който не може без компютър. Така е. Ако можехме без PC, нямаше всеки ден да го ползваме :D. Нека всеки си признае честно, колко често използва Уикипедия за неща, които след като види, си казва: '' Абе, аз т'фа го знам бе'! '' :)

71 мнения
профил »
stanimirmn каза на 08.05.2010, 13:34 ?. :

Ем примери ..... Warhammer на по-труднчко аре поспамва малко ама не му причиняваш почти никакви щети.Трябва да изсипеш целия си лимит върху една негова единица за да я събориш например. Empire at War се сещам също , там каквато и флота да направиш просто и една ескадрилка не може да му се гътне на бота и т.н...

И точно обратното например при Age of Empires,Empire Earth - там няма такива глупости, а си се развива брутално и нахално...

4164 мнения
профил »
VK_ каза на 08.05.2010, 14:06 ?. :

Не ми звучиш убедително, да знаеш =) Въпрос номер 2 - Кой от Уорхемърите? - Аз не се сещам за такъв =)

71 мнения
профил »
stanimirmn каза на 08.05.2010, 16:22 ?. :

Е всички .... как кой . Пусни Dark Crusade бота на хард, поиграй малко , след тва го дай лесен и виж.

4164 мнения
профил »
VK_ каза на 08.05.2010, 16:32 ?. :
Редактиран на 08.05.2010, 16:36 ?.

Надявам се правиш разлика между "кампания" и "мултиплейър" =) Всички от ДоУ поредицата имат коренно различаваща се кампания от скърмиш и мултиплейър. Не пропускай този факт =)

П.П. Не случайно при по-старите заглавия като кликнеш на мулти за пръвпът излизаше съобщение "Game experience may change during online play!". Осъзнаваш ли какво значи това?

1 мнения
профил »
na_qkata_raota каза на 08.05.2010, 23:19 ?. :
Редактиран на 08.05.2010, 23:22 ?.

Има една съществена разлика между ИИ и човек. ИИ действа по предварително вкарани тактики и "заучени положения" в коя ситуация как да реагира. Преценява конкретната обстановка и избира най-логичния ход, с който да отговори. Неговата трудност се дължи на зададените предваритело модели на поведение (количество и качество - колко са вкарани и колко ефикасни са), както и (беше казано преди мен) на извънчовешките възможности като това да действа на няколко места и с няколко единици/сгради по отделно за много ама много малък период от време или в FPS да ви уцели през 15 процепа с големина от 5 пиксела от др край на картата. Докато човек, дори и да следва някои установени тактики, винаги може да измисли нещо ново. Така ако ИИ има база данни от 500 тактики, които да използва и на които да противодейства, един играч винаги може да измисли 501-вата. Когато ИИ заучи и нея, др ще измисли 502-ра и т.н. И другото което е, че човек е способен да измисли нещо алогично за самата игра. Като пример посочвам един мач в старкрафт: играч 1 изпрати работник в силно забутано място на картата и започна да строи съплай като по средата на строежа отпрати работника, оставяйки сградата недовършена. Играч 2 му смля базата за отрицателно време. Невиждайки нищо останало в базата и на картата и подмамен от поведението на играч1 (правещ се на неразбиращ), играч 2 излиза от играта, убеден в победата си и мислещ станало за някакъв бъг. Но при излизането на 2 в играта остава само недостроената сграда на 1 и 1 печели мача. Затова когато ИИ приложи хитрост,която е измислил тогава може да се каже че е стигнал човека, но дори и тогава ще важи вица:"компютърът ме бие на шах, а аз него на кик-бокс"
напиши коментар