1. 서 론
1.1. 연구 배경 및 목적
자율운항선박이 항해사를 대신해 충돌 위험을 판단하고 항로를 결정하려면 주변 선박이 움직이는 동안 항로의 안전성을 계속 평가하여야 한다. 실제 해역에는 다수의 선박이 동시에 항행하며, 각 선박의 침로와 속력에 따라 위험한 구역이 매 순간 달라진다. 따라서 선박은 매 순간 바뀐 상황을 반영해 안전한 항로를 새로 찾아야 한다. 또한 선택된 항로는 단순히 가장 짧기만 해서는 안 되고, 선박이 실제로 선회할 수 있는 선회 능력과 국제해상충돌예방규칙(COLREG)을 함께 지켜야 한다(COLREG(1972), Lyu, H. and Yin, Y. 2019).
이 문제를 풀기 위해 그동안 여러 방법이 연구되었다. 격자 위에서 최단 경로를 찾는 A* 탐색(Singh, Y. et al. 2018), 장애물을 밀어내는 힘으로 비유하는 Artificial Potential Field(Maulana, S. et al 2023), 상대 속도로 충돌을 예측하는 Speed Velocity Obstacle(Kuwata, Y. et al. 2014, Fiorini, P. et al. 1998), 미래를 내다보며 제어하는 Model Predictive Control(Ferranti, L. et al. 2018, Hagen, I. B. et al. 2018), 그리고 시행착오로 학습하는 강화학습(Woo, J. and Kim, N. 2020, Zhao, L. et al. 2019) 등이 대표적이다. 이들은 모두 주어진 상황에서 가장 좋은 경로 하나를 효과적으로 찾는다는 공통점이 있다(Kim D. et al. 2017). 그런데 실제 운용에서는 경로 하나로는 부족한 경우가 많다. 예를 들어 여러 척이 만드는 여러 위험구역을 동시에 피하는 항로들의 집합, 상황이 더 나빠질 때를 대비한 여러 대안 항로, 또는 매 주기 바뀌는 위험에 맞춰 계속 갱신되는 안전 항로 후보들이 필요하다. 경로 하나를 찾는 방법으로 이런 집합 단위의 질문에 답하려면 매번 처음부터 다시 탐색해야 하고, 위험이 자주 바뀌거나 고려할 항로가 많아질수록 계산 부담이 커진다.
본 연구는 이러한 어려움을 해결하고자 한다. 피항을 최적 경로 하나를 찾는 문제가 아니라, 실행 가능한 안전 항로의 집합을 한 번 표현해 두고 바뀌는 상황에 대해 그 집합에 반복해서 질문을 던지는 문제로 다시 정의하는 것이다. 이때 쓰는 알고리즘이 Zero-suppressed Decision Diagram (ZDD)이다(Minato, S. 1993, Minato, S. 2001). ZDD는 수많은 항로를 낱낱이 저장하는 대신 그 항로들이 공유하는 결정의 갈림길만을 압축해 담는다. 한 번 만들어 두면 이후의 작업은 이 작은 구조 위에서 가벼운 연산으로 반복할 수 있다. 위험구역을 지나는 항로를 없애는 일은 집합의 차집합으로, 안전 항로의 개수를 세거나 최적 항로를 고르는 일은 이 구조를 한 번 훑는 계산으로 끝난다.
본 논문의 주요 내용은 다음과 같다. 첫째, 선박 충돌 회피를 안전 항로 집합의 압축 표현과 반복적인 집합 질의로 다시 정의하여, 다중 위험 회피나 대안 비교 같은 요구를 자연스럽게 담아낸다. 둘째, 선회권을 반영한 상태 격자 위에서 항로 집합을 ZDD로 구축하고, 위험구역의 차집합 제거와 COLREG 비용 부가, 최적 항로의 선형 시간 추출을 하나의 절차로 묶는다. 셋째, 실험을 통해 결과가 완전 탐색 및 이론값과 일치함을 보이고, 해역 규모에 따라 압축 효과와 질의 시간을 측정하여, 제안 방법이 강점을 보이는 영역과 그렇지 않은 영역을 구분한다. 이후 2장에서는 상태 격자와 항로 집합 ZDD 표현을, 3장에서는 동적 피항 절차를, 4장에서는 시뮬레이션 결과를 다루고, 5장에서 결론을 맺는다.
2. 항로 집합의 ZDD 표현
2.1 선회권을 반영한 상태 격자
먼저 해역을 다루기 쉬운 형태로 바꾼다. 해역을 일정 간격 d의 격자로 나누고, 각 격자 칸에 선수 방위까지 함께 붙여 하나의 상태로 삼는다. 즉 상태는 위치와 방위(ix, iy, h)이며, 여기서 h는 360°를 H등분한 방위 번호이다. 위치만 다루는 보통의 격자와 달리 방위를 함께 넣는 이유는 선박은 제자리에서 아무 방향으로나 갑자기 꺾을 수 없고, 일정한 최소 선회 반경 Rmin보다 작은 선회 반경으로 선회할 수 없기 때문이다. 이 물리적 제약을 그래프 구조 자체에 새겨 넣으려는 것이다.
한 번의 이동에서 방위를 바꿀 수 있는 양을 ± k 단계로 제한하면, 한 칸을 가는 동안 일어나는 최대 방위 변화는 k • ∆θ이다(∆θ = 2π/H). 이 변화가 선회권을 넘지 않으려면 식 (1)을 만족해야 한다.
부등호 왼편은 한 칸에서 꺾는 각도, 오른편은 그 정도로 꺾었을 때 그려지는 곡선의 급함을 나타내며, 이 곡선이 선박이 선회 할 수 있는 한계(Rmin)보다 완만해야 한다는 뜻이다.
이 조건을 어기는 급격한 변침은 간선으로 만들지 않는다. 따라서 격자 위에 그려지는 어떤 항로든 자동으로 선회권을 지키게 된다(Fig. 1). 육지나 통항 금지 구역 같은 정적 장애물은 해당 칸에 닿는 간선을 미리 지워서 이 단계에서 반영한다.
2.2 실행 가능 항로 후보
항로를 수학적으로 정의하고자 한다. 출발 상태 s에서 목표 상태 t까지 가는 항로는, 그 항로가 지나는 간선들을 모아 놓은 집합이다. 전체 간선을 E라 하면 항로 하나는 E의 부분집합이고, 실행 가능한 모든 항로의 모임은 식 (2)와 같이 부분집합들의 모임, 즉 집합 F가 된다.
본 연구가 다루려는 대상이 F이다. 문제는 F의 크기이다. 방위를 따지지 않은 n×n 격자에서도 목표 쪽으로 단조롭게 진행하는 항로의 수는 이항계수 C(2(n-1),n-1)로 주어지는데, n=11이면 184,756개, n=13이면 약 270만 개에 이른다. 이렇게 많은 항로를 하나하나 보관하는 것은 비현실적이다. 따라서 집합을 통째로 압축하는 자료구조가 필요하다.
2.3 ZDD: 항로 집합을 압축하는 결정 다이어그램
ZDD는 이런 집합을 작은 그래프로 표현하는 방법이다. 이 그래프는 두 개의 끝점, 참(⊤)과 거짓(⊥)이 있다. 그리고 각 내부 노드는 하나의 간선에 대응하며 이 간선을 쓸 것인가라는 갈림길을 나타내며, 쓰지 않는 0-가지와 쓰는 1-가지의 두 갈래를 갖는다. 맨 위에서 출발해 각 갈림길의 답을 따라가다 참(⊤)에 닿으면, 그동안 쓴다를 선택한 간선들의 모임이 곧 하나의 항로가 된다. 따라서 참에 닿는 모든 경로가 곧 항로 집합 F이다.
이를 좀 더 자세히 표현하면 간선 전체 집합 E에 고정된 순서를 부여하고, 두 단말 노드⊤(공집합 하나만을 원소로 갖는 집합족{∅})과⊥(빈 집합족∅)을 둔다. 각 내부 노드는 하나의 간선 x에 대응하며, 그 간선을 쓰지 않는 쪽 자식 ν₀(0-가지)과 쓰는 쪽 자식 ν₁(1-가지)을 가지므로(x, ν₀, ν₁)로 나타낸다. 노드 ν가 표현하는 항로(간선 집합)의 모임을S(ν)라 하면, 단말은 S(⊥)=∅, S(⊤)={∅}이고, 내부 노드는 식 (3)과 같다.
(3)의 의미는 노드 ν가 담는 항로 집합은 간선 x를 쓰지 않는 항로들(ν₀에서 온 것) 과 간선 x를 쓰는 항로들(ν₁에서 온 항로 각각에 x를 더한 것)의 합집합이라는 것이다. 따라서 뿌리에서 출발해 ⊤에 닿는 모든 경로가 곧 실행 가능 항로 집합 F가 된다.
이 표현이 작게 유지되는 것은 두 가지 축약 규칙 때문이며, 이를 식 (4)와 같다. 규칙 (R1)은 0-억제로, 어떤 항로도 그 간선을 쓰지 않는 노드 (즉1-가지가⊥로 가는 노드)를 제거하고 들어오는 간선을 0-가지 자식으로 잇는다. 규칙 (R2)는 노드 병합으로, 변수와 두 자식이 모두 같은 노드를 하나로 공유한다.
렇게 두 규칙을 더 이상 적용할 수 없을 때까지 적용하면, 주어진 항로 집합과 간선 순서에 대해 유일한 ZDD가 얻어진다.
(4)
또한 ZDD 위에서는 집합 연산이 다이어그램 크기에 비례하는 시간으로 수행된다. 두 항로 집합 P, Q에 대한 합집합·교집합·차집합은 식 (5)와 같이 집합론적으로 정의되며, 각 노드의 변수 순서를 비교하는 재귀로 계산된다. 특히 본 연구에서 위험구역을 제거하는 연산은 이 차집합에 해당한다.
ZDD가 작아지는 비결은 두 가지 규칙이다. 첫째는 공유이다. 어떤 갈림길 이후의 똑같은 노드들은 하나로 합친다. 둘째는 0-억제이다. 어떤 간선을 쓴다고 선택하면 곧장 거짓(⊥)으로 가는 경우, 즉 어떤 안전 항로도 그 간선을 쓰지 않는 경우에는 그 갈림길 자체를 지운다. 안 쓴다가 기본값이므로 굳이 적을 필요가 없는 것이다. Fig. 2는 간선이 셋뿐인 예에서 8개의 잎을 가진 결정 트리가 이 두 규칙으로 단 몇 개의 노드로 접히는 모습을 보인다.
집합 F의 ZDD는 간선을 정해진 순서로 처리하는 프런티어 기반 탐색으로 만든다. 여기서 핵심은 목표 쪽으로 단조롭게 가는 항로만 다루어 그래프를 순환이 없는 형태로 만드는 점이다. 그러면 각 정점의 들어오고 나가는 간선 수만 보아도 하나의 온전한 s-t 항로인지 판별할 수 있다. 구체적으로, 선택된 간선들이 식 (6)을 만족하면 그것은 항상 정확히 하나의 항로를 이룬다.
식 (6)은 출발점에서는 한 줄기가 나가고, 목표점으로는 한 줄기가 들어오며, 나머지 모든 지점은 지나가거나 들르지 않거나 둘 중 하나이다. 순환이 없으니 빙빙 도는 경로가 생기지 않고, 이 차수 조건 덕분에 끊기거나 갈라진 경로도 생기지 않아, 선택된 간선들은 깔끔하게 하나의 항로가 된다. 같은 상태는 하나로 합쳐지므로, 다이어그램의 크기는 항로의 수가 아니라 서로 다른 갈림 상태의 수로 정해진다. 이것이 항로가 폭발해도 ZDD가 작게 유지되는 이유다.
다이어그램이 완성되면, 그 위에서 두 가지 기본 계산을 크기에 비례하는 시간으로 할 수 있다. 항로의 개수는 끝점에서 위로 올라오며 식 (7)을 계산하면 얻는다.
이는 이 갈림길에서 (참에 닿는 길의 수) = (안 쓰고 가는 길의 수) + (쓰고 가는 길의 수) 라는 덧셈의 누적이다. 또한 각 간선 e에 비용 w(e)를 주면, 가장 싼 항로는 식 (8)의 동적계획으로 계산된다.
여기서 lo(n)은 간선을 쓰지 않는 쪽, hi(n)은 쓰는 쪽 자식이며, 이 간선을 안 쓰는 게 싼가, 쓰는 게 그 비용을 더해도 싼가를 비교해 더 싼 쪽을 택한다. 각 갈림길에서의 선택을 거꾸로 따라가면 최적 항로의 간선들이 복원된다.
3. 동적 피항:바뀌는 위험에 대한 반복 질의
장의 ZDD는 위험이 없을 때의 항로 집합을 담는다. 실제로는 상대 선박이 움직여 위험구역이 매 주기 바뀌므로, 이 장에서는 한 번 만들어 둔 ZDD에 매 주기 위험을 반영하고 규칙 비용을 더해 최적 항로를 결정하는 절차를 설명한다. 즉 전체 구조를 한 번 만들고 여러 번 질의한다.
3.1 위험구역의 차집합 필터링
매 주기, 상대 선박의 현재 침로와 속력으로 앞으로의 위치를 예측하고, 그 항적에서 최소 안전거리 안에 드는 격자 칸을 위험 칸으로 본다. 위험 칸에 닿는 간선들을 모아 Ed라 하면, 위험을 피하는 항로 집합 F'은 식(9)처럼 Ed의 간선을 하나도 쓰지 않는 항로들, 즉 원래 집합에서 위험 항로를 뺀 차집합이다.
여기서 이 차집합을 위해 ZDD를 다시 만들 필요가 없다. Ed에 속한 간선을 다루는 노드에서 “쓴다 가지”를 거짓(⊥)으로 돌려 버리면, 그 간선을 쓰는 모든 항로가 참에 닿지 못하게 되어 집합에서 사라진다. 위험한 갈림길의 한 가지를 가위로 자르는 것과 같다. 이 작업은 다이어그램 크기에 비례하는 가벼운 연산이며, 위험이 바뀔 때마다 그래프 전체를 다시 만드는 대신 가지만 다시 잘라 주면 된다는 점이 이 방법의 핵심이다. 위험을 제거한 F'에 식 (7, 8)을 그대로 적용하면 남은 안전 항로의 수와 최적 항로를 얻는다(Fig. 3).
3.2 COLREG 비용 부가
피항 항로는 짧기만 해서는 안 되고 규칙에 맞아야 한다. 본 연구는 규칙 준수 정도를 비용으로 환산해 식 (5)의 최적화에 함께 넣는다. 각 간선의 비용은 식 (10)처럼 거리, 변침, 그리고 매 주기 상대 선박의 자세에 따라 다시 계산되는 COLREG 항의 합으로 둔다.
거리와 변침 항은 상대 선박과 무관하므로 그래프를 만들 때 미리 넣어 두고, COLREG 항만 매 주기 다시 계산해 더한다. COLREG 항에는 피항선이 좌현으로 꺾는 데 대한 벌점과,
상대 선박의 선수 앞을 가로지르는 데 대한 벌점이 들어간다. 특히 선수 횡단 벌점은, 도착 칸이 상대 선박의 침로 방향에서 앞쪽에 있고 일정 거리 안에 있을 때 부과되며 식 (11)로 판정한다.
식(11)에서 T는 상대 선박의 위치, φ̂는 그 침로 방향이며, 두 조건은 각각 상대 선박의 앞쪽인가와 충분히 가까운가를 뜻한다. 이 벌점은 피항선이 상대 선박의 선수를 질러가는 대신 선미 쪽으로 돌아가도록 유도한다. Fig. 4는 같은 횡단 상황에서, 벌점이 없을 때는 최단 항로가 상대의 선수 앞을 통과하지만 벌점을 넣으면 우현으로 꺾어 선미 쪽으로 통과하도록 바뀌는 것을 보인다.
4. 시뮬레이션
4.1 실험 환경과 정확성
실험은 MATLAB 2016a로 구현하고, 셀 간격 d=0.5 nm, 최소 선회 반경 Rmin=0.6 nm의 격자에서 검증하였다. 먼저 실험 결과를 확인하였다. ZDD의 항로의 수가 완전 탐색의 결과 및 이론적인 이항계수와 모든 격자 크기에서 정확히 일치하였고, 작은 격자에서는 ZDD가 담은 항로 하나하나가 완전 탐색의 항로와 완전히 같았다. 또한 식 (8)로 얻은 최적 항로의 비용이 완전 탐색의 최솟값과 일치하였으며, 위험구역을 차집합으로 제거한 결과가 그 위험 칸을 장애물로 두고 그래프를 새로 만든 결과와 같았다. 즉 가벼운 가지치기가 새로 만드는 것과 같은 답을 준다는 것을 확인하였다.
4.3 계산 시간: A*와 ZDD
다음으로 계산 시간을 고려하고자 한다. 여기서 중요한 것은 A*와 ZDD를 같은 기준을 적용하여서는 안된다는 점이다. A*는 격자의 상태를 펼쳐 가며 지금 이 순간의 최단 경로 하나를 찾는 탐색 방법이며 ZDD는 항로 집합을 압축해 두고 그 위에서 집합 질의를 하는 도구이기 때문이다. Fig. 6은 이 차이를 한눈에 보여 준다.
먼저 단일 최단 항로를 한 번 구하는 경우, A*가 ZDD보다 빠르다. A*는 격자의 칸만 펼치면 되지만 ZDD는 그보다 많은 다이어그램 노드를 훑기 때문이다(10×10 격자에서 질의당 약0.75 ms 대 1.7 ms). 또한 ZDD는 처음에 다이어그램을 만드는 비용도 있다. 따라서 최선 경로 하나가 필요하다면 A*가 옳은 선택이며, 본 방법은 그 일을 대체하지 않는다 (Table 2, M1). 반대로, 항로 집합을 다루는 질의에서는 ZDD가 앞선다. 예를 들어 위험이 바뀐 뒤 남은 안전 항로가 몇 개인가라는 질문은 A*로는 한 번에 답할 수 없다. 개수를 알려면 항로를 일일이 세야 하고 그 수는 지수적으로 폭발하기 때문이다. ZDD는 이 질문에 식 (7) 한 번으로 답한다. 이 집합 질의를 반복할 때, ZDD는 약 다섯 번째 질의에서 이미 전수열거 방식보다 누적 시간이 적어졌다(Table 2, M2).
4.4 규모 확장과 메모리
마지막으로 해역을 실제에 가깝게 확장하였다(Fig. 7). n=13 (약 270만 항로)에서도 ZDD의 구축은 약 0.13초, 집합 질의는 수 밀리초에 머물렀다. 반면 전수열거는 n=11에서 이미 한 번의 교집합 질의에 상당한 시간이 걸렸고, n≥12에서는 항로 수가 수십만에서 수백만에 이르러 정해진 시간 안에 끝나지 못하였다. 메모리도 마찬가지다. 모든 항로를 명시적으로 저장하면 n=17에서 76.9 GB가 필요하고 n=30이면 엑사바이트 규모에 이르지만, ZDD는 224.5 KB에 그친다. 즉 해역이 넓어질수록 전수열거는 불가능한 선택지가 되는 반면, ZDD는 압축된 구조 위에서 같은 일을 밀리초 단위로 해낸다.
4.5 대규모 해역에서의 거동과 추천 경로
본 절에서는 100 nms 폭의 넓은 해역에 다양한 장애물이 흩어져 있는 상황에서 제안 방법이 어떻게 동작하는지를 살펴본다. 해역은 4 nms 간격으로 이산화하여 26×26 격자로 표현하였고, 지도의 중심을 원점에 두었다. 이처럼 거친 격자는 넓은 외해 항해의 광역 계획에 적절하며, 항로 집합의 ZDD를 약 30초 이내에 안정적으로 구축할 수 있게 한다. 장애물로는 크기가 다른 큰 섬과 작은 섬, 작은 섬들이 모인 군도, 그리고 직사각형 형태의 천수·통항 금지 구역을 함께 배치하여 전체 해역의 약 19%를 차지하게 하였다.
이 해역에서 ZDD는 약 3만4천 개의 노드로 약 1.2×10¹¹개의 안전 항로를 표현하였으며, 그 개수를 세는 데 수 밀리초가 걸렸다. 같은 수의 항로를 일일이 열거하는 것은 비현실적이므로, 본 방법은 이 거대한 집합을 압축된 형태로 다루면서 그로부터 운항자에게 제시할 경로를 추출한다. 본 연구에서는 단일 최적 경로만이 아니라 서로 다른 복수의 추천 경로를 비용과 다양성을 함께 고려하여 산출한다. 두 경로의 다름은 각 경로가 지나는 격자 셀 집합 사이의 자카드 거리 식 (9)로 측정한다.
여기서 두 경로의 다름은 각 경로가 지나는 격자 셀 집합 사이의 자카드 거리로 측정한다. 경로 P가 지나는 셀의 집합을 C(P)라 하면, 두 경로 Pi, Pj 사이의 거리는 식 (12)와 같이 정의한다. 두 경로가 동일하면 거리는 0, 한 셀도 공유하지 않으면 1이다.
추천 경로는 다음과 같이 순차적으로 고른다. 첫 번째 추천 1번은 비용이 가장 낮은 전역 최적 경로로 둔다. 이후의 추천은 식 (13)과 같이, 이미 선택된 추천 경로 집합 R의 모든 경로와의 최소 거리가 임계값 τ 이상이라는 조건을 만족하는 후보 집합 S 중에서 비용이 가장 낮은 것으로 정한다.
비용만으로 줄을 세우면 거의 같은 길이 잇따라 선택될 수 있으나, 식 (13)은 이미 선택된 경로와 충분히 다른 경로만을 다음 추천으로 받아들이므로, 등수가 가까운 경로들도 실제로는 뚜렷이 다른 수로를 지나게 된다.
한편 경로의 비용은 거리가 아니라 무차원 점수이다. 본 실험에서 비용은 위치에 따라 완만하게 변하는 무차원 비용장 w(x, y) 위에서, 경로가 진입하는 각 칸의 w 값을 더해 정의하며, w(x, y) = 1+0.3sin(x/4) + 0.3cos(y/4)로 두었다. 이 비용장은 해류나 알려진 교통량 등 거리 외의 운항 부담을 대신하며, 값은 대략 0.4에서 1.6 사이를 오간다. 만약 w를 모든 칸에서 1로 두면 비용은 진입 칸 수 2(n−1)과 같아지고, 여기에 칸 간격 d를 곱하면 물리적 거리가 된다. 따라서 비용은 거리에 비례하되 비용장의 변동 때문에 거리와 같지 않다. 예컨대 Fig. 8의 추천 1번 경로의 비용 45.7은 거리 (약 200 nm)가 아니라 이 비용장 위에서의 무차원 점수이다. Fig. 8은 약 1.2×10¹¹개의 안전 항로가 장애물 사이로 추천 경로들을 그린 것이다.
종합하면, 대규모 해역 실험은 본 연구의 핵심 주장을 뒷받침한다. 넓은 해역에서 항로 수가 폭발적으로 늘어나도 ZDD는 그 집합을 압축해 밀리초 단위로 다루며, 그 압축된 표현으로부터 비용과 다양성을 함께 고려한 복수의 추천 경로를 산출하여, 단일 경로 탐색이 제공하지 못하는 집합 단위의 실용적 산출물을 얻는다.
5. 결 론
본 연구는 선박 충돌 피항을 최적 경로 하나를 찾는 문제가 아니라, 실행 가능한 안전 항로의 집합을 한 번 압축해 표현해 두고 시시각각 변화하는 위험에 대해 그 집합을 반복적으로 질의하는 문제로 재정의하였다. 기존의 경로 계획 기법은 대부분 주어진 순간의 최적 경로 하나를 산출하는 데 초점을 두기 때문에, 여러 위험을 동시에 회피하거나 복수의 대안을 비교하는 것처럼 항로의 집합을 다루어야 하는 요구를 매 주기 처음부터 다시 탐색으로 처리하면 비효율적이다. 본 연구는 이러한 한계를 관점의 전환으로 풀고자 하였으며, 그 핵심 도구로 ZDD를 채택하여 수많은 항로가 공유하는 결정의 갈림길만을 압축해 담는 방식을 취하였다.
제안 방법의 타당성은 두 축으로 검증하였다. 첫째, 정확성 측면에서 ZDD가 산출한 항로의 수와 비용 최소 항로가 완전 탐색의 결과 및 이론적인 항로 수와 모든 격자 크기에서 정확히 일치하였으며, 위험구역을 차집합으로 제거한 결과가 해당 영역을 장애물로 두고 그래프를 새로 만든 결과와 동일함을 확인하였다. 둘째, 효율성 측면에서 해역 규모를 점차 키우며 압축 효과·질의 시간·메모리를 정량적으로 측정한 결과, 항로의 수가 폭발적으로 증가하더라도 ZDD의 노드 수와 집합 질의 시간은 완만하게만 증가하여 전수열거가 사실상 불가능한 규모에서도 밀리초 단위로 동작함을 보였다.
다만 본 연구의 접근에는 구조적 제약이 존재한다. 현재의 상태 격자는 그래프의 비순환성을 보장하고 항로 집합을 ZDD로 효율적으로 압축하기 위해 목표 방향으로 단조롭게 진행하는 항로만을 다룬다. 그러나 해상 교통이 혼잡하거나 지형이 복잡한 해역에서는 본선이 일시적으로 선회하거나 진행 방향과 반대로 우회하는 비단조 기동이 불가피할 수 있으며, 이러한 기동은 단조 진행을 전제한 현재의 격자에서는 표현되지 않는다. 이는 후술하는 시공간 격자로의 확장을 통해 해소할 수 있다. 위치가 아닌 시각·위치의 조합을 상태로 삼으면 동일한 위치를 다른 시각에 다시 방문하더라도 서로 다른 상태로 구분되므로, 그래프의 비순환성을 유지하면서도 선회·우회와 같은 비단조 회피 기동을 동일한 ZDD 틀 안에서 자연스럽게 표현할 수 있다.
추후 연구 방향은 다음과 같다. 첫째, 현재의 상태 격자는 목표 방향으로 단조롭게 진행하는 항로를 전제하므로, 운동학적 정밀도를 높이고 위에서 언급한 비단조 기동을 포괄하기 위해 Dubins 곡선과 유리수 방위 격자, 그리고 상대 선박의 이동을 도달 시각까지 엄밀히 반영하는 시공간 격자로의 확장이 요구된다. 둘째, 본 연구에서 도입한 COLREG 비용 모델은 좌현 변침이나 선수 횡단에 벌점을 부여하여 규칙에 부합하는 항로로 유도하는 일차적 장치로서, 추월·마주침·교차가 혼재된 다중 선박 조우 상황에서의 완전한 규칙 준수를 보장하는 것은 아니다. 따라서 이러한 복합 조우를 보다 정밀하게 반영하도록 비용 모델을 정교화하고, 실제 해역 기반 시나리오와 항해 전문가의 정성적 평가를 통해 모델을 보정·검증하는 작업이 향후 핵심 과제로 요구된다. 이러한 과제들을 보완한다면, 본 연구가 제시한 항로 집합의 압축 표현과 동적 집합 질의라는 틀은 자율운항선박의 실시간 피항 의사결정을 지원하는 실용적 기반으로 발전할 수 있을 것으로 기대한다.


PDF Links
PubReader
ePub Link
Full text via DOI
Download Citation
Print






