본문 바로가기
IT 둘러보기

정수론적 알고리즘 - Sogang ICPC Team, 2020 Winter

by 날고싶은커피향 2023. 2. 23.

정수론적 알고리즘이란 어떤 문제를 해결하기 위해 주어진 조건으로부터 최적의 해를 구하는 방법입니다. 예를 들어 다음과 같은 그래프가 주어졌을 때, 이 그래프 위의 점 중 한 점을 선택하면 다른 모든 점들이 연결되는 경로를 구할 수 있을까요? 정답은 ‘아니오’입니다. 왜냐하면 우리가 원하는 경로는 존재하지 않기 때문이죠. 그렇다면 어떻게 해야 할까요? 이때 등장하는 것이 바로 정수론적 알고리즘입니다.

정수론적 알고리즘에서는 어떠한 경우에 특정점을 선택해야하나요?
정수론적 알고리즘에서의 목표는 최단경로를 찾는 것입니다. 따라서 각 정점 사이의 간선들을 모두 고려해서 최소비용인 지점을 찾아야 합니다. 즉, 두 정점간의 최단거리(distance)뿐만 아니라 여러 개의 정점 간의 최단거리 또한 계산해야 하는 것이죠. 이를 위해서는 우선 전체 그래프 G=(V,E)위의 임의의 2개의 정점 V,E사이의 최단거리를 구해야 합니다. 그리고 나서 인접한 노드끼리 묶어서 각각의 가중치를 부여하게 됩니다. 이렇게 하면 총 4개의 그룹이 생기게 되는데, 이것을 순서쌍 (V,E)라고 부릅니다. 이제 남은 일은 새로운 출발점에서부터 다시 반복하면서 현재까지의 최단경로의 길이를 저장하며 진행하는 것입니다. 이러한 과정을 계속 반복하다보면 결국 최종 목적지에 도달하게 되고, 그때 비로소 최단경로를 찾을 수 있게 되는 것입니다.

정수론적 알고리즘이라는 이름이 붙은 이유는 무엇인가요?
정수론적 알고리즘은 앞서 설명한 바와 같이 수학자 오일러로부터 유래되었습니다. 당시 오일러는 자신의 논문 <최단경로문제>에서 처음으로 “오일러 회로”라는 개념을 소개하였는데, 이후 18세기 프랑스의 수학자 페르마가 연구하던 미해결 문제였던 최솟값 정리와도 관련이 있었습니다. 그래서 19세기 독일의 수학자 가우스가 최초로 제시한 해법 역시 원래는 오일러 회로였는데, 나중에 단순화되어 지금의 형태로 발전하였습니다. 하지만 여전히 많은 사람에게 생소한 분야이기 때문에 최근까지도 다양한 응용분야보다는 주로 순수학문으로서 많이 연구되고 있습니다.

정수론적 알고리즘 이외에 다른 알고리즘으로는 어떤 것들이 있나요?
정수론적 알고리즘이외에도 다익스트라 알고리즘, 플로이드 알고리즘 등 수많은 알고리즘이 존재합니다. 특히 오늘날 컴퓨터과학 및 공학에서도 널리 활용되고 있는 탐색알고리즘 대부분이 정수론적 알고리즘 또는 위상수학적 알고리즘 기반으로 개발되었기 때문에 앞으로도 더욱 활발하게 연구될 것으로 예상됩니다.

반응형