Finding the Worst-case Instances of Some Sorting Algorithms Using Genetic Algorithms

유전 알고리즘을 이용한 정렬 알고리즘의 최악의 인스턴스 탐색

  • Jeon, So-Yeong (Department of Computer Science and Engineering, Kwangwoon University) ;
  • Kim, Yong-Hyuk (Department of Computer Science and Engineering, Kwangwoon University)
  • 전소영 (광운대학교 컴퓨터소프트웨어학과) ;
  • 김용혁 (광운대학교 컴퓨터소프트웨어학과)
  • Published : 2010.06.30

Abstract

정렬 알고리즘에서 사용한 원소 간 비교횟수를 기준으로, 비교횟수가 많게 되는 순열을 최악의 인스턴스(worst-case instance)라 명명하고 이를 찾기 위해 유전 알고리즘(genetic algorithm)을 사용하였다. 잘 알려진 퀵 정렬(quick sort), 머지 정렬(merge sort), 힙 정렬(heap sort), 삽입 정렬(insertion sort), 쉘 정렬(shell sort), 개선된 퀵 정렬(advanced quick sort)에 대해서 실험하였다. 머지 정렬과 삽입 정렬에 대해 탐색한 인스턴스는 최악의 인스턴스에 거의 근접하였다. 퀵 정렬은 크기가 증가함에 따라 최악의 인스턴스 탐색이 어려웠다. 나머지 정렬에 대해서 찾은 인스턴스는 최악의 인스턴스인지 이론적으로 보장할 수 없지만, 임의의 1,000개 순열을 정렬해서 얻은 비교횟수들의 평균치보다는 훨씬 높았다. 본 논문의 최악의 인스턴스를 탐색하는 시도는 알고리즘의 성능 검증을 위한 테스트 데이터를 생성한다는 점에서 의미가 크다.

Keywords