DOI QR코드

DOI QR Code

문자열의 최장 공통 부분문자열과 최대 반복자를 구하기 위한 상수시간 RMESH 알고리즘

Constant Time RMESH Algorithm for Computing Longest Common Substring and Maximal Repeat of String

  • 발행 : 2009.10.31

초록

문자열 연산이 계산 생물학 분야에 응용되면서 효율적인 문자열 연산을 위한 다양한 자료구조와 알고리즘이 연구되고 있다. 최장 공통 부분 문자열 문제는 두 개 이상의 문자열에서 가장 길게 일치하는 부분문자열을 찾는 연산이며, 최대 반복자 문제는 하나의 문자열에서 두 번 이상 반복되는 부분문자열을 찾는 연산이다. 이 연산은 패턴 매칭, 유사도 측정 등의 문자열 처리 분야에서 중요하게 사용되고 있다. 본 논문에서는 RMESH(Reconfigurable MESH) 구조에서 3-차원 $n{\times}n{\times}n$ 프로세서를 사용하여 두 문자열의 최장 공통 부분문자열을 구하는 알고리즘과 주어진 문자열의 최대 반복자를 찾는 알고리즘을 제안하며, 이 알고리즘들은 모두 O(1) 시간 복잡도를 갖는다.

Since string operations were applied to computational biology area, various data structures and algorithms for computing efficient string operations have been studied. The longest common substring problem is an operation to find the longest matching substring in more than two strings, and maximal repeat of string problem is an operation to find substrings repeated more than once in the given string. These operations are importantly used in the string processing area such as pattern matching and likelihood measurement. In this paper, we present algorithms to compute the longest common substring of two strings and to find the maximal repeat of string using three-dimensional $n{\times}n{\times}n$ processors on RMESH(Reconfigurable MESH). Our algorithms have O(1) time complexity.

키워드

참고문헌

  1. R. A. Wagner, Michael J. Fischer, "The String-to-String Correction Problem," Journal of the ACM (JACM), Vol.21, Issue 1, pp.168-173, 1974. https://doi.org/10.1145/321796.321811
  2. Dan. Gusfield, Algorithms on Strings, Trees, and Sequences, Computer Science and Computational Biology, CamBridge University Press, 1997.
  3. S. Needleman, C. Wunsch, "A general method applicable to the search for similarities in the amino acid sequence of two proteins," J. Mol. BioInformatics, 48(3), 443-453, 1970. https://doi.org/10.1016/0022-2836(70)90057-4
  4. W. Masek and M. Paterson, "A fast algorithm computing string edit distances," J. of Computer and System Sciences, 20(1), pp.13-31, 1980. https://doi.org/10.1016/0022-0000(80)90002-1
  5. 전정은, 박희진, 김동규, "써픽스 배열을 이용한 최장 공통 부분 스트링 계산," 한국정보과학회 가을 학술발표논문집, Vol.4, No.2, pp.739-741, 2004.
  6. I. Lee, C. Illiopoulos, K. Park, "Linear time algorithm for the longest common repeat problem," J. of Discrete Algorithms, 5, pp.243-249, 2006. https://doi.org/10.1016/j.jda.2006.03.019
  7. A. Apostolico, C. Iliopoulos, G. Landau, BSchieber, and U. Vishkin, "Parallel Construction of a Suffix Tree with Application," Algorithmica, Vol.3, pp.347-365, 1988. https://doi.org/10.1007/BF01762122
  8. G. Landau, U. Vishkin, "Fast parallel and serial approximate string matching," J. of Algorithms, Vol.10, pp.157-169, 1989. https://doi.org/10.1016/0196-6774(89)90010-2
  9. Y. Jiang, A. Wright, "O(k) parallel algorithms for approximate string matching," Neurla, Parallel and Scientific Computations, Vol.1, pp.443-452, 1993.
  10. Z. Galil, "A Constant Time Optimal Parallel String Matching Algorithm," J. of ACM, Vol.42, pp.908-918, 1995. https://doi.org/10.1145/210332.210341
  11. H. Lee, F. Ercal, "RMESH Algorithms for Parallel String Matching," International Symposium on Parallel Architectures, Algorithms and Networks, pp.223-226, 1997
  12. A. Datta, S. Subbiah, "Constant Time Algorithms for String Processing on the Reconfigurable Mesh," The 4th Australasian conference on Parallel and real-time systems, pp.226-237, 1997.
  13. R. Miller, V. Prasanna-Kumar, D. Reisis, and Q. Stout, "Parallel Computation on Reconfigurable Meshes," IEEE Transactions on Computers, Vol.42, No.6, pp.678-692, 1993. https://doi.org/10.1109/12.277290
  14. 김기원, 우진운, "선형 사진트리로 표현된 이진 영상의 면적과 둘레 길이를 계산하기 위한 상수시간 RMESH," 한국정보처리 학회 논문지, 제5권, 제7호, pp.1746-1758, 1998.
  15. 김경훈, 우진운, "RMESH 구조에서 unaligned 선형사진트리 의 alignment를 위한 상수시간 알고리즘," 정보과학회논문지, 제31권 1,2호, pp.10-18, 2004.
  16. J. Jang, H. Park, and V. Prasanna, "A Fast Algorithm for Computing Histogram on a Reconfigurable Mesh," IEEE Trans. on Pattern Analysis and Machine Intelligence, Vol.17, No.2, pp.97-106, 1995. https://doi.org/10.1109/34.368177
  17. Y. Ben-Asher, D. Peleg, R. Ramaswami, and A. Schuster, "The Power of Reconfiguration," Journal of Parallel and Distributed Computing, 13, pp.139-153, 1991. https://doi.org/10.1016/0743-7315(91)90084-M
  18. M. Nigam and S. Sahni, "Sorting n Numbers On n×n Reconfigurable Meshes With Buses," Proceedings 7th International Parallel Processing Symposium, pp.174-181, 1993. https://doi.org/10.1006/jpdc.1994.1117