1291.5 다중 병행 행동 표현의 어려움
1. 병행 행동의 정의와 필요성
다중 병행 행동(concurrent behavior)이란 자율 에이전트가 동일 시간 구간 내에 복수의 독립적 또는 상호 연관된 행동을 동시에 수행하는 것을 의미한다. 로봇공학에서 병행 행동은 일상적이고 필수적인 요구사항이다. 자율 이동 로봇은 “목표 지점으로 이동“과 “장애물 감시” 및 “배터리 잔량 모니터링“을 동시에 수행해야 하며, 자율 비행 드론은 “비행 제어“와 “센서 데이터 취득” 및 “통신 유지“를 병렬적으로 처리해야 한다. 이러한 병행성(concurrency)은 자율 시스템의 실시간 운용에 본질적으로 요구되는 특성이다.
2. 유한 상태 머신에서의 병행 행동 표현
2.1 단일 활성 상태 제약
유한 상태 머신(FSM)은 임의의 시점에서 정확히 하나의 상태에만 존재한다는 단일 활성 상태(single active state) 제약을 본질적으로 가진다. 이 제약에 의하여 FSM은 동시에 진행되는 복수의 행동을 하나의 복합 상태(composite state)로 평탄화(flatten)하여 표현해야 한다.
예를 들어, 로봇이 세 가지 행동—이동(Move), 감시(Monitor), 충전 확인(CheckBattery)—을 동시에 수행해야 하는 상황에서, 각 행동이 2개의 내부 상태를 가진다면:
- 이동: {진행 중, 완료}
- 감시: {정상, 이상 감지}
- 충전 확인: {충분, 부족}
이 세 행동의 동시 표현을 위해 FSM은 2 \times 2 \times 2 = 8개의 복합 상태를 생성해야 한다:
| 복합 상태 | 이동 | 감시 | 충전 |
|---|---|---|---|
| s_1 | 진행 중 | 정상 | 충분 |
| s_2 | 진행 중 | 정상 | 부족 |
| s_3 | 진행 중 | 이상 감지 | 충분 |
| s_4 | 진행 중 | 이상 감지 | 부족 |
| s_5 | 완료 | 정상 | 충분 |
| s_6 | 완료 | 정상 | 부족 |
| s_7 | 완료 | 이상 감지 | 충분 |
| s_8 | 완료 | 이상 감지 | 부족 |
각 복합 상태에서의 전이 규칙은 개별 행동 차원의 변화에 따라 독립적으로 정의되어야 하나, 평탄화된 FSM에서는 이러한 독립성이 구조적으로 표현되지 않으며, 모든 전이가 복합 상태 간의 단일 전이로 기술된다.
2.2 의미적 투명성의 손실
평탄화된 복합 상태는 원래 독립적이었던 행동 차원 간의 논리적 분리를 은폐한다. 설계자가 s_4 = “이동 중 + 이상 감지 + 배터리 부족” 상태를 관찰할 때, 이 상태가 세 개의 독립적 관심사의 조합이라는 구조적 정보가 상태 레이블에만 간접적으로 반영된다. 이는 상태의 의미를 파악하기 위하여 명명 규칙(naming convention)에 의존하게 만들며, 대규모 시스템에서 의미적 투명성(semantic transparency)이 급격히 저하된다.
3. 병행 행동 수 증가에 따른 복잡도 분석
p개의 독립적 병행 행동이 각각 s_i개의 내부 상태를 가질 때, 평탄화된 FSM의 상태 수는
|Q_{\text{flat}}| = \prod_{i=1}^{p} s_i
이다. 모든 행동이 동일하게 s개의 내부 상태를 가진다면 |Q_{\text{flat}}| = s^p로 병행 행동의 수에 대하여 지수적으로 증가한다.
| 병행 행동 수 p | 행동당 상태 수 s | 총 상태 수 s^p |
|---|---|---|
| 2 | 3 | 9 |
| 3 | 3 | 27 |
| 4 | 3 | 81 |
| 5 | 3 | 243 |
| 6 | 3 | 729 |
| 4 | 4 | 256 |
| 5 | 4 | 1,024 |
| 6 | 4 | 4,096 |
실제 로봇 시스템에서 5–10개의 병행 행동은 일반적이며, 각 행동이 3–5개의 내부 상태를 가질 경우 평탄화된 상태 공간은 수천에서 수백만 개에 달한다.
4. 전이 규칙의 중복과 불일치 위험
평탄화된 FSM에서 하나의 병행 행동 차원에서의 상태 변화는 해당 차원만 변경하고 나머지 차원은 유지하는 전이를 요구한다. 예를 들어, 감시 상태가 “정상“에서 “이상 감지“로 변할 때, 이동과 충전의 상태에 무관하게 동일한 감시 전이가 발생해야 한다. 그러나 평탄화된 FSM에서 이를 표현하려면, 이동과 충전의 모든 가능한 다른 차원 조합에 대하여 동일한 감시 전이를 반복적으로 정의해야 한다.
p개의 병행 행동 중 하나의 행동에서 하나의 전이가 발생할 때, 이를 평탄화된 FSM에서 표현하기 위한 복제 전이(replicated transition)의 수는
\prod_{j \neq i} s_j
이다. 이 반복적 정의는 동일한 논리의 중복적 기술을 초래하며, 중복 전이 간의 불일치(inconsistency)가 발생할 수 있는 오류 취약점을 생성한다.
5. 동기화와 상호작용의 표현 한계
병행 행동이 완전히 독립적이지 않고 상호작용하는 경우, 복잡도는 더욱 증가한다. 예를 들어, “장애물 감지” 행동의 결과가 “이동” 행동의 전이에 영향을 미치는 경우, 두 행동 차원 간의 동기화 전이를 명시적으로 정의해야 한다. 이러한 차원 간 상호작용 전이(inter-dimension interaction transition)의 수는 관련 차원의 상태 수의 곱에 비례하며, 상호작용의 복잡도를 추가적으로 증대시킨다.
6. 행동 트리의 병행 행동 지원
행동 트리(Behavior Tree)에서 병행 행동은 Parallel 제어 노드를 통하여 자연스럽게 표현된다. Parallel 노드는 복수의 자식 노드를 동시에 실행하며, 성공 정책(success policy)에 따라 전체 결과를 결정한다. 각 자식 노드는 독립적인 서브트리로서 자체적인 실행 로직을 가지며, 다른 자식 노드와 구조적으로 분리되어 있다. 이는 FSM에서 요구되는 상태 공간의 평탄화와 전이 규칙의 중복적 복제를 원천적으로 회피한다.
7. 참고 문헌
- Colledanchise, M., & Ögren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
- Harel, D. (1987). “Statecharts: A Visual Formalism for Complex Systems.” Science of Computer Programming, 8(3), 231–274.
- Marzinotto, A., Colledanchise, M., Smith, C., & Ögren, P. (2014). “Towards a Unified Behavior Trees Framework for Robot Control.” IEEE International Conference on Robotics and Automation (ICRA), 5420–5427.
v0.1.0