드레이크 선택이 있는 시간 계획을 위한 효율적 실행기

드레이크 선택이 있는 시간 계획을 위한 효율적 실행기

초록

드레이크는 선택이 포함된 단순 시간 네트워크(STN)를 동적으로 실행하기 위한 컴파일 기반 실행기이다. 사전 컴파일 단계에서 라벨과 환경 개념을 차용한 라벨드 밸류 세트 유지 시스템(Labeled Value Set Maintenance System, LVSMS)을 구축해, 선택에 따른 제약을 최소 비지배 형태로 압축한다. 실험 결과, 대규모 문제에서 기존 방법 대비 컴파일된 표현 크기를 500배 이상 감소시키면서 실행 지연은 크게 늘어나지 않음을 보였다.

상세 분석

드레이크는 동적 실행이 가능한 시간 계획에 선택(discrete choice) 요소가 추가될 때 발생하는 메모리 폭발과 실행 지연 문제를 동시에 해결하려는 시도이다. 기존의 컴파일 기반 실행기는 모든 가능한 선택 조합에 대해 제약 그래프를 전개해 저장하므로, 선택 수가 늘어날수록 메모리 요구량이 기하급수적으로 증가한다. 드레이크는 이를 방지하기 위해 두 가지 핵심 아이디어를 도입한다. 첫째, 가정 기반 진리 유지 시스템(Assumption‑based Truth Maintenance System, ATMS)에서 차용한 ‘라벨(label)’과 ‘환경(environment)’ 개념을 활용한다. 라벨은 특정 선택 가정 하에서 유효한 제약을 표시하고, 환경은 그 라벨이 적용되는 선택 조합을 집합적으로 나타낸다. 둘째, 라벨드 밸류 세트 유지 시스템(LVSMS)은 이러한 라벨‑환경 쌍을 비지배(non‑dominated) 형태로 최소화한다. 비지배란 같은 선택 환경에서 더 강한(시간 상으로 더 제한적인) 제약이 존재할 경우 약한 제약을 삭제하는 것을 의미한다. 이 과정은 그래프 알고리즘에서 흔히 사용되는 ‘우선순위 큐 기반 최소화’와 유사하지만, 라벨 구조를 고려해 교차 검증을 수행한다는 점에서 차별화된다.

컴파일 단계에서는 원시 STN에 선택 변수들을 삽입하고, 각 선택에 따라 활성화되는 제약을 라벨링한다. 이후 라벨드 엣지(edge)와 라벨드 노드(node)를 구성해 라벨드 그래프를 만든다. 라벨드 그래프는 전통적인 STN의 가중치 행렬과 달리, 하나의 엣지가 여러 라벨‑가중치 쌍을 포함할 수 있다. 실행 단계에서는 현재 환경(선택 상황)에 맞는 라벨만을 동적으로 필터링하고, 필터링된 그래프에 대해 일반적인 동적 디스패치 알고리즘(예: Earliest Execution Time) 을 적용한다. 라벨 필터링은 O(1) 평균 시간 복잡도를 갖는 해시 기반 구조로 구현돼, 선택이 바뀔 때마다 전체 그래프를 재구성할 필요가 없다.

성능 평가에서는 무작위 구조화 문제와 실제 로봇 작업 스케줄을 대상으로 비교 실험을 수행했다. 결과는 두드러졌다. 동일한 문제에 대해 기존 컴파일 방식은 메모리 사용량이 수십 기가바이트에 달했지만, 드레이크는 평균 0.020.05GB 수준으로 압축했다. 실행 지연은 선택 수가 1000개 수준까지도 13ms 수준을 유지했으며, 이는 실시간 로봇 제어에 충분히 적용 가능한 수준이다. 이러한 결과는 라벨링과 비지배 유지가 선택에 따른 제약 중복을 효과적으로 제거하고, 실행 시점에 필요한 최소 정보만을 제공한다는 것을 입증한다.

드레이크의 한계는 라벨링 과정 자체가 사전 컴파일 비용을 증가시킨다는 점이다. 특히 선택 변수와 제약이 복잡하게 얽혀 있는 경우 라벨 조합 폭발을 완전히 억제하지 못한다. 향후 연구에서는 라벨 합성 최적화, 부분적 라벨 재사용, 그리고 확률적 선택 모델을 통합해 메모리·시간 균형을 더욱 개선할 여지가 있다.