Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Ua loaʻa iaʻu kekahi mau mea hoihoi e pili ana i ke akamai artificial i nā pāʻani. Me ka wehewehe ʻana i nā mea maʻamau e pili ana iā AI me ka hoʻohana ʻana i nā hiʻohiʻona maʻalahi, a i loko he nui nā mea pono a me nā ʻano hana no ka hoʻomohala kūpono a me ka hoʻolālā. Pehea, kahi a me ka wā e hoʻohana ai i laila.

ʻO ka hapa nui o nā hiʻohiʻona i kākau ʻia ma pseudocode, no laila ʻaʻole pono ka ʻike papahana holomua. Ma lalo o ka ʻokiʻoki he 35 mau ʻāpana kikokikona me nā kiʻi a me nā gif, no laila e mākaukau.

UPD. E kala mai, akā ua hana mua wau i kaʻu unuhi ponoʻī o kēia ʻatikala ma Habré PatientZero. Hiki iā ʻoe ke heluhelu i kāna mana maanei, akā no kekahi kumu ua hala ka ʻatikala iaʻu (ua hoʻohana wau i ka ʻimi, akā ua hewa kekahi mea). A no koʻu kākau ʻana ma kahi blog i hoʻolaʻa ʻia no ka hoʻomohala ʻana i ka pāʻani, ua hoʻoholo wau e haʻalele i kaʻu mana o ka unuhi no ka poʻe kākau inoa (ua hoʻohālikelike ʻia kekahi mau kikoʻī, ua ʻae ʻia kekahi ma ka ʻōlelo aʻo a nā mea hoʻomohala).

He aha ka AI?

Ke nānā aku nei ka pāʻani AI i nā hana a kahi mea e hana ai ma muli o nā kūlana i loaʻa ai. ʻO kēia ka mea maʻamau i kapa ʻia ʻo ka "manakia akamai", kahi he ʻano mea pāʻani ka ʻelele, he kaʻa, he bot, a i ʻole kekahi mea i ʻoi aku ka abstract: kahi hui holoʻokoʻa o nā hui a i ʻole he civilization. I kēlā me kēia hihia, he mea pono ia e ʻike i kona kaiapuni, e hoʻoholo i nā mea e pili ana iā ia, a e hana e like me lākou. Kapa ʻia kēia ka pōʻaiapili Sense/Think/Act:

  • Manaʻo: Loaʻa a loaʻa paha i ka ʻelele ka ʻike e pili ana i nā mea i loko o kona kaiapuni e hiki ke hoʻololi i kāna ʻano (nā hoʻoweliweli kokoke, nā mea e hōʻiliʻili ai, nā wahi hoihoi e makaʻala).
  • E noʻonoʻo: Hoʻoholo ka luna i ke ʻano o ka pane ʻana (e noʻonoʻo inā he palekana ka hōʻiliʻili ʻana i nā mea a inā paha e hakakā ʻo ia / peʻe mua).
  • Hana: hana ka luna i nā hana e hoʻokō i ka hoʻoholo mua (hoʻomaka e neʻe i ka ʻenemi a i ʻole mea).
  • ...i kēia manawa ua loli ke kūlana ma muli o nā hana a nā huaʻōlelo, no laila e hoʻi hou ka pōʻai me ka ʻikepili hou.

Makemake ʻo AI i ka nānā ʻana i ka ʻāpana Sense o ka loop. No ka laʻana, lawe nā kaʻa kūʻokoʻa i nā kiʻi o ke alanui, hoʻohui iā lākou me ka ʻikepili radar a me ka lidar, a wehewehe iā lākou. Hana ʻia kēia ma ke aʻo ʻana i ka mīkini, ka mea e hana ana i ka ʻikepili e hiki mai ana a hāʻawi iā ia i ke ʻano, e unuhi i ka ʻike semantic e like me "he kaʻa ʻē aʻe he 20 iwilei ma mua ou." ʻO kēia nā mea i kapa ʻia nā pilikia hoʻonohonoho.

ʻAʻole pono nā pāʻani i kahi ʻōnaehana paʻakikī e unuhi i ka ʻike no ka mea ʻo ka hapa nui o ka ʻikepili he ʻāpana koʻikoʻi ia. ʻAʻohe pono e holo i nā algorithms ʻike kiʻi e hoʻoholo ai inā he ʻenemi ma mua-ua ʻike mua ka pāʻani a hānai pono i ka ʻike i ke kaʻina hana hoʻoholo. No laila, ʻoi aku ka maʻalahi o ka ʻāpana Sense o ka pōʻai ma mua o ka ʻāpana Think and Act.

Nā palena o ka pāʻani AI

He nui nā palena o AI e pono e mālama ʻia:

  • ʻAʻole pono e hoʻomaʻamaʻa mua ʻia ʻo AI, me he mea lā he algorithm aʻo mīkini. ʻAʻole kūpono ke kākau i kahi pūnaewele neural i ka wā o ka hoʻomohala ʻana e nānā i nā ʻumi kaukani o nā mea pāʻani a aʻo i ke ala maikaʻi loa e pāʻani ai iā lākou. No ke aha mai? No ka mea ʻaʻole i hoʻokuʻu ʻia ka pāʻani a ʻaʻohe mea pāʻani.
  • He leʻaleʻa a paʻakikī ka pāʻani, no laila ʻaʻole pono nā luna e ʻimi i ke ala maikaʻi loa e kūʻē i nā kānaka.
  • Pono nā ʻelele e nānā maoli i mea e manaʻo ai nā mea pāʻani e pāʻani ana lākou i ka poʻe maoli. Ua ʻoi aku ka maikaʻi o ka polokalamu AlphaGo i nā kānaka, akā ua mamao loa nā ʻanuʻu i koho ʻia mai ka ʻike kuʻuna o ka pāʻani. Inā hoʻohālikelike ka pāʻani i kahi hoa paio kanaka, ʻaʻole pono kēia manaʻo. Pono e hoʻololi i ka algorithm i mea e hana ai i nā hoʻoholo kūpono ma mua o nā mea kūpono.
  • Pono e hana ʻo AI i ka manawa maoli. ʻO ia ke ʻano ʻaʻole hiki i ka algorithm ke hoʻohana i ka hoʻohana ʻana i ka CPU no nā manawa lōʻihi e hoʻoholo ai. ʻOiai he 10 milliseconds lōʻihi loa, no ka mea, ʻo ka hapa nui o nā pāʻani he 16 a 33 milliseconds wale nō e hana i nā hana āpau a neʻe i ke kiʻi kiʻi aʻe.
  • ʻO ka mea kūpono, ʻo ka hapa liʻiliʻi o ka ʻōnaehana pono e hoʻokele ʻikepili, i hiki i nā mea coders ʻole ke hana i nā loli a hiki i nā hoʻololi ke hiki koke.

E nānā i nā ala AI e uhi ana i ka pōʻai holoʻokoʻa Sense/Think/Act.

Hooholo Kumu

E hoʻomaka kākou me ka pāʻani maʻalahi loa - Pong. Pahuhopu: e hoʻoneʻe i ka hoe i lele ka pōleʻa ma mua o ka lele ʻana. Ua like ia me ka tennis, kahi e eo ai inā ʻaʻole ʻoe e pā i ka pōleʻa. Ma aneʻi he hana maʻalahi ka AI - e hoʻoholo i kahi ala e neʻe ai i ka paepae.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Nā ʻōlelo kūlana

No ka AI i Pong, ʻo ka hopena ʻoi loa ka hoʻāʻo mau e kau i ka paepae ma lalo o ka pōleʻa.

ʻO kahi algorithm maʻalahi no kēia, i kākau ʻia ma pseudocode:

kēlā me kēia kiʻi/hōʻano hou i ka wā e holo ana ka pāʻani:
ina ka poepoe ma ka hema o ka hoe:
nee i ka hoe hema
inā ʻaʻole ma ka ʻaoʻao ʻākau o ka hoe.
nee i ka hoe akau

Inā neʻe ka paepae i ka wikiwiki o ka pōpō, a laila ʻo ia ka algorithm kūpono no ka AI ma Pong. ʻAʻohe pono e hoʻopili i kekahi mea inā ʻaʻole nui ka ʻikepili a me nā hana hiki i ka luna.

He mea maʻalahi kēia ala e ʻike ʻole ʻia ai ka holoʻokoʻa Sense/Think/Act. Akā aia ma laila:

  • Aia ka ʻāpana Sense i ʻelua inā ʻōlelo. ʻIke ka pāʻani i kahi o ka pōleʻa a me kahi o ka paepae, no laila ke nānā aku nei ka AI no ia ʻike.
  • Hoʻokomo pū ʻia ka ʻāpana Think i nā ʻōlelo ʻelua inā. Hoʻokomo lākou i ʻelua mau hoʻonā, i kēia hihia he kūʻokoʻa. ʻO ka hopena, koho ʻia kekahi o nā hana ʻekolu - e neʻe i ka paepae ma ka hema, e neʻe i ka ʻākau, a i ʻole e hana ʻole inā ua hoʻonohonoho pono ʻia.
  • Loaʻa ka ʻāpana Act ma nā ʻōlelo Move Paddle Left a me Move Paddle Right. Ma muli o ka hoʻolālā pāʻani, hiki iā lākou ke neʻe koke i ka paepae a i ʻole i kahi wikiwiki kikoʻī.

Ua kapa ʻia ia mau ʻano he reactive - aia kekahi mau lula maʻalahi (i kēia hihia inā ʻōlelo ʻia i loko o ke code) e pane i ke kūlana o ka honua i kēia manawa a hana.

lāʻau hoʻoholo

Ua like maoli ka laʻana Pong i kahi manaʻo AI maʻamau i kapa ʻia he kumu hoʻoholo. Ke hele nei ka algorithm e hiki i kahi "lau" - kahi hoʻoholo e pili ana i ka hana e hana ai.

E hana mākou i kahi kiʻi poloka o ka lāʻau hoʻoholo no ka algorithm o kā mākou paepae:

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Kapa ʻia kēlā me kēia ʻāpana o ka lāʻau he node - hoʻohana ʻo AI i ka manaʻo kalakala e wehewehe i kēlā mau hale. ʻElua ʻano nodes:

  • Nā node hoʻoholo: ke koho ʻana ma waena o nā koho ʻelua e pili ana i ka hoʻāʻo ʻana i kekahi kūlana, kahi i hōʻike ʻia ai kēlā me kēia koho ma ke ʻano he node ʻokoʻa.
  • Hoʻopau nodes: ʻO ka hana e hana e hōʻike ana i ka hoʻoholo hope.

Hoʻomaka ka algorithm mai ka node mua (ka "aʻa" o ka lāʻau). Hoʻoholo ʻo ia i ka node keiki e hele ai, a i ʻole e hoʻokō i ka hana i mālama ʻia ma ka node a puka i waho.

He aha ka pōmaikaʻi o ka hana ʻana o ka lāʻau hoʻoholo i ka hana like me nā ʻōlelo inā ma ka pauku mua? Aia kahi ʻōnaehana maʻamau ma ʻaneʻi kahi i loaʻa i kēlā me kēia hoʻoholo hoʻokahi wale nō kūlana a me ʻelua mau hopena. ʻAe kēia i ka mea hoʻomohala e hana iā AI mai ka ʻikepili e hōʻike ana i nā hoʻoholo i loko o kahi lāʻau me ka ʻole o ka paʻakikī paʻa. E hōʻike aku kākou ma ke ʻano o ka papaʻaina:

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Ma ka ʻaoʻao code e loaʻa iā ʻoe kahi ʻōnaehana no ka heluhelu ʻana i nā kaula. E hana i kahi node no kēlā me kēia o lākou, e hoʻohui i ka loina hoʻoholo ma ke kolamu ʻelua, a me nā node keiki e pili ana i ke kolamu ʻekolu a me ʻehā. Pono ʻoe e hoʻolālā i nā kūlana a me nā hana, akā i kēia manawa e ʻoi aku ka paʻakikī o ke ʻano o ka pāʻani. Ma ʻaneʻi ʻoe e hoʻohui i nā hoʻoholo a me nā hana hou aʻe, a laila hoʻopilikino i ka AI holoʻokoʻa ma ka hoʻoponopono wale ʻana i ka faila kikokikona wehewehe lāʻau. A laila, hoʻoili ʻoe i ka faila i ka mea hoʻolālā pāʻani, hiki iā ia ke hoʻololi i ke ʻano me ka ʻole e hoʻopili hou i ka pāʻani a hoʻololi paha i ke code.

He mea maikaʻi loa nā lāʻau hoʻoholo i ka wā i kūkulu ʻia ai lākou mai kahi pūʻulu nui o nā laʻana (e like me ka hoʻohana ʻana i ka ID3 algorithm). Hoʻolilo kēia iā lākou i mea hana kūpono a kiʻekiʻe no ka hoʻokaʻawale ʻana i nā kūlana ma muli o ka ʻikepili i loaʻa. Eia nō naʻe, hele mākou ma mua o kahi ʻōnaehana maʻalahi no nā luna e koho i nā hana.

Nā hiʻohiʻona

Nānā mākou i kahi ʻōnaehana kumu lāʻau hoʻoholo i hoʻohana i nā kūlana a me nā hana i hana mua ʻia. Hiki i ka mea hoʻolālā AI ke hoʻonohonoho i ka lāʻau e like me kona makemake, akā pono ʻo ia e hilinaʻi i ka coder nāna i hoʻonohonoho i nā mea āpau. He aha inā hiki iā mākou ke hāʻawi i ka mea hoʻolālā i nā mea hana e hana i kā lākou mau kūlana a i ʻole nā ​​​​hana?

No laila, ʻaʻole pono ka mea papahana e kākau i nā code no nā kūlana ʻO ka Ball Left Of Paddle a me ka Ball Right Of Paddle, hiki iā ia ke hana i kahi ʻōnaehana e kākau ai ka mea hoʻolālā i nā kūlana e nānā i kēia mau waiwai. A laila e like me kēia ka ʻikepili kumulāʻau hoʻoholo:

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Ua like kēia me ka papa mua, akā ʻo nā hoʻonā i loko o lākou iho i kā lākou code ponoʻī, e like me ka ʻāpana kūlana o kahi ʻōlelo inā. Ma ka ʻaoʻao code, e heluhelu ʻia kēia ma ke kolamu ʻelua no nā nodes hoʻoholo, akā ma kahi o ka ʻimi ʻana i kahi kūlana kikoʻī e hoʻokō (Is Ball Left Of Paddle), loiloi ia i ka ʻōlelo kūlana a hoʻihoʻi i ka ʻoiaʻiʻo a i ʻole ka hewa. Hana ʻia kēia me ka ʻōlelo kākau ʻōlelo Lua a i ʻole Angelscript. Me ka hoʻohana ʻana iā lākou, hiki i ka mea hoʻomohala ke lawe i nā mea i kāna pāʻani (pōpō a me ka hoe) a hana i nā mea hoʻololi e loaʻa i ka palapala (ball.position). Eia kekahi, ʻoi aku ka maʻalahi o ka ʻōlelo kākau ma mua o C++. ʻAʻole ia e koi i kahi pae hōʻuluʻulu piha, no laila kūpono ia no ka hoʻoponopono wikiwiki ʻana i ka loiloi pāʻani a hiki i nā "non-coders" ke hana i nā hana pono iā lākou iho.

Ma ka laʻana ma luna, hoʻohana ʻia ka ʻōlelo kākau no ka loiloi i ka ʻōlelo kūlana, akā hiki ke hoʻohana ʻia no nā hana. No ka laʻana, hiki ke lilo ka ʻikepili Move Paddle Right i hōʻike palapala (ball.position.x += 10). No laila ua wehewehe ʻia ka hana ma ka palapala, me ka ʻole o ka papahana ʻo Move Paddle Right.

Hiki iā ʻoe ke hele hou aku a kākau i ka lāʻau hoʻoholo holoʻokoʻa ma kahi ʻōlelo kākau. He code kēia ma ke ʻano o nā ʻōlelo conditional hardcoded, akā e loaʻa iā lākou i loko o nā faila palapala waho, ʻo ia hoʻi, hiki ke hoʻololi ʻia me ka ʻole o ka hoʻopili hou ʻana i ka papahana holoʻokoʻa. Hiki iā ʻoe ke hoʻoponopono pinepine i ka faila script i ka wā pāʻani e hoʻāʻo koke i nā pane AI like ʻole.

Pane hanana

ʻO nā hiʻohiʻona ma luna nei he kūpono no Pong. Holo mau lākou i ka pōʻai Sense/Think/Act a hana ma muli o ke kūlana hou loa o ka honua. Akā i nā pāʻani paʻakikī, pono ʻoe e pane i nā hanana pilikino, a ʻaʻole loiloi i nā mea āpau i ka manawa hoʻokahi. ʻO Pong i kēia hihia he laʻana maikaʻi ʻole. E koho kāua i kekahi.

E noʻonoʻo i kahi pana pana kahi e neʻe ʻole ai nā ʻenemi a ʻike lākou i ka mea pāʻani, a laila hana lākou ma muli o kā lākou "hoʻolaha": holo kekahi e "wikiwiki", e hoʻouka kekahi mai kahi mamao. He ʻōnaehana hoʻohālikelike kumu - "inā ʻike ʻia kahi mea pāʻani, e hana i kekahi mea" - akā hiki ke hoʻokaʻawale ʻia i loko o kahi hanana Player Seen a me kahi Reaction (koho i kahi pane a hoʻokō).

Hoʻihoʻi kēia iā mākou i ke kaʻina Sense/Think/Act. Hiki iā mākou ke helu i kahi ʻāpana Sense e nānā i kēlā me kēia kiʻi inā ʻike ka AI i ka mea pāʻani. Inā ʻaʻole, ʻaʻohe mea e hiki mai, akā inā ʻike ia, a laila hana ʻia ka hanana Player Seen. E loaʻa i ke code kahi ʻāpana ʻokoʻa e ʻōlelo ana "i ka wā i ʻike ʻia ka hanana Player, hana" ma hea kahi pane āu e pono ai e hoʻoponopono i nā ʻāpana Think and Act. No laila, e hoʻonohonoho ʻoe i nā pane i ka hanana Player Seen: no ke ʻano "wikiwiki" - ChargeAndAttack, a no ka sniper - HideAndSnipe. Hiki ke hana ʻia kēia mau pilina ma ka waihona ʻikepili no ka hoʻoponopono wikiwiki me ka ʻole e hoʻopili hou. Hiki ke hoʻohana ʻia ka ʻōlelo kākau ma ʻaneʻi.

Hoʻoholo paʻakikī

ʻOiai he ikaika loa nā ʻōnaehana hoʻonā maʻalahi, nui nā kūlana i lawa ʻole lākou. I kekahi manawa pono ʻoe e hoʻoholo i nā hoʻoholo like ʻole e pili ana i ka mea a ka luna e hana nei, akā paʻakikī ke noʻonoʻo i kēia ma ke ʻano he kūlana. I kekahi manawa he nui nā kūlana e hōʻike pono iā lākou i kahi kumu hoʻoholo a i ʻole palapala. I kekahi manawa pono ʻoe e loiloi ma mua pehea e loli ai ke kūlana ma mua o ka hoʻoholo ʻana i ka hana aʻe. Pono nā ala ʻoi aku ka maʻalahi e hoʻoponopono i kēia mau pilikia.

Mīkini mokuʻāina palena ʻole

ʻO ka mīkini mokuʻāina palena ʻole a i ʻole FSM (finite state machine) kahi ala e ʻōlelo ai aia kā mākou ʻelele i kēia manawa i kekahi o nā mokuʻāina hiki, a hiki iā ia ke hoʻololi mai kekahi mokuʻāina i kekahi. Aia kekahi helu o ia mau mokuʻāina—no laila ka inoa. ʻO ka hiʻohiʻona maikaʻi loa mai ke ola he kukui uila. Loaʻa nā ʻano like ʻole o nā kukui ma nā wahi like ʻole, akā like ke kumumanaʻo - hōʻike kēlā me kēia mokuʻāina i kekahi mea (kū, hele, etc.). Aia ke kukui kaʻa i hoʻokahi mokuʻāina i kēlā me kēia manawa, a neʻe mai kekahi i kekahi ma muli o nā lula maʻalahi.

He moʻolelo like ia me nā NPC i nā pāʻani. No ka laʻana, e lawe kāua i kahi kiaʻi me kēia mau mokuʻāina:

  • Kaʻi kiaʻi.
  • Hoʻouka kaua.
  • E holo ana.

A ʻo kēia mau kūlana no ka hoʻololi ʻana i kona kūlana:

  • Inā ʻike ke kiaʻi i ka ʻenemi, hoʻouka ʻo ia.
  • Inā hoʻouka ke kiaʻi akā ʻaʻole ʻike hou i ka ʻenemi, hoʻi ʻo ia e mākaʻikaʻi.
  • Inā hoʻouka kekahi kiaʻi akā ʻeha nui, holo ʻo ia.

Hiki iā ʻoe ke kākau i nā huaʻōlelo inā me kahi ʻano hoʻololi o ke aupuni kiaʻi a me nā loiloi like ʻole: aia kahi ʻenemi ma kahi kokoke, he aha ke kūlana olakino o ka NPC, a pēlā aku.

  • Molowa - ma waena o nā mākaʻikaʻi.
  • Huli - ke nalowale ka ʻenemi i ʻike ʻia.
  • Loaʻa i ke kōkua - ke ʻike ʻia ka ʻenemi, akā ʻoi aku ka ikaika no ka hakakā wale ʻana.

Ua kaupalena ʻia ka koho no kēlā me kēia o lākou - no ka laʻana, ʻaʻole e hele ke kiaʻi e ʻimi i kahi ʻenemi huna inā he haʻahaʻa kona olakino.

Ma hope o nā mea a pau, aia kahi papa inoa nui o "inā" , Kela " hiki ke lilo i mea paʻakikī, no laila pono mākou e hoʻomaʻamaʻa i kahi ala e hiki ai iā mākou ke mālama i nā mokuʻāina a me nā hoʻololi ma waena o nā mokuʻāina. No ka hana ʻana i kēia, noʻonoʻo mākou i nā mokuʻāina āpau, a ma lalo o kēlā me kēia mokuʻāina mākou e kākau i lalo i kahi papa inoa i nā hoʻololi a pau i nā mokuʻāina ʻē aʻe, me nā kūlana e pono ai no lākou.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

He papa hoʻololi mokuʻāina kēia - he ala piha e hōʻike ai iā FSM. E kahakiʻi kākou i ke kiʻikuhi a loaʻa ka ʻike piha o ka loli ʻana o ka hana NPC.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Hōʻike ke kiʻikuhi i ke ʻano o ka hoʻoholo ʻana no kēia luna ma muli o ke kūlana o kēia manawa. Eia kekahi, hōʻike kēlā me kēia pua i kahi hoʻololi ma waena o nā mokuʻāina inā he ʻoiaʻiʻo ke kūlana e pili ana.

ʻO kēlā me kēia hōʻano hou mākou e nānā i ke kūlana o kēia manawa o ka luna, e nānā i ka papa inoa o nā hoʻololi, a inā e hoʻokō ʻia nā kūlana no ka hoʻololi ʻana, ʻae ia i ka mokuʻāina hou. No ka laʻana, nānā kēlā me kēia kiʻi inā ua pau ka manawa 10-kekona, a inā pēlā, hele ke kiaʻi mai ka mokuʻāina ʻo Idling a i Patrolling. Ma ke ala like, nānā ka moku'āina Attacking i ke olakino o ka ʻelele - inā he haʻahaʻa, a laila hele ia i ka mokuʻāina ʻo Fleeing.

Ke lawelawe nei kēia i nā hoʻololi ma waena o nā mokuʻāina, akā pehea e pili ana i ka ʻano pili me nā mokuʻāina ponoʻī? Ma ke ʻano o ka hoʻokō ʻana i ke ʻano maoli no kahi mokuʻāina, ʻelua mau ʻano "hook" kahi e hoʻoili ai mākou i nā hana i ka FSM:

  • Nā hana a mākou e hana ai i kēlā me kēia manawa no ke kūlana o kēia manawa.
  • ʻO nā hana a mākou e hana ai i ka hoʻololi ʻana mai kekahi mokuʻāina i kekahi.

Nā laʻana no ke ʻano mua. Na ka mokuʻāina Patrolling e hoʻoneʻe i ka ʻelele ma ke ala kiaʻi i kēlā me kēia kiʻi. E hoʻāʻo ka mokuʻāina Attacking e hoʻomaka i kahi hoʻouka ʻana i kēlā me kēia kiʻi a i ʻole ka hoʻololi ʻana i kahi mokuʻāina i hiki ai.

No ke ʻano ʻelua, e noʻonoʻo i ka hoʻololi "inā ʻike ʻia ka ʻenemi a ikaika loa ka ʻenemi, a laila hele i ka mokuʻāina ʻo Finding Help. Pono ka ʻelele e koho i kahi e hele ai no ke kōkua a mālama i kēia ʻike i ʻike ka mokuʻāina ʻo Finding Help i kahi e hele ai. Ke loaʻa ke kōkua, hoʻi ka luna i ka mokuʻāina Attacking. I kēia manawa, makemake ʻo ia e haʻi i ka hoa pili e pili ana i ka hoʻoweliweli, no laila e hiki mai ka hana NotifyFriendOfThreat.

Eia hou, hiki iā mākou ke nānā i kēia ʻōnaehana ma o ka lens o ka Sense/Think/Act cycle. Hoʻokomo ʻia ka Sense i ka ʻikepili i hoʻohana ʻia e ka logic transition. E noʻonoʻo - loaʻa nā hoʻololi i kēlā me kēia mokuʻāina. Hoʻokō ʻia ke kānāwai e nā hana i hana ʻia i kēlā me kēia manawa i loko o kahi mokuʻāina a i ʻole ma nā hoʻololi ʻana ma waena o nā mokuʻāina.

I kekahi manawa, ʻoi aku ka nui o ke kumu kūʻai o ke koho balota. No ka laʻana, inā hana kēlā me kēia luna i nā helu paʻakikī i kēlā me kēia kiʻi e hoʻoholo inā hiki iā ia ke ʻike i nā ʻenemi a maopopo inā hiki iā ia ke hoʻololi mai ka mokuʻāina Patrolling a hiki i ka Attacking, e lawe nui kēia i ka manawa CPU.

Hiki ke noʻonoʻo ʻia nā hoʻololi koʻikoʻi i ka mokuʻāina o ka honua he mau hanana e hoʻoponopono ʻia i ka wā e hiki mai ana. Ma kahi o ka FSM e nānā ana i ke kūlana hoʻololi "hiki i kaʻu luna ke ʻike i ka mea pāʻani?" i kēlā me kēia kiʻi, hiki ke hoʻonohonoho ʻia kahi ʻōnaehana ʻokoʻa e nānā liʻiliʻi pinepine (e like me 5 mau manawa i kekona). A ʻo ka hopena, ʻo ia ka hoʻopuka ʻana i ka Player Seen ke hala ka helu.

Hāʻawi ʻia kēia i ka FSM, pono e hele i ka hanana Player Seen i loaʻa i ke kūlana a pane e like me ia. Ua like ka hopena o ka hana koe wale no ka lohi i ʻike ʻole ʻia ma mua o ka pane ʻana. Akā ua hoʻomaikaʻi ka hana ma muli o ka hoʻokaʻawale ʻana i ka ʻāpana Sense i kahi ʻāpana o ka papahana.

Mīkini mokuʻāina palena hierarchical

Eia naʻe, ʻaʻole maʻalahi ka hana ʻana me nā FSM nui. Inā makemake mākou e hoʻonui i ka moku'āina hoʻouka e hoʻokaʻawale iā MeleeAttacking a me RangedAttacking, pono mākou e hoʻololi i nā hoʻololi mai nā moku'āina ʻē aʻe a pau e alakaʻi i ke kūlana Attacking (i kēia manawa a me ka wā e hiki mai ana).

Ua ʻike paha ʻoe i kā mākou hiʻohiʻona he nui nā hoʻololi pālua. ʻO ka hapa nui o nā hoʻololi i ka mokuʻāina Idling e like me nā hoʻololi i ka mokuʻāina Patrolling. He mea maikaʻi ʻaʻole e hana hou iā mākou iho, ʻoiai inā mākou e hoʻohui i nā mokuʻāina like. Maikaʻi ka hui ʻana i ka Idling a me Patrolling ma lalo o ka lepili maʻamau o "non-combat", kahi hoʻokahi hoʻonohonoho maʻamau o nā hoʻololi e hakakā i nā mokuʻāina. Inā mākou e noʻonoʻo i kēia lepili ma ke ʻano he mokuʻāina, a laila lilo ʻo Idling a Patrolling i substates. He laʻana o ka hoʻohana ʻana i kahi papa hoʻololi ʻokoʻa no kahi substate hou ʻole kaua:

Nā mokuʻāina nui:
Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Ma waho o ke kūlana kaua:
Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

A ma ke ʻano kiʻi:

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

ʻO ia ka ʻōnaehana like, akā me kahi mokuʻāina ʻaʻole kaua hou e pili ana i ka Idling a me Patrolling. Me kēlā me kēia mokuʻāina i loaʻa kahi FSM me nā substates (a ʻo kēia mau substates, i ka huli ʻana, i loko o kā lākou mau FSM ponoʻī - a pēlā aku no ka lōʻihi āu e pono ai), loaʻa iā mākou kahi Hierarchical Finite State Machine a i ʻole HFSM (hierarchical finite state machine). Ma ka hui pū ʻana i ka mokuʻāina non-combat, ʻoki mākou i kahi hui o nā hoʻololi redundant. Hiki iā mākou ke hana like no nā mokuʻāina hou me nā hoʻololi maʻamau. No ka laʻana, inā i ka wā e hiki mai ana mākou e hoʻonui i ka mokuʻāina Attacking i ka MeleeAttacking a me MissileAttacking states, e lilo lākou i substates e hoʻololi i waena o kekahi ma muli o ka mamao i ka ʻenemi a me ka loaʻa ʻana o nā ammo. ʻO ka hopena, hiki ke hōʻike ʻia nā ʻano paʻakikī a me nā ʻano sub-behavior me ka liʻiliʻi o nā hoʻololi pālua.

lāʻau ʻano

Me ka HFSM, hana ʻia nā hui pū ʻana o nā ʻano ma ke ʻano maʻalahi. Eia nō naʻe, aia kahi pilikia liʻiliʻi e pili pono ana ka hoʻoholo ʻana ma ke ʻano o nā lula hoʻololi i ke kūlana o kēia manawa. A ma nā pāʻani he nui kēia e pono ai. A ʻo ka hoʻohana pono ʻana i ka hierarchy mokuʻāina hiki ke hōʻemi i ka nui o ka hoʻololi hou ʻana. Akā i kekahi manawa pono ʻoe i nā lula e hana ʻole i kou mokuʻāina a i ʻole e pili ana i nā mokuʻāina āpau. No ka laʻana, inā hāʻule ke olakino o kahi luna i ka 25%, makemake ʻoe e holo ʻo ia me ka nānā ʻole inā ʻo ia i ka hakakā, palaualelo, a kamaʻilio paha - pono ʻoe e hoʻohui i kēia kūlana i kēlā me kēia mokuʻāina. A inā makemake kāu mea hoʻolālā e hoʻololi i ka paepae olakino haʻahaʻa mai 25% a i 10%, a laila pono e hana hou ʻia kēia.

ʻO ke kūpono, pono kēia kūlana i kahi ʻōnaehana kahi e hoʻoholo ai e pili ana i ka "mea e noho ai" ma waho o nā mokuʻāina ponoʻī, i mea e hoʻololi ai i kahi hoʻokahi wale nō a ʻaʻole e hoʻopā i nā kūlana hoʻololi. Hōʻike ʻia nā kumu lāʻau maʻaneʻi.

Nui nā ala e hoʻokō ai iā lākou, akā ʻano like ke ʻano o nā mea a pau a ua like me ka lāʻau hoʻoholo: hoʻomaka ka algorithm me kahi node "aʻa", a aia ka lāʻau i nā nodes e hōʻike ana i nā hoʻoholo a i ʻole nā ​​​​hana. Aia kekahi mau ʻokoʻa nui:

  • Hoʻihoʻi mai nā Nodes i kekahi o nā waiwai ʻekolu: Ua kūleʻa (inā pau ka hana), ʻAʻole (inā ʻaʻole hiki ke hoʻomaka), a i ʻole Holo (inā e holo mau ana a ʻaʻohe hopena hope).
  • ʻAʻohe node hoʻoholo hou e koho ai ma waena o nā koho ʻelua. Akā, he mau node Decorator, nona hoʻokahi node keiki. Inā lanakila lākou, hoʻokō lākou i kā lākou keiki node.
  • Hoʻihoʻi nā nodes e hana i nā hana i kahi waiwai holo e hōʻike i nā hana i hana ʻia.

Hiki ke hoʻohui ʻia kēia pūʻulu liʻiliʻi o nā nodes e hana i ka nui o nā ʻano paʻakikī. E noʻonoʻo kākou i ka HFSM kiaʻi mai ka laʻana mua ma ke ʻano he kumu lāʻau.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Me kēia hoʻolālā ʻaʻole pono e hoʻololi ʻia mai nā mokuʻāina Idling/Patrolling i Attacking a i ʻole nā ​​mokuʻāina ʻē aʻe. Inā ʻike ʻia kahi ʻenemi a haʻahaʻa ke olakino o ke ʻano, e pau ka hoʻokō ʻana ma ka node Fleeing, me ka nānā ʻole i ka node i hana mua ʻia - Patrolling, Idling, Attacking, a i ʻole kekahi.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

He paʻakikī nā kumu lāʻau - he nui nā ala e haku ai iā lākou, a he mea paʻakikī paha ka ʻimi ʻana i ka hui kūpono o nā mea hoʻonaninani a me nā node hui. Aia kekahi mau nīnau e pili ana i ka nui o ka nānā ʻana i ka lāʻau - makemake mākou e hele i kēlā me kēia ʻāpana a i ʻole ke loli wale kekahi o nā kūlana? Pehea mākou e mālama ai i ka mokuʻāina e pili ana i nā nodes - pehea mākou e ʻike ai i ka wā i hoʻopaʻa ʻia ai mākou no 10 kekona, a pehea mākou e ʻike ai i nā nodes e hoʻokō nei i ka manawa hope i hiki iā mākou ke hana pololei i ke kaʻina?

ʻO kēia ke kumu he nui nā hoʻokō. No ka laʻana, ua hoʻololi kekahi mau ʻōnaehana i nā nodes decorator me nā mea hoʻonaninani inline. Hoʻoponopono hou lākou i ka lāʻau i ka wā e loli ai nā kūlana o ka mea hoʻonaninani, kōkua i ka hoʻohui ʻana i nā nodes, a hāʻawi i nā mea hou i kēlā me kēia manawa.

Pūnaehana hoʻohana

He nui nā mechanics like ʻole o kekahi mau pāʻani. He mea makemake ia e loaʻa iā lākou nā pono āpau o nā lula hoʻololi maʻalahi a maʻamau, akā ʻaʻole pono i ke ʻano o kahi lāʻau piha o ka ʻano. Ma mua o ka loaʻa ʻana o kahi koho a i ʻole kahi lāʻau o nā hana hiki, ʻoi aku ka maʻalahi o ka nānā ʻana i nā hana āpau a koho i ka mea kūpono loa i kēia manawa.

E kōkua ka ʻōnaehana hoʻohana me kēia wale nō. He ʻōnaehana kēia i loaʻa i ka ʻelele nā ​​hana like ʻole a koho i nā mea e hana ai ma muli o ka pono pili o kēlā me kēia. ʻO kahi mea hoʻohana he ana kūʻokoʻa o ka nui a i ʻole ka makemake o ka luna e hana i kēia hana.

ʻO ka pono i helu ʻia o kahi hana e pili ana i ke kūlana o kēia manawa a me ke kaiapuni, hiki i ka ʻelele ke nānā a koho i ka mokuʻāina kūpono loa i kēlā me kēia manawa. Ua like kēia me FSM, koe naʻe kahi i hoʻoholo ʻia ai nā hoʻololi e ka manaʻo hoʻohālikelike no kēlā me kēia mokuʻāina kūpono, me ke kūlana o kēia manawa. E ʻoluʻolu e koho mākou i ka hana pono loa e neʻe ai (a i ʻole e noho inā ua hoʻopau mākou). No nā ʻano like ʻole, hiki i kēia ke koho kaulike akā maʻamau mai kahi papa inoa liʻiliʻi.

Hāʻawi ka ʻōnaehana i ka laulā o nā waiwai pono—no ka laʻana, mai 0 (makemake ʻole loa) a hiki i 100 (makemake loa). Loaʻa i kēlā me kēia hana kekahi mau ʻāpana e pili ana i ka helu ʻana o kēia waiwai. Ke hoʻi nei i kā mākou kumu hoʻohālike kahu:

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

ʻO ka hoʻololi ʻana ma waena o nā hana he pohihihi - hiki i kēlā me kēia mokuʻāina ke hahai i kekahi. Loaʻa nā mea nui o ka hana ma nā waiwai waiwai i hoʻihoʻi ʻia. Inā ʻike ʻia kahi ʻenemi, a ikaika kēlā ʻenemi, a haʻahaʻa ke olakino o ke ʻano, a laila e hoʻihoʻi ʻo Fleeing a me FindingHelp i nā waiwai kiʻekiʻe ʻole-zero. I kēia hihia, ʻoi aku ka kiʻekiʻe o FindingHelp. Pēlā nō, ʻaʻole e hoʻi hou nā hana kaua ʻole ma mua o 50, no laila e emi mau lākou ma mua o nā mea hakakā. Pono ʻoe e noʻonoʻo i kēia i ka wā e hana ai i nā hana a me ka helu ʻana i kā lākou pono.

Ma kā mākou laʻana, hoʻihoʻi nā hana i kahi waiwai mau a i ʻole kekahi o nā waiwai paʻa ʻelua. E hoʻihoʻi ka ʻōnaehana ʻoi aku ka ʻoiaʻiʻo i kahi koho mai kahi ʻano mau o nā waiwai. No ka laʻana, e hoʻihoʻi ka hana ʻo Fleeing i nā waiwai waiwai kiʻekiʻe inā haʻahaʻa ke olakino o ka luna, a ʻo ka hana Attacking e hoʻihoʻi i nā waiwai pono haʻahaʻa inā ikaika loa ka ʻenemi. Ma muli o kēia, ʻoi aku ka nui o ka hana ʻauheʻe ma mua o ka Attacking i kēlā me kēia kūlana i manaʻo ai ka ʻelele ʻaʻole lawa kona olakino e lanakila ai ka ʻenemi. Hāʻawi kēia i nā hana e hana mua ʻia ma muli o kekahi helu o nā pae hoʻohālike, e hoʻololi i kēia ala i ʻoi aku ka maʻalahi a me ka loli ma mua o kahi kumu lāʻau a i ʻole FSM.

He nui nā kūlana o kēlā me kēia hana no ka helu ʻana o ka papahana. Hiki ke kākau ʻia ma ka ʻōlelo kākau ʻōlelo a i ʻole ma ke ʻano he pūʻulu o nā papa helu makemakika. ʻO ka Sims, ka mea e hoʻohālikelike i ka hana maʻamau o ke kanaka i kēlā me kēia lā, hoʻohui i kahi papa helu o ka helu - loaʻa i ka ʻelele ke ʻano o nā "hoʻoikaika" e hoʻoikaika i nā loiloi pono. Inā pōloli kekahi kanaka, e ʻoi aku ka pōloli i ka manawa, a e hoʻonui ʻia ka waiwai pono o ka hana EatFood a hiki i ka hana ʻana o ke ʻano, e hōʻemi ana i ka pae pōloli a hoʻihoʻi i ka waiwai EatFood i ʻole.

ʻO ka manaʻo o ke koho ʻana i nā hana e pili ana i kahi ʻōnaehana helu he mea maʻalahi loa, no laila hiki ke hoʻohana ʻia kahi ʻōnaehana Utility ma ke ʻano he ʻāpana o nā kaʻina hana hoʻoholo AI, ma mua o kahi pani piha no lākou. Hiki i ka lāʻau hoʻoholo ke noi i ka helu pono o nā node keiki ʻelua a koho i ka mea kiʻekiʻe. Pēlā nō, hiki i ka lāʻau hana ke loaʻa i kahi node Utility composite e loiloi i ka pono o nā hana e hoʻoholo ai i ke keiki e hoʻokō ai.

Ka neʻe ʻana a me ka hoʻokele

Ma nā hiʻohiʻona mua, loaʻa iā mākou kahi paepae e neʻe ai mākou i ka hema a i ʻole, a me kahi kiaʻi e mākaʻikaʻi a hoʻouka paha. Akā, pehea mākou e mālama ai i ka neʻe ʻana o ka luna i kekahi manawa? Pehea mākou e hoʻonohonoho ai i ka wikiwiki, pehea mākou e pale aku ai i nā pilikia, a pehea mākou e hoʻolālā ai i ke ala ke hele aku i kahi huakaʻi ʻoi aku ka paʻakikī ma mua o ka neʻe ʻana i kahi laina pololei? E nānā kākou i kēia.

ʻO ke aupuni

I ka pae mua, e manaʻo mākou ua loaʻa i kēlā me kēia luna ka waiwai wikiwiki, e komo pū ana me ka wikiwiki o ka neʻe ʻana a ma ke ala hea. Hiki ke ana ʻia i nā mika i kekona, nā kilomika i ka hola, nā pika i kekona, a me nā mea ʻē aʻe. Ke hoʻomanaʻo nei i ka loop Sense/Think/Act, hiki iā mākou ke noʻonoʻo e koho ka ʻaoʻao Think i ka wikiwiki, a pili ka ʻāpana Act i kēlā wikiwiki i ka luna. ʻO ka maʻamau, loaʻa i nā pāʻani kahi ʻōnaehana physics e hana i kēia hana no ʻoe, e aʻo i ka waiwai wikiwiki o kēlā me kēia mea a hoʻoponopono iā ia. No laila, hiki iā ʻoe ke haʻalele i ka AI me hoʻokahi hana - e hoʻoholo i ka wikiwiki e pono ai ka luna. Inā ʻike ʻoe i kahi e pono ai ka ʻelele, a laila pono ʻoe e hoʻoneʻe iā ia ma ke ala pololei i ka wikiwiki i hoʻonohonoho ʻia. He hoohalike ko'iko'i loa:

makemake_huakaʻi = kūlana_kūlana - kūlana_kūlana

E noʻonoʻo i kahi honua 2D. Aia ka ʻelele ma ka lae (-2,-2), aia ka wahi e hele ai ma ka ʻākau hikina ma ka lae (30, 20), a ʻo ke ala i makemake ʻia no ka ʻelele e hiki ai i laila (32, 22). E ʻōlelo kākou ua ana ʻia kēia mau kūlana i nā mika - inā e lawe mākou i ka māmā o ka ʻelele he 5 mau mika i kēlā me kēia kekona, a laila e hoʻonui mākou i kā mākou neʻe vector a loaʻa ka wikiwiki ma kahi o (4.12, 2.83). Me kēia mau ʻāpana, e hōʻea ka luna i kona wahi e hele ai ma kahi o 8 kekona.

Hiki iā ʻoe ke helu hou i nā waiwai i kēlā me kēia manawa. Inā he hapalua ka hele ʻana o ka ʻelele i ka pahu hopu, ʻo ka hapalua ka lōʻihi o ka neʻe ʻana, akā no ka mea ʻo 5 m/s ka wikiwiki o ka ʻelele (ua hoʻoholo mākou i kēia ma luna), e like ka wikiwiki. Hoʻohana pū kēia no ka neʻe ʻana i nā pahuhopu, e ʻae ana i ka ʻelele e hana i nā loli liʻiliʻi i ko lākou neʻe ʻana.

Akā makemake mākou i nā ʻano like ʻole - no ka laʻana, e hoʻonui mālie i ka wikiwiki e hoʻohālikelike i kahi ʻano e neʻe ana mai ke kū a i ka holo. Hiki ke hana like i ka hopena ma mua o ka hoʻomaha. Ua ʻike ʻia kēia mau hiʻohiʻona ʻo nā ʻano hoʻokele, aia kēlā me kēia inoa i nā inoa kikoʻī: ʻImi, Holo, Hōʻea, etc. e hoʻohana i nā ʻano hana like ʻole o ka neʻe ʻana i ka pahuhopu.

He kumu ʻokoʻa ko kēlā me kēia ʻano. ʻO ka ʻimi a me ka hōʻea ʻana he ala e hoʻoneʻe ai i kahi ʻelele i kahi huakaʻi. Hoʻoponopono ʻo Obstacle Avoidance and Separation i ka neʻe ʻana o ka ʻelele e pale aku i nā pilikia ma ke ala i ka pahuhopu. Mālama ka Alignment a me ka Cohesion i nā ʻelele e neʻe pū. Hiki ke hōʻuluʻulu ʻia kekahi helu o nā ʻano hoʻokele like ʻole e hana i kahi vector ala hoʻokahi e noʻonoʻo ana i nā mea āpau. He 'elele e ho'ohana ana i ka Arrival, Separation, a me Obstacle Avoidance 'ano hana e noho kaawale mai na paia a me na 'elele e ae. Hana maikaʻi kēia ala i nā wahi ākea me ka ʻole o nā kikoʻī pono ʻole.

Ma nā kūlana paʻakikī, ʻoi aku ka maikaʻi o ka hoʻohui ʻana i nā ʻano like ʻole - no ka laʻana, hiki i kahi ʻelele ke paʻa i ka pā ma muli o ka paio ma waena o ka Arrival and Obstacle Avoidance. No laila, pono ʻoe e noʻonoʻo i nā koho i ʻoi aku ka paʻakikī ma mua o ka hoʻohui ʻana i nā waiwai āpau. ʻO ke ala kēia: ma kahi o ka hoʻohui ʻana i nā hopena o kēlā me kēia ʻano, hiki iā ʻoe ke noʻonoʻo i ka neʻe ʻana i nā ʻaoʻao like ʻole a koho i ke koho maikaʻi loa.

Eia nō naʻe, i loko o kahi kaiapuni paʻakikī me nā hopena make a me nā koho e pili ana i ke ala e hele ai, pono mākou i kahi mea ʻoi aku ka holomua.

Ke ʻimi nei i kahi ala

Maikaʻi nā ʻano hoʻokele no ka neʻe ʻana ma kahi ākea (ke kahua pōpeku a i ʻole ke kahua) kahi e hele ai mai A a i B he ala pololei me nā ala liʻiliʻi wale nō a puni nā mea pale. No nā ala paʻakikī, pono mākou i ka ʻimi ala, ʻo ia ke ala e ʻimi ai i ka honua a me ka hoʻoholo ʻana i kahi ala e hele ai.

ʻO ka mea maʻalahi ka hoʻopili ʻana i kahi mākia i kēlā me kēia ʻāpana e pili ana i ka luna a loiloi i ka mea o lākou e ʻae ʻia e neʻe. Inā he huakaʻi kekahi o lākou, a laila e hahai i ke ala mai kēlā me kēia huinahā a i ka mua a hiki i ka hoʻomaka. ʻO kēia ke ala. A i ʻole, e hana hou i ke kaʻina hana me nā ʻāpana ʻē aʻe kokoke a ʻike ʻoe i kou wahi e hele ai a i ʻole ʻoe e pau i waho o nā ʻāpana (ʻo ia hoʻi, ʻaʻohe ala hiki). ʻO kēia ka mea i kapa ʻia ʻo Breadth-First Search a i ʻole BFS (breadth-first search algorithm). I kēlā me kēia ʻanuʻu, nānā ʻo ia i nā ʻaoʻao āpau (no laila ka laulā, "ākea"). Ua like ka wahi huli me kahi alo nalu e neʻe ana a hiki i kahi i makemake ʻia - hoʻonui ka wahi huli i kēlā me kēia ʻanuʻu a hiki i ka hoʻokomo ʻia ʻana o ka helu hope, a laila hiki ke huli ʻia i ka hoʻomaka.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

ʻO ka hopena, e loaʻa iā ʻoe kahi papa inoa o nā ʻāpana kahi i hui ʻia ai ke ala i makemake ʻia. ʻO kēia ke ala (no laila, ʻimi ala) - he papa inoa o nā wahi a ka luna e kipa ai i ka wā e hahai ana i ka huakaʻi.

Ma muli o ko mākou ʻike ʻana i ke kūlana o kēlā me kēia huinahā o ka honua, hiki iā mākou ke hoʻohana i nā ʻano hoʻokele e neʻe ai ma ke ala - mai ka node 1 a i ka node 2, a laila mai ka node 2 a ka node 3, a pēlā aku. ʻO ka koho maʻalahi ke poʻo i ke kikowaena o ka huinahā aʻe, akā ʻoi aku ka maikaʻi o ke koho ʻana e kū i waenakonu o ka ʻaoʻao ma waena o ka huinahā o kēia manawa a me ka mea e hiki mai ana. Ma muli o kēia, hiki i ka luna ke ʻoki i nā kihi ma nā huli ʻoi.

Loaʻa nā hemahema o ka algorithm BFS - ʻimi ʻo ia i nā ʻāpana he nui ma ke ala "hewa" e like me ka ʻaoʻao "pololei". ʻO kēia kahi e pāʻani ai kahi algorithm ʻoi aku ka paʻakikī i kapa ʻia ʻo A* (He hōkū). Hana like ia, akā ma kahi o ka nānā makapō ʻana i nā ʻāpana ʻāpana (a laila nā hoalauna o nā hoalauna, a laila nā hoalauna o nā hoalauna o nā hoalauna, a pēlā aku), e hōʻiliʻili i nā node i kahi papa inoa a hoʻokaʻawale iā lākou i mea e nānā mau ʻia ai ka node aʻe. kahi e hiki ai i ke ala pōkole loa. Hoʻokaʻawale ʻia nā nodes ma muli o kahi heuristic e noʻonoʻo ana i ʻelua mau mea-ʻo ke "kumu" o kahi ala hypothetical i ka huina i makemake ʻia (me nā kumukūʻai huakaʻi) a me kahi koho o ka mamao o kēlā huinaha mai ka wahi e hele ai (e pili ana i ka huli ʻana ma ka kuhikuhi pololei).

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Hōʻike kēia laʻana i ka ʻimi ʻana o ka ʻelele i hoʻokahi huinahā i ka manawa, i kēlā me kēia manawa ke koho ʻana i ka mea pili i ka mea ʻoi loa. ʻO ka hopena o ke ala e like me BFS, akā ʻoi aku ka liʻiliʻi o nā ʻāpana i manaʻo ʻia i ke kaʻina hana - he hopena nui i ka hana pāʻani.

Ka neʻe ʻana me ka ʻole o ka mākia

Akā ʻaʻole i waiho ʻia ka hapa nui o nā pāʻani ma kahi pā, a pinepine ʻole hiki ke hana pēlā me ka ʻole o ka ʻoliʻoli maoli. Pono nā hoʻopaʻapaʻa. He aha ka nui o na huinaha? Nui loa a ʻaʻole hiki iā lākou ke hōʻike pololei i nā alaliʻi liʻiliʻi a i ʻole ka huli ʻana, liʻiliʻi loa a nui loa nā ʻāpana e ʻimi ai, a e lōʻihi ka manawa.

ʻO ka mea mua e hoʻomaopopo ai ʻo ia ka hāʻawi ʻana i kahi mesh iā mākou i ka pakuhi o nā nodes pili. Ke hana maoli nei nā algorithms A* a me BFS ma nā kiʻi a ʻaʻole mālama iki i kā mākou mesh. Hiki iā mākou ke hoʻokomo i nā nodes ma nā wahi a pau o ka honua pāʻani: inā lōʻihi ka pilina ma waena o nā nodes pili ʻelua, a ma waena o nā wahi hoʻomaka a me ka hopena a ma kahi o hoʻokahi o nā nodes, e hana like ka algorithm e like me ka wā ma mua. Kapa pinepine ʻia kēia he ʻōnaehana waypoint, no ka mea, hōʻike kēlā me kēia node i kahi kūlana koʻikoʻi i ka honua i hiki ke lilo i ʻāpana o nā ala hypothetical.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka
Ka Laʻana 1: kahi puʻupuʻu ma kēlā me kēia huinahā. Hoʻomaka ka huli ʻana mai ka node kahi i loaʻa ai ka luna a hoʻopau i ka node o ka huinahā i makemake ʻia.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka
Laʻana 2: ʻO kahi pūʻulu liʻiliʻi o nā node (nā ala ala). Hoʻomaka ka ʻimi ʻana ma ka huinahā o ka ʻelele, hele i ka helu i makemake ʻia o nā nodes, a laila hoʻomau i ka wahi e hele ai.

He ʻōnaehana maʻalahi a ikaika loa kēia. Akā, pono ka mālama ʻana i ka hoʻoholo ʻana i hea a pehea e waiho ai i kahi ala, inā ʻaʻole ʻike nā luna i kahi kokoke loa a ʻaʻole hiki iā lākou ke hoʻomaka i ke ala. E ʻoi aku ka maʻalahi inā hiki iā mākou ke kau i nā ala ala e pili ana i ka geometry o ka honua.

ʻO kēia kahi e ʻike ʻia ai ka navigation mesh a i ʻole navmesh (navigation mesh). ʻO kēia ka mea maʻamau he 2D mesh o nā huinakolu i uhi ʻia ma ka geometry o ka honua - ma nā wahi a pau e ʻae ʻia ai ka ʻelele e hele. Lilo kēlā me kēia huinakolu i loko o ka ʻāʻī i pona ma ka pakuhi, a hiki i ʻekolu mau huinakolu pili i lilo i mau node pili i ka pakuhi.

He laʻana kēia kiʻi mai ka Unity engine - ua kālailai ʻo ia i ka geometry i ka honua a hana i kahi navmesh (ma ke kiʻi kiʻi i ka uliuli māmā). ʻO kēlā me kēia polygon i loko o kahi navmesh he wahi kahi e hiki ai i kahi luna ke kū a neʻe paha mai kekahi polygon a i kekahi polygon. Ma kēia hiʻohiʻona, ʻoi aku ka liʻiliʻi o nā polygons ma mua o nā papahele a lākou e kū ai - ua hana ʻia kēia i mea e noʻonoʻo ai i ka nui o ka mea kūʻai, e hoʻonui i kona kūlana nominal.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Hiki iā mākou ke ʻimi i kahi ala ma kēia mesh, me ka hoʻohana hou ʻana i ka algorithm A*. Hāʻawi kēia iā mākou i kahi ala kūpono loa i ka honua, e noʻonoʻo ana i nā geometry āpau a ʻaʻole koi i nā nodes pono ʻole a me ka hana ʻana i nā ala ala.

ʻO ka ʻimi ʻana i ke ala he kumuhana ākea ʻaʻole lawa kahi ʻatikala. Inā makemake ʻoe e aʻo i nā kikoʻī hou aku, a laila e kōkua kēia Amit Patel pūnaewele.

Ka hoʻolālā

Ua aʻo mākou me ka ʻimi ala ʻaʻole lawa i kekahi manawa ke koho wale i kahi ala a neʻe - pono mākou e koho i kahi ala a huli i kekahi mau manawa e hiki ai i ko mākou wahi makemake. Hiki iā mākou ke hoʻonui i kēia manaʻo: ʻo ka hoʻokō ʻana i kahi pahuhopu ʻaʻole ia ka pae aʻe wale nō, akā he kaʻina holoʻokoʻa kahi i kekahi manawa pono ʻoe e nānā i mua i kekahi mau ʻanuʻu e ʻike ai i ka mea mua. Kapa ʻia kēia i ka hoʻolālā. Hiki ke noʻonoʻo ʻia ʻo Pathfinding kekahi o nā mea hoʻonui i ka hoʻolālā. Ma nā ʻōlelo o kā mākou Sense/Think/Act cycle, ʻo ia kahi e hoʻolālā ai ka ʻāpana Think i nā ʻāpana Act he nui no ka wā e hiki mai ana.

E nānā kākou i ka laʻana o ka pāʻani papa Magic: The Gathering. E hele mua mākou me kēia mau kāleka ma ko mākou mau lima:

  • Swamp - Hāʻawi i 1 mana ʻeleʻele (kāleka ʻāina).
  • Nahele - hāʻawi i 1 mana ʻōmaʻomaʻo (kāleka ʻāina).
  • ʻO Fugitive Wizard - Pono 1 mana polū e kiʻi.
  • Elvish Mystic - Pono 1 mana ʻōmaʻomaʻo e kiʻi.

Hoʻokuʻu mākou i nā kāleka ʻekolu i koe e maʻalahi. Wahi a nā lula, ʻae ʻia ka mea pāʻani e pāʻani i 1 kāleka ʻāina i kēlā me kēia manawa, hiki iā ia ke "paʻi" i kēia kāleka e unuhi i ka mana mai ia mea, a laila hoʻolei i nā kiʻi (me ke kiʻi ʻana i kahi mea ola) e like me ka nui o ka mana. Ma kēia kūlana, ʻike ka mea pāʻani kanaka e pāʻani i ka Forest, paʻi i 1 mana ʻōmaʻomaʻo, a laila kāhea iā Elvish Mystic. Akā pehea e hiki ai i ka pāʻani AI ke ʻike i kēia?

Hoʻolālā maʻalahi

ʻO ke ala liʻiliʻi ka hoʻāʻo ʻana i kēlā me kēia hana a hiki i ka loaʻa ʻole o nā mea kūpono. Ke nānā nei i nā kāleka, ʻike ka AI i ka mea hiki ke pāʻani iā ​​Swamp. A hoʻokani ʻo ia. Aia kekahi mau hana ʻē aʻe i koe i kēia huli? ʻAʻole hiki iā ia ke kiʻi iā Elvish Mystic a i ʻole Fugitive Wizard, no ka mea, koi lākou i ka mana ʻōmaʻomaʻo a me ka polū e kiʻi iā lākou, aʻo Swamp wale nō ka mana ʻeleʻele. A ʻaʻole hiki iā ia ke pāʻani hou i ka Forest, no ka mea, ua pāʻani mua ʻo ia iā Swamp. No laila, hahai ka pāʻani AI i nā lula, akā maikaʻi ʻole. Hiki ke hoʻomaikaʻi.

Hiki i ka hoʻolālā ke loaʻa i kahi papa inoa o nā hana e lawe ai i ka pāʻani i kahi kūlana i makemake ʻia. E like me kēlā me kēia ʻāpana ma ke ala he mau hoalauna (ma ka ʻimi ʻana i ke ala), ʻo kēlā me kēia hana i loko o kahi hoʻolālā he mau hoalauna a mau hope paha. Hiki iā mākou ke nānā i kēia mau hana a me nā hana ma hope a hiki i ke kūlana i makemake ʻia.

I kā mākou hiʻohiʻona, ʻo ka hopena i makemake ʻia "e kāhea i kahi mea hana inā hiki." I ka hoʻomaka ʻana o ka huli, ʻike mākou i ʻelua mau hana i ʻae ʻia e nā lula o ka pāʻani:

1. E pāʻani i ka Swamp (hopena: Swamp i ka pāʻani)
2. E pāʻani i ka nahele (hopena: Forest in the game)

Hiki i kēlā me kēia hana ke alakaʻi i nā hana hou aʻe a pani i nā mea ʻē aʻe, ma muli o nā lula o ka pāʻani. E noʻonoʻo ua pāʻani mākou i ka Swamp - e hoʻoneʻe kēia iā Swamp ma ke ʻano he hana aʻe (ua pāʻani mākou iā ia), a e hoʻopau pū kēia i ka Forest (no ka mea, e like me nā lula hiki iā ʻoe ke pāʻani i hoʻokahi kāleka ʻāina i kēlā me kēia manawa). Ma hope o kēia, hoʻohui ka AI i ka loaʻa ʻana o 1 mana ʻeleʻele ma ke ʻano he hana aʻe no ka mea ʻaʻohe koho ʻē aʻe. Inā hele ʻo ia a koho iā Tap the Swamp, e loaʻa iā ia he 1 ʻāpana mana ʻeleʻele a ʻaʻole hiki iā ia ke hana i kekahi mea me ia.

1. E pāʻani i ka Swamp (hopena: Swamp i ka pāʻani)
1.1 “Tap” Swamp (hopena: Swamp “tapped”, +1 ʻāpana mana ʻeleʻele)
ʻAʻohe hana i loaʻa - END
2. E pāʻani i ka nahele (hopena: Forest in the game)

Ua pōkole ka papa inoa o nā hana, ua hiki mākou i kahi hopena make. Hana hou mākou i ke kaʻina hana no ka pae aʻe. Pāʻani mākou i ka Forest, wehe i ka hana "loaʻa 1 mana ʻōmaʻomaʻo", a laila e wehe i ke kolu o ka hana - kāhea iā Elvish Mystic.

1. E pāʻani i ka Swamp (hopena: Swamp i ka pāʻani)
1.1 “Tap” Swamp (hopena: Swamp “tapped”, +1 ʻāpana mana ʻeleʻele)
ʻAʻohe hana i loaʻa - END
2. E pāʻani i ka nahele (hopena: Forest in the game)
2.1 Nahele “Tap” (hopena: “Paʻi ʻia ka nahele”, +1 ʻāpana mana ʻōmaʻomaʻo)
2.1.1 Kāhea iā Elvish Mystic (hopena: Elvish Mystic i ka pāʻani, -1 mana ʻōmaʻomaʻo)
ʻAʻohe hana i loaʻa - END

ʻO ka hope, ua ʻimi mākou i nā hana āpau a loaʻa kahi hoʻolālā e kāhea aku i kahi mea ola.

He laʻana maʻalahi loa kēia. He mea maikaʻi e koho i ka hoʻolālā maikaʻi loa, ma mua o kēlā me kēia hoʻolālā i kūpono i kekahi mau koina. Hiki ke loiloi i nā hoʻolālā e pili ana i ka hopena a i ʻole ka pōmaikaʻi holoʻokoʻa o kā lākou hoʻokō. Hiki iā ʻoe ke helu iā ʻoe iho i 1 helu no ka pāʻani ʻana i kahi kāleka ʻāina a me 3 mau helu no ke kāhea ʻana i kahi mea ola. ʻO ka pāʻani ʻana i ka Swamp he hoʻolālā helu 1. A ke pāʻani nei i ka Forest → Tap the Forest → kiʻi iā Elvish Mystic e hāʻawi koke i 4 mau helu.

ʻO kēia ke ʻano o ka hoʻolālā ʻana ma Magic: The Gathering, akā pili ka loina like i nā kūlana ʻē aʻe. ʻO kahi laʻana, ka hoʻoneʻe ʻana i kahi pawn e hoʻokaʻawale i kahi no ka pīhopa e neʻe ai i ka chess. A i ʻole e uhi ma hope o ka pā e pana palekana ma XCOM e like me kēia. Ma keʻano laulā, loaʻa iā ʻoe ka manaʻo.

Hoʻolālā maikaʻi

I kekahi manawa he nui nā hana kūpono e noʻonoʻo i kēlā me kēia koho. Ke hoʻi nei i ka laʻana me Magic: The Gathering: e ʻōlelo kākou aia i loko o ka pāʻani a ma kou lima he mau kāleka ʻāina a me nā mea ola - hiki i ka helu o nā hui ʻana o nā neʻe i loko o nā haneli. Nui nā hoʻonā i ka pilikia.

ʻO ke ala mua ʻo ke kaulahao hope. Ma mua o ka ho'āʻoʻana i nā hui likeʻole,ʻoi aku ka maikaʻi o ka hoʻomaka me ka hopena hope loa a ho'āʻo eʻimi i kahi ala pololei. Ma kahi o ka hele ʻana mai ke kumu o ka lāʻau i kahi lau kikoʻī, neʻe mākou i ka ʻaoʻao ʻē aʻe - mai ka lau a i ke kumu. ʻOi aku ka maʻalahi a me ka wikiwiki o kēia ala.

Inā loaʻa i ka ʻenemi 1 olakino, hiki iā ʻoe ke loaʻa i ka hoʻolālā "deal 1 a i ʻole nā ​​​​poino". No ka hoʻokō ʻana i kēia, pono e hoʻokō ʻia kekahi mau kūlana:

1. Hiki ke hoʻopōʻino ʻia e ke kilo - pono ma ka lima.
2. No ka hoʻokalakupua, pono ʻoe i ka mana.
3. No ka loaʻa ʻana o ka mana, pono ʻoe e pāʻani i kahi kāleka ʻāina.
4. No ka pāʻani ʻana i kahi kāleka ʻāina, pono ʻoe e paʻa i kou lima.

ʻO kekahi ala ʻoi aku ka maikaʻi loa-ka huli mua. Ma kahi o ka hoʻāʻo ʻana i nā ala āpau, koho mākou i ka mea kūpono loa. ʻO ka pinepine, hāʻawi kēia ʻano i ka hoʻolālā maikaʻi loa me ka ʻole o nā kumukūʻai ʻimi pono ʻole. ʻO A* kahi ʻano o ka huli mua maikaʻi loa - ma ka nānā ʻana i nā ala hoʻohiki maikaʻi loa mai ka hoʻomaka ʻana, hiki iā ia ke loaʻa ke ala maikaʻi loa me ka ʻole e nānā i nā koho ʻē aʻe.

ʻO kahi koho hulina ʻoi loa a kaulana loa ʻo Monte Carlo Tree Search. Ma mua o ka koho ʻana i nā hoʻolālā i ʻoi aku ka maikaʻi ma mua o nā mea ʻē aʻe i ke koho ʻana i kēlā me kēia hana ma hope, koho ka algorithm i nā mea pani ma kēlā me kēia pae a hiki i ka hopena (i ka hopena o ka hoʻolālā i ka lanakila a i ʻole ka lanakila). Hoʻohana ʻia ka hopena hope e hoʻonui a hoʻemi paha i ke kaumaha o nā koho mua. Ma ka hana hou ʻana i kēia kaʻina hana i nā manawa he nui i ka lālani, hāʻawi ka algorithm i kahi manaʻo maikaʻi o ka neʻe ʻana o ka mea maikaʻi loa, ʻoiai inā e loli ke kūlana (inā hana ka ʻenemi e hoʻopilikia i ka mea pāʻani).

ʻAʻole paʻa ka moʻolelo e pili ana i ka hoʻolālā ʻana i nā pāʻani me ka ʻole o ka Goal-Oriented Action Planning a i ʻole GOAP (goal-oriented action planning). He ʻano hoʻohana ākea kēia a kūkākūkā ʻia, akā ʻaʻole i kekahi mau kikoʻī ʻokoʻa, ʻo ia ke ʻano o ka hoʻihoʻi ʻana i hope a mākou i kamaʻilio ai ma mua. Inā ʻo ka pahuhopu e "hoʻopau i ka mea pāʻani" a aia ka mea pāʻani ma hope o ka uhi, hiki ke hoʻolālā: luku me ka grenade → kiʻi iā ia → kiola.

Nui nā pahuhopu, ʻo kēlā me kēia me kāna mea nui. Inā ʻaʻole hiki ke hoʻopau ʻia ka pahuhopu kiʻekiʻe loa (ʻaʻohe hui o nā hana e hana i kahi hoʻolālā "pepehi i ka mea pāʻani" no ka mea ʻaʻole ʻike ʻia ka mea pāʻani), e hāʻule ka AI i nā pahuhopu haʻahaʻa haʻahaʻa.

Hoʻomaʻamaʻa a hoʻololi

Ua ʻōlelo mua mākou ʻaʻole hoʻohana maʻamau ka pāʻani AI i ka aʻo ʻana i ka mīkini no ka mea ʻaʻole kūpono ia no ka hoʻokele ʻana i nā ʻelele i ka manawa maoli. Akā ʻaʻole kēia manaʻo ʻaʻole hiki iā ʻoe ke hōʻaiʻē i kekahi mea mai kēia wahi. Makemake mākou i kahi hoa paio i kahi pana i hiki iā mākou ke aʻo mai. No ka laʻana, e ʻike e pili ana i nā kūlana maikaʻi loa ma ka palapala ʻāina. A i ʻole he hoa paio i ka pāʻani hakakā nāna e ālai i nā neʻe hui hoʻohana pinepine ʻia e ka mea pāʻani, e hoʻoikaika iā ia e hoʻohana i nā mea ʻē aʻe. No laila hiki ke hoʻohana pono ʻia ke aʻo ʻana i ka mīkini i kēlā mau kūlana.

Heluhelu a me ka Manawa

Ma mua o ke komo ʻana i nā laʻana paʻakikī, e ʻike kākou i ka lōʻihi e hiki ai iā mākou ke hele ma o ka lawe ʻana i kekahi mau ana maʻalahi a hoʻohana iā lākou e hoʻoholo ai. No ka laʻana, ka hoʻolālā manawa maoli - pehea mākou e hoʻoholo ai inā hiki i kahi mea pāʻani ke hoʻomaka i kahi hoʻouka i nā minuke mua o ka pāʻani a he aha ka pale e hoʻomākaukau ai no kēia? Hiki iā mākou ke aʻo i nā ʻike o ka mea pāʻani i hala e hoʻomaopopo i ka hopena o ka wā e hiki mai ana. I ka hoʻomaka ʻana, ʻaʻohe o mākou ʻikepili maka, akā hiki iā mākou ke hōʻiliʻili - i kēlā me kēia manawa e pāʻani ai ka AI i ke kanaka, hiki iā ia ke hoʻopaʻa i ka manawa o ka hoʻouka mua. Ma hope o kekahi mau kau, e loaʻa iā mākou ka awelika o ka manawa e hoʻouka ai ka mea pāʻani i ka wā e hiki mai ana.

Aia kekahi pilikia me nā waiwai maʻamau: inā holo wikiwiki ka mea pāʻani i 20 mau manawa a pāʻani mālie i 20 mau manawa, a laila aia nā waiwai i makemake ʻia ma waena, ʻaʻole ia e hāʻawi iā mākou i kekahi mea pono. ʻO kahi hoʻonā e kaupalena i ka ʻikepili hoʻokomo - hiki ke noʻonoʻo ʻia nā ʻāpana 20 hope loa.

Hoʻohana ʻia kahi ala like i ka wā e koho ai i ka likelika o kekahi mau hana ma ka manaʻo ʻana e like ana nā makemake o ka mea pāʻani i ka wā e hiki mai ana. Inā hoʻouka ka mea pāʻani iā ​​mākou i ʻelima manawa me ka pōpō ahi, ʻelua manawa me ka uila, a i hoʻokahi manawa me ka melee, ʻike maopopo ʻia ʻo ia ka mea makemake i ka pōpō ahi. E noʻonoʻo kākou a ʻike i ka hiki ke hoʻohana i nā mea kaua ʻē aʻe: fireball=62,5%, uila=25% a me melee=12,5%. Pono kā mākou pāʻani AI e hoʻomākaukau e pale iā ia iho mai ke ahi.

ʻO kahi ala ʻē aʻe ʻo ka hoʻohana ʻana i ka Naive Bayes Classifier e aʻo i ka nui o nā ʻikepili komo a hoʻokaʻawale i ke kūlana i hana ai ka AI ma ke ala i makemake ʻia. ʻIke maikaʻi ʻia nā papa helu Bayesian no kā lākou hoʻohana ʻana i nā kānana spam leka uila. Ma laila lākou e nānā ai i nā huaʻōlelo, e hoʻohālikelike iā lākou i kahi i ʻike ʻia ai kēlā mau huaʻōlelo ma mua (ma ka spam a i ʻole), a huki i nā hopena e pili ana i nā leka uila e hiki mai ana. Hiki iā mākou ke hana like me nā mea hoʻokomo liʻiliʻi. Ma muli o ka ʻike pono a pau i ʻike ʻia e AI (e like me ka mea i hana ʻia ai nā ʻenemi, a i ʻole nā ​​​​kiʻi a lākou e hoʻohana ai, a i ʻole nā ​​ʻenehana a lākou i noiʻi ai), a me ka hopena hope (kaua a maluhia, wikiwiki a pale, etc.) - e koho mākou i ka ʻano AI makemake.

Ua lawa kēia mau ʻano hoʻomaʻamaʻa a pau, akā ʻoi aku ka maikaʻi o ka hoʻohana ʻana ma muli o ka ʻikepili hoʻāʻo. E aʻo ka AI e hoʻololi i nā hoʻolālā like ʻole i hoʻohana ai kāu mau mea pāʻani. ʻO AI e hoʻololi i ka mea pāʻani ma hope o ka hoʻokuʻu ʻana e lilo i mea wānana a paʻakikī paha e lanakila.

Hoʻololi ma muli o ka waiwai

Hāʻawi ʻia i ka ʻike o kā mākou honua pāʻani a me nā lula, hiki iā mākou ke hoʻololi i ka hoʻonohonoho o nā waiwai e hoʻoikaika i ka hoʻoholo ʻana, ma mua o ka hoʻohana ʻana i ka ʻikepili komo. Hana mākou i kēia:

  • E hōʻiliʻili ʻo AI i ka ʻikepili i ke kūlana o ka honua a me nā hanana nui i ka wā o ka pāʻani (e like me luna).
  • E hoʻololi kākou i kekahi mau waiwai nui e pili ana i kēia ʻikepili.
  • Hoʻokō mākou i kā mākou mau hoʻoholo ma muli o ka hoʻoili ʻana a i ʻole ka loiloi ʻana i kēia mau waiwai.

No ka laʻana, he nui nā lumi o kahi luna e koho ai ma ka palapala ʻāina pana kanaka mua. Loaʻa i kēlā me kēia lumi kona waiwai pono'ī, kahi e hoʻoholo ai i ka makemake e kipa aku. Koho wale ʻo AI i kahi lumi e hele ai e pili ana i ka waiwai. Hoʻomanaʻo ka ʻelele i ke keʻena i pepehi ʻia ʻo ia a hoʻemi i kona waiwai (ʻo ka hiki ke hoʻi i laila). Pēlā nō no ke kūlana hoʻohuli - inā luku ka luna i nā hoa paio he nui, a laila piʻi ka waiwai o ka lumi.

Hoʻohālike Markov

He aha inā inā mākou e hoʻohana i ka ʻikepili i hōʻiliʻili ʻia e hana wānana? Inā mākou e hoʻomanaʻo i kēlā me kēia lumi a mākou e ʻike ai i kahi mea pāʻani no kekahi manawa, e wānana mākou i kahi lumi e hele ai ka mea pāʻani. Ma ka hoʻopaʻa ʻana a me ka hoʻopaʻa ʻana i nā neʻe o ka mea pāʻani ma waena o nā lumi (waiwai), hiki iā mākou ke wānana iā lākou.

E lawe kākou i ʻekolu lumi: ʻulaʻula, ʻōmaʻomaʻo a me ka uliuli. A me nā ʻike a mākou i hoʻopaʻa ai i ka wā e nānā ana i ke kau pāʻani:

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Ua aneane like ka helu o ka nānā ʻana i kēlā me kēia lumi - ʻaʻole maopopo mākou i kahi e hana ai i kahi kūpono no kahi hoʻohālua. He paʻakikī hoʻi ka hōʻiliʻili ʻana i nā helu helu e ka respawning o nā mea pāʻani, e ʻike like ʻia ma ka palapala ʻāina. Akā ʻo ka ʻikepili e pili ana i ke keʻena aʻe a lākou e komo ai ma hope o ka hōʻike ʻana ma ka palapala ʻāina ua pono.

Hiki ke ʻike ʻia ua kūpono ka lumi ʻōmaʻomaʻo i nā mea pāʻani - neʻe ka hapa nui o nā poʻe mai ke keʻena ʻulaʻula i laila, 50% o lākou e noho hou aʻe. ʻO ka lumi uliuli, ʻaʻole ia i kaulana; aneane ʻaʻohe mea e hele i laila, a inā hana lākou, ʻaʻole lākou e noho lōʻihi.

Akā, haʻi mai ka ʻikepili iā mākou i kahi mea nui aʻe - ke noho ka mea pāʻani i loko o kahi lumi polū, ʻo ka lumi aʻe a mākou e ʻike ai iā ia he ʻulaʻula, ʻaʻole ʻōmaʻomaʻo. ʻOiai ʻoi aku ka kaulana o ka lumi ʻōmaʻomaʻo ma mua o ka lumi ʻulaʻula, hoʻololi ke kūlana inā aia ka mea pāʻani i ka lumi polū. ʻO ka moku'āina aʻe (ʻo ia ka lumi e hele ai ka mea pāʻani) e pili ana i ka moku'āina mua (ʻo ia hoʻi ka lumi a ka mea pāʻani i kēia manawa). Ma muli o ko mākou ʻimi ʻana i nā hilinaʻi, e hana mākou i nā wānana pololei ʻoi aku ka maikaʻi ma mua o ka helu ʻana i nā nānā kūʻokoʻa.

ʻO ka wānana ʻana i kahi mokuʻāina e hiki mai ana ma muli o ka ʻikepili mai kahi mokuʻāina i hala i kapa ʻia ʻo Markov model, a ʻo ia mau hiʻohiʻona (me nā lumi) ua kapa ʻia nā kaulahao Markov. No ka mea, hōʻike ʻia nā mamana i ka hiki ke hoʻololi ʻia ma waena o nā mokuʻāina ʻē aʻe, hōʻike ʻia lākou ma ke ʻano he FSM me kahi kūpono a puni kēlā me kēia hoʻololi. Ma mua, ua hoʻohana mākou i ka FSM e hōʻike i ke ʻano o ke ʻano o kahi ʻelele i loko, akā pili kēia manaʻo i kēlā me kēia mokuʻāina, inā pili ia me ka luna a ʻaʻole paha. I kēia hihia, hōʻike nā mokuʻāina i ka lumi a ka luna e noho ai:

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

He ala maʻalahi kēia e hōʻike ai i ka likelike likelike o nā loli mokuʻāina, e hāʻawi ana i ka AI i kahi hiki ke wānana i ka mokuʻāina e hiki mai ana. Hiki iā ʻoe ke manaʻo i kekahi mau ʻanuʻu ma mua.

Inā ʻo ka mea pāʻani i loko o ka lumi ʻōmaʻomaʻo, aia kahi manawa 50% e noho ai ʻo ia ma laila ke nānā ʻia ʻo ia. Akā, he aha nā manawa e noho mau ai ʻo ia ma hope? ʻAʻole wale ka manawa e noho ai ka mea pāʻani i ka lumi ʻōmaʻomaʻo ma hope o ʻelua mau ʻike, akā aia kekahi manawa i haʻalele a hoʻi mai. Eia ka papaʻaina hou e noʻonoʻo ana i ka ʻikepili hou:

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka

Hōʻike ia i ka manawa o ka ʻike ʻana i ka mea pāʻani i loko o ka lumi ʻōmaʻomaʻo ma hope o nā ʻike ʻelua e like me 51% - 21% mai ka lumi ʻulaʻula, 5% o lākou e kipa aku ka mea pāʻani i ka lumi polū ma waena o lākou, a 25% ʻaʻole e haʻalele ka mea pāʻani i ka lumi ʻōmaʻomaʻo.

He mea hana ʻike wale ka papaʻaina - pono ke kaʻina hana i ka hoʻonui ʻana i nā probabilities i kēlā me kēia kaʻina. ʻO ia ke ʻano hiki iā ʻoe ke nānā mamao aku i ka wā e hiki mai ana me hoʻokahi mea hoʻopaʻa: manaʻo mākou ʻo ka manawa o ke komo ʻana i kahi lumi e hilinaʻi nui ʻia i ka lumi o kēia manawa. Kapa ʻia kēia ʻo ka Markov Property - pili wale ka mokuʻāina i kēia manawa. Akā, ʻaʻole pololei kēia i hoʻokahi haneli pakeneka. Hiki i nā mea pāʻani ke hoʻololi i nā hoʻoholo ma muli o nā kumu ʻē aʻe: ke kūlana olakino a i ʻole ka nui o nā pū. No ka mea ʻaʻole mākou e hoʻopaʻa i kēia mau waiwai, e emi ana kā mākou wānana.

N-Grama

Pehea e pili ana i ka laʻana o ka pāʻani hakakā a me ka wānana ʻana i ka neʻe hui ʻana o ka mea pāʻani? Ka mea like! Akā ma kahi o hoʻokahi mokuʻāina a i ʻole hanana, e nānā mākou i nā kaʻina holoʻokoʻa i hana i kahi hoʻokūkū hui.

ʻO kahi ala e hana ai i kēia, ʻo ia ka mālama ʻana i kēlā me kēia hoʻokomo (e like me Kick, Punch a i ʻole Block) i loko o kahi pale a kākau i ka buffer holoʻokoʻa ma ke ʻano he hanana. No laila kaomi pinepine ka mea pāʻani iā ​​Kick, Kick, Punch e hoʻohana i ka hoʻouka kaua SuperDeathFist, mālama ka ʻōnaehana AI i nā mea hoʻokomo āpau i loko o kahi buffer a hoʻomanaʻo i nā mea hope ʻekolu i hoʻohana ʻia i kēlā me kēia pae.

Pehea e hana ai i kahi pāʻani AI: he alakaʻi no ka poʻe hoʻomaka
(ʻO nā laina i ka wiwo ʻole ke hoʻomaka ka mea pāʻani i ka hoʻouka kaua SuperDeathFist.)

E ʻike ʻo AI i nā koho āpau ke koho ka mea pāʻani i ka Kick, a ukali ʻia e kekahi Kick, a laila e ʻike i ka hoʻokomo mau ʻana i ka Punch. E ʻae kēia i ka ʻelele e wānana i ka neʻe hui ʻana o SuperDeathFist a pale iā ia inā hiki.

Kapa ʻia kēia mau ʻano hanana he N-grams, kahi o N ka helu o nā mea i mālama ʻia. Ma ka laʻana mua he 3-gram (trigram), ʻo ia hoʻi: hoʻohana ʻia nā helu mua ʻelua e wānana i ke kolu. No laila, i loko o kahi 5-gram, wānana nā helu mua ʻehā i ka lima a pēlā aku.

Pono ka mea hoʻolālā e koho pono i ka nui o N-grams. Pono ka liʻiliʻi o ka N liʻiliʻi i ka moʻolelo. No ka laʻana, e hoʻopaʻa ʻia kahi 2-gram (bigram) Kick, Kick a Kick, Punch, akā ʻaʻole hiki ke mālama iā Kick, Kick, Punch, no laila ʻaʻole e pane ka AI i ka hui SuperDeathFist.

Ma ka ʻaoʻao ʻē aʻe, ʻoi aku ka nui o ka hoʻomanaʻo a ʻoi aku ka paʻakikī o ka hoʻomaʻamaʻa ʻana o AI no ka mea he nui nā koho koho. Inā loaʻa iā ʻoe ʻekolu mau mea hoʻokomo o Kick, Punch a Block, a ua hoʻohana mākou i ka 10-gram, aia paha ma kahi o 60 tausani mau koho like ʻole.

ʻO ke kumu hoʻohālike bigram he kaulahao Markov maʻalahi - ʻo kēlā me kēia mokuʻāina o kēia manawa he bigram, a hiki iā ʻoe ke wānana i ka mokuʻāina ʻelua e pili ana i ka mua. Hiki ke noʻonoʻo ʻia ka 3-gram a ʻoi aku ka nui o nā kaulahao Markov, kahi e hui pū ai nā mea āpau (koe ka mea hope i ka N-gram) i ka mokuʻāina mua a ʻo ka mea hope ka lua. Hōʻike ka hiʻohiʻona pāʻani hakakā i ka manawa e hoʻololi ai mai ka moku Kick a Kick i ka moku Kick a me Punch. Ma ka hana ʻana i nā moʻolelo hoʻokomo helu he nui ma ke ʻano he ʻāpana hoʻokahi, ke hoʻololi maoli nei mākou i ke kaʻina hoʻokomo i ʻāpana o ka mokuʻāina holoʻokoʻa. Hāʻawi kēia iā mākou i ka waiwai Markov, kahi e hiki ai iā mākou ke hoʻohana i nā kaulahao Markov e wānana i ka hoʻokomo aʻe a koho i ka neʻe combo e hiki mai ana.

hopena

Ua kamaʻilio mākou e pili ana i nā mea hana maʻamau a me nā ala i ka hoʻomohala ʻana i ka naʻauao artificial. Ua nānā pū mākou i nā kūlana e pono ai ke hoʻohana ʻia a me kahi e pono ai lākou.

Pono kēia e hoʻomaopopo i nā kumu o ka pāʻani AI. Akā, ʻoiaʻiʻo, ʻaʻole kēia nā ala āpau. ʻAʻole kaulana loa, akā ʻaʻole i emi iki ka maikaʻi:

  • nā algorithms optimization me ka piʻi ʻana o ka puʻu, ka iho gradient a me nā algorithm genetic
  • ʻimi ʻimi a hoʻonohonoho ʻana i nā mea ʻenemi (minimax a me alpha-beta pruning)
  • nā ʻano hoʻohālikelike (perceptrons, neural networks a me nā mīkini vector kākoʻo)
  • nā ʻōnaehana no ka hoʻoponopono ʻana i ka ʻike a me ka hoʻomanaʻo o nā mea hana
  • nā ala hoʻolālā e pili ana iā AI (nā ʻōnaehana hybrid, nā hale hana subset a me nā ala ʻē aʻe o ka uhi ʻana i nā ʻōnaehana AI)
  • mea hana hoʻolālā
  • nā kumu hana (ka pae o nā kikoʻī, i kēlā me kēia manawa, a me nā algorithmslicing manawa)

Nā kumuwaiwai pūnaewele ma ke kumuhana:

1. Loaʻa iā GameDev.net ʻāpana me nā ʻatikala a me nā haʻawina ma AI, a me ka hui.
2. AiGameDev.com loaʻa nā hōʻike a me nā ʻatikala e pili ana i nā kumuhana ākea e pili ana i ka hoʻomohala ʻana o ka pāʻani AI.
3. ʻO ka GDC Vault loaʻa nā kumuhana mai ka GDC AI Summit, he nui nā mea i loaʻa no ka manuahi.
4. Hiki ke loaʻa nā mea pono ma ka pūnaewele Hui Pūʻali polokalamu pāʻani AI.
5. ʻO Tommy Thompson, ka mea noiʻi AI a me ka mea hoʻomohala pāʻani, hana i nā wikiō ma YouTube AI a me nā pāʻani me ka wehewehe a me ke aʻo ʻana o AI i nā pāʻani pāʻani.

Nā puke ma ke kumuhana:

1. ʻO ka pūʻulu puke Game AI Pro he hōʻuluʻulu o nā ʻatikala pōkole e wehewehe ana pehea e hoʻokō ai i nā hiʻohiʻona kikoʻī a pehea e hoʻoponopono ai i nā pilikia kikoʻī.

Pāʻani AI Pro: ʻOhi ʻia ka naʻauao o nā ʻoihana AI pāʻani
Pāʻani AI Pro 2: ʻOhi ʻia ka naʻauao o nā ʻoihana AI pāʻani
Pāʻani AI Pro 3: ʻOhi ʻia ka naʻauao o nā ʻoihana AI pāʻani

2. ʻO AI Game Programming Wisdom series ka mea mua o ka Game AI Pro. Loaʻa iā ia nā ala kahiko, akā pili nā mea āpau a hiki i kēia lā.

Naʻauao Papahana Pāʻani AI 1
Naʻauao Papahana Pāʻani AI 2
Naʻauao Papahana Pāʻani AI 3
Naʻauao Papahana Pāʻani AI 4

3. Naʻauao hana: He ala hou ʻo ia kekahi o nā kikokikona kumu no nā poʻe a pau e makemake e hoʻomaopopo i ke kahua ākea o ka naʻauao hana. ʻAʻole kēia he puke e pili ana i ka hoʻomohala pāʻani - ke aʻo nei i nā kumu o AI.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka