2013.05.13 02:02
TSP 문제를 푸는 알고리즘..
조회 수 4846 댓글 0
미국 세인트 루이스에 있는 워싱턴 대학의 한 컴퓨터 과학자가 세일즈맨 문제 (Salesman problem)을 좀 더 쉽게 풀 수 있는 알고리즘을 개발하고 시험하였다.
워싱턴대학의 컴퓨터학과 교수인 장박사는 컴퓨터계와 비즈니스계에서 오래된 문제로서 TSP (Traveling Salesman Problem) 이라고 알려져 있는 문제를 풀기 위한 알고리즘을 개발했다. TSP 문제는 우체부가 효과적으로 우편물을 배달하는 경로를 결정하는 것과 유사한 문제들을 포괄적으로 의미한다. 장박사는 AT&T 벨 연구소의 데이빗 존슨 박사와 함께 연구를 수행했다. 존슨박사는 복잡한 계산 분야에서 널리 이름이 알려진 전문가이다.
이들은 장박사의 이름을 딴 장알고리즘을 10개의 이론적인 TSP 문제에 적용해서 그 중 절반의 문제에 대하여 이 알고리즘이 최선의 해를 구한다는 사실을 밝혔다. 이중에는 AT&T 벨 연구소가 관심을 가지고 있는 문제가 포함되어 있다.
장알고리즘은 실제 생활과 관련된 문제에도 적용될 수 있다. 예를 들어 AT&T벨 연구소가 관심을 가지는 문제는 공중전화기에서 동전을 회수하는 경로를 최적화하는 것이다. 장 알고리즘은 동전을 회수할 때 동일한 장소를 두 번 방문하지 않으면서 짧은 시간내에 모든 공중전화에서 동전을 회수해서 회사로 돌아올 수 있는 경로를 결정할 수 있다. 이를 통해 회사는 시간과 비용을 절감할 수 있다.
이들은 공중전화가 100대, 316대, 1000대, 3162대 있는 4가지 경우에 대해 알고리즘을 시험했다. 비교를 위해 6개의 다른 알고리즘을 이용한 시험도 실시했는데 장의 알고리즘이 가장 짧은 경로, 가장 효율적인 경로, 가장 비용이 적게드는 경로를 찾아낸다는 것을 알 수 있었다. 이 알고리즘은 50만개의 노드가 있는 경우에도 적용이 될 수 있으며 공중전화 문제의 경우 단 몇 초만에 해법을 찾아낼 수 있다.
장 알고리즘은 "No-wait flowshop" 문제에도 적용된다. 이 문제는 자동차 각 부분에 페인트 칠을 할 때 처음부터 끝날 때 까지 가장 효율적인 경로를 결정하는 것이다. 그 외에도 컴퓨터의 디스크 드라이버나 유전의 석유시추장비의 이동 경로 결정에도 적용될 수 있다.
연구에서 고려된 TSP 문제는 비대칭으로 한 지점 A에서 B 까지의 거리가 B에서 A까지의 거리와 같지 않은 경우를 말한다. 이러한 비대칭 문제는 실제 세계와 유사하다 . 예를 들어 고속도로를 주행할 때 A에서 B 로 가는 경우에는 주행료를 내지만 반대로는 주행료를 내지 않는 경우가 해당된다. 장 알고리즘은 이러한 비대칭 문제를 해결할 수 있다.
이들의 연구결과는 워싱턴 D.C에서 열렸던 제 3차 알고리즘 공학과 실험에 관한 워크샵에서 발표되었다. 연구결과 중 일부는 출판예정인 Traveling Salesman Problem 에 한 부분으로 포함된다. 이번 연구는 국립과학재단에서 일부 보조를 받았다.
장 알고리즘은 비대칭 TSP 문제를 푸는데 적합한 두 개의 방법 중 하나로 여겨지고 있다. 나머지 하나는 알고리즘을 개발한 두명의 컴퓨터 학자의 이름을 딴 Kanellakis-Papdimitrious local search 알고리즘이다.
장박사는 현재 DNA, RNA, 단백질과 같은 생물학적 자료를 분석하기 위한 효율적인 탐색 알고리즘 연구를 하고 있다. 장박사는 "지난 세기가 정보와 컴퓨터 기술이 이끌었다면 이번 세기는 생물학의 시대가 될 것이다. 정보기술과 생물학을 결합하게 되면 생명공학에 대한 이해와 함께 질병치료를 통한 보다 나은 삶을 사는데 도움이 될 것이다" 라고 말했다. - (kwonsk@nanum.kaeri.re.kr)
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
7 | 오래된 아이큐 테스트 문제 | qeem | 2013.05.28 | 4161 |
6 | 영어로 자기소개 ㅋㅋ | qeem | 2013.05.28 | 0 |
5 | 맥 Balsamiq Mockups 무료이용 [꼼수] | qeem | 2013.05.28 | 3764 |
4 | 모두가 원하는 개발자 되기 10단계 | qeem | 2013.05.15 | 5190 |
3 | 게시판에서 싸움나는 이유 | qeem | 2013.05.14 | 4887 |
» | TSP 문제를 푸는 알고리즘.. | qeem | 2013.05.13 | 4846 |
1 | [linux] 리눅스에 대해.. (백과사전에서..) | qeem | 2013.05.13 | 3591 |