Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1229-3431(Print)
ISSN : 2287-3341(Online)
Journal of the Korean Society of Marine Environment and Safety Vol.25 No.2 pp.178-188
DOI : https://doi.org/10.7837/kosomes.2019.25.2.178

A Study on Cost Function of Distributed Stochastic Search Algorithm for Ship Collision Avoidance

Kim Donggyun*
*Graduate School of Maritime Sciences, Kobe University, Japan
March 4, 2019 April 13, 2019 April 26, 2019

Abstract


When using a distributed system, it is very important to know the intention of a target ship in order to prevent collisions. The action taken by a certain ship for collision avoidance and the action of the target ship it intends to avoid influence each other. However, it is difficult to establish a collision avoidance plan in consideration of multiple-ship situations for this reason. To solve this problem, a Distributed Stochastic Search Algorithm (DSSA) has been proposed. A DSSA searches for a course that can most reduce cost through repeated information exchange with target ships, and then indicates whether the current course should be maintained or a new course should be chosen according to probability and constraints. However, it has not been proven how the parameters used in DSSA affect collision avoidance actions. Therefore, in this paper, I have investigated the effect of the parameters and weight factors of DSSA. Experiments were conducted by combining parameters (time window, safe domain, detection range) and weight factors for encounters of two ships in head-on, crossing, and overtaking situations. A total of 24,000 experiments were conducted: 8,000 iterations for each situation. As a result, no collision occurred in any experiment conducted using DSSA. Costs have been shown to increase if a ship gives a large weight to its destination, i.e., takes selfish behavior. The more lasting the expected position of the target ship, the smaller the sailing distance and the number of message exchanges. The larger the detection range, the safer the interaction.



선박 간 충돌 방지를 위한 분산 확률 탐색 알고리즘의 비용 함수에 관한 연구

김 동균*
*고베대학교 해사과학대학원

초록


충돌 피항 동작은 선박 간 끊임없이 영향을 주고받는다. 특히 다수의 선박이 조우하는 경우, 상대 선박의 피항 의도를 파악 하고 서로에게 얼마나 영향을 미치는 지를 파악하는 것은 어려운 일이다. 이를 위해 분산 확률 탐색 알고리즘이 제안되었다. 분산 확 률 탐색 알고리즘은 이웃 선박과 반복적인 메시지 교환을 통해 비용을 가장 크게 낮출 수 있는 코스를 탐색 후 확률과 제한 조건에 따라 기존의 코스를 유지할지 아니면 새로운 코스를 선택할지를 결정한다. 그러나 분산 확률 탐색 알고리즘에 사용된 파라미터가 충돌 피항에 어떠한 영향을 미치는지 증명되지 않았다. 본 논문에서는 분산 확률 탐색 알고리즘의 파라미터와 가중치가 충돌 피항에 어떠한 영향을 미치는지 분석하였다. 또한 타선과의 피항 거리를 조절하기 위한 충격 흡수 영역을 소개한다. 실험 방법은 두 선박이 조우할 수 있는 세 가지 상황, 즉 정면에서 조우하는 상황, 횡단하는 상황, 추월하는 상황에 파라미터와 가중치의 변수들을 조합하여 실험을 진행하였다. 각 상황 당 8,000회, 총 24,000회의 실험이 진행되었다. 실험 결과 모든 실험에서 한 건의 충돌도 발생하지 않았다. 선박이 목적지에 큰 가중치를 줄 경우, 즉 이기적인 행동을 할 경우, 비용은 증가함을 보였다. 타선의 움직임을 더 길게 예측할수록 항행 거 리, 메시지 교환 횟수는 작아지는 경향을 보였다.



    1. 서 론

    선박 충돌 방지를 위한 다양한 방법들이 제시되고 있는데 크게 두 가지로 나눌 수 있다. 먼저 거시적인 관점에서 교량 이나 항로를 설정하기 위해 특정 해역의 충돌 위험도를 분 석하는 것이다(Fujii et al., 1971; Goerlandt et al., 2015; Hansen et al., 2013;Kim and Kwon, 2017;Kim et al., 2017b;Montewka et al., 2014;Szlapczynski, 2008;Yoo et al., 2016;Xu and Wang, 2014). 충돌 위험도는 충돌 발생 확률과 인과확률의 곱에 의 해 계산되며 이러한 경우 해양 사고의 통계에 의존하며 많 은 데이터와 인력이 요구된다. 미시적인 관점으로는 선박 간 직접적인 충돌을 방지하기 위해 충돌 위험도를 계산하 는 방법이 제시되고 있으며 안전영역(Hanse et al., 2013; Goodwin, 1975;Szlapczynski, 2006;2007;Szlapczynski and Szlapczynska, 2015;Lee et al., 2019), 퍼지 이론(Lee et al., 2004), 개미 최적화 알고리즘(Lazarowska, 2015), 유전자 알고 리즘(Szlapczynski, 2011) 등의 다양한 방법들이 있다.

    선박 충돌 방지 방안 중 하나인 the International Regulations for Preventing Collisions at Sea(COLREGS, 1972)는 선박 간 위 치 관계를 결정하고 이에 따른 피항 의무를 규정한다. 두 척 의 선박이 조우할 경우 쉽게 피항 동작을 취할 수 있지만, 다수의 선박이 조우할 경우 COLREG를 충돌 피항에 적용하 기에는 어려움이 있다. Szlapczynski et al.(2015)는 기술적인 관점에서 다각형에 기반한 선박안전영역을 분석하였다. 선 박이 조우할 수 있는 세 가지 상황에서 선박안전영역의 꼭 짓점의 수를 8, 16, 32개로 설정 후 안전영역, 속력, 계산 시 간, 충돌 위험도와의 상관관계에 대해 분석하였다. 안전영역 의 꼭짓점의 수가 16개를 초과할 경우, 충돌 피항에 큰 영향 을 미치지 않는다라고 판단하였다. Xu and Wang(2014)는 충돌 피항 결정 과정에서 항해사의 잘못된 판단등과 같은 휴먼 에 러에 대처하기 위한 의사 결정 지원시스템의 필요성을 언급 하였다. 의사 결정을 위한 충돌 위험도를 계산하기 위해 선 박 통항량, 안전영역, 퍼지이론을 비교 분석하였으며 두 척 의 선박이 조우하는 상황 즉, 상대 선박을 유지선, 본선을 피항선으로 가정하여 본선의 피항 동작에 따른 충돌 위험도 를 계산하였다. Hansen et al.(2013)은 항해사가 안전감을 느끼 기 위한 안전영역의 크기에 대한 방안을 제시하였다. 다수 의 선박의 AIS정보를 활용하여 채널이나 다리를 통과할 때 선박 통항량을 최대화할 수 있도록 하였지만 이는 특정 해 역에 제한되었으며 구체적으로 선박 상호 간 어떠한 영향을 주고받는지에 대해서는 언급되지 않았다. Szlapczynski(2006) 는 안전영역에 기반한 충돌 피항 방법에 대해 설명하였으며 안전영역을 가장 크게 확보하기 위해 타선이 본선의 안전영 역을 침입하는지를 확인하기 위한 임시 접근 계수(temporary approach factor)를 제안하였다. 임시 접근 계수는 타원형을 기반으로 하며 타선과 본선의 위치에 따라 그 값이 바뀐다. 타원의 방정식을 활용하여 타원의 크기가 가장 작아질 때의 임시 접근 계수의 값을 계산한 후 이를 기반으로 충돌 회피 방안을 제시하였으며 변침 횟수, 계산 복잡도, 피항 동작으 로 인한 항행 거리에 관해 분석하였다.

    그러나 위에 제시된 방법에서 타선은 본선의 움직임의 변 화에 대응하고 있지 않다. 즉 타선은 실험 초기의 설정대로 만 움직이며 본선과 충돌 위험이 존재하더라도 피항 동작을 취하지 않는다. 왜냐하면 기존의 연구에서 대부분의 경우 본선을 피항선으로 설정 후 본선의 피항 동작에만 초점을 맞추었기 때문이다. 또한 본선보다 타선이 미리 피항 동작 을 취할 경우, 본선은 피항을 할 필요가 없으며 기타 다양한 조우 환경에 대해 타선이 어떻게 반응해야 하는지에 대한 구체적인 방법을 제시하는데 어려움이 있기 때문이다.

    본 논문에서는 분산 알고리즘의 필요성에 대해 소개하며 타선과의 피항 거리를 유동적으로 조절할 수 있도록 충격 흡수 영역을 제안하며 또한 비용 함수의 파라미터가 충돌 피항에 미치는 영향을 분석한다.

    2. 연구의 배경

    2.1 분산 시스템

    컴퓨터 네트워크를 구성하기 위한 방법 중 하나로 분산 시스템이 활용되고 있다. 분산 시스템에서는 다수의 컴퓨터 가 주위의 컴퓨터와 네트워크로 연결되어 메시지를 주고받 으며 작업을 수행한다(Fig. 1(a)). 중앙 집중형 방식과는 달리 서버에 부하가 집중되지 않으며 특정 컴퓨터에 결함이 발생 하더라도 나머지 컴퓨터에서 작업을 계속 수행할 수 있는 장점이 있다. 분산 시스템의 활용의 예로 로봇 축구가 있다. 각각의 로봇은 많은 골을 넣기 위해 같은 팀의 로봇과 메시 지를 교환하면서 각자의 최적의 위치를 결정한다.

    Fig. 1(b)는 분산시스템을 선박 충돌 피항에 적용한 예이 다. 모든 선박은 충돌 없이 목적지까지 도착하는 것을 목표 로 한다. 각 선박은 일정 거리(Detection range) 이내의 선박과 메시지(빨간 양방향 화살표)를 교환한 후 이를 기반으로 안 전한 코스를 찾는다. 분산시스템에서 각 선박은 VTS와 같은 중앙 관제 시스템이 필요하지 않으며, 동시에 다수의 선박 간 피항 코스를 조율할 수 있다.

    2.2 분산 알고리즘을 적용한 기존 연구

    분산시스템 환경에서 선박 충돌 방지를 위한 분산 알고리 즘이 제안되었다(Kim et al., 2014;2015;2017a). 먼저 분산 지 역 탐색 알고리즘(Distributed Loca Search Algorithm, DLSA) (Kim et al., 2014)에서 Fig. 1(b)와 같이 다수의 선박이 조우할 경우, 본선은 상대 선박과 메시지 교환을 통해 안전한 코스 를 탐색하지만 충돌 피항 과정에서 유사최솟값(Quasi-Local Minimum, QLM)이 발생할 경우가 있다. QLM 이란 충돌의 위 험이 있는 상황에서 현재 선택된 코스보다 다른 코스의 비 용이 더 커서 현재 코스를 유지할 수밖에 없는 상황을 의미 한다. 이를 해결하기 위해 타부 탐색 알고리즘(Tabu Search) (Glover, 1989)을 이용한 분산 타부 탐색 알고리즘(Distributed Tabu Search Algorithm, DTSA)(Kim et al., 2015)이 제안되었다. 충돌 피항 과정 중 QLM이 발생하였을 경우, 해당 코스를 타 부 리스트에 저장한다. 타부 리스트는 일정기간 같은 코스 가 다시 선택되지 않도록 후보 코스를 저장하는 공간이다. 타부 리스트에 등록된 코스는 일정 기간 다시 선택되지 않 도록 하여 선박이 강제적으로 다른 코스를 탐색하도록 하여 QLM문제를 해결하였다. 그러나 DLSADTSA에서는 무한 루프를 방지하기 위해 이웃 관계의 선박 중 한 척의 선박만 이 코스를 변경할 수 있도록 하였다. 만약 모든 선박이 현재 상황을 기반으로 동시에 새로운 코스를 선택할 경우 더욱 복잡한 상황이 발생할 수 있기 때문이다. 동시에 메시지 교 환 횟수를 증가시키는 원인이 된다. 이 문제를 해결하기 위해 분산 확률 탐색(Distributed Stochastic Search)(Zhang et al., 2005) 을 선박 충돌에 적용한 분산 확률 탐색 알고리즘(Distributed Stochastic Search Algorithm, DSSA)(Kim et al., 2017a)이 제안되 었다. DSSA에서 각 선박은 일정한 확률에 따라 새로운 코스 를 선택하거나 또는 기존의 코스를 유지한다. 이러한 방식 은 알고리즘의 구조를 간단하게 만들었으며 메시지 교환 횟 수를 낮추었다. 그러나 Kim et al.(2017a)의 논문에서는 DSSA 의 파라미터와 가중치가 충돌 피항에 어떠한 영향을 주는지 증명되지 않았다.

    3. 선박 충돌 방지를 위한 DSSA

    3장에서는 DSSA에 사용되는 용어와 비용 함수에 대해 소 개한다. 또한 선박 간 충돌 피항시 유동적으로 거리를 조절 하기 위한 충격 흡수 영역(Shock Absorber Area, SAA)을 제안 하였으며 이를 비용함수의 거리에 대한 비용 계산에 반영하 여 Kim et al.(2017a)이 제안한 비용함수를 재정의하였다. 이 후 DSSA를 활용한 코스 선택 방법에 대해 소개한다.

    3.1 용어의 정의

    Fig. 2는 분산 시스템에서 사용되는 용어를 설명하기 위한 그림이다(Kim et al., 2017a). 탐색 범위(Detection range, 바깥 파란 실선)는 상대 선박을 탐지할 수 있는 범위이며 이 범위 내의 타선이 존재할 경우 두 선박 간 메시지 교환이 가능하 다. 안전영역(Safety domain, 빨간 원형의 점선)은 충돌 방지 를 위해 설정되었다(Fujii and Tanaka, 1971;Coldwell, 1983). 안 전영역 이내에 상대 선박이 위치할 경우 충돌로 간주한다. 본 논문에서는 선박을 하나의 점으로 가정하였으며 실험의 편의성을 위해 안전 영역은 원형으로 설정하였다.

    Kim et al.(2017a)의 논문에서 탐색 범위와 안전 영역의 반 지름의 길이는 각각 12마일과 0.5마일로 고정된 값으로 설정 되었으나 본 논문에서는 두 영역의 크기를 바꿔가며 실험을 설정하였다. 타임스텝(Time step, ts)은 t시간에서 선박의 위치 이며 선박의 코스가 결정되면 일정 시간동안은 다른 코스를 선택할 수 없다. 일정 시간동안 다른 코스를 선택하지 못하 게 제한한 이유는 대형선의 움직임을 고려하였기 때문이다. 대형선박은 어선에 비해 움직임의 변화가 둔하며 쉽게 침로 를 바꿀 수 없다는 특성을 반영하였다. 만약 ts의 간격을 3분 으로 설정하였을 경우, 선박은 3분간 선택된 코스로 항행해 야 한다. 타임 윈도우(Time window, tw)는 ts로 구성되었으며 식(1)과 같이 정의된다.

    t w ( t s i | 1 i w | )
    (1)

    tww의 크기에 의해 결정된다. 즉 w가 커질수록 선박의 예상 위치도 증가한다.

    DCPATCPA는 충돌 유무를 파악하는데 중요한 요소이지 만 DCPATCPA는 현재 상황이 계속된다는 가정 하에 계산 되며 상대 선박의 의도를 포함하고 있지 않다. 즉, 상대방의 피항 의도를 알 수 없다. 따라서 DCPATCPA를 각각 DCPA´ 와 TCPA´로 재정의하였다. DCPA´는 본선과 타겟 선박의 타임 윈도우내에 존재하는 타임 스텝 사이의 거리 중 가장 짧은 거 리를 의미하며 TCPA´는 DCPA´에 해당되는 타임 스텝을 의미 한다. DCPA´와 TCPA´는 식(2)와 (3)과 같이 정의된다.

    D C P A min t s t w t s o w n t w t s t a r g e t
    (2)
    T C P A arg t s D C P A
    (3)

    ||·||는 두 선박의 타임 윈도우의 유클리디언 거리이며 t w t s i 는 선박 i의 타임 윈도우내의 위치를 의미한다. 예를 들어 t w 2 1 는 선박 1의 타임 윈도우의 두 번째 위치를 의미한다.

    3.2 비용함수

    비용 함수는 코스의 비용을 계산하기 위해 사용되며 식(4) 와 같이 세 부분, TC, DC, AC으로 이루어져 있다.

    C O S T i ( c a n d i _ c r s , θ d e s t i n a t i o n ) w α T C i ( c a n d i _ c r s ) + w β D C i ( c a n d i _ c r s ) + w γ A C i ( c a n d i _ c r s , θ d e s t i n a t i o n )
    (4)

    i, candi_crs, θ d e s t i n a t i o n 는 각각 선박, 후보 코스, 목적지를 향한 방위를 의미한다. TC는 충돌위험이 있을 경우, 시간에 대한 비용을 계산하며 DC는 타선박과의 피항 거리에 대한 비용을 계산한다. AC는 후보 코스와 목적지 사이의 상대 방 위에 대한 비용을 계산한다. w α , w β , w γ 는 각각 TC, DC, AC 의 가중치를 의미한다. w α 가 클수록 충돌 위험도에 민감하 게 반응하며, w γ 가 클수록 목적지로 향하려는 경향이 커진다. 극단적인 예로 w α = 0 , w β = 0 , w γ = 1 이라고 가정할 경우, 선박은 충돌 위험은 무시하고 목적지로 바로 향하는 코스를  선택하려 할 것이고 w α = 1 , w β = 0 , w γ = 0 일 경우, 선박 은 목적지로 향하지 못하고 충돌 위험만을 고려하여 항행 할 것이다. TC는 식(5)와 (6)과 같이 정의된다.

    T C i ( c a n d i _ c r s ) T T C i t ( c a n d i _ c r s )
    (5)
    T C i t ( c a n d i _ c r s ) { T C P A i t ( c a n d i _ c r s ) t w i , 1 T C P A i t t w i 0 , o t h e r w i s e
    (6)

    i , j I = 1 , ... , n 이며 I는 선박의 집합이다. t T 이며 T는 선박 i의 이웃 선박의 집합이다. 충돌 위험도는 TCPA'가 타임 윈도우보다 작거나 같은 경우 계산되며 그 외의 경우 TC는 0의 값을 가진다. 즉 충돌 위험의 여부는 타임 윈도우 내에 충돌 위험이 있을 경우만을 고려한다. 가령, 타임 스텝 의 간격을 3분, 타임 윈도우의 크기(w)를 10으로 하였을 경 우, 선박은 각각의 코스에 대해 30분 이내의 상황만을 고려 하여 충돌 위험을 판단한다. 타임 윈도우의 크기(w)가 커질 수록 더 빠른 충돌 피항 동작이 가능하지만 동시에 잦은 변 침을 발생시킬 수 있다.

    DC를 계산하기 전에, 식을 간소화하기 위해 DCPA'를 안 전 영역의 반지름(r)으로 나누어 DCPA″로 정의하였으며 식 (7)과 같다.

    D C P A i t D C P A i t r i
    (7)

    DC는 식(8)과 (9)와 같이 정의된다.

    D C i ( c a n d i _ c r s ) t T D C i t ( c a n d i _ c r s )
    (8)
    D C i t ( c a n d i _ c r s ) { 1 1 1 w i D C P A i t ( c a n d i _ c r s ) + w i w i 1 , D C P A i t 1 , , 1 D C P A i t w i , 0 , w i D C P A i t ,
    (9)

    wi는 충격 흡수 영역의 크기를 결정하기 위해 안전영역을 일정한 비율로 확장시키기 위한 변수이다. 즉, win일 경 우, 충격 흡수 영역은 안전영역 반지름(r)의 n배에 해당되는 반지름을 가진 영역을 의미한다. AC는 목적지를 향한 방위와 후보 코스와의 차이를 의미하며 식(10)과 같이 정의된다.

    A C ( c a n d i _ c r s , d e s t i n a t i o n ) θ c a n d i _ c r s θ d e s t i n a t i o n 180 °
    (10)

    candi_crsdestination은 각각 후보 코스와 목적지를 의미 하며 각 코스의 비용을 계산한 후 식(11)에 의해 선박은 비 용 감소가 가장 큰 값을 계산한다.

    i m p r o v e m e n t max c r s { C O S T i ( i n t e n t i o n ) C O S T i ( c r s ) }
    (11)

    intentioncrs는 각각 현재까지 탐색된 코스 중 가장 비용 이 낮은 코스와 후보 코스를 의미한다.

    Kim et al.(2017a)의 논문에서 선박은 타선의 안전영역과 매우 가깝게 접근하여 피항 동작을 수행하였으며 그 결과 본선 또는 타선의 매우 작은 변화만으로도 선박은 민감하게 반응할 수 있다. 이를 해결하기 위해 충격 흡수 영역를 추가 하였다.

    3.3 충격 흡수 영역(Shock Absorber Area, SAA)

    SAA는 안전영역의 반지름의 n배 만큼 확장된 영역이며 w 의 크기에 의해 결정된다. Fig. 3(a)와 같이 선박 1의 w가 3이 며, 3 타임 스텝 후 선박 2와 충돌이 발생한다고 가정한다. 선 박 1은 충돌 피항을 위해 여러 후보 코스를 선택할 수 있다. 가령, 선박 1이 충돌 피항을 위해 후보 코스 0º, 15º, 30º 를 선택하였을 경우 선박 2와의 위치 관계가 Fig. 3(b)와 같 다고 하자. 선박 1이 피항 동작을 취하지 않고 현재 코스를 유지할 경우, 충돌이 발생하며 DC의 비용은 1이 된다. 선박 1이 우현 15도를 선택하였을 경우, 선박 2는 선박 1의 안전 영역의 경계에 접하게 되며 DC의 비용은 1이 되며 선박 1이 우현 30도를 선택하였을 경우, 선박 2는 SAA의 경계에 접하 게 되며 DC의 비용은 0이 된다. 선박 1이 우현 15도와 30도 사이의 임의의 코스를 선택하였을 경우, 선박 2는 선박 1의 안전영역과 SAA사이를 지나며, DC의 비용은 0과 1사이의 값 을 가진다.

    3.4 비용의 계산

    Table 1은 선박 1이 0º, 15º, 30º 를 선택하였을 때 각 코 스의 비용을 계산한 결과이다. Table 1에서 본선이 0도를 선 택하였을 경우, TC는 식(6)과 (5)에 의해 계산된다. 식(6)에서 tw는 Fig. 3의 타임 윈도우의 길이인 5의 값을 가지며 TCPA´ 는 타임 윈도우에서 상대 선박과 가장 가까워지는 타임 스 텝의 값인 3을 가진다. T C i t ( 0 ° ) 의비용은 3/5이며 식(5)에 의 해 T C i ( 0 ° ) 는 0도에서 발생 가능한 모든 상대 선박의 충돌 위험도를 더한 값을 가진다. 타선이 한척이므로 T C i ( 0 ° ) T C i t ( 0 ° ) 과 같은 값을 가진다. DC는 식(9)에 의해 계산되며 DCPA″가 1보다 작으므로 즉, 타선이 본선의 안전영역을 침 범하였으므로 1의 값을 가진다. AC는 식(10)에 의해 현재 코 스와 목적지와의 상대 방위를 의미하므로 0의 값을 가진다. COST w α , w β , w γ 가 모두 1이라고 가정할 때 식(4)에 의해 1.6의 값을 가진다. 15도와 30도의 경우도 같은 방법으로 계 산된다.

    선박 1은 가장 작은 비용을 가지는 우현 30도의 코스를 선택할 것이다. 그러나 가중치 w α , w β , w γ 의 값에 따라 선 박 1과 선박 2의 통항 거리는 유동적이다. 즉, 충돌 위험과 목적지에 대한 가중치가 클 경우, 선박 1은 선박 2와 안전영 역에 가까운 거리를 유지하면서 통항하게 되며 반대일 경 우, SAA의 경계에 가깝게 붙어서 통항한다.

    3.5 DSSA의 절차

    본 논문에서는 선박 충돌 방지를 위해 DSSA를 적용하였 으며 Fig. 4DSSA의 절차를 나타낸다(Kim et al., 2017a). 각 선박은 메시지 교환 및 비용 계산, 코스 만족도 확인, 코스 변경의 과정을 반복한다. 먼저 선박은 현재의 코스를 예상 코스로 설정하며 본선의 타임 윈도우를 상대 선박과 교환 후 각 코스의 비용을 계산한다. 가장 크게 비용이 감소되는 코스를 계산한 후 일정한 확률로 가장 크게 비용이 감소되 는 코스를 선택하거나 또는 기존의 코스를 유지한다. 만약 코스가 바뀔 경우, 본선은 갱신된 타임 윈도우를 상대 선박 에게 송신한다. 만약 기존의 코스를 유지할 경우, 상대방의 메시지를 기다린다. 상대방으로부터 메시지를 수신하였을 경우, 각 코스의 충돌 위험도를 계산한다. 다시 일정한 확률 로 가장 크게 비용이 감소되는 코스를 선택하거나 또는 기존 의 코스를 유지한다. 모든 선박이 각자의 코스에 만족할 경 우, 프로세스는 종료되며 충돌의 위험이 있을 경우, 모든 선 박이 각자의 코스에 만족할 때까지 위의 과정을 반복한다.

    3.6 확률에 의한 코스 선택 방법

    Fig. 5는 Fig. 4의 분산 탐색 알고리즘의 절차 중 가장 하단 에 위치한 Change intention course항목에 해당되며 선박이 코 스를 어떻게 결정하는지를 나타낸다.

    Fig. 5(a)와 같이 선박의 최대 변침각은 45도이며 현재 코 스(0º )를 포함하여 선박이 선택 가능한 후보 코스는 다섯 가지라고 가정한다. 각 후보 코스의 비용을 계산한 후, 식 (11)에 의해 후보 코스와 현재 코스의 비용의 차를 계산한다. (– )는 비용의 증가를 의미하며 Improvement는 각 코스의 비용의 변화를 의미한다. Fig. 5(a)에서는 비용의 감소가 가 장 큰 코스(+ 20º )와 현재 코스(0º)중 하나를 Fig. 5(b)와 같은 방법으로 선택한다. 즉, 현재 코스(0º )를 30 %의 확률 로 유지하거나 또는 후보코스(+ 20º )를 70 %의 확률로 선 택한다.

    4. 충돌 피항을 위한 3가지 실험

    비용함수의 파라미터와 가중치의 영향을 분석하기 위해 Fig. 6과 같이 두 척의 선박이 조우할 수 있는 세 가지 상황 즉, 정면에서 마주치는 상황, 횡단하는 상황, 추월하는 상황 을 설정하였다.

    Table 2는 실험에 사용된 파라미터와 가중치 그리고 이에 해당되는 값을 나타낸다.

    실험 방법은 선박이 조우할 수 있는 각각의 상황에 대해 Table 2의 파라미터와 가중치의 값들을 하나씩 선택하여 목 적지에 도착할 때까지 충돌 피항을 실시하였다. 이 후 새로 운 변수를 선택하여 위의 과정을 반복한다. 파라미터와 가 중치의 변수의 조합( w α ( 10 ) , w β ( 10 ) , w γ ( 10 ) , t w ( 2 ) , d r ( 2 ) , s d ( 2 ) 의 곱)으로 각 상황 당 8,000회의 실험이 진행 되었다. 실험 1의 정면에서 조우하는 상황과 실험 2의 횡단 하는 상황에서 두 선박은 12 knots의 고정된 속력을 유지하 며 충돌 피항을 실시하였으며 실험 3의 추월하는 상황에서 피추월선은 12 knots, 추월선은 20 knots의 고정된 속력으로 설정되었다. 실험은 MATLAB으로 실시되었으며 실험 시작 시 각각의 선박은 설정된 파라미터와 가중치로 피항 동작을 실시하면서 출발지에서 목적지로 향한다. 만약 목적지에 도 착하지 못하였거나 충돌의 위험이 있다고 판단되었을 경우 DSSA를 적용하여 충돌 피항을 실시하며 선박이 목적지에 도 착하였을 경우 프로세스는 종료된다. 실험 결과 한건의 충 돌도 발생하지 않았으며 실험 결과를 분석하기 위해 항행 거리, 메시지 교환 횟수, 비용을 가중치와 파라미터로 분류 하여 표시하였다.

    4.1 정면에서 마주치는 상황

    Fig. 6(a)와 같이 두 선박이 정면에서 마주치는 상황에서 실험을 진행하였으며 점선은 실험 결과의 하나로서 두 선박 의 항적을 의미하며 Table 3은 각 선박의 출발지, 목적지, 코 스를 나타낸다.

    Fig. 7(a)는 가중치 w α , w β , w γ 의 변화에 따른 평균 항행 거리와 메시지의 교환 횟수를 의미하며 그래프의 바와 라인 은 각각 평균 항행 거리와 메시지의 교환 횟수를 의미한다.

    평균 이동 거리의 경우, wα의 변화에 큰 영향 없이 모든 영역에서 37.4 nm의 비슷한 항행 거리를 기록하였다. wβ 의 경우, 0.1과 0.2 사이에서 상대적으로 작은 값인 37.26 nm을 기록하였다. 이는 만약 선박이 안전영역을 많이 고려하지 않을 경우, 두 선박은 매우 근접해서 통항함을 의미한다. wγ의 경우, 0.1에서 1.0으로 값이 커질수록 항행 거리는 37.43 nm에 서 37.37 nm로 줄어드는 경향을 보였다.

    메시지 교환 횟수의 경우, wα의 변화에 관계없이 모든 영 역에서 130정도의 비슷한 결과를 기록하였다. wβ 의 경우, 0.1과 0.2의 구간에서 129에서 130.7로 증가하였다. 평균 항행 거리는 가중치에 매우 민감한 경향을 보였다. wγ의 경우, 0.1에서 1.0으로 값이 증가할수록 항행 거리는 천천히 감소 하는 경향을 보였으며 이는 선박이 목적지를 많이 고려할 경우, 항행 거리는 단축될 수 있음을 의미한다.

    Fig. 7(b)는 가중치 wα , wβ , wγ의 비용이다. wαwβ 의 경우, 모든 영역에서 0.09의 비슷한 값을 기록하였으나 wγ의 경우 값이 증가할수록 0.02에서 0.16로 비용이 증가함을 보 였다. 만약 선박이 목적지를 많이 고려할 경우, 항행 거리는 짧아지지만 비용은 증가함을 의미한다.

    Fig. 8(a)는 타임 윈도우, 탐지영역, 안전영역의 변화에 따 른 항행 거리를 나타낸다. 타임 윈도우와 탐지영역의 경우, 값이 커질수록 항행 거리는 37.48 nm에서 37.33 nm로 감소하 였다. 타임 윈도우의 크기가 커질수록 선박은 상대 선박의 예상 위치를 더 빨리 알 수 있으며 탐지 영역의 크기를 크게 함으로써 항행 거리를 줄일 수 있다. 안전 영역의 경우, 크 기가 0.5 nm에서 1.0 nm으로 커질 경우 항행 거리는 37.2 nm 에서 37.6 nm으로 증가하는 경향을 보였으며 이는 안전 영역 의 크기가 커질수록 더 큰 충돌 피항 공간이 더 요구되기 때 문인 것으로 보인다.

    Fig. 8(b)는 타임 윈도우, 탐지 영역, 안전 영역의 변화에 따른 비용이다. 타임 윈도우와 탐지 영역의 크기가 커질수 록 비용은 0.099에서 0.085로 감소하는 경향을 보였으며 이 는 상대 선박의 예상 위치를 미리 탐지할 수 있기 때문에 비 용이 감소한 것으로 보인다. 그러나 안전 영역의 경우, 크기 가 커질수록 비용은 0.06에서 0.125로 크게 증가하는 경향을 보였으며 이는 Fig. 8(a)의 이유와 같이 안전 영역의 크기가 커질수록 충돌 피항을 위한 공간이 더 요구되기 때문인 것 으로 판단된다.

    Fig. 9는 타임 윈도우, 탐지 영역, 안전 영역의 변화에 따 른 메시지 교환 횟수를 나타낸다.

    타임 윈도우, 탐지 영역의 경우, 값이 커질수록 메시지 교 환 횟수는 131.2에서 129.4로, 130.3에서 130.2로 작아지는 경 향을 보였다. 안전 영역의 크기가 커질수록 항행 거리는 129.1 nm에서 131.6 nm으로 길어지는 경향을 보였는데 이는 안전 영역의 크기가 커질수록 충돌 피항 과정이 더 복잡해 지는 것을 의미한다.

    4.2 횡단 상황

    Fig. 6(b)와 같이 두 척의 선박이 횡단하는 경우의 실험을 진행하였으며 Table 4는 선박의 초기 설정 값이다.

    두 선박은 12 knots의 고정된 속력으로 항행하였으며 실험 결과는 실험 1과 비슷한 결과를 보였다. Fig. 10(a)는 항행 거 리와 메시지 교환 횟수를 Fig. 10(b)는 가중치의 변화에 따른 비용을 나타낸다. 가중치 wαwβ 의 경우, 실험 1과 비슷한 결과를 보였지만, wγ의 경우, 비용이 0.05에서 0.25로 선형적 으로 증가함을 보였다.

    Fig. 11, 12는 Fig. 8, 9와 비슷한 결과를 보였으나 Fig. 12의 탐지 영역의 메시지 교환 횟수의 경우 다른 결과를 기록하 였으며 탐지 영역이 6 마일과 12 마일의 경우 그 차이가 작 음을 보였다.

    4.3 추월 상황

    Fig. 6(c)와 같이 두 선박 간 추월 상황에서 실험을 진행하 였으며 Table 5는 선박의 초기 설정 값이다.

    각각의 선박은 20, 12 knots의 속력으로 항행하였으며 추월 의 상황에서의 실험은 앞의 두 실험과는 다른 결과를 보였 다. Fig. 13(a)의 경우, 가중치 wα의 값이 커질수록 항행 거리 는 20.74 nm에서 20.69 nm로 줄어드는 경향을 보였으며 Fig. 13(b)의 경우, 가중치 wβ 의 값이 커질수록 비용은 0.1에서 0.33으로 선형적으로 증가함을 보였다. 실험3에서 주목할 점 은 타임 윈도우가 앞의 두 실험과는 다른 경향을 보였다는 것이다. Fig. 14, 15와 같이 타임 윈도우의 크기가 커질수록 항행 거리, 비용, 메시지 교환 횟수도 같이 커지는 경향을 보였다. 추월 상황의 경우, 선박의 진로가 타겟 선박의 진로 와 같거나 비슷할 경우, 서로에게 더 많은 영향을 끼칠 수 있음을 의미한다.

    5. 결 론

    본 논문에서는 피항 거리를 유동적으로 조절하기 위한 SAA를 제안하였으며 DSSA에 사용된 비용 함수의 파라미터 가 충돌 피항에 미치는 영향을 분석하였다. 비용 함수의 효 용성을 증명하기 위해 두 선박이 조우할 수 있는 세 가지 경 우를 설정하여 실험을 진행하였다. 실험은 파라미터와 가중 치의 조합으로 진행되었으며 총 24,000번의 실험 과정 중 한 건의 충돌도 발생하지 않았다.

    실험 1의 정면에서 조우하는 경우, wβ 가 0.2와 0.3의 값을 가질 경우, 항행 거리가 가장 작은 값을 기록하였다. 정면에 서 두 선박이 조우할 경우, 안전 영역의 변화는 비용에 큰 영향을 끼치지는 않음을 보였다. wγ의 경우, 값이 커질수록 항행 거리는 줄어드는 경향을 보였으며 동시에 목적지를 향 한 상대 방위의 비용은 선형적으로 증가하는 경향을 보였 다. 선박이 목적지를 우선순위로 정할 경우, 즉 이기적인 행 동을 할 경우, 비용은 증가함을 의미한다. 타임 윈도우와 탐 지 영역의 값이 증가할 경우, 항행 거리와 메시지 교환 횟수 는 작은 값을 가지는 경향을 보였으나 안전 영역의 경우 반 대의 경향을 보였다. 이는 탐지 영역이 길수록 선박을 더 효 율적으로 조종할 수 있음을 의미한다. 또한 메시지 교환 횟 수는 안전 영역의 크기에 영향을 받음을 알 수 있다.

    실험 2의 횡단하는 경우는 실험 1의 정면에서 조우하는 경우와 유사한 결과를 보였으나 실험 3의 추월하는 경우는 정면 또는 횡단하는 경우와는 다른 결과를 보였다. 타임 윈 도우의 값이 커질수록 파라미터의 값도 커지는 경향을 보였 다. 추월하는 경우, 즉 상대 선박과 같은 방향일 경우 본선 이 더 많은 영향을 받는 것으로 판단된다.

    본 논문에서는 1대1의 상황을 가정하여 실험을 진행하였 다. 그러나 다수의 선박이 항행하는 경우, 파라미터와 가중 치가 선박 간 충돌 피항에 어떠한 영향을 미치는지 알 수 없 으며 이에 대해 추가 실험이 필요하다고 판단된다.

    Figure

    KOSOMES-25-2-178_F1.gif

    Distributed system for network(a) and ship collision avoidance(b).

    KOSOMES-25-2-178_F2.gif

    Basic term.

    KOSOMES-25-2-178_F3.gif

    two ships encounter situation(a) and relationship of position between ships depending on the ship 1's course(b) when w equals to 3.

    KOSOMES-25-2-178_F4.gif

    Distributed Stochastic Search Algorithm (DSSA).

    KOSOMES-25-2-178_F5.gif

    Selection for next-intended course.

    KOSOMES-25-2-178_F6.gif

    Three kinds of situations when ships encounter to each other.

    KOSOMES-25-2-178_F7.gif

    Distance and the number of messages(a) and cost(b) for weight factors.

    KOSOMES-25-2-178_F8.gif

    Distance(a) and cost(b) for time window, detection range, and safety domain.

    KOSOMES-25-2-178_F9.gif

    The number of messages for time window, detection range, and safety domain.

    KOSOMES-25-2-178_F10.gif

    Distance and the number of messages(a) and cost(b) for weight factors.

    KOSOMES-25-2-178_F11.gif

    Distance(a) and cost(b) for time window, detection range, and safety domain.

    KOSOMES-25-2-178_F12.gif

    The number of messages for time window, detection range, and safety domain.

    KOSOMES-25-2-178_F13.gif

    Distance and the number of messages(a) and cost(b) for weight factors.

    KOSOMES-25-2-178_F14.gif

    Distance(a) and cost(b) for time window, detection range, and safety domain.

    KOSOMES-25-2-178_F15.gif

    The number of messages for time window, detection range, and safety domain.

    Table

    Cost for candidate courses

    Values for parameters of two ships for three kinds of experiments

    Values for parameters when head-on situation for experiment 1

    Values for parameters when crossing situation for experiment 2

    Values for parameters when overtaking situation for experiment 3

    Reference

    1. Coldwell, T. G. (1983), Marine Traffic Behaviour in Restricted Waters, The Journal of Navigation, Vol. 36, No. 3, pp. 430-444.
    2. COLREGS(1972) (with amendments adopted from December 2009), Convention on the International Regulations for Preventing Collisions at Sea. International Maritime Organization, London.
    3. Fujii, Y. and K. Tanaka(1971), Traffic Capacity, The Journal of Navigation, Vol. 24, No. 4, pp. 543-552.
    4. Glover, F. (1989), Tabu Search-Part I. ORSA, Journal on Computing, Vol. 1, No. 3, pp. 190-206.
    5. Goodwin, E. M. (1975), A Statistical Study of Ship Domains, The Journal of Navigation, Vol. 28, No. 3, pp. 328-344.
    6. Hansen, M. G. , T. K. Jensen, T. L. Schioler, K. Melchild, F. M. Rasmussen and F. Ennemark(2013), Empirical Ship Domain based on AIS Data, The Journal of Navigation, Vol. 66, No. 6, pp. 931-940.
    7. Kim, D. , K. Hirayama and G. Park(2014), Collision Avoidance in Multiple-Ship Situations by Distributed Local Search, Journal of Advanced Computational Intelligence and Intelligent Informatics, Vol. 18, No. 5, pp. 839-848.
    8. Kim, D. , K. Hirayama and T. Okimoto(2015), Ship Collision Avoidance by Distributed Tabu Search, The International Journal on Marine Navigation and Safety of Sea Transportation, Vol. 9, No. 1, pp. 23-29.
    9. Kim, D. , K. Hirayamaand T. Okimoto(2017a), Distributed Stochastic Search Algorithm for Multi-ship Encounter Situations, The Journal of Navigation, Vol. 70, No. 4, pp. 699-718.
    10. Kim, J. K. , S. W. Kimand Y. S. Lee(2017b), A Study on the Traffic Patterns of Dangerous Goods Carriers in Busan North and Gamcheon Port, Journal of the Korean Society of Marine Environment & Safety, Vol. 23, No. 1, pp. 1-16.
    11. Kim, S. C. and Y. M. Kwon(2017), A Review of Proximity Assessment Measurements According to Fairway Patterns and Ship Size, Journal of the Korean Society of Marine Environment & Safety, Vol. 23, No. 7, pp. 783-790.
    12. Lazarowska, A. (2015), Ship’s Trajectory Planning for Collision Avoidance at Sea Based on Ant Colony Optimisation, The Journal of Navigation, Vol. 68, No. 2, pp. 291-307.
    13. Lee, M. K. , Y. S. Park and W. S. Kang(2019), A Study on Construction of Collision Prevention Algorithm for Small Vessel Using WAVE Communication System, Journal of the Korean Society of Marine Environment & Safety, Vol. 25, No. 1, pp. 1-8.
    14. Lee, S. , K. Kwon and J. Joh(2004), A Fuzzy Logic for Autonomous Navigation of Marine Vehicles Satisfying COLREG Guidelines, International Journal of Control, Automation and Systems, Vol. 2, No. 2, pp. 171-181.
    15. Montewka, J. , S. Ehlers, F. T. Hinz, and K. Tabri and P. Kujala(2014), A framework for risk assessment for maritime transportation systems-A case study for open sea collisions involving RoPax vessels, Reliability Engineering and System Safety, Vol. 124, pp. 142-157.
    16. Szlapczynski, R. (2006), A unified measure of collision risk derived from the concept of a ship domain, The Journal of Navigation, Vol. 59, pp. 477-490.
    17. Szlapczynski, R. (2007), Determining the Optimal course Alteration Manoeuvre in a Multi-Target Encounter Situation for a Given Ship domain Model, Annual of Navigation, Vol. 12, pp. 75-85.
    18. Szlapczynski, R. (2008), A New Method of Planning Collision Avoidance Manoeuvres for Multi-Target Encounter Situations, The Journal of Navigation, Vol. 61, pp. 307-321.
    19. Szlapczynski, R. and J. Szlapczynska(2015), A simulative Comparison of Ship Domains and Their Polygonal Approximations, The International Journal on Marine Navigation and Safety of Sea Transportation, Vol. 9, pp. 136-141.
    20. Szlapczynski, R. (2011), Evolutionary Sets of Safe Ship Trajectories: A New Approach to Collision Avoidance, The Journal of Navigation, Vol. 64, No. 1, pp. 169-181.
    21. Xu, Q. and N. Wang(2014), A Survey on Ship Collision Risk Evaluation, Scientific Journal on Traffic and Transportation Research, Vol. 26, No. 6, pp. 475-486.
    22. Yoo, S. L. , D. B. Kim and J. Y. Jeong(2016), A Study on the Establishment of Specific Traffic Safety Areas at Pyeongtaek Port, Journal of the Korean Society of Marine Environment & Safety, Vol. 22, No. 6, pp. 660-670.
    23. Zhang, W. , G. Wang, Z. Xing and L. Wittenburg(2005), Distributed Stochastic Search and Distributed Breakout: Properties, Comparison and Applications to Constraint Optimization Problems in Sensor Networks, Artificial Intelligence, Vol. 161, No. 1-2, pp. 55-87.