Fast heuristic search for RTS combat scenarios (D.Churchill, 2017) ์.
์คํํฌ๋ํํธ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ 8:8 ์ ํฌ ์๋๋ฆฌ์ค๋ฅผ ๊ฐ์ง๊ณ ์์ฌ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ ๋ ผ๋ฌธ์ธ๋ฏ.
์คํ ๊ฑฐ๋ฅด๊ณ ํ์๋ ์ด๋ฐ๊ฑฐ ์์ด ์ก ๋ฐ๋ฆฌ๋ก ์ ํฌํ๋๊ฑด๊ฐ๋ด. ในใ ์ ๋ ์ฒด๋ ฅ, ์ด๋์๋, ๊ณต๊ฒฉ๋ ฅ, ๊ณต๊ฒฉ์๋๋ง ๊ฐ์ง๊ณ ใ ใ
ํด๋ฆฌ์คํฑ ์์น๋ฉด ํ๊ฐํจ์๊ฐ ์ค์ํ๋ฐ, Kovarsky and Buro (2005)๊ฐ ์ ์ํย life-time damage ๋ผ๋ ๊ฐ๋ ์ผ๋ก ์ ๊ทผํ์.
์ ํ๊ฐํจ์ ๊ณ์ฐ์ ์ํด damage per frame ratio ๋ผ๋ ๊ฐ๋ ์ด ๋ค์ด๊ฐ๋๋ฐ,ย dpf = damage(unit)/cooldown(unit) ์ผ๋ก ๊ณ์ฐ๋จ.
LTD = Sum{ hp(u)*dpf(u), u in U1ย } - Sum{ hp(u)*dpf(u), u in U2 }
U1์ ํ๋ ์ด์ด์ ์ ์ฒด ์ ๋, U2๋ ์ ์ ๋์ด๋ผ๊ณ ์๊ฐํด์ฃผ์ .
๊ทธ๋ฆฌ๊ณ Sum{ hp(u)*dpf(u), u in U1 } ๋ ... ์๊ฒ ์ง๋ง ๊ทธ๋๋ ํ์ด์ฌ ์ฝ๋๋ก ์ฐ์๋ฉด
for unit in units:
sum += unit.hp * unit.dpf
์ด๋ผ๊ณ ๋ด์ฃผ์๋ฉด ๋๊ฒ ์.
๊ทธ๋ฆฌ๊ณ ๋ LTD2 = Sum{ sqrt(hp(u))*dpf(u), u in U1 } - Sum{ sqrt(hp(u))*dpf(u), u in U2 } ๋ ์๋ค.
LTD > 0 ์ด๋ฉด ํ๋ ์ด์ด๊ฐ ์ ๋ฆฌ, LTD < 0 ์ด๋ฉด ์ ์ด ์ ๋ฆฌ.
๊ฐ๋ณ ์ ๋์ ์ธ๊ณต์ง๋ฅ์ผ๋ก scripted behavior๋ฅผย 4๊ฐ ์ ์ํ๋๋ฐ ๊ฐ๋จํ๊ฒ ์ธ๋งํด๋ณด์์.
1. random ์ ๋ต: legal moves์์ ํ๋ ๋ฝ์์ ์ฐ๋ ๊ฑด๋ฐ, ๋ชจ๋ ๊ฐ๋ฅํ ํ๋์ด ๊ฐ์ ํ๋ฅ ์ ๊ฐ์ง๋ ๊ฒ์.
2. attack-closest ์ ๋ต: ๋ฌด๊ธฐ ์ฌ์ ๊ฑฐ๋ฆฌ ์์ ์์ผ๋ฉด ๊ณต๊ฒฉํจ. ๋ง์ฝ ์ฌ์ฅ์ ์๊ฐ์ด๋ผ๋ฉด ๊ทธ๋ฅ ๊ฐ๋งํ ์์. ๋ง์ฝ ์ ์ด ์ฌ์ ๊ฑฐ๋ฆฌ ๋ฐ์ ์๋ค๋ฉด ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์ ํฅํด ์ผ์ ๊ฑฐ๋ฆฌ๊น์ง ์ ๊ทผํจ.
3. attack-weakest ์ ๋ต: attack-closest๋ ๊ฐ์๋ฐ, ์ฌ์ ๊ฑฐ๋ฆฌ ์์ ์๋ ๊ฐ์ฅ hp๊ฐ ๋ฎ์ ๋๋ถํฐ ๊ณต๊ฒฉํ๋๊ฒ ๋ค๋ฆ.
4. kiting ์ ๋ต: attack-closest๋ ๊ฐ์๋ฐ, ์ฌ์ฅ์ ์๊ฐ ๋ย ์ ํํ ์ ์ผ์ ๊ฑฐ๋ฆฌ๋งํผ ๋๋ง๊ฐ.
์ฌ๊ธฐ์ ๊ฐ์ ๋ ์คํฌ๋ฆฝํธ 3๊ฐ๋ฅผ ๋ ์ ์ํจ, ์์ dpf ๊ฐ๋ ์ ์ด์ฉํด์.
1. attack-value ์ ๋ต: attack-closest๋ ๊ฐ์๋ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ๋์ด ์๋๋ผ dpf/hp ๊ฐ ๊ฐ์ฅ ๋์ ์ ๋์ ๊ณต๊ฒฉํจ. 1 vs. n ์๋๋ฆฌ์ค์์ ์ต์ ์ ์ ํ์ ํ๋ค๊ณ ํจ(Furtak and Buro, 2010)
2. No-Overkill-Attack-value ์ ๋ต: AV๋ ๊ฐ์๋ฐ ์ด๋ฒ ๋ผ์ด๋์ ์ฃฝ๋๊ฒ ํ์ ๋ ์ ๋์๊ฒ ๋์ด์ ๋ฐํฌํ์ง ์๊ณ ๋ค์ ์์ ์ ๋์ ๊ณต๊ฒฉํจ. ๋ง์ด ์ด์ํ๊ฒ ๋ค๋ฆด ์ ์์ง๋ง ์ด์ ๊ฐ ์์.
์ด ์๋ฎฌ๋ ์ด์ ์ด ํ ๋ผ์ด๋์์ ์๋ก ๋ค ๊ณต๊ฒฉํ๊ณ , ๊ทธ ๋ค์ ๋ฐ๋ฏธ์ง๋ฅผ ๊ณ์ฐํด์ hp๋ฅผ ๊น๋ ์์ด๊ธฐ ๋๋ฌธ์ (ํด๋ฐฉ์์ผ๋ก ๊ณต๊ฒฉ ๋ฐ ๋ฐ๋ฏธ์ง ์ ์ฐ๊น์ง ํ๋ฉด ์ ์๊ฐ ํ์์ ๋นํด ๋๋ฌด ์ ๋ฆฌํจ),ย for ๋ฃจํ๋ก ์ ๋์ ์์ฐจ์ ์ผ๋ก ๋๋ฉด์ ์๋ฎฌ๋ ์ด์ ํ ๊ฒฝ์ฐย ์ฒซ ์ ๋ ๊ณต๊ฒฉ์ผ๋ก ๋งํ์ณค๋ค๋ฉดย ๋ค์ ํ์๋ ๊ทธ ์ ๋์ ๊ณต๊ฒฉ ใดใด ํ๋ค๋ ๊ฒ์. AV์ ๋ค๋ฅธ ์ ์ ์ ๋๊ฐ ์ค์ ๋ก ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ค๋ ๊ฒ์ด ๋ค๋ฆ.
3. Kiting-AV ์ ๋ต: ์ kiting ์ ๋ต์ด๋ ๊ฐ์ง๋ง ์ญ์ ํ๊ฒ์ most valuable unit.
๋ ผ๋ฌธ์ ์์์ ๋งํ 7๊ฐ์ง ์ ๋ต๊ณผ ABCD(Alpha-Beta Considering Durations)ย ์ ๋ต์ ์ฌ๋ฌ๊ฐ์ง ํ๊ฐํจ์๋ก ๋น๊ตํ๋๋ฐ, NOK-AV ์ ๋ต์ด scripted behavior ์ค์ ๊ฐ์ฅ ์ข๋ค๊ณ ํจ. ๋ ์ข์ ABCD ์ ๋ต์ ๋ด๊ฐ ๋ฐฐ์์ด ๋ฏธ์ฒํด์ ๊ทธ๋ฅ ์ํ ๋ฒ ํ ํ๋ฃจ๋ ๊ฐ์๊ฑฐ๊ฒ ๊ฑฐ๋ ํ๊ณ ๋์ด๊ฐ์. AI ํ๋ก๊ทธ๋๋จธ๋ ์๋๋ฐ ๊ณต๋ถํ๋๊ฑด ๋ ๋ฉ๋ฆฌ๊ฐ๋๊ฑฐ๋ผ๋ ์๊ฐ์.
ABCD ์ด๋ฐ๊ฑฐ๋ณด๋จ life-time damage ๊ฐ์ ๊ฐ๋ ์ด๋ RTS ๊ฒ์์ ์คํฌ๋ฆฝํธ ๋ถ๋ถ์ ๋ณด๋๊ฒ ์ฌ๋ฐ์์. ๋.
๋ง๋ค๋ค๊ฐ ์ค๋จํ๊ฑด ๋ง์. ๊ณต๋ถ์ข ํ๊ณ ๋ง๋ค๊ณ ์ถ์ด์ ์ด๊ฒ์ ๊ฒ ๋ณด๋ ์ค
ํ์์ ๊ฒ์ ๊ธฐํ ์ด๋ป๊ฒ ํ๋์ง ๊ถ๊ธํด์ ๊ด์ฌ ์๋ ๊ธ๋ณด๋ฉด ์ ๋ฆฌํ๋๊ฑด๋ฐ ์ด๊ฒ ์ด์ํ๊ฒ ๋ณด์???
๋ ์ ๋ณด๊ณ ์์. ์์งํ ๋ด์ฉ์ ์ด๋ ค์์ ์ ์ดํด๊ฐ ์๋์ง๋ง ์ด๋ฐ ์ฐ๊ตฌ์๋ฃ ์๋ค๋๊ฑฐ ์๊ฐ์ ๋๋ก ๊ธฐ์ตํด๋์ผ๋ฉด ๋์ค์ ํ์ํ ๋ ์ฐพ์๋ณผ์๋ ์๊ณ ๊ทธ๋ฐ๊ฑฐ์ง ๋ญ๊ทธ๋ ๊ฒ๊น์ง ๋จธ๋ผํ ๊ฒ ์๋...
์ ํํ ๋ ๋์์ด ๋๋ ๊ธ์.
์ฌ... ๋๋ ํด์ ์ ๋ต์ด๋ผ... ๊ฐ์ ธ๋ค ์ธ์ ์๊ฒ ๋ค...
๋์๊ฒ ๋ณผ ์ด์ ์์ ๊ฑฐ ๊ฐ์๋ฐ?!
๊ทผ๋ฐ ์ ๊ธฐ ์ฟจ๋ค์ด์ด๋ผ๋๊ฒ ์ผ๋ง ๋จ์๋์ง ๊ฐ๋ฆฌํค๋ ๋์ ์ธ ๊ฑฐ์ธ์ง... ์ฟจํ์์ ๋งํ๋ ์ ์ ์ธ ๊ฑฐ์ธ์ง ๊ถ๊ธํ๋ค...
์ฉ์ด๊ฐ ์์ํด์...
์, ๊ณต๊ฒฉ ์ฌ์ด์ ์ฟจํ์์ ๋ปํ๋ ๊ฒ์!
๊ณ ๋ง์ฐ์ด...
๊ทผ๋ฐ rts์ ๊ณ ๊ธ ai๋ฅผ ๋ฃ๊ธฐ๋ ์ข ๊ทธ๋ ์ง์์? ์๋๋ฉด ์ ๊ธฐ์ ์๋ฏธํ๋๊ฑด ํ๋ ์ด์ด๊ฐ ์กฐ์ข ํ๋ ์ ๋์ ai๊ฐ์๋๋ผ ํ๋ ์ด์ด๊ฐ ์๋ํ๋ ์ ์ ai๋ฅผ ์๋ฏธํ๋๊ฑด๊ฑฐ
๋ง์ใ ใ ; ์ํ๊ณ ์ฒ๋ผ ์ฌ๋๋ ์ด๊ธธ ์ ์๋ AI๋ฅผ ๋ง๋๋๊ฒ ๋ชฉํ์ธ ๊ฒ ๊ฐ์. ํ๊ฐํจ์๋ ์ ๋ต 7๊ฐ๊ฐ ์ข์๋ณด์ฌ์ ์ด๊ฑฐ๋ผ ์ฐ๊ตฌ ๋ชฉ์ ๋ถ๋ถ์ ๋นผ๋จน์ด์ ์ข ํผ๋์ค๋ฝ๊ฒ ์ด๋ฏ.
๋ ์ธ๊ณต์ง๋ฅ ์ข์ํ๋๋ฐใ ใ ์ฌ์ฝ์ ๋ฐ์ฌ๋