DOI QR코드

DOI QR Code

접미사 배열을 이용한 Suffix-Prefix가 일치하는 모든 쌍 찾기

Finding All-Pairs Suffix-Prefix Matching Using Suffix Array

  • 한선미 (단국대학교 컴퓨터과학) ;
  • 우진운 (단국대학교 정보컴퓨터학부)
  • 투고 : 2010.04.13
  • 심사 : 2010.09.13
  • 발행 : 2010.10.31

초록

최근 문자열 연산들이 계산 생물학 및 인터넷의 보안, 검색 분야에 응용되면서 효율적인 문자열 연산을 위한 다양한 자료구조와 알고리즘이 연구되고 있다. suffix-prefix가 일치하는 모든 쌍 찾기는 두 개 이상의 문자열이 주어질 때 각 쌍의 문자열에 대해 가장 긴 suffix와 일치하는 prefix를 찾는 것으로 가장 짧은 슈퍼스트링을 검출하는 근사 알고리즘에서 사용될 뿐만 아니라 생물정보학, 데이터 압축 분야에서도 중요하게 사용된다. 본 논문에서는 접미사 배열을 이용하는 suffix-prefix가 일치하는 모든 쌍 찾기 알고리즘을 제안하며 O($k{\cdot}m$) 시간 복잡도를 가진다. 접미사 배열 알고리즘이 접미사 트리 알고리즘 보다 소요 시간과 메모리 면에서 더 우수함을 실험을 통해서 제시한다.

Since string operations were applied to computational biology, security and search for Internet, various data structures and algorithms for computing efficient string operations have been studied. The all-pairs suffix-prefix matching is to find the longest suffix and prefix among given strings. The matching algorithm is importantly used for fast approximation algorithm to find the shortest superstring, as well as for bio-informatics and data compressions. In this paper, we propose an algorithm to find all-pairs suffix-prefix matching using the suffix array, which takes O($k{\cdot}m$)�� time complexity. The suffix array algorithm is proven to be better than the suffix tree algorithm by showing it takes less time and memory through experiments.

키워드

참고문헌

  1. D. Gusfield, “Algorithms on Strings, Trees, and Sequences,” Computer Science and Computational Biology, CamBridge University Press, 1997.
  2. Z. M. Kedem. G. M. Landau, K. V. Palem, “Parallel suffix-prefix-Matching Algorithm and Applications,” SIAM Journal on Computing, Vol.25, No.5, pp.998-1023, 1996. https://doi.org/10.1137/S0097539792190157
  3. P. Green, D. Lipman, D. Hillier, R. Waterston, D. States, J. M. Claverie. “Ancient conserved regions in new gene sequences and the protein databases,” Science, Vol.259, pp.1711-1716, 1993. https://doi.org/10.1126/science.8456298
  4. E. M. McCrieght, “A Space-Economical Suffix Tree Construction Algorithm,” Journal of ther ACM, Vol.23, pp.262-272, 1976. https://doi.org/10.1145/321941.321946
  5. E. Ukkonen, “On-line construction of suffix trees,” Algorithmica, Vol.14, pp.249-260, 1995. https://doi.org/10.1007/BF01206331
  6. U. Manber, G. Myers, “Suffix arrays: a new method for on-line string searches,” SIAM Journal of Computing 22, pp.935-948, 1993. https://doi.org/10.1137/0222058
  7. P. Ko and S. Aluru, “Space efficient linear time construction of suffix arrays,” In Proc. of the 14th Annual Symposium on Combinatorial Pattern Matching, Vol.2676, pp.200-210, 2003. https://doi.org/10.1007/3-540-44888-8_15
  8. J. Karkkainen, P. Sanders, S. Burkhardt, “Linear work suffix array construction,” Journal of the ACM, Vol.53, pp.918-936, 2006. https://doi.org/10.1145/1217856.1217858
  9. D. K. Kim, J. S. Sim, H. Park, K. Park, “Constructing suffix arrays in linear time,” Journal of Discrete Algorithms, Vol.3, pp.126-142, 2005. https://doi.org/10.1016/j.jda.2004.08.019
  10. R. Grossi, J. S. Vitter, “Compressed suffix arrays and suffix trees with applications to text indexing and string matching,” In Proc. of the 32nd ACM Symposium on Theory of Computing, pp.397-406, 2000. https://doi.org/10.1145/335305.335351
  11. WK. Hon, K. Sadakane, WK. Sung, “Breaking a timeand-space barrier in constructing full-text indices,” In Proc. of the 44th Symposium on Foundations of Computer Science, pp.251-260, 2003. https://doi.org/10.1109/SFCS.2003.1238199
  12. M. Abouelhoda, E. Ohlebusch, S. Kurtz, “Optimal exact string matching based on suffix arrays,” In Proc. of the 9th International Symposium on String Processing and Information Retrieval. Vol.2476, pp.31-43, 2002. https://doi.org/10.1007/3-540-45735-6_4
  13. K. Sadakane, “Succinct representation of lcp information and improvement in the compressed suffix arrays,” In. proc. of the 13th ACM-SIAM Symposium on Discrete algorithms, pp.225-232, 2002.
  14. M. Abouelhoda, S. Kurtz, E. Ohlebusch, “Replacing Suffix Trees with Enhanced Suffix Arrays,” Journal of Discrete Algorithms, Vol.2, pp.53-86, 2004. https://doi.org/10.1016/S1570-8667(03)00065-0
  15. P. Ferragina, G. Manzini, “Opportunistic data structures with applications,” In Proc. of the 41st IEEE Symposium on Foundations of Computer Science, pp.390-398, 2000. https://doi.org/10.1109/SFCS.2000.892127
  16. 심정섭, 김동규, 박희진, 박근수, “접미사 배열을 이용한 선형시간 탐색”, 정보과학회 논문지: 시스템 및 이론, 제 32권 제 5호, pp.255-259, 2005.
  17. 최용욱, 심정섭, 박근수, “접미사 배열을 이용한 시간과 공간 효율적인 검색”, 정보과학회 논문지: 시스템 및 이론, 제 32권 제 5호, pp.260-267, 2005.