Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Waxaan la kulmay waxyaabo xiiso leh oo ku saabsan sirdoonka macmal ee ciyaaraha. Iyadoo sharraxaad ku saabsan waxyaabaha aasaasiga ah ee ku saabsan AI iyadoo la adeegsanayo tusaalooyin fudud, iyo gudaha waxaa jira qalabyo iyo habab badan oo faa'iido leh oo loogu talagalay horumarinta iyo naqshadeynta habboon. Sida, meesha iyo goorta la isticmaalo ayaa sidoo kale jira.

Tusaalooyinka intooda badan waxay ku qoran yihiin pseudocode, markaa aqoon barnaamijeed horumarsan looma baahna. Goynta hoosteeda waxaa ku yaal 35 waraaqo qoraal ah oo sawiro iyo gifs leh, markaa diyaari.

UPD Waan ka cudur daaranayaa, laakiin mar hore ayaan ku sameeyay tarjumaada maqaalkan Habré Bukaanka Zero. Waxaad akhrin kartaa nuqulkiisa halkan, laakiin sababo jira awgood ayaa maqaalku ii soo maray (waan adeegsaday raadinta, laakiin waxbaa khaldamay). Iyo tan iyo markii aan wax ku qorayo blog-ka u heellan horumarinta ciyaaraha, waxaan go'aansaday inaan ka tago nooca tarjumaadda ee macaamiisha (dhibcaha qaarkood si kala duwan ayaa loo qaabeeyey, qaar ayaa si ula kac ah looga saaray talada horumarinta).

Waa maxay AI?

Game AI wuxuu diiradda saarayaa ficillada shay ay tahay inuu sameeyo iyadoo lagu saleynayo xaaladaha uu ku yaal. Tan waxaa badanaa loogu yeeraa maaraynta "wakiil caqli leh", halkaasoo wakiilku yahay jilaa ciyaaryahan, baabuur, bot, ama mararka qaarkood wax aan la taaban karin: koox dhan oo hay'ado ah ama xitaa ilbaxnimo. Xaalad kasta, waa shay ay tahay in la arko deegaankeeda, lagana soo saaro go'aanno ku salaysan, kuna dhaqmo iyaga. Tan waxa loo yaqaan wareegga dareenka/Fikirka/Xeerka:

  • Dareen: Wakiilku waxa uu helaa ama helaa macluumaadka ku saabsan waxyaalaha deegaankiisa ka jira ee saamayn ku yeelan kara dhaqankiisa (hanjabaadaha u dhow, walxaha la ururiyo, meelo xiiso leh oo lagu sahamiyo).
  • Ka fakar: Wakiilku waxa uu go'aansadaa sida uu uga falcelinayo (waxa uu eegayaa in ay ammaan ku filan tahay in alaabta la ururiyo iyo in uu marka hore la dagaallamo/qarinayo).
  • Xeerka: wakiilku waxa uu fuliyaa ficillo uu ku fulinayo go'aankii hore (wuxuu bilaabay inuu u dhaqaaqo cadowga ama shay).
  • ... hadda xaaladdu way isbedeshay sababtoo ah ficillada jilayaasha, sidaas darteed wareeggu wuxuu ku soo celiyaa xog cusub.

AI waxay u egtahay inay diirada saarto qaybta dareenka ee loop. Tusaale ahaan, baabuurta iskeed u madaxbannaan ayaa sawiro ka qaada waddada, iyaga oo ku daraya xogta radar iyo lidar, oo ay fasiraan. Tan waxaa sida caadiga ah lagu sameeyaa barashada mashiinka, kaas oo socodsiiya xogta soo socota oo siinaya macnaha, soo saarista macluumaadka macnaha sida "waxaa jira baabuur kale oo 20 yards kaa horreeya." Kuwaani waa waxa loogu yeero dhibaatooyinka kala soocida.

Ciyaaruhu uma baahna nidaam adag si loo soo saaro macluumaadka maadaama xogta inteeda badani ay tahay qayb muhiim ah oo ka mid ah. Looma baahna in la socodsiiyo algorithms-yada aqoonsiga sawirka si loo go'aamiyo haddii uu jiro cadow soo socda-ciyaarta horeba way u taqaan oo waxay si toos ah u quudisaa macluumaadka habka go'aan qaadashada. Sidaa darteed, qaybta Dareenka ee meertada ayaa inta badan aad uga fudud qaybta Fikir iyo Falka.

Xaddidaadaha Game AI

AI waxay leedahay tiro xaddidaad ah oo ay tahay in la ilaaliyo:

  • AI uma baahna in horay loo tababaro, sida haddii ay tahay algorithm barashada mashiinka. Wax macno ah ma samaynayso in la qoro shabakad neural ah inta lagu jiro horumarka si loola socdo tobanaan kun oo ciyaartoy oo ay bartaan habka ugu fiican ee iyaga looga soo horjeedo. Waa maxay sababtu? Sababtoo ah ciyaarta lama sii dayn, ciyaartoyna ma jiraan.
  • Ciyaartu waa inay noqotaa mid madadaalo leh oo dhib badan, markaa wakiiladu waa inaysan helin habka ugu wanaagsan ee ka dhanka ah dadka.
  • Wakiiladu waxay u baahan yihiin inay u muuqdaan kuwo macquul ah si ay ciyaartoydu u dareemaan inay la ciyaarayaan dadka dhabta ah. Barnaamijka AlphaGo wuxuu ka fiicnaa bini'aadamka, laakiin tillaabooyinka la doortay waxay ahaayeen kuwo aad uga fog fahamka dhaqanka ee ciyaarta. Haddii ciyaartu u ekaato qof ka soo horjeeda aadanaha, dareenkani waa inuusan jirin. Algorithm-ka wuxuu u baahan yahay in la beddelo si uu u sameeyo go'aamo macquul ah halkii uu ka ahaan lahaa kuwa ku habboon.
  • AI waa inuu shaqeeyaa waqtiga dhabta ah. Tani waxay ka dhigan tahay in algorithm-ku aanu keli ku hayn karin isticmaalka CPU muddo dheer si go'aan looga gaadho. Xitaa 10 millise seconds aad bay u dheer tahay, sababtoo ah inta badan ciyaaraha waxay u baahan yihiin kaliya 16 ilaa 33 millise seconds si ay u sameeyaan dhammaan farsamaynta oo ay u gudbaan qaab-dhismeedka soo socda.
  • Fikrad ahaan, ugu yaraan qayb ka mid ah nidaamka waa in ay ahaataa mid xogta wadata, si aan cod-bixiyeyaashu u samayn karaan isbeddel, hagaajintuna waxay u dhici kartaa si dhakhso ah.

Aynu eegno hababka AI ee daboolaya dhammaan wareegga dareenka / fikirka / sharciga.

Go'aannada Aasaasiga ah

Aan ku bilowno ciyaarta ugu fudud - Pong. Hadafka: dhaqaaji bawlaha si ay kubbadu uga soo kabsato intii aad dhaafi lahayd. Waa sida tennis-ka oo kale, halkaas oo aad lumiso haddii aadan kubad ku dhicin. Halkan AI waxay leedahay hawl yar oo fudud - go'aaminta jihada loo dhaqaajiyo goobta.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Odhaahyo shuruud ah

AI ee ku taal Pong, xalka ugu cad waa in had iyo jeer la isku dayo in la dhigo goobta kubbadda hoosteeda.

Algorithm fudud tan, oo ku qoran pseudocode:

qaab kasta/cusbooneysi kasta inta ciyaartu socoto:
haday kubadu u taalo dhanka bidix ee suufka:
bidix u dhaqaaq
Haddii kale haddii kubbadu ay ku taal midig ee paddle:
midig u dhaqaaq

Haddii madalku ku dhaqaaqo xawaaraha kubbadda, markaa tani waa algorithm ugu fiican ee AI ee Pong. Looma baahna in wax la adkeeyo haddii aysan jirin xog aad u badan iyo falalka suurtagalka ah ee wakiilka.

Habkani waa mid aad u fudud oo dhammaan wareegga dareenka/Fikirka/Xeerka waa mid si dhib yar loo dareemi karo. Laakiin waxaa jira:

  • Qaybta Dareenku waa laba haddii hadallo. Ciyaartu way ogtahay meesha ay kubbadu ku taal iyo meesha ay ku taal, markaa AI waxay u eegi doontaa macluumaadkaas.
  • Qaybta Fikirka sidoo kale waxay ku jirtaa labada haddii bayaannada. Waxay ka kooban yihiin laba xal, kuwaas oo kiiskan yihiin labada dhinac. Natiijo ahaan, mid ka mid ah saddexda ficil ayaa la doortaa - u guuri masraxa bidix, u dhaqaaq dhinaca midig, ama waxba ha samayn haddii ay si sax ah u taagan tahay.
  • Qaybta sharciga waxa laga helayaa Dhaqaaq Paddle Bidix iyo Dhaqaaq jeexjeexa Odhaahyada Midigta. Iyadoo ku xiran naqshadda ciyaarta, waxay u dhaqaaqi karaan goobta isla markiiba ama xawaare gaar ah.

Hababka noocan oo kale ah waxaa loogu yeeraa falcelin - waxaa jira xeerar fudud oo fudud (kiiskan haddii ay jiraan bayaannada koodka) oo ka falceliya xaaladda hadda jirta ee adduunka oo qaadaya tallaabo.

Geedka go'aanka

Tusaalaha Pong wuxuu dhab ahaantii u dhigmaa fikradda AI ee rasmiga ah ee loo yaqaan geed go'aanka. Algorithm wuxuu dhex maraa si uu u gaaro "caleen" - go'aan ku saabsan tallaabada la qaadayo.

Aynu samayno jaantuska xannibaadda geedka go'aanka ee algorithm ee madalkeenna:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Qayb kasta oo ka mid ah geedka waxaa loo yaqaannaa node - AI waxay isticmaashaa aragti garaaf si ay u qeexdo qaababkaas. Waxaa jira laba nooc oo nodes:

  • Noodhyada go'aanka: kala dooranaya laba beddel oo ku salaysan tijaabinta xaaladaha qaarkood, halkaas oo beddel kasta loo matalo sidii nood gaar ah.
  • Dhamaadka qanjidhada: Ficilka la qabanayo ee u taagan go'aanka kama dambaysta ah.

Algorithm-ku wuxuu ka bilaabmaa qanjirka koowaad ("xididka" geedka). Waxay go'aan ka gaartaa santuuqa ubadka ee loo aadayo, ama waxay fulisaa ficilka lagu kaydiyay noodhka oo ay ka baxdo.

Waa maxay faa'iidada uu leeyahay in geed go'aanku uu qabto shaqo la mid ah tii haddii bayaannada qaybta hore? Halkan waxaa ka jira nidaam guud oo go'aan kasta uu leeyahay hal shuruud oo keliya iyo laba natiijo oo suurtagal ah. Tani waxay u oggolaanaysaa horumariyaha inuu ka abuuro AI xogta matalaysa go'aamada geedka iyada oo aan si adag loo-codeyn. Aan u soo bandhigno qaab shax ah:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Dhinaca koodka waxaad heli doontaa hab lagu akhriyo xargaha. U samee nood mid kasta oo iyaga ka mid ah, ku xidh macquulka go'aanka ee ku salaysan tiirka labaad, iyo noodhka ilmaha oo ku salaysan tiirarka saddexaad iyo afraad. Weli waxaad u baahan tahay inaad barnaamijka ku sameyso shuruudaha iyo falalka, laakiin hadda qaab dhismeedka ciyaarta ayaa noqon doona mid aad u adag. Halkan waxaad ku dari kartaa go'aamo iyo ficilo dheeri ah, ka dibna habbee AI oo dhan adigoo si fudud u tafatiraaya faylka qoraalka qeexida geedka. Marka xigta, waxaad u wareejinaysaa faylka naqshadeeyaha ciyaarta, kaasoo bedeli kara habdhaqanka iyada oo aan dib loo habeynin ciyaarta ama bedelin koodka.

Geedaha go'aanku aad bay faa'iido u leeyihiin marka si toos ah loo dhiso tusaaleyaal badan (tusaale ahaan, iyadoo la adeegsanayo ID3 algorithm). Tani waxay ka dhigaysaa qalab wax ku ool ah oo sarreeya oo lagu kala saaro xaaladaha ku salaysan xogta la helay. Si kastaba ha ahaatee, waxaan ka gudubnay nidaam fudud oo loogu talagalay wakiillada si ay u doortaan ficillada.

Muuqaalo

Waxaan falanqeynnay nidaamka geedka go'aanka kaasoo isticmaalay shuruudo iyo ficillo horay loo abuuray. Qofka naqshadeynaya AI wuxuu abaabuli karaa geedka si kastaba ha ahaatee, laakiin weli waa inuu ku tiirsan yahay coderiyaha oo dhan. Maxaa dhacaya haddii aan siin karno naqshadeeyaha qalabka si ay u abuuraan xaaladahooda ama ficiladooda?

Si barnaamij-sameeyaha uusan u qorin koodka shuruudaha Is Ball Left Of Paddle iyo Is Ball Right Of Paddle, wuxuu abuuri karaa nidaam uu naqshadeeyaha ku qori doono shuruudaha si uu u hubiyo qiyamkan. Markaa xogta geedka go'aanku waxay u ekaan doontaa sidan:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Tani waxay asal ahaan la mid tahay shaxda koowaad, laakiin xalalka dhexdooda ayaa leh kood u gaar ah, oo la mid ah qaybta shuruudda ah ee qoraalka. Dhinaca koodhka, tani waxay ku akhrin doontaa tiirka labaad ee go'aannada go'aanka, laakiin halkii aad ka raadin lahayd xaalad gaar ah oo lagu fuliyo (Is Ball Left Of Paddle), waxay qiimeysaa tibaaxaha shuruudaha waxayna ku soo noqotaa run ama been si waafaqsan. Tan waxaa lagu sameeyaa iyadoo la isticmaalayo Lua ama Angelscript luqadda qoraalka. Iyaga oo isticmaalaya, horumariyahu wuxuu ku qaadan karaa walxaha ciyaartiisa (kubad iyo suuf) wuxuuna abuuri karaa doorsoomayaal kuwaas oo laga heli karo qoraalka (kubbada. booska). Sidoo kale, luqadda qoraalka ayaa ka fudud C++. Uma baahna marxalad dhammaystiran oo isku-dubbarid ah, sidaas darteed waxay ku habboon tahay in si dhakhso ah loo hagaajiyo caqli-galnimada ciyaarta waxayna u oggolaanaysaa "kuwa aan codeer ahayn" inay abuuraan hawlaha lagama maarmaanka ah naftooda.

Tusaalaha kore, luqadda qoraalka waxaa loo isticmaalaa oo kaliya in lagu qiimeeyo tibaaxaha shuruudaysan, laakiin sidoo kale waxaa loo isticmaali karaa ficillo. Tusaale ahaan, xogta Dhaqaaq Paddle Right waxay noqon kartaa qoraal qoraal ah (ball.position.x += 10). Si ficilku sidoo kale loogu qeexo qoraalka, iyada oo aan loo baahnayn barnaamijka Dhaqdhaqaaqa Xuquuqda.

Xitaa waad sii socon kartaa oo waxaad ku qori kartaa geedka go'aanka oo dhan luqad qoraal ah. Tani waxay noqon doontaa code qaab qoraalo shuruudo adag, laakiin waxay ku jiri doonaan faylal qoraal ah oo dibadda ah, taas oo ah, waa la bedeli karaa iyada oo aan dib loo soo saarin barnaamijka oo dhan. Inta badan waxaad wax ka beddeli kartaa faylka qoraalka inta lagu jiro ciyaarta ciyaarta si aad si dhakhso leh u tijaabiso falcelinta AI ee kala duwan.

Jawaabta Dhacdada

Tusaalooyinka kore waxay ku fiican yihiin Pong. Waxay si joogto ah u socodsiiyaan wareegga dareenka/Fikirka/Xeerka waxayna ku dhaqmaan iyadoo ku saleysan xaaladdii ugu dambeysay ee adduunka. Laakiin ciyaaraha aad u adag waxaad u baahan tahay inaad ka falceliso dhacdooyinka gaarka ah, oo aadan wax walba hal mar qiimeyn. Pong kiiskan ayaa horeyba u ahaa tusaale xun. Aan dooranno mid kale.

Bal qiyaas toogte halka cadawgu dhaqdhaqaaq la'aan yahay ilaa ay ogaadaan ciyaaryahanka, ka dib waxay u dhaqmaan iyadoo ku xiran "gaarkooda": qof ayaa u ordi doona "degdega", qof ayaa ka soo weerari doona meel fog. Wali waa nidaamka falcelinta aasaasiga ah - "haddii ciyaaryahan la arko, wax samee" - laakiin si macquul ah ayaa loo kala qaybin karaa dhacdo la arkay ciyaaryahan iyo falcelin (dooro jawaab oo samee).

Tani waxay dib noogu soo celinaysaa wareegga dareenka/Fikirka/Xeerka. Waxaan codeyn karnaa qayb Sense ah oo hubin doonta qaab kasta haddii AI ay aragto ciyaaryahanka. Haddaysan ahayn, waxba ma dhacaan, laakiin haddii ay aragto, markaa dhacdada la arkay ciyaartoyga ayaa la abuuray. Koodhku wuxuu yeelan doonaa qayb gaar ah oo leh "marka dhacdada la arkay ciyaartoyga, samee" halkee ayay jawaabta aad u baahan tahay si aad wax uga qabato qaybaha Fikir oo Dhaqan. Markaa, waxaad dejin doontaa falcelinta dhacdadii la arkay ciyaartoyga: dabeecadda "degdega" - ChargeAndAttack, iyo toogte - HideAndSnipe. Cilaaqaadyadan waxaa lagu abuuri karaa faylka xogta si degdeg ah wax looga beddelo iyada oo aan dib loo ururin. Luuqadda qoraalka ayaa sidoo kale lagu isticmaali karaa halkan.

Qaadashada go'aamo adag

Inkasta oo hababka falcelinta fudud ay aad u awood badan yihiin, waxaa jira xaalado badan oo aysan ku filneyn. Mararka qaarkood waxaad u baahan tahay inaad samayso go'aamo kala duwan oo ku salaysan waxa wakiilku hadda qabanayo, laakiin way adag tahay in loo qiyaaso tan xaalad ahaan. Mararka qaarkood waxaa jira shuruudo aad u badan oo si wax ku ool ah u metelaya geedka go'aanka ama qoraalka. Mararka qaarkood waxaad u baahan tahay inaad horay u sii qiimeyso sida xaaladdu isu beddeli doonto ka hor inta aanad go'aansan tallaabada xigta. Habab aad u casrisan ayaa loo baahan yahay si loo xalliyo dhibaatooyinkan.

Mashiinka gobolka oo dhammaystiran

Mashiinka gobolka kama dambaysta ah ama FSM (mashiinka gobolka kama dambaysta ah) waa hab lagu sheego in wakiilkeenu uu hadda ku sugan yahay mid ka mid ah dhowr gobol oo suurtagal ah, iyo inuu ka gudbi karo gobol una gudbi karo mid kale. Waxaa jira tiro go'an oo ka mid ah goboladan oo kale - haddaba magaca. Tusaalaha ugu fiican ee nolosha waa iftiinka taraafigga. Waxaa jira noocyo kala duwan oo nalalka meelo kala duwan, laakiin mabda'a waa isku mid - gobol kastaa wuxuu u taagan yahay wax (joojin, socod, iwm.). Iftiinka taraafiggu waa hal gobol oo keliya wakhti kasta, wuxuuna ka guuraa midba midka kale iyadoo lagu saleynayo xeerar fudud.

Waa sheeko la mid ah NPC-yada ciyaaraha. Tusaale ahaan, aynu soo qaadano waardiye leh goboladan soo socda:

  • Ilaalin.
  • Weerar.
  • cararid

Iyo shuruudahan lagu beddelayo xaaladdeeda:

  • Waardiyihii hadduu arko cadowga, wuu soo weeraraa.
  • Haddii waardiyihii soo weeraro balse uusan mar dambe arkin cadowga, wuxuu ku soo noqdaa roondo.
  • Haddii waardigu soo weeraro laakiin si xun u dhaawacmo, wuu cararaa.

Waxa kale oo aad ku qori kartaa haddii-bayaanno leh doorsoome dawladeed iyo jeegag kala duwan: cadow miyuu jiraa, waa maxay heerka caafimaadka NPC, iwm. Aan ku darno dhowr gobol oo kale:

  • Shaqo la'aan - inta u dhaxaysa roondooyinka.
  • Raadinta - marka cadawgii la ogaaday la waayay.
  • Helitaanka Caawinta - marka cadowga la arko, laakiin aad u xoog badan inuu keligiis la dagaallamo.

Doorashada mid kasta oo iyaga ka mid ah waa xaddidan tahay - tusaale ahaan, ilaaliyaha ma tagi doono raadinta cadaw qarsoon haddii uu caafimaadkiisu hooseeyo.

Ugu dambeyntii liiska weyn ee "haddii markaas " waxay noqon kartaa mid aad u jilicsan, sidaas darteed waxaan u baahanahay inaan si rasmi ah u samayno habka noo ogolaanaya inaan ku hayno dawladaha iyo kala-guurka u dhexeeya dawladaha. Si taas loo sameeyo, waxaan ku xisaabtameynaa dhammaan dowlad-goboleedyada, hoostoodana waxaan ku qoreynaa liis dhammaan u-guurka gobollada kale, oo ay la socdaan shuruudaha lagama maarmaanka u ah iyaga.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Kani waa miiska kala-guurka ee gobolka - hab dhamaystiran oo lagu matalo FSM. Aynu sawirno jaantus oo aynu helno dulmar dhammaystiran oo ku saabsan sida hab-dhaqanka NPC isu beddelo.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Jaantusku wuxuu ka tarjumayaa nuxurka go'aan qaadashada wakiilkan iyadoo lagu saleynayo xaaladda hadda jirta. Waxaa intaa dheer, falaar kastaa waxay muujinaysaa kala-guurka u dhexeeya dawladaha haddii xaaladda ku xigta ay run tahay.

Cusbooneysi kasta waxaan hubineynaa xaalada wakiilka, fiiri liiska kala-guurka, iyo haddii shuruudaha kala-guurka la buuxiyo, waxay aqbashaa gobolka cusub. Tusaale ahaan, jir kastaa wuxuu hubiyaa in saacada 10-da ilbiriqsi uu dhacay iyo in kale, haddii ay sidaas tahay, markaas ilaaliyaha wuxuu ka tagayaa gobolka Idling ilaa Patrolling. Si la mid ah, gobolka weerarku wuxuu hubinayaa caafimaadka wakiilka - haddii uu hooseeyo, ka dib wuxuu galayaa gobolka baxsadka ah.

Tani waa maaraynta kala-guurka u dhexeeya dawlad-goboleedyada, laakiin ka waran hab-dhaqanka la xidhiidha dawlad-goboleedyada laftooda? Marka la eego hirgelinta dhaqanka dhabta ah ee gobol gaar ah, waxaa jira caadi ahaan laba nooc oo "jillaab" halkaasoo aan ku meeleyno falalka FSM:

  • Tallaabooyinka aan mar mar u qabanno xaaladda hadda jirta.
  • Ficilada aan qaadno marka aan ka guureyno dowlad-goboleed kale.

Tusaalooyinka nooca koowaad. Gobolka roondeynta ayaa wakiilka u wareejin doona dariiqa roondada qaab kasta. Gobolka weerarku waxa uu isku dayi doonaa in uu bilaabo weerar qaab kasta ama u wareego gobol ay taasi suurtogal tahay.

Nooca labaad, tixgeli kala-guurka "haddii cadawgu uu muuqdo oo cadowgu aad u xoog badan yahay, ka dibna u tag gobolka Caawinta Helitaanka. Wakiilku waa inuu doortaa meesha uu u aadayo caawimada oo uu kaydiyaa macluumaadkan si gobolka Caawimada Helista u ogaado meesha la aadayo. Marka caawimo la helo, wakiilku wuxuu ku noqonayaa gobolka weerarka. Halkaa marka ay marayso, wuxuu rabi doonaa inuu u sheego xulafada khatarta, si ay u dhacdo NotifyFriendOfThreat ficilka.

Mar labaad, waxaan ku eegi karnaa nidaamkan iyada oo loo marayo muraayadda wareegga dareenka / fikirka / sharciga. Dareenku waxa uu ka kooban yahay xogta loo isticmaalo caqli-galnimada kala-guurka. Ka fakar - kala-guurka ayaa laga heli karaa gobol kasta. Sharcigana waxaa lagu fuliyaa falalka lagu sameeyo xilliyada qaar gudaha gobol ama kala-guurka u dhexeeya dowladaha.

Mararka qaarkood codbixinta si joogto ah xaaladaha kala guurka waxay noqon kartaa kharash. Tusaale ahaan, haddii wakiil kasta uu sameeyo xisaabin adag qaab kasta si uu u go'aamiyo in uu arki karo cadawga oo uu fahmo in ay ka gudbi karto Patrol-ka una gudubto gobolka weerarka, tani waxay qaadan doontaa waqti badan oo CPU ah.

Isbeddellada muhiimka ah ee xaaladda adduunka waxaa loo malayn karaa inay yihiin dhacdooyin la falanqeyn doono marka ay dhacaan. Halkii ay FSM-ku hubin lahaayeen xaaladda kala-guurka "wakiilkaygu ma arki karaa ciyaaryahanka?" qaab kasta, nidaam gooni ah ayaa loo habayn karaa si loo hubiyo in ka yar si joogto ah (tusaale 5 jeer ilbiriqsikii). Natiijaduna waa in la soo saaro ciyaaryahan la arkay marka jeeggu dhaafo.

Tan waxaa loo gudbiyaa FSM, taas oo hadda aadi doonta dhacdada Ciyaartoyga la arkay ee xaaladdu heshay oo uga jawaabto si waafaqsan. Dhaqanka ka dhashay waa isku mid marka laga reebo dib u dhac aan la fahmi karin ka hor inta aan laga jawaabin. Laakin wax qabadku wuu fiicnaaday iyadoo ay sabab u tahay in qaybta Sense loo kala saaro qayb gaar ah oo barnaamijka ah.

Mashiinka dawladeed ee heersare ah

Si kastaba ha ahaatee, la shaqaynta FSM-yada waaweyn had iyo jeer maaha mid ku habboon. Haddii aan rabno inaan ballaarinno gobolka weerarka si aan u kala saarno MeleeAttacking iyo Ranged Attacking, waa inaan beddelnaa kala-guurka dhammaan gobollada kale ee u horseedaya gobolka weerarka (hadda iyo mustaqbalka).

Waxaa laga yaabaa inaad dareentay in tusaalaheenna ay jiraan isbeddello badan oo nuqul ah. Inta badan isbedelada ka dhaca gobolka Idling waxay la mid yihiin kala-guurka ka socda gobolka Baadilka. Way fiicnaan lahayd inaanan nafteena ku celin, gaar ahaan haddii aan ku darno gobollo badan oo la mid ah. Waxay macno samaynaysaa in la kooxeeyo Idling iyo Patrolling oo hoos timaada astaanta guud ee "dagaal la'aanta", halkaas oo ay jirto kaliya hal go'an oo guud oo kala guurka ah oo lagula dagaalamayo dawladaha. Haddi aan u malayno summadan dawlad ahaan, markaas Idling iyo Patroling waxay noqonayaan maamul-goboleedyo hoose. Tusaalaha isticmaalka miis kala-guurka oo gooni ah gobol-hoosaad cusub oo aan dagaal ahayn:

Gobolada ugu waaweyn:
Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Xaalada dagaalka
Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Iyo qaabka jaantuska:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Waa isku nidaam, laakiin leh dawlad cusub oo aan dagaal ahayn oo ay ku jiraan Idling iyo Patroling. Iyada oo gobol kastaa ka kooban yahay FSM oo leh maamul-goboleedyo (iyo kuwan hoosaadyada, iyaguna, ka kooban FSM-yadooda - iyo wixii la mid ah inta aad u baahan tahay), waxaan helnaa Mashiinka Gobolka Finite Heerarchical ama HFSM (mashiinka heer-sare ee heer sare ah). Anaga oo isku ururinaynay dawlad aan dagaal ahayn, waxa aanu jarnay tiro badan oo kala guurka ah. Waxaan sidaas oo kale u samayn karnaa dawlad-goboleed kasta oo cusub oo leh isbeddello guud. Tusaale ahaan, haddii mustaqbalka aan ku balaadhino gobolka weerarka oo aan gaarsiinno gobollada Melee Attacking iyo Gantaalada, waxay noqon doonaan maamul-goboleed hoosaadyo u dhexeeya midba midka kale oo ku saleysan fogaanta cadowga iyo helitaanka ammo. Natiijadu waxay tahay, dhaqamada kakan iyo dabeecadaha hoose waxaa lagu soo bandhigi karaa ugu yaraan kala-guuro nuqul ah.

Geed dhaqan

Iyadoo HFSM, isku darka adag ee dabeecadaha ayaa loo abuuray hab fudud. Si kastaba ha ahaatee, waxaa jirta dhib yar in go'aan qaadashada qaabka ku-meel-gaarka ah ay xiriir dhow la leedahay xaaladda hadda jirta. Ciyaaro badanna tani waa waxa loo baahan yahay. Si taxaddar leh oo loo isticmaalo madaxda dawlad-goboleedyada waxay yarayn kartaa tirada ku-noqoshada ku-noqoshada. Laakiin mararka qaarkood waxaad u baahan tahay sharciyo shaqeeya iyada oo aan loo eegin gobolka aad joogto, ama ku dhawaad ​​gobol kasta. Tusaale ahaan, haddii caafimaadka wakiilku hoos ugu dhaco 25%, waxaad u baahan doontaa inuu cararo iyada oo aan loo eegin haddii uu ku jiray dagaal, shaqo la'aan, ama hadal - waa inaad xaaladdan ku darto gobol kasta. Oo haddii naqshadeeyahaagu mar dambe rabo inuu beddelo heerka hoose ee caafimaadka laga bilaabo 25% ilaa 10%, markaa tani waa in mar kale la sameeyaa.

Fikrad ahaan, xaaladdani waxay u baahan tahay nidaam ay go'aannada ku saabsan "dawlad-goboleedku" ka baxsan yihiin dawlad-goboleedyada laftooda, si isbedel loogu sameeyo hal meel oo keliya oo aan la taaban xaaladaha kala-guurka. Geedaha dhaqanka ayaa halkan ka muuqda.

Waxaa jira dhowr siyaabood oo loo hirgelin karo, laakiin nuxurku waa isku mid dadka oo dhan waxayna la mid yihiin geedka go'aanka: algorithmisku wuxuu ka bilaabmaa "xidid", geedkuna wuxuu ka kooban yahay noodhadhyo matalaya go'aamada ama ficillada. Waxaa jira dhowr farqi oo muhiim ah in kastoo:

  • Nodes hadda waxay soo celiyaan mid ka mid ah saddexda qiyam: Ku guulaysta (haddii shaqada la dhammeeyo), guuldareystay (haddii aan la bilaabi karin), ama Orodka (haddii ay weli socoto oo aysan jirin natiijo kama dambays ah).
  • Ma jiraan go'aanno go'aan oo kale oo lagu kala dooranayo laba beddel. Taa beddelkeeda, waxay yihiin noodhka Qurxinta, kaas oo leh hal unug ilmo ah. Haddii ay ku guuleystaan, waxay fulinayaan noodhka keliya ee ubadkooda.
  • Nodes-yada sameeya ficilada waxay soo celiyaan qiimaha orodka si ay u matalaan ficilada la sameeyay.

Qaybtan yar ee qanjidhada ayaa la isku dari karaa si loo abuuro tiro badan oo dabeecado adag. Aan qiyaaso ilaaliyaha HFSM ee tusaalihii hore sida geed habdhaqan:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Qaab-dhismeedkan waa in aanu jirin isbedel muuqda oo laga bilaabo Idling/Patrolling states una gudbayo weerar ama dawlado kale. Haddii cadawgu uu muuqdo oo caafimaadka jilaagu hooseeyo, dilku wuxuu joogsan doonaa Noolka baxsadka ah, iyada oo aan loo eegin dhuunta ay hore u fulinaysay - Patrolling, Idling, Attacking, ama wax kale.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Geedaha hab-dhaqanku waa adag yihiin-waxaa jira siyaabo badan oo loo curin karo, iyo helitaanka isku-dhafka saxda ah ee qurxinta iyo noodhka isku dhafan waxay noqon kartaa mid adag. Waxa kale oo jira su'aalo ku saabsan inta jeer ee la hubiyo geedka - ma waxaan rabnaa inaan marno qayb kasta oo ka mid ah ama kaliya marka mid ka mid ah shuruudaha isbeddelay? Sideen u kaydin karnaa gobolka laxiriira qanjidhada - sidee ku ogaan karnaa markii aan joognay 10 ilbiriqsi, ama sidee ku ogaan karnaa noodhadhka fulinayay markii ugu dambeysay si aan si sax ah ugu shaqeyno taxanaha?

Tani waa sababta ay u jiraan hirgelinta badan. Tusaale ahaan, nidaamyada qaarkood waxay ku beddeleen noodhadhka qurxinta qurxinta gudaha. Waxay dib u qiimeeyaan geedka marka xaaladaha qurxintu ay isbedelaan, waxay caawiyaan inay ku biiraan noodhka, oo ay bixiyaan warar xilliyeed ah.

Nidaamka ku salaysan utility

Ciyaaraha qaarkood waxay leeyihiin makaaniko badan oo kala duwan. Waa suurad wacan in ay helaan dhammaan faa'iidooyinka xeerarka kala-guurka fudud iyo kuwa guud, laakiin maaha inay ku jiraan qaabka geedka habdhaqanka oo dhamaystiran. Halkii laga lahaan lahaa xulasho cad ama geed ficilo suurtagal ah, way fududahay in la baaro dhammaan ficillada oo la doorto midka ugu habboon xilligan.

Nidaamka ku salaysan utility ayaa kaa caawin doona tan. Tani waa nidaam uu wakiilku leeyahay waxqabadyo kala duwan oo uu doorto kuwa uu qabanayo iyadoo lagu saleynayo isticmaalka qaraabada ee mid kasta. Meesha utility ay tahay cabbir aan loo meel dayin oo ah sida ay muhiimka u tahay ama loo rabo in wakiilku sameeyo falkan.

Utility-ga la xisaabiyay ee ficil ku salaysan xaaladda hadda jirta iyo deegaanka, wakiilku wuxuu hubin karaa oo dooran karaa gobolka kale ee ugu habboon wakhti kasta. Tani waxay la mid tahay FSM, marka laga reebo halka kala-guurka lagu go'aamiyo qiyaasta xaalad kasta oo suurtagal ah, oo ay ku jirto kan hadda jira. Fadlan ogow in aan doorano ficilka ugu faa'iidada badan si aan u dhaqaaqno (ama joogno haddii aan hore u dhammaynay). Kala duwanaansho badan, tani waxay noqon kartaa xulasho dheellitiran laakiin aan toos ahayn ee liis yar.

Nidaamku wuxuu ku meeleeyaa qiimeyaal kala duwan oo aan loo meel dayin - tusaale ahaan, min 0 (oo aan gebi ahaanba la rabin) ilaa 100 (si buuxda loo jecel yahay). Ficil kastaa wuxuu leeyahay tiro cabbirro ah oo saameeya xisaabinta qiimahan. Ku soo noqoshada tusaalaha masuulkayaga:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Kala-guurka u dhexeeya falalka waa madmadow - gobol kastaa wuu raaci karaa mid kale. Mudnaanta waxqabadka waxaa laga helaa qiyamka tamarta la soo celiyay. Haddii cadawgu muuqdo, cadawguna uu xoog badan yahay, caafimaadkiisuna uu hooseeyo, ka dibna Fleeing iyo FindingHelp labaduba waxay soo celin doonaan qiyamka sare ee aan eber ahayn. Xaaladdan oo kale, FindingHelp had iyo jeer way sarraysaa. Sidoo kale, dhaqdhaqaaqyada aan dagaalladu waligood soo noqonin in ka badan 50, markaa had iyo jeer way ka hooseeyaan kuwa dagaalka. Waxaad u baahan tahay inaad tan ku xisaabtanto markaad samaynayso ficillo oo aad xisaabinayso faa'iidadooda.

Tusaalahayaga, ficilladu waxay soo celiyaan qiimaha joogtada ah ama mid ka mid ah laba qiime oo go'an. Nidaam waaqici ah oo dheeraad ah ayaa ka soo celin doona qiyaasta qiimayaasha kala duwan ee joogtada ah. Tusaale ahaan, ficilka Fleeing wuxuu soo celinayaa qiimaha tamarta sare haddii caafimaadka wakiilka uu hooseeyo, ficilka weerarkuna wuxuu soo celinayaa qiyamka tamarta hoose haddii cadowgu aad u xoogan yahay. Sababtan awgeed, ficilka Fleeing wuxuu ka hormariyaa weerarka xaalad kasta oo wakiilku dareemo inuusan haysan caafimaad ku filan oo uu kaga adkaado cadowga. Tani waxay u ogolaanaysaa ficilada in la kala hormariyo iyadoo lagu salaynayo tiro kasta oo shuruudo ah, taasoo ka dhigaysa habkan mid dabacsan oo doorsooma marka loo eego geedka habdhaqanka ama FSM.

Ficil kastaa wuxuu leeyahay shuruudo badan oo xisaabinta barnaamijka. Waxaa lagu qori karaa luqadda qoraalka ama si taxane ah oo qaaciidooyinka xisaabeed. Sims-ka, kaas oo u dhigma hawl maalmeedka jilaha, ayaa ku daraya xisaabinta dheeraadka ah - wakiilku wuxuu helayaa taxane "dhiirigelin" ah oo saameeya qiimeynta isticmaalka. Haddii jile gaajaysan yahay, way sii gaajaysnaan doonaan muddo ka dib, qiimaha tamarta ee ficilka EatFood wuu kordhi doonaa ilaa jilaagu sameeyo, hoos u dhigista heerka gaajada iyo soo celinta qiimaha EatFood eber.

Fikradda xulashada ficilada ku salaysan nidaamka qiimeyntu waa mid sahlan, sidaas darteed nidaamka ku salaysan Utility waxaa loo isticmaali karaa qayb ka mid ah hababka go'aan qaadashada AI, halkii laga beddeli lahaa iyaga oo dhammaystiran. Geedka go'aanka ayaa laga yaabaa inuu weydiiyo qiimeynta utility ee laba qanjidhada ilmood oo dooro kan sare. Sidoo kale, geedka akhlaaqda waxa uu yeelan karaa unug Utility ah oo isku dhafan si loo qiimeeyo waxtarka ficilada si loo go'aamiyo ilmaha la fulinayo.

Dhaqdhaqaaqa iyo navigation

Tusaalooyinka hore, waxaan haysanay madal aan bidix ama midig u dhaqaaqnay, iyo waardi gaaf wareegaysa ama weerartay. Laakiin sidee ayaan u maarayn karnaa dhaqdhaqaaqa wakiilka muddo wakhti ah? Sideen u dejinnaa xawaaraha, sideen uga fogaan karnaa caqabadaha, sidee ayaan u qorsheynaa waddo marka la tago meel loo socdo ay ka dhib badan tahay in loo socdo si toos ah? Bal aan eegno tan.

Maamulka

Marxaladda hore, waxaanu u qaadan doonaa in wakiil kastaa leeyahay qiime xawli ah, oo ay ku jiraan xawaaraha uu u socdo iyo jihada uu u socdo. Waxaa lagu qiyaasi karaa mitir halkii ilbiriqsi, kiiloomitir saacaddii, pixels per second, iwm. Dib u soo celinta Sense/Think/Act loop, waxaynu qiyaasi karnaa in qaybta fikirka ay doorato xawaaraha, qaybta sharcigana waxay khusaysaa xawaarahaas wakiilka. Caadi ahaan ciyaaruhu waxay leeyihiin nidaam fiisigis ah oo hawshan kuu qabta, baranaya qiimaha xawaaraha shay kasta oo hagaajinaya. Sidaa darteed, waxaad kaga tagi kartaa AI hal shaqo - si aad u go'aansato xawaaraha uu wakiilku leeyahay. Haddii aad ogtahay meesha uu wakiilku joogo, markaa waxaad u baahan tahay inaad u dhaqaaqdo jihada saxda ah xawaare go'an. Isla'eg aad u yar:

want_travel = meesha_meel_ujeedo - wakiilka_meel

Bal qiyaas adduun 2D ah. Wakiilku wuxuu joogaa barta (-2,-2), meeshu waa meel waqooyi-bari ka tirsan oo ah barta (30, 20), dariiqa loo baahan yahay wakiilku si uu halkaas u gaaro waa (32, 22). Aynu nidhaahno jagooyinkan waxa lagu qiyaasaa mitir - haddii aynu ka qaadno xawaaraha wakiilka 5 mitir ilbiriqsikii, markaa waxaanu cabbiraynaa qulqulka barokaca oo aanu helna xawaare ku dhow (4.12, 2.83). Marka la eego xuduudahan, wakiilku wuxuu ku iman doonaa meeshii uu u socday ku dhawaad ​​8 ilbiriqsi.

Waxaad dib u xisaabin kartaa qiyamka wakhti kasta. Haddii wakiilku uu nus u jiro bartilmaameedka, dhaqdhaqaaqu wuxuu noqon lahaa kala badh dhererka, laakiin maadaama xawaaraha ugu badan ee wakiilka uu yahay 5 m/s (waxaan go'aansanay tan sare), xawaaruhu wuxuu noqonayaa isku mid. Tani waxay sidoo kale ka shaqeysaa dhaqdhaqaaqa bartilmaameedyada, u oggolaanaysa wakiilka inuu sameeyo isbeddello yaryar marka ay guurayaan.

Laakiin waxaan rabnaa kala duwanaansho badan - tusaale ahaan, si tartiib tartiib ah u kordhinta xawaaraha si aan uga dhigno jilaa ka guuraya joogitaanka una guuraya orodka. Isla sidaas oo kale ayaa la samayn karaa dhamaadka ka hor inta aan la joojin. Tilmaamahaas waxaa loo yaqaan hab-dhaqanka isteerinka, kuwaas oo mid kastaa leeyahay magacyo gaar ah: Raadi, Carara, Imaanshaha, iwm. Fikradda ayaa ah in xoogagga dardargelinta lagu dabaqi karo xawaaraha wakiilka, iyada oo lagu saleynayo isbarbardhigga booska wakiilka iyo xawaaraha hadda iyo meesha loo socdo si loo isticmaalo habab kala duwan oo loogu guurayo yoolka.

Dabeecad kastaa waxay leedahay ujeedo xoogaa ka duwan. Seek iyo Imaanshaha waa siyaabo aad wakiilka ugu rari karto meel uu u socdo. Caqabada Ka Fogaanshaha iyo Kala-saarku waxay hagaajiyaan dhaqdhaqaaqa wakiilka si looga fogaado carqaladaha jidka yoolka. Isku-habaynta iyo isku-xidhnaanta waxay ilaalisaa wakiilada inay isla socdaan. Tiro kasta oo ka mid ah dabeecadaha isteerinka ee kala duwan ayaa lagu soo koobi karaa si loo soo saaro hal waddo oo keliya iyadoo la tixgalinayo dhammaan qodobbada. Wakiilka isticmaala imaatinka, kala-goynta, iyo dabeecadaha Ka fogaanshiyaha caqabadaha si uu uga fogaado gidaarada iyo wakiilada kale. Habkani wuxuu si fiican u shaqeeyaa meelo furan iyada oo aan faahfaahin aan loo baahnayn.

Xaalado aad u adag, ku darida dabeecadaha kala duwan ayaa si xun u shaqeeya - tusaale ahaan, wakiilku wuxuu ku dhegi karaa gidaarka sababtoo ah isku dhaca ka dhexeeya imaatinka iyo ka fogaanshaha caqabadaha. Sidaa darteed, waxaad u baahan tahay inaad tixgeliso xulashooyinka ka adag marka loo eego si fudud dhammaan qiimaha. Jidku waa kan: halkii aad ku dari lahayd natiijooyinka dabeecad kasta, waxaad tixgelin kartaa dhaqdhaqaaqa jihooyin kala duwan oo dooro ikhtiyaarka ugu fiican.

Si kastaba ha ahaatee, deegaan kakan oo leh cidhifyo dhintay iyo doorashooyin ku saabsan habka loo maro, waxaan u baahan doonaa wax xitaa ka sii horumarsan.

Helitaanka hab

Dabeecadaha hagiddu waxay aad ugu fiican yihiin dhaqdhaqaaqa fudud ee meel bannaan (garoon kubbadda cagta ama garoon) halkaas oo laga soo galo A ilaa B ay tahay waddo toosan oo leh kaliya leexin yar oo ku wareegsan caqabadaha. Wadooyinka adag, waxaan u baahanahay waddo raadin, taas oo ah dariiqa sahaminta adduunka iyo go'aaminta dariiqa loo marayo.

Midda ugu fudud waa in lagu dabaqo shabag kasta oo ku xiga wakiilka oo aad qiimeyso midka loo oggol yahay inuu guuro. Haddii mid iyaga ka mid ah uu yahay meel loo socdo, ka dib raac dariiqa labajibbaaran kasta ilaa kii hore ilaa aad ka gaadhayso bilowga. Tani waa wadadii. Haddii kale, ku celi habka labajibaarayaasha kale ee u dhow ilaa aad ka hesho meeshaad u socoto ama aad ka dhammaanayso labajibaaranayaasha (macnaheedu waa ma jirto waddo suurtagal ah). Tani waa waxa si rasmi ah loogu yaqaan raadinta Breadth-First Search ama BFS (algorithm raadinta ballaadhka-koowaad). Tallaabo kasta wuxuu u eegaa jiho kasta (sidaa darteed ballaadhka, "ballaadhka"). Meesha wax raadintu waxa ay la mid tahay mawjada hore ee mowjadda oo dhaqaaqa ilaa ay ka gaadho meesha la rabo – goobta goob-raadinta waxa ay ku fidaysaa tillaabo kasta ilaa barta dhamaadka lagu daro, ka dib waxa dib loo soo celin karaa bilowga.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Natiijo ahaan, waxaad heli doontaa liis afar geesle ah oo ay weheliyaan dariiqa la rabo. Tani waa dariiqa (sidaa darteed, waddo-raadinta) - liiska meelaha uu wakiilku booqan doono marka la raacayo meesha loo socdo.

Marka la eego in aan ognahay booska labajibbaaran kasta oo adduunka ah, waxaan isticmaali karnaa dabeecadaha isteerinka si aan ugu gudubno waddada - laga bilaabo noodhka 1 ilaa noodda 2, ka dibna laga bilaabo noode 2 ilaa noode 3, iyo wixii la mid ah. Doorashada ugu fudud ayaa ah in aad u sii jeeddo bartamaha afargeeska xiga, laakiin ikhtiyaarka xitaa ka sii fiican ayaa ah in la joojiyo bartamaha cidhifka u dhexeeya afargeeska hadda iyo kan xiga. Sababtaas awgeed, wakiilku wuxuu awoodi doonaa inuu gooyo geesaha leexashada fiiqan.

Algorithm BFS sidoo kale waxay leedahay faa'iido darrooyin - waxay sahamisaa inta badan afargeesyada jihada "qaldan" sida jihada "saxda ah". Tani waa meesha algorithm ka adag oo loo yaqaan A* (xiddigga) uu ka ciyaaro. Waxay u shaqeysaa si la mid ah, laakiin halkii ay si indho la'aan ah u baari lahayd fagaarayaasha deriska ah (ka dibna deriska deriska, ka dibna deriska deriska, iyo wixii la mid ah), waxay ururisaa qanjidhada liiska waxayna u kala saartaa si ay udubdhexaadka xiga ee la baadho had iyo jeer waa mid u horseeda dariiqa ugu gaaban. Nodes waxaa lagu kala soocaa iyadoo lagu saleynayo heuristic taasoo xisaabta ku dareysa laba shay - "kharashka" dariiqa mala-awaalka ah ee loo maro afargeeska la rabo (oo ay ku jiraan kharash kasta oo socdaal) iyo qiyaasta inta uu le'eg yahay barxaddaas meesha loo socdo ( eexashada raadinta gudaha jihada saxda ah).

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Tusaalahani wuxuu muujinayaa in wakiilku uu sahamiyo hal labajibbaaran markiiba, mar kasta oo uu doorto midka ku xiga ee ugu rajo-gelinta badan. Waddada ka soo baxday waxay la mid tahay BFS, laakiin afargeesyo yar ayaa la tixgeliyey habka - taas oo saameyn weyn ku leh waxqabadka ciyaarta.

Dhaqdhaqaaq aan lahayn shabag

Laakin inta badan ciyaaraha laguma dejiyo shabag, inta badanna suurtagal maaha in sidaas la sameeyo iyada oo aan la hurayn xaqiiqada jirta. Waxaa loo baahan yahay tanaasul. Intee le'eg ayay tahay labajibbaaranyadu? Aad u weyn mana awoodi doonaan inay si sax ah u matalaan wadooyin yaryar ama leexasho, aad u yar waxaana jiri doona labajibaaranayaal aad u badan oo la raadin karo, taas oo ugu dambeyntii qaadan doonta waqti badan.

Waxa ugu horreeya ee la fahmo waa in mesh-ku uu na siinayo garaafka noodhka isku xidhan. Algorithms-yada A* iyo BFS dhab ahaantii waxay ku shaqeeyaan garaafyada mana daneeyaan mesh-keena gabi ahaanba. Waxaan ku dhejin karnaa qanjidhada meel kasta oo adduunka ciyaarta ka mid ah: ilaa iyo inta uu jiro xiriir ka dhexeeya labada nood ee isku xiran, iyo sidoo kale inta u dhaxaysa dhibcaha bilowga iyo dhammaadka iyo ugu yaraan mid ka mid ah qanjidhada, algorithm wuxuu u shaqeyn doonaa sidii hore. Tan waxaa badanaa loogu yeeraa nidaamka jid-mareenka, maadaama nood kastaa uu ka dhigan yahay boos muhiim ah oo adduunka ka mid ah oo qayb ka noqon kara tiro kasta oo waddooyin mala awaal ah.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha
Tusaalaha 1: guntin afar geesle kasta. Baadigoobku wuxuu ka bilaabmaa qanjirada meesha uu wakiilku ku yaal waxayna ku dhammaataa qanjirka afargeeska la rabo.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha
Tusaalaha 2: Nodes ka yar (meelaha jid-mareenka). Baadigoobku wuxuu ka bilaabmaa square wakiilka, wuxuu maraa tirada qanjidhada loo baahan yahay, ka dibna wuxuu sii socdaa meesha loo socdo.

Tani waa nidaam gebi ahaanba dabacsan oo awood leh. Laakiin xoogaa daryeel ah ayaa loo baahan yahay si loo go'aamiyo meesha iyo sida loo dhigo bar-jid, haddii kale wakiillada waxaa laga yaabaa inaysan si fudud u arkin meesha ugu dhow mana awoodi doonaan inay bilaabaan waddada. Way sahlanaan lahayd haddii aan si toos ah u meelayn karno jidad ku salaysan joomatari adduunka.

Tani waa halka uu ka soo muuqdo mesh navigation ama navmesh (mesh navigation) Kani inta badan waa shabag 2D ah oo saddexagal ah kaas oo lagu daboolay joomatari adduunka - meel kasta oo wakiilka loo oggol yahay inuu socdo. Mid kasta oo ka mid ah saddexagalka mesh-ku waxa uu noqdaa nood garaafka, oo waxa uu leeyahay ilaa saddex geesood oo isku xiga kuwaas oo noqda noodh ku xiga garaafka.

Sawirkaani waa tusaale ka mid ah mishiinka Unity - waxa uu falanqeeyay joomatari aduunka oo abuuray navmesh (sawirka shaashadda ee buluug khafiif ah). Gees kasta oo navmesh ku yaal waa meel uu wakiilku istaagi karo ama ka guuri karo geeso kale una guuri karo geeso kale. Tusaalahan, geesoolayaasha ayaa ka yar sagxadaha ay ku yaalliin - tan waxaa loo sameeyaa si loo tixgeliyo xajmiga wakiilka, kaas oo ka sii dheeraan doona booskiisa magaca.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Waxaan raadin karnaa dariiq loo maro mesh-kan, annagoo mar kale adeegsanayna A* algorithm. Tani waxay ina siin doontaa waddo qumman oo ku dhow adduunka, taas oo ku xisaabtanta dhammaan joomatari oo aan u baahnayn noodhadhka aan loo baahnayn iyo abuurista jidad.

Dariiq-raadinta waa mawduuc aad u ballaadhan oo aan qayb ka mid ah maqaalku ku filnayn. Haddii aad rabto inaad si faahfaahsan u barato, markaa tani way ku caawin doontaa Websaydhka Amit Patel.

Qorshaynta

Waxaan ku barannay waddo-raadinta in mararka qaarkood aysan ku filneyn in la doorto jihada oo aan dhaqaaqno - waa inaan dooranaa waddo oo aan sameyno dhowr leexo si aan u gaarno meesha aan dooneyno. Waxaan si guud u qeexi karnaa fikradan: gaaritaanka yoolku maaha tillaabada xigta oo keliya, laakiin waa taxane dhan oo mararka qaarkood aad u baahan tahay inaad hore u sii eegto dhowr tillaabo si aad u ogaato waxa ugu horreeya uu noqon doono. Tan waxa loo yaqaan qorshaynta. Dariiq-raadinta ayaa loo malayn karaa inay tahay mid ka mid ah dhawr arrimood oo lagu kordhinayo qorshaynta. Marka la eego meertada Dareenka/Fikirka/Xeerka, halkan waa halka ay qaybta Fikirka u qorshayso qaybo badan oo Xeerka mustaqbalka ah.

Aynu eegno tusaalaha ciyaarta looxa Magic: The Gathering. Waxaan marka hore ku soconaa gacantayada kaararkan soo socda:

  • Swamp - Waxay siisaa 1 mana madow (kaarka dhulka).
  • Kaynta - waxay siisaa 1 mana cagaaran (kaarka dhulka).
  • Wizard baxsadka - Wuxuu u baahan yahay 1 mana buluug ah si loogu yeero.
  • Elvish Mystic - Wuxuu u baahan yahay 1 mana cagaaran si loogu yeero.

Saddexda kaadh ee soo hadhay waanu iska indhatiray si aanu u fududayno. Sida sharcigu qabo, ciyaaryahan ayaa loo ogol yahay inuu ciyaaro 1 kaarka dhulka halkii marba, wuxuu "ku dhufan karaa" kaarkan si uu uga soo saaro mana, ka dibna ku dhejiyo (oo ay ku jiraan u yeerida xayawaan) iyadoo loo eegayo qaddarka mana. Xaaladdan oo kale, ciyaaryahanka bini'aadamka wuxuu yaqaanaa inuu ciyaaro Forest, taabo 1 mana cagaaran, ka dibna u yeer Elvish Mystic. Laakiin sidee ciyaarta AI ku ogaan kartaa tan?

Qorshayn fudud

Habka fudud ayaa ah in la tijaabiyo fal kasta markeeda ilaa laga waayo kuwa ku habboon. Markaad eegto kaararka, AI waxay aragtaa waxa Swamp ciyaari karo. Wuuna ciyaaraa. Ma jiraan wax kale oo ka hadhay leexashadan? Uma yeeri karto Elvish Mystic ama Wizard Fugitive, sababtoo ah waxay u baahan yihiin mana cagaaran iyo buluug siday u kala horreeyaan, halka Swamp ay bixiso kaliya mana madow. Oo mar dambe ma awoodi doono inuu ciyaaro Forest, sababtoo ah wuxuu horay u ciyaaray Swamp. Sidaa darteed, ciyaarta AI waxay raacday xeerarka, laakiin si liidata ayay u samaysay. Waa la hagaajin karaa

Qorshayntu waxay heli kartaa liiska falalka keenaya ciyaarta gobolka la doonayo. Sida fagaare kasta oo waddo ku yaal uu u lahaa deris (dariiq raadin), hawl kasta oo qorshaha ku jirta waxay sidoo kale leedahay deris ama kuwo beddela. Waxaan raadin karnaa ficiladan iyo ficilada soo socda ilaa aan ka gaarno heerka la rabo.

Tusaalahayaga, natiijadii la rabay waa "u yeedh makhluuqaad haddii ay suurtagal tahay." Bilawga wareegga, waxaanu aragnaa laba ficil oo suurtagal ah oo ay ogol yihiin xeerarka ciyaarta:

1. Ciyaar Swamp (natiijada: Swamp ciyaarta)
2. Ciyaar kaynta (natiijada: kaynta ciyaarta)

Tallaabo kasta oo la qaado waxay horseedi kartaa ficillo dheeraad ah iyo xidhid kuwa kale, mar kale waxay ku xiran tahay xeerarka ciyaarta. Bal qiyaas in aan ciyaarnay Swamp - tani waxay meesha ka saari doontaa Swamp sida tallaabada xigta (mar hore ayaanu u ciyaarnay), tani waxay sidoo kale ka saari doontaa Forest (maxaa yeelay sida sharcigu qabo waxaad ciyaari kartaa hal kaar oo dhul ah halkii marba). Taas ka dib, AI wuxuu ku darayaa helitaanka 1 mado madow sida tallaabada xigta sababtoo ah ma jiraan doorashooyin kale. Haddii uu horay u sii socdo oo uu doorto Taabo Swamp, wuxuu heli doonaa 1 unug oo mana madow ah mana awoodi doono inuu ku sameeyo.

1. Ciyaar Swamp (natiijada: Swamp ciyaarta)
1.1 "Taabo" Swap (natiijada: Swamp "taabtay", +1 unug madaw ah)
Wax ficil ah ma jiraan - DHAMMAAD
2. Ciyaar kaynta (natiijada: kaynta ciyaarta)

Liiska ficilladu wuu gaabanaa, waxaanu gaadhnay dhammaad dhintay. Waxaan ku celineynaa habka tallaabada xigta. Waxaan ciyaareynaa Forest, fur ficilka "hel 1 mana cagaaran", taas oo markaa furi doonta ficilka saddexaad - u yeer Elvish Mystic.

1. Ciyaar Swamp (natiijada: Swamp ciyaarta)
1.1 "Taabo" Swap (natiijada: Swamp "taabtay", +1 unug madaw ah)
Wax ficil ah ma jiraan - DHAMMAAD
2. Ciyaar kaynta (natiijada: kaynta ciyaarta)
2.1 "Taabo" kaynta (natiijada: kaynta waa "la garaacay", +1 unug ee mana cagaaran)
2.1.1 U yeedh Elvish Mystic (natiijada: Elvish Mystic ee ciyaarta, -1 mana cagaaran)
Wax ficil ah ma jiraan - DHAMMAAD

Ugu dambayntii, waxaanu baadhnay dhammaan tallaabooyinka suurtogalka ah oo aanu helnay qorshe u yeedhaya makhluuqa.

Tani waa tusaale aad loo fududeeyay. Waxaa lagu talinayaa in la doorto qorshaha ugu wanaagsan ee suurtogalka ah, halkii aad ka dooran lahayd qorshe kasta oo buuxiya shuruudaha qaarkood. Guud ahaan waa suurtogal in la qiimeeyo qorshayaasha suurtagalka ah iyadoo lagu salaynayo natiijada ama faa'iidada guud ee hirgelintooda. Waxaad naftaada ku dhalin kartaa 1 dhibcood markaad ciyaareyso kaarka dhulka iyo 3 dhibcood markaad u yeedhayso makhluuqa. Ku ciyaarista Swamp waxay noqon doontaa qorshe 1 dhibcood ah. Iyo ciyaarta kaynta → Taabo kaynta → u yeedh Elvish Mystic waxay isla markiiba siin doontaa 4 dhibcood.

Tani waa sida qorshuhu ugu shaqeeyo Magic: The Gathering, laakiin isla caqli-galku wuxuu khuseeyaa xaaladaha kale. Tusaale ahaan, u raritaan roodhida si aad u hesho meel uu hoggaamiyaha kiniisaddu ugu guuro shax. Ama ka dabool darbiga gadaashiisa si aad si badbaado leh ugu toogto XCOM sidan oo kale. Guud ahaan, waxaad helaysaa fikradda.

Qorshaynta la hagaajiyay

Mararka qaarkood waxaa jira ficillo badan oo suurtagal ah si loo tixgeliyo ikhtiyaar kasta oo suurtagal ah. Ku soo noqoshada tusaalaha oo leh Sixir: Isu-ururinta: aynu nidhaahno ciyaarta iyo gacantaada waxaa jira dhowr kaarar oo dhul iyo xayawaan ah - tirada isku-dhafka suurtogalka ah ee dhaqdhaqaaqa waxay noqon kartaa daraasiin. Waxaa jira dhowr xalal dhibaatada.

Habka ugu horeeya waa silsilad gadaal. Halkii aad isku dayi lahayd dhammaan isku-dhafka, waxa fiican inaad ku bilowdo natiijada kama dambaysta ah oo aad isku daydo inaad hesho waddo toos ah. Halkii aan ka bixi lahayn xididka geedka caleen gaar ah, waxaan u dhaqaaqnaa jihada ka soo horjeeda - caleenta ilaa xididka. Habkani waa sahlan yahay oo dhakhso badan.

Haddii cadowgu leeyahay 1 caafimaad, waxaad heli kartaa qorshaha "heshiiska 1 ama dhaawac ka badan". Si taas loo gaaro, waa in la buuxiyaa shuruudo dhowr ah:

1. Burburka waxaa keeni kara sixir- waa in uu gacanta ku jiraa.
2. Si aad wax u sixriso, waxaad u baahan tahay mana.
3. Si aad u hesho mana, waxaad u baahan tahay inaad ciyaarto kaarka dhulka.
4. Si aad u ciyaarto kaarka dhulka, waxaad u baahan tahay inaad gacanta ku hayso.

Dariiqa kale ayaa ah raadinta ugu horreysa-ugu fiican. Halkii la isku dayi lahaa dhammaan waddooyinka, waxaan dooraneynaa midka ugu habboon. Inta badan, habkani wuxuu siinayaa qorshaha ugu fiican iyada oo aan kharashyada raadinta loo baahnayn. A* waa nooc ka mid ah raadinta ugu horreysa ee ugu wanaagsan - iyadoo la baarayo waddooyinka ugu rajo-gelinta badan bilowga, waxay durba heli kartaa dariiqa ugu fiican iyada oo aan la hubin xulashooyin kale.

Xulashada raadinta ugu horreysa ee xiisaha leh oo sii kordheysa ee caanka ah waa Monte Carlo Tree Search. Halkii la qiyaasi lahaa qorshayaasha ka wanaagsan kuwa kale marka la dooranayo ficil kasta oo xiga, algorithmisku wuxuu doortaa kuwa ku guulaysta nasiibka tallaabo kasta ilaa uu ka gaaro dhamaadka (marka qorshuhu uu keeno guul ama guuldarro). Natiijada kama dambaysta ah ayaa markaa loo isticmaalaa in lagu kordhiyo ama la dhimo miisaanka doorashooyinkii hore. Adigoo ku celcelinaya habkan dhowr jeer oo isku xigta, algorithm wuxuu bixiyaa qiyaas wanaagsan oo ku saabsan waxa ugu fiican ee soo socda, xitaa haddii xaaladdu isbeddelayso (haddii cadawgu uu tallaabo qaado si uu u farageliyo ciyaaryahanka).

Sheeko ku saabsan qorshaynta ciyaaraha ma dhammayn doonto la'aanteed Qorshayn Hawleed Ku Jihaysan Hadafka ama GOAP (qorshayn hawleed ku jihaysan yool). Kani waa hab si weyn loo isticmaalo oo laga wada hadlay, laakiin marka laga reebo dhawr tafaasiil oo kala soocan, asal ahaan waa habka silsiladda dib u dhaca ee aynu hore uga soo hadalnay. Haddi ujeedadu ahayd "in la dumiyo cayaartoyga" ciyaaryahankuna uu ka danbeeyo daboolka, qorshuhu wuxuu noqon karaa: ku baabi'in bam-gacmeed → qaado → tuur.

Caadi ahaan waxa jira dhawr hadaf oo mid waliba leeyahay mudnaantiisa. Haddii ujeeddada mudnaanta ugu sarreysa aan la dhammaystiri karin (ma jiraan ficillo isku dhafan oo abuuraya qorshe "dila ciyaaryahanka" sababtoo ah ciyaaryahanku ma muuqanayo), AI wuxuu dib ugu laaban doonaa ujeedooyinka mudnaanta hoose.

Tababarka iyo la qabsiga

Waxaan horay u sheegnay in ciyaarta AI inta badan aysan isticmaalin barashada mashiinka sababtoo ah kuma habboona maareynta wakiilada waqtiga dhabta ah. Laakiin tani macnaheedu maaha inaadan wax ka amaahan karin meeshan. Waxaan rabnaa qof ka soo horjeeda mid toogtay oo aan wax ka baran karno. Tusaale ahaan, ogow meelaha ugu fiican khariidada. Ama ka soo horjeeda ciyaarta dagaalka kaas oo xannibi doona dhaqdhaqaaqa inta badan la isticmaalo ee ciyaartoyga, isaga oo ku dhiirigelinaya inuu isticmaalo kuwa kale. Markaa barashada mishiinku aad bay waxtar u yeelan kartaa xaaladahan oo kale.

Tirakoobka iyo ixtimaalka

Inta aynaan u gelin tusaalayaal kakan, aynu aragno ilaa inta aynu gaadhi karno innagoo dhawr cabbir oo fudud qaadanayna oo u adeegsanayna go'aanno. Tusaale ahaan, istaraatijiyad-waqtiga dhabta ah - sideen ku go'aamin karnaa in ciyaaryahanku uu weerar qaadi karo daqiiqadaha ugu horreeya ee ciyaarta iyo intee difaac ah si loo diyaariyo tan? Waxaan baran karnaa waaya-aragnimadii hore ee ciyaaryahan si aan u fahanno falcelinta mustaqbalka waxay noqon kartaa. Si aad u bilawdo, ma hayno xogta cayriin, laakiin waanu soo ururin karnaa - mar kasta oo AI ay ku ciyaaraan bini'aadamka, waxay qori kartaa wakhtiga weerarka ugu horreeya. Dhowr fadhi ka dib, waxaan heli doonaa celcelis ahaan waqtiga ay qaadan doonto ciyaaryahanka si uu u weeraro mustaqbalka.

Waxaa sidoo kale jira dhibaato qiyamka celceliska: haddii ciyaaryahan uu ku yaacay 20 jeer oo uu si tartiib tartiib ah u ciyaaray 20 jeer, markaa qiimaha loo baahan yahay wuxuu noqon doonaa meel dhexe, tani nama siin doonto wax faa'iido leh. Hal xal ayaa ah in la xaddido xogta gelinta - 20-ka qaybood ee ugu dambeeya waa la tixgelin karaa.

Hab la mid ah ayaa la adeegsadaa marka la qiyaasayo suurtagalnimada falalka qaarkood iyadoo loo malaynayo in dookhyadii hore ee ciyaartoygu ay ahaan doonaan kuwo la mid ah mustaqbalka. Haddii ciyaaryahanku shan jeer nagu soo weeraro kubbadda dabka, laba jeer oo hillaac ah, iyo mar melee, waxaa cad inuu jecel yahay kubbadda dabka. Aynu soo saarno oo aragno suurtogalnimada isticmaalka hubka kala duwan: kubbadda dabka=62,5%, hillaac=25% iyo melee=12,5%. Ciyaarteena AI waxay u baahan tahay inay isu diyaariso si ay isaga difaacdo dabka.

Habka kale ee xiisaha leh ayaa ah in la isticmaalo Naive Bayes Classifier si loo barto tiro badan oo xog-gal ah oo loo kala saaro xaaladda si AI ay uga jawaabto habka la rabo. Kalasaarayaasha Bayesian ayaa si fiican loogu yaqaan isticmaalkooda shaandhada spamka ee iimaylka. Halkaa waxay ku baadhaan erayada, barbar dhig meelaha ay ereyadaasi hore uga soo muuqdeen (Spam ama maya), oo waxay ka soo saaraan gunaanad ku saabsan iimayllada soo socda. Waxaan samayn karnaa wax la mid ah xitaa in yar oo wax gelin ah. Iyada oo ku saleysan dhammaan macluumaadka waxtarka leh ee AI ay aragto (sida waxa unugyada cadowga la abuuray, ama waxa ay adeegsadaan, ama tignoolajiyada ay baadhaan), iyo natiijada kama dambaysta ah (dagaal ama nabad, degdeg ama difaac, iwm.) - waxaan dooran doonaa habdhaqanka AI ee la rabo.

Dhammaan hababkan tababarku waa ku filan yihiin, laakiin waxaa habboon in la isticmaalo iyaga oo ku saleysan xogta tijaabada. AI waxay baran doontaa inay la qabsato xeeladaha kala duwan ee tijaabiyaashaadu adeegsadeen. AI oo la qabsata ciyaaryahanka ka dib marka la sii daayo waxay noqon kartaa mid la saadaalin karo ama aad u adag in laga adkaado.

La qabsiga qiimaha ku salaysan

Marka la eego waxa ku jira adduunkeena ciyaaraha iyo qawaaniinta, waxaan bedeli karnaa jaangooyooyinka qiyamka ee saameeya go'aan gaarista, halkii aan si fudud u isticmaali lahayn xogta gelinta. Waxaan sameynaa tan:

  • U oggolow AI inay ururiyaan xogta xaaladda adduunka iyo dhacdooyinka muhiimka ah inta lagu jiro ciyaarta (sida kor ku xusan).
  • Aan bedelno dhowr qiyam oo muhiim ah oo ku saleysan xogtan.
  • Waxaan fulinaa go'aannadayada ku salaysan habaynta ama qiimaynta qiyamkan.

Tusaale ahaan, wakiilku waxa uu leeyahay qolal badan oo uu ka xusho khariidadda qofka kowaad. Qol kastaa waxay leedahay qiime u gaar ah, taas oo go'aamisa sida loo jecel yahay in la booqdo. AI waxay si aan kala sooc lahayn u doorataa qolka la aadayo iyadoo lagu saleynayo qiimaha. Wakiilku wuxuu markaas xasuusanayaa qolkii lagu dilay wuxuuna dhimayaa qiimihiisii ​​(ixtimaalka uu ku soo laaban doono). Si la mid ah xaaladda ka soo horjeeda - haddii wakiilku uu burburiyo dad badan oo ka soo horjeeda, markaa qiimaha qolka ayaa kordha.

model Markov

Maxaa dhacaya haddii aan isticmaalno xogta la ururiyey si aan u saadaalino? Haddii aan xasuusanno qol kasta oo aan ku aragno ciyaaryahan ku jira waqti cayiman, waxaan saadaalin doonnaa qolka uu ciyaari karo. Dabagalka iyo duubista dhaqdhaqaaqa ciyaartoyga ee qolalka (qiimaha), waxaan saadaalin karnaa iyaga.

Aynu soo qaadanno saddex qol: casaan, cagaar iyo buluug. Iyo sidoo kale indho-indhayntii aanu duubnay intii aanu daawanay ciyaarta ciyaarta:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Tirada indha-indhaynta qol kasta waxay ku dhowdahay in la siman yahay - wali ma naqaano meel fiican oo laga sameeyo gaadmada. Ururinta tirakoobka sidoo kale waxaa dhib badan soo saarista ciyaartoyda, kuwaas oo si siman uga soo muuqda khariidada oo dhan. Laakiin xogta ku saabsan qolka ku xiga ee ay galaan ka dib marka ay ka soo muuqdaan khariidadda ayaa durba faa'iido leh.

Waxaa la arki karaa in qolka cagaarka ah uu ku habboon yahay ciyaartoyda - dadka intooda badan waxay ka guuraan qolka cas, 50% kuwaas oo ku sii jira halkaas. Qolka buluuga ah, liddi ku ah, maaha mid caan ah; ku dhawaad ​​qofna ma tagin, haddii ay sameeyaan, ma joogaan waqti dheer.

Laakiin xogtu waxay noo sheegaysaa wax ka muhiimsan - marka ciyaartoygu ku jiro qol buluug ah, qolka xiga ee aan ku aragno wuxuu noqon doonaa casaan, ma aha cagaar. Inkasta oo qolka cagaaran uu ka caansan yahay qolka cas, xaaladdu way isbeddelaysaa haddii ciyaaryahanku ku jiro qolka buluuga ah. Gobolka ku xiga (yacni qolka uu ciyaartoygu tagi doono) waxay ku xidhan tahay xaaladii hore (sida qolka uu ciyaartoygu hadda ku jiro). Sababtoo ah waxaan sahminnaa ku tiirsanaanta, waxaan samayn doonaa saadaal sax ah oo ka badan haddii aan si fudud u tirinay indha-indhaynta si madax-bannaan.

Saadaasha dawlad mustaqbalka ee ku salaysan xogta laga helay dawladii hore waxa loo yaqaana model Markov, tusaalooyinkaas (qolal leh) waxa loo yaqaan silsilada Markov. Mar haddii hab-raacyadu ay matalaan suurtogalnimada isbeddellada u dhexeeya dawlad-goboleedyada is-daba-joogga ah, waxay si muuqaal ah u soo bandhigaan sidii FSM-yada oo leh itimaalka wareeg kasta. Markii hore, waxaan u isticmaalnay FSM si aan u matalo xaaladda dabeecadda ee wakiilku ku jiray, laakiin fikraddaani waxay ku fidsan tahay gobol kasta, haddii ay la xiriirto wakiilka iyo haddii kale. Xaaladdan, gobolladu waxay matalaan qolka wakiilku ku jiro:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Tani waa hab fudud oo lagu matalo suurtagalnimada qaraabada isbeddelka gobolka, taasoo siinaysa AI xoogaa awood ah oo lagu saadaaliyo gobolka soo socda. Waxaad odorosi kartaa dhowr tallaabo oo kaa horreeya.

Haddii ciyaaryahan uu ku jiro qolka cagaaran, waxaa jira 50% fursad uu ku joogi doono halkaas marka xigta ee la arko. Laakiin waa maxay fursadaha uu weli halkaas joogi doono xitaa ka dib? Ma aha oo kaliya in ay jirto fursad uu ciyaartoygu ku sii jiro qolka cagaaran ka dib laba indho-indhayn, laakiin sidoo kale waxaa jirta fursad uu ka tagay oo uu ku soo laabtay. Waa kan shaxda cusub iyadoo la tixgelinayo xogta cusub:

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha

Waxay muujineysaa in fursada lagu arko ciyaaryahanka qolka cagaaran ka dib laba indho-indheyn ay la mid tahay 51% - 21% inuu ka imaan doono qolka cas, 5% iyaga ka mid ah in ciyaaryahanku uu booqan doono qolka buluuga ah ee u dhexeeya, iyo 25% in ciyaartoygu aanu ka bixi doonin qolka cagaaran.

Jadwalka ayaa si fudud u ah qalab muuqaal ah - nidaamku wuxuu kaliya u baahan yahay in la dhufto ixtimaalka tallaabo kasta. Tani waxay ka dhigan tahay in aad mustaqbalka fog ku eegi karto hal digniin: waxaan u qaadaneynaa in fursada qolka lagu galo ay gebi ahaanba ku xiran tahay qolka hadda jira. Tan waxaa lagu magacaabaa Hantida Markov - gobolka mustaqbalka wuxuu ku xiran yahay kaliya hadda. Laakiin tani boqolkiiba boqol sax maaha. Ciyaartoyda waxay bedeli karaan go'aamada iyadoo ku xiran arrimo kale: heerka caafimaadka ama tirada rasaasta. Sababtoo ah ma diiwaangelinno qiyamkan, saadaashayadu waxay noqon doontaa mid sax ah.

N-Grams

Ka warran tusaalaha ciyaarta dagaalka iyo saadaalinta dhaqdhaqaaqa isku-dhafka ciyaartoyga? Isku mid! Laakiin halkii aan ka ahaan lahaa hal gobol ama dhacdo, waxaanu baari doonaa dhammaan taxanaha ka kooban shaqo joojinta.

Hal dariiqo oo tan lagu sameeyo ayaa ah in la kaydiyo agab kasta (sida Kick, Punch ama Block) meel kaydinta oo u qor dhammaan kaydinta dhacdo ahaan. Markaa ciyaartoygu wuxuu si isdaba joog ah u riixaa Kick, Kick, Punch si uu u isticmaalo weerarka SuperDeathFist, nidaamka AI wuxuu ku kaydiyaa dhammaan agabyada kaydka wuxuuna xusuustaa saddexdii ugu dambeeyay ee loo adeegsaday tillaabo kasta.

Sida loo abuuro ciyaaraha AI: hage loogu talagalay bilowgayaasha
(Xariiqaha geesinimada leh waa marka ciyaaryahanku bilaabo weerarka SuperDeathFist.)

AI waxay arki doontaa dhammaan xulashooyinka marka ciyaartoygu doorto Laad, oo uu ku xigo laad kale, ka dibna ogaysii in gelinta xigta had iyo jeer tahay Punch. Tani waxay u oggolaanaysaa wakiilka inuu saadaaliyo dhaqdhaqaaqa isku dhafan ee SuperDeathFist oo uu xannibo haddii ay suurtagal tahay.

Dhacdooyinkan taxanaha ah waxaa loo yaqaan N-grams, halkaasoo N ay tahay tirada curiyeyaasha la kaydiyay. Tusaalaha hore wuxuu ahaa 3-gram (trigram), taas oo macnaheedu yahay: labada gal ee hore waxaa loo isticmaalaa in lagu saadaaliyo kan saddexaad. Sidaa darteed, 5-gram, afarta ugu horreeya ee la soo galiyay waxay saadaaliyaan shanaad iyo wixii la mid ah.

Naqshadeeyuhu wuxuu u baahan yahay inuu si taxadar leh u doorto cabbirka N-grams. N yari wuxuu u baahan yahay xasuus yar laakiin wuxuu kaloo kaydiyaa taariikh yar. Tusaale ahaan, 2-gram (bigram) ayaa duubi doona Kick, Kick ama Kick, Punch, laakiin ma awoodi doono inuu kaydiyo Kick, Kick, Punch, markaa AI kama jawaabi doonto isku-dhafka SuperDeathFist.

Dhanka kale, tirooyinka waaweyn waxay u baahan yihiin xasuus badan iyo AI waxay noqon doontaa mid aad u adag in la tababaro maadaama ay jiri doonaan fursado badan oo suurtagal ah. Haddii aad haysatid saddex waxyaalood oo suurtagal ah oo ah Kick, Punch ama Block, oo aan isticmaalnay 10-gram, taasi waxay noqon doontaa qiyaastii 60 kun oo doorasho oo kala duwan.

Qaabka bigram-ku waa silsilad fudud oo Markov ah - gobol kasta oo la soo dhaafay/lammaanaha hadda jira waa bigram, waxaadna saadaalin kartaa gobolka labaad oo ku saleysan kan koowaad. 3-garaam iyo ka weyn ee N-grams waxa kale oo loo malayn karaa inay yihiin silsiladaha Markov, halkaas oo dhammaan curiyeyaasha (marka laga reebo kan ugu dambeeya ee N-gram) oo wada jira ay sameeyaan gobolka koowaad iyo qaybta dambe ee labaad. Tusaalaha ciyaarta dagaalku waxa uu tusinayaa fursada looga gudbi karo gobolka Kick iyo Kick una gudbayo gobolka laad iyo Punch. Anaga oo u daawaynaya galitaanka taariikhda wax gelinta badan hal unug ahaan, waxaanu asal ahaan u bedelaynaa isku xigxiga wax gelinta qayb ka mid ah gobolka oo dhan. Tani waxay ina siinaysaa hantida Markov, taas oo noo ogolaanaysa inaan isticmaalno silsiladaha Markov si aan u saadaaliyo talooyinka soo socda oo aan qiyaasno waxa dhaqdhaqaaqa combo noqon doono xiga.

gunaanad

Waxaan ka hadalnay qalabka iyo hababka ugu caansan ee horumarinta sirdoonka macmal. Waxaan sidoo kale eegnay xaaladaha loo baahan yahay in la isticmaalo iyo meelaha ay si gaar ah faa'iido u leeyihiin.

Tani waa inay ku filnaataa in la fahmo aasaaska ciyaarta AI. Laakiin, dabcan, kuwani maaha dhammaan hababka. Caan ka yar, laakiin aan waxtar yar lahayn waxaa ka mid ah:

  • algorithms-ka wanaajinta oo ay ku jiraan buur fuulida, farcanka farcanka iyo algorithmaadka hidaha
  • Algorithms raadinta/jadwalka iska soo horjeeda (minimax iyo alfa-beta manjooyin)
  • hababka kala soocidda (perceptrons, shabakadaha neural iyo mishiinada vector taageero)
  • hababka habaynta garashada iyo xusuusta wakiilada
  • Hababka qaab dhismeedka AI (nidaamyada isku-dhafan, qaab-dhismeedyada hoose iyo siyaabaha kale ee loo dul-maro nidaamyada AI)
  • Qalabka animation (qorshaynta iyo isku-duwidda dhaqdhaqaaqa)
  • arrimaha waxqabadka (heerka tafaasiisha, wakhti kasta, iyo algorithms-timelying)

Ilaha internetka ee mawduuca:

1. GameDev.net ayaa leh qaybta oo leh maqaallo iyo casharro ku saabsan AIMarkaasay kulanka.
2. AiGameDev.com waxay ka kooban tahay bandhigyo iyo maqaallo badan oo ku saabsan mowduucyo badan oo kala duwan oo la xiriira horumarinta AI ciyaarta.
3. Qiimaha ugu sarreeya saamiyada GDC waxaa ku jira mowduucyo ka soo baxay shirwaynaha GDC AI, kuwaas oo intooda badan lagu heli karo bilaash.
4. Qalab waxtar leh ayaa sidoo kale laga heli karaa mareegaha AI Game Programmers Guild.
5. Tommy Thompson, cilmi-baare AI iyo horumariye ciyaarta, wuxuu ku sameeyaa fiidiyowyo YouTube-ka AI iyo Ciyaaraha oo leh sharraxaad iyo daraasad AI ciyaaraha ganacsiga.

Buugaag ku saabsan mowduuca:

1. Taxanaha buugga Game AI Pro waa maqaallo gaagaaban oo la soo ururiyey oo sharxaya sida loo hirgeliyo astaamo gaar ah ama sida loo xalliyo dhibaatooyin gaar ah.

Game AI Pro: Xikmado la soo ururiyay ee Xirfadlayaasha Ciyaaraha AI
Ciyaarta AI Pro 2: Xikmado la soo ururiyay ee Xirfadlayaasha AI
Ciyaarta AI Pro 3: Xikmado la soo ururiyay ee Xirfadlayaasha AI

2. AI Game Programming Taxanaha Xikmada waa hormoodka taxanaha Game AI Pro. Waxay ka kooban tahay habab hore, laakiin ku dhawaad ​​​​dhammaantood waa kuwo khuseeya xitaa maanta.

Xikmada Barnaamijka Ciyaaraha AI 1
Xikmada Barnaamijka Ciyaaraha AI 2
Xikmada Barnaamijka Ciyaaraha AI 3
Xikmada Barnaamijka Ciyaaraha AI 4

3. Sirdoonka Artificial: Habka Casriga ah waa mid ka mid ah qoraallada aasaasiga ah ee qof kasta oo raba inuu fahmo goobta guud ee sirdoonka macmal. Kani maaha buug ku saabsan horumarinta ciyaaraha - waxay baraysaa aasaaska AI.

Source: www.habr.com

Add a comment