μΈκ³μ΅κ³ μ κ²μ AI μ λ¬Έκ° 20λͺ μ΄ λ§λ μ±
μ λͺ©μ Game AI νλ‘! μ λκΈ΄νλ°, κ·Έλ₯ μ¬λ°κ²¬μ΄λΌκ³ νμ.
7.1 μλ‘
μμ§ λ°νλμ§ μμ νμ΄νμ κ°λ°νλ μ€ (μ°λ¦¬) AI νμ λκ΄μ λΆλͺνμ΅λλ€.
νλ νΈλ¦¬(λΉν€μ΄λΉμ΄ νΈλ¦¬,Behaviour Tree)κ° μμ¬ κ²°μ μν€ν μ²λ‘ μ νλμμ§λ§ λ°μν νλ νΈλ¦¬(RBT)λ μλμμ΅λλ€.
κ·Έλ¦¬κ³ νΈλ¦¬κ° μ΄λ²€νΈμ λ°μνλ €λ©΄ λ°μκ³Ό κ·Έμ μ΄λ₯΄λ μ‘°κ±΄μ΄ νΈλ¦¬μ μΌλΆκ° λμ΄μΌ ν©λλ€.
λ°μν νλ νΈλ¦¬(RBT)λ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ μ€κ³λμμ§λ§,
μ΄ μν€ν μ²κ° ν΄κ²°νκ³ μ νλ λ¬Έμ μ μ΄ μ κ·Ό λ°©μμ ꡬννλ μ΄μ λ₯Ό μμΈν μμ보기 μ μ κΈ°μ‘΄μ νλ νΈλ¦¬μ λν΄ κ°λ΅ν μ΄ν΄λ³Ό νμκ° μμ΅λλ€.
(μμ£Ό: FSMμ κ°μ νκΈ°μν΄μ ν€μΌλ‘ νμ΄ λ§λ νΈλ¦¬κ° λΉν€μ΄λΉμ΄ νΈλ¦¬κ³ , νλ νΈλ¦¬λΌκ³ λΆλ¦Ό. κ·Όλ° μ΄ λΉν€μ΄λΉμ΄ νΈλ¦¬λ₯Ό κ°μ νκΈ° μν΄μ λ°μν BTκ° λμ€κ²λ¨)
(μμ£Ό2: FSM->HFSM->BT->RBT μ λμ νλ¦μΌλ‘ λμλλ° FSMμ λ¬Έμ μ μ μμ€ν μ λ°μμ±μ΄ λμμλ‘, μ¦ μλ΅κ³Ό μνΈμμ©μ΄ λμ΄λ μλ‘, λ λ§μ μνμ νμ΄ νμν΄μ§λ―λ‘ μ½λμ λͺ¨λμ±μ΄ μ ν΄λ¨. λ°λΌμ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ°μν΄μ Complexity of the state MachineλΌλ κ±Έ λμ νμ§λ§, μμ λͺ¨λμ±κ³Ό λ°μμ±μ μ΄μ λ‘ λΉν€μ΄λΉμ΄ νΈλ¦¬κ° λμ λ¨,)
(μμ£Ό3: κΈ°λ³Έμ μΌλ‘ κ°κ°μ FSMμ νμ₯μ±μ νκ³κ° μκ³ , λΉν€μ΄λΉμ΄ νΈλ¦¬λ μ μ΄ λ Έλ(Control Nodes)-μ‘μ λ Έλ(Action Node)-μν λ Έλ(Condition Nods)λ‘ κ΅¬μ±λλλ°, λΉν€μ΄λΉμ΄ νΈλ¦¬λ μ¬κΈ°μ Success λλ Failureλ₯Ό μ¬μ©ν΄μ μ κ°ν¨. λ¬Όλ‘ λΉλκΈ°(Asynchronous) λμμ κ²½μ°μλ Runningμ μ¬μ©νλ€λ μ΄μΌκΈ°λ λ€μμ§λ§, μ΄λΆλΆμ λλ‘μ¨λ μμΈν μ 보λ₯Ό λͺ»λ΄.)
(μμ£Ό4: FSMκ³Ό λΉν€μ΄λΉμ΄ νΈλ¦¬λ₯Ό μΈμ μ¨μΌνλ μ΄μΌκΈ°λ€μ΄ λ§μλ°, κΈ°λ³Έμ μΌλ‘ μμ κ²μμΌμλ‘ FSMμ, ν° κ²μμΌμλ‘ λΉν€μ΄λΉμ΄ νΈλ¦¬λ₯Ό νλΌκ³ ν¨. μ΄μ λ μνκ° μ μμλ‘ FSMμ μ§κ΄μ μ΄κ³ μ½κΈ°λλ¬Έ)
7.2 νλ νΈλ¦¬(λΉν€μ΄λΉμ΄ νΈλ¦¬)
νλ νΈλ¦¬λ μ€λμ λΆν° μ¬μ©λμ΄ μμ΅λλ€.
μλλ Damian Islaκ° ν€μΌλ‘ 2λ₯Ό κ°λ°ν λ μ ν μν λ¨Έμ (FSM)μ κ°μ νκΈ° μν΄ κ°λ°νμ΅λλ€(Isla, 2005).
κ·Έ μ΄νλ‘ λ€μν κ²μμμ μ¬μ©λμ΄ μλ§μ κΈ°μ¬μ μ°κ΅¬ λ Όλ¬Έμ΄ μμ±λμμ΅λλ€.
λΉν€μ΄λΉμ΄ νΈλ¦¬λ μ΄μ μ κ³ μ λ°μμ AI λΉν€μ΄λΉμ΄μ μ νΈλλ μ κ·Ό λ°©μμ λλ€.
μ¬μ§μ΄ μν½μ μΈλ¦¬μΌ μμ§μλ λΉν€μ΄λΉμ΄ νΈλ¦¬κ° μμ§μ λ΄μ₯λμ΄ μμ΅λλ€.
μΌλ°μ μΌλ‘ νλ νΈλ¦¬λ μ€ν μ νμ μ§μνλ λ³΅ν© λ Έλ(μΌλ° νΈλ¦¬ μ©μ΄λ‘ λΆκΈ° λ Έλ)μ μΌμ’ μ λ‘μ§μ μ€ννλ νλ/μμ λ Έλ(리ν λ Έλ)λ‘ κ΅¬μ±λ κ·Έλνλ‘,
ꡬμ΄μ²΄λ‘ 'Do thing(μλνλ€)'λΌκ³ ννν μ μμ΅λλ€.
μ΄λ€μ κ±°μ νμ νΈλ¦¬κ° μλ‘ λ°μ΄ν°λ₯Ό 곡μ νκΈ° μν κ³΅ν΅ λ°μ΄ν° μ μ₯μμΈ λΈλ보λ(Black Board)μ μ°κ΄λμ΄ μμ΅λλ€.
λΈλ보λλ νλ νΈλ¦¬μ μΌλλ€ κ΄κ³λ₯Ό κ°μ§λ―λ‘ νλμ λΈλ보λκ° μ¬λ¬ νλ νΈλ¦¬μ μ°κ²°λ μ μμ§λ§,
κ° νλ νΈλ¦¬λ μ€μ§ νλμ λΈλ보λμλ§ μ°κ²°λ μ μμ΅λλ€.
μ΄λ ν μμ΄μ νΈμ νλ νΈλ¦¬μμ λ°μ΄ν°λ₯Ό μ€μ ν λ€μ μμ ν λ€λ₯Έ νλ νΈλ¦¬μ λ€λ₯Έ μμ΄μ νΈκ° μ¬μ©ν μ μκΈ° λλ¬Έμ μμ€ν μ μ μ°μ±μ ν¬κ² λμ¬μ€λλ€.
κ° μ λ°μ΄νΈλ§λ€ νΈλ¦¬λ μ΄λ€ μμ λ Έλκ° μ€ννκΈ°μ κ°μ₯ μ ν©νμ§ νκ°νκ³ νΉμ μμ λ Έλκ° μ°Έμ λ°νν λκΉμ§ λͺ¨λ λ Έλλ₯Ό μμμ μλλ‘, μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ μμλλ‘ μ§νν©λλ€.
κ°μ₯ μΌλ°μ μΌλ‘ μ¬μ©λλ λ³΅ν© λ Έλμ κ·Έ μ©λμ λν κ°λ΅ν μ€λͺ μ λ€μκ³Ό κ°μ΅λλ€:
μνμ€(Sequence) - μ΄λ¬ν λ³΅ν© λ Έλλ λͺ¨λ λ Έλκ° μ±κ³΅μ λ°νν λκΉμ§ μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ κ° μμ λ Έλλ₯Ό μ€νν©λλ€.
μ νκΈ°/ν΄λ°±(Selector)/(FallBack) - μ΄λ¬ν λ³΅ν© λ Έλλ μ μ΄λ νλ μ΄μμ μμ λ Έλκ° μ±κ³΅μ λ°νν λκΉμ§ κ° μμ λ Έλλ₯Ό μμμ μμλ‘ μ€νν©λλ€.
λ³λ ¬(Parallel) - μ΄λ¬ν λ³΅ν© λ Έλλ νμ λ Έλλ₯Ό λμμ μ€νν©λλ€. μ΄λ¬ν λ³΅ν© λ Έλλ nκ°μ μμ λ Έλ μ€ μΌλΆμΈ mκ°μ λ Έλκ° μ±κ³΅νλ©΄ μ±κ³΅μ λ°ννκ³ , nκ°μ μμ λ Έλκ° λͺ¨λ μ€ν¨νλ©΄ κ±°μ§μ λ°νν©λλ€. 'λ³λ ¬'μ΄λΌλ μ©μ΄κ° μ¬μ©λμ§λ§ μ΄ νλ‘μΈμ€λ μΌλ°μ μΌλ‘ μ§μ ν λ³λ ¬ μ²λ¦¬κ° μλλλ€. μ½λ£¨ν΄μ λ κ°κΉμ΅λλ€.
μλ₯Ό λ€μ΄, κ° ν±μμ κ° μμ ν΄λμ€λ μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ μμ°¨μ μΌλ‘
κ°λ³μ (individually)μΌλ‘ ν±νκ³ λ€μ ν±κΉμ§ μΌμ μ€λ¨λ©λλ€.
(μμ£Ό: μ μ΄λ Έλμ νμ λΆλ₯λ‘ μνμ€ λ Έλ- λͺ¨λ μμ λ Έλλ₯Ό μμ°¨μ μ€ν), μ λ ν° λ Έλ- μμ λ Έλμ€ νλλΌλ μ±κ³΅νλ©΄ μ±κ³΅μΌλ‘ μ’ λ£λκ³ , λͺ¨λ μμ λ Έλκ° μ€ν¨νλ©΄ μ’ λ£λ¨, λ³λ ¬ λ Έλλ μ¬λ¬ μμ μ λμμ μν€λ μ μ΄λ Έλ, μ μμ 3κ°λ νΉλ³ν μ μ΄ λ ΈλλΌκ³ μ΄ν΄νλ©΄λ¨)
λΈλ보λ μΈμλ μΌλ°μ μΌλ‘ νμ νΈλ¦¬μ 루νΈμμ 루ν/λ°λ³΅ λ°μ½λ μ΄ν°λ₯Ό μ¬μ©νμ¬ νΉμ νμ νΈλ¦¬λ₯Ό λ°λ³΅νκ±°λ λ°μ λ°μ½λ μ΄ν°λ₯Ό μ¬μ©νμ¬ μ±κ³΅μ μ€ν¨λ‘ λλ κ·Έ λ°λλ‘ λ€μ§λ λ± κ³ μ ν μ μ± μΌλ‘ νμ λ Έλλ₯Ό μμ νλ λ°μ½λ μ΄ν° λ Έλκ° μμ΅λλ€.
μ΄ μΈμλ μ¬λ¬ κ°μ§κ° μμ§λ§ μμ μ νμ νκΈ°μλ μΆ©λΆν©λλ€.
μμμ μΈκΈν λͺ¨λ λ Έλλ₯Ό κ²°ν©νλ©΄ λ©μ§ AI μμ΄μ νΈλ₯Ό λΉ λ₯΄κ² λ§λ€ μ μμ΅λλ€. μ΄μ λ°λ‘ κ·Έλ κ² ν΄λ³΄κ² μ΅λλ€.
(μμ£Ό: λΈλ보λλ AI λΈλ μΈμ΄λΌκ³ ννλ€ μ§μΉνλλ°, μ½κ² λ§ν΄μ λΈλ보λ=μΉ ν, μΉ ν μν€ν μ³λΌκ³ λ νλλ° λ€λ₯Έ λ°μ΄ν°λ₯Ό λ겨μ€λ €κ³ ν λ, μΈλΆ λ°μ΄ν° μ μ₯μλ‘ μ΄μ©λλ μν€ν μ³ κΈ°λ²μ λ§ν¨.)
-λμ€μ μκ°λλ©΄ 2νΈ λ²μν¨
λκΈ 0