Belief Desire Intention Software Model - WOWEunji/BDI-Agent GitHub Wiki

Belief-desire-intention software model

From Wikipedia λ²ˆμ—­

 BDI(Belief-desire-intention) μ†Œν”„νŠΈμ›¨μ–΄ λͺ¨λΈμ€ 지λŠ₯ν˜• μ—μ΄μ „νŠΈλ‘œ ν”„λ‘œκ·Έλž˜λ°μ„ μœ„ν•΄ 개발 된 합리적인 μ†Œν”„νŠΈμ›¨μ–΄ μ—μ΄μ „νŠΈμ΄λ‹€. μ—μ΄μ „νŠΈμ˜ 믿음 μƒνƒœ(beliefs), λͺ©μ (desires), μ˜λ„(intention)의 κ΅¬ν˜„μ΄ νŠΉμ§•μ΄λ‹€.

 BDI λͺ¨λΈμ€ ν˜„μž¬ ν™œμ„±ν™”λœ κ³„νšμ˜ μ‹€ν–‰κ³Ό κ³„νš 라이브러리 ν˜Ήμ€ μ™ΈλΆ€ κ³„νšμž μ‘μš©ν”„λ‘œκ·Έλž¨(planner application)으둜 λΆ€ν„° κ³„νšμ„ μ„ νƒν•˜λŠ” 것을 뢄리λ₯Ό μœ„ν•œ 방법둠을 μ œκ³΅ν•œλ‹€.

 BDI의 νŠΉμ§•μ€ κ³„νš 선택을 κ³ λ €ν•˜κ³ , κ³„νšμ„ μ‹€ν–‰ν•˜λŠ”λ° μ†Œμš”λ˜λŠ” μ‹œκ°„μ˜ κ· ν˜•μ„ 맞좘 것이 νŠΉμ§•μ΄λ‹€. κ³„νš λͺ¨λΈμ€ μ‹œμŠ€ν…œ μ„€κ³„μž 및 ν”„λ‘œκ·Έλž˜λ¨Έμ— μ˜ν•΄ μˆ˜λ™μ μœΌλ‘œ μž‘μ„±λœλ‹€.

Overview

 κ³„νš μ„ νƒμ˜ 고렀와 μ‹€ν–‰μ˜ 뢄리λ₯Ό λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ BDI λͺ¨λΈμ€ Michael Bratman의 믿음, λͺ©μ , μ˜λ„μ˜ κ°œλ…μ„ κ΅¬ν˜„ν•œλ‹€. 믿음과 λͺ©μ μ€ 행동과 κ΄€λ ¨λœ νƒœλ„μ΄μ§€λ§Œ μ˜λ„λŠ” ν–‰μœ„λ₯Ό ν†΅μ œν•˜λŠ” νƒœλ„μ΄λ‹€. Bratman은 λͺ©μ μ€ κ³„νšλ“€μ—μ„œμ˜ μΌμ‹œμ μΈ 지속성, μ˜λ„λŠ” 이미 μˆ˜ν–‰λ˜κ³  μžˆλŠ” κ³„νšμ— κΈ°μ΄ˆν•˜μ—¬ μΆ”κ°€ κ³„νšμ„ μˆ˜λ¦½ν•œλ‹€κ³  μ •μ˜ ν•˜μ˜€λ‹€.

 BDI λͺ¨λΈμ—μ„œ μΌμ‹œμ μΈ 지속성은 μ‹œκ°„μ— λŒ€ν•œ λͺ…μ‹œμ  참쑰의 μ˜λ―Έμ—μ„œ 탐ꡬ λ˜μ§€ μ•ŠλŠ”λ‹€. κ³„νšμ€ 계측적 ꡬ쑰둜 이루어져 있으며 일뢀 κ²Œνšμ€ λ‹€λ₯Έ κ³„νšμ„ 호좜 ν•  수 μžˆλ‹€. κ³„νšμ˜ ν•˜μœ„ κ³„νšμ΄ μ‹€ν–‰ λ˜λŠ” λ™μ•ˆ μƒμœ„ κ³„νšμ€ μœ νš¨ν•˜λ―€λ‘œ, 이것은 μΌμ‹œμ  지속성을 의미 ν•œλ‹€.

Architecture

  • Beliefs : Beliefs(신념)은 μ—μ΄μ „νŠΈμ˜ μƒνƒœλ₯Ό μ •λ³΄μ μœΌλ‘œ ν‘œν˜„ν•œλ‹€. 즉 μ—μ΄μ „νŠΈκ°€ μž‘λ™λ˜κ³  μžˆλŠ” μƒνƒœμ— λ―Ώκ³  μžˆλŠ” 신념이닀. 신념은 μΆ”λ‘  κ·œμΉ™μ„ 포함할 수 있고, μƒˆλ‘œμš΄ 믿음 μƒνƒœλ₯Ό 이끌 수 μžˆλ„λ‘ μΆ”λ‘  엔진을 μ‚¬μš©ν•˜μ—¬ μΆ”λ‘ ν•  순방ν–₯ μΆ”λ‘ (forward chaining)을 ν•  수 μžˆλ‹€. 지식(knowledge)보닀 신념(Beliefs)μ΄λΌλŠ” μš©μ–΄λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 μ—μ΄μ „νŠΈκ°€ λ―ΏλŠ” 것은 λ°˜λ“œμ‹œ 사싀 일 ν•„μš”λŠ” μ—†μœΌλ©°, μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ λ―Ώκ³  μžˆλŠ” 신념이 λ³€ν•  수 있기 λ•Œλ¬Έμ΄λ‹€.

  • Desires : μš•λ§μ€ μ—μ΄μ „νŠΈκ°€ λ™κΈ°μ μœΌλ‘œ λ‹¬μ„±ν•˜κ³  싢은 μƒνƒœ, μ—μ΄μ „νŠΈκ°€ λ‹¬μ„±ν•˜κ±°λ‚˜ λ‹¬μ„±ν•˜λ €λŠ” λͺ©ν‘œ λ˜λŠ” 상황을 λ‚˜νƒ€λ‚Έλ‹€.

ex) νŒŒν‹°μ— κ°€κ±°λ‚˜ λΆ€μžκ°€ λ˜μ–΄λΌ.

  • Goals : λͺ©μ μ€ μ—μ΄μ „νŠΈκ°€ 적극적으둜 λ‹¬μ„±ν•˜κ³ μž ν•˜λŠ” μš•λ§μ΄λ‹€. λͺ©ν‘œλΌλŠ” μš©μ–΄λ₯Ό μ‚¬μš©ν•˜κ²Œ 되면 μ œν•œμ΄ μΆ”κ°€ λœλ‹€.

ex) νŒŒν‹°μ— κ°€κ³  집에 λ¨Έλ¬Έλ‹€. λΌλŠ” λ™μ‹œ λͺ©ν‘œλ₯Ό κ°€μ Έμ„œλŠ” μ•ˆλœλ‹€.

  • Intention : μ˜λ„λŠ” μ—μ΄μ „νŠΈκ°€ μš•λ§μ„ λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ μ„ νƒν•œ μ„ νƒν•œ 것(μ˜λ„, κ³„νš)을 λ‚˜νƒ€λ‚Έλ‹€.

  • Plans : κ³„νšμ€ μ—μ΄μ „νŠΈκ°€ ν•˜λ‚˜ μ΄μƒμ˜ μ˜λ„λ₯Ό λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ μˆ˜ν–‰ ν•  수 μžˆλŠ” 일련의 λ™μž‘μ΄λ‹€. κ³„νšμ—λŠ” λ‹€λ₯Έ κ³„νšμ΄ 포함 될 수 μžˆλ‹€.

  • Events : μ΄λ²€νŠΈλŠ” Beliefsλ₯Ό μ—…λ°μ΄νŠΈν•˜κ±°λ‚˜ κ³„νšμ„ λ°”κΎΈκ±°λ‚˜ λͺ©ν‘œλ₯Ό μˆ˜μ • ν•  수 μžˆλ”°. μ΄λ²€νŠΈλŠ” μ™ΈλΆ€μ—μ„œ μƒμ„±λ˜μ–΄ μ„Όμ„œ λ˜λŠ” 톡합 μ‹œμŠ€ν…œμ— μ˜ν•΄ μˆ˜μ‹  될 수 μžˆλ”°. λ˜ν•œ λΆ„λ¦¬λœ μ—…λ°μ΄νŠΈ λ˜λŠ” ν™œλ™ κ³„νšμ„ 트리거 ν•˜κΈ° μœ„ν•΄ λ‚΄λΆ€μ μœΌλ‘œ μ΄λ²€νŠΈκ°€ μˆ˜ν–‰ 될 수 μžˆλ‹€.

BDI Interpreter

Initialize-state
while(true){
   options = option_generator(event_queue)
   selected-options = deliberate(options)
   update-intentions(selected-options)
   execute()
   get-new-external_events()
   drop-unsuccessful-attitudes()
   drop-impossible-attitudes()
}

Limitations and criticisms

BDI μ†Œν”„νŠΈμ›¨μ–΄ λͺ¨λΈμ€ 단일 μ—μ΄μ „νŠΈμ— λŒ€ν•œ μΆ”λ‘  아킀텍쳐이닀. BDI λͺ¨λΈμ— λŒ€ν•œ μ œμ•½ 사항은 λ‹€μŒκ³Ό κ°™λ‹€.

  • Learning(ν•™μŠ΅) : BDI μ—μ΄μ „νŠΈλŠ” μ•„ν‚€ν…μ²˜ λ‚΄μ—μ„œ 과거의 ν–‰λ™μœΌλ‘œλΆ€ν„° 배우고 μƒˆλ‘œμš΄ 상황에 적응 ν•  수 μžˆλŠ” νŠΉμ • λ§€μ»€λ‹ˆμ¦˜μ΄ 쑴재 ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • Three attitudes : 고전적인 μ˜μ‚¬ κ²°μ • 이둠가듀과 κ³„νš μ—°κ΅¬μžλ“€μ€ (Belief, Desire, Intention)을 λͺ¨λ‘ 가지 ν•„μš”κ°€ μžˆλŠ”μ§€μ— λŒ€ν•œ 의문과 distributed AI μ—°κ΅¬μžλ“€μ€ (Belief, Desire, Intention)이 μΆ©λΆ„ν•œμ§€μ— λŒ€ν•΄ μ˜λ¬Έμ„ μ œκΈ°ν•œλ‹€.
  • Logics : BDIλŠ” 곡리화와 효율적으둜 계산할 수 μ—†μœΌλ―€λ‘œ BDI의 κΈ°μ΄ˆκ°€ λœλ‹€κ³  μ£Όμž₯ν•˜λŠ” multi-modal logics(닀쀑 λͺ¨λ‹¬ 둜직)κ³ΌλŠ” 관계가 μ—†λ‹€.
  • Multiple agents : BDI λͺ¨λΈμ€ λ‹€λ₯Έ μ—μ΄μ „νŠΈμ™€μ˜ μƒν˜Έ μž‘μš© 및 λ©€ν‹° μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œμ— ν†΅ν•©ν•˜κΈ° μœ„ν•œ λ©”μ»€λ‹ˆμ¦˜μ„ λͺ…μ‹œμ μœΌλ‘œ μ„€λͺ…ν•˜μ§€ μ•ŠλŠ”λ‹€.