k-오차문제를 위한 4-러시안 알고리즘의 계산 단계 병렬화
Parallelizing the computation step of the Four-Russians’ algorithm for the k-difference problem
0
조회
0
다운로드
5
인용
0
참고문헌
키워드
초록
근사문자열매칭문제는 오랫동안 활발히 연구되어 왔다. 대표적인 근사문자열매칭문제로 편집거리문제와 k-오차문제가 잘 알려져 있다. 알파벳 ∑에 대해 길이가 각각 m ,n 인 두 문자열 P와 T가 주어졌을 때, 편집거리문제는 P와 T사이의 편집거리를 계산하는 문제이며, k -오차문제는 T 내에서 P가 k 이내의 편집거리로 발생하는 모든 위치를 찾는 문제이다. 편집거리문제와 k-오차문제는 동적프로그래밍을 이용하여 O(mn) 시간과 공간을 이용하여 해결할 수 있으며, 접미사트리를 이용하면 k-오차문제는 O(kn)시간과 공간을 이용하여 해결할 수 있다. 편집거리문제는 4-러시안 알고리즘을 이용해서도 해결할 수 있다. 4-러시안 알고리즘은 블록 크기를 t라 할 때, 전처리 단계에서 O(((3ㅣ∑ㅣ)^2t)t²)시간과 O(((3ㅣ∑ㅣ)^2t)t)공간, 계산 단계에서 O(mn/t)시간과 O(mn) 공간을 이용하여 편집거리를 계산한다. 본 논문에서는 4-러시안 알고리즘의 계산 단계를 m/t개의 쓰레드를 사용하여 O(m+n) 시간에 수행하도록 병렬화하여 k-오차문제를 해결하는 알고리즘을 제시한다. 실험결과, 제시된 4-러시안 병렬알고리즘은 기존의 4-러시안 순차알고리즘보다 DNA알파벳( ㅣ∑ㅣ=4 )의 경우 t= 2일 때 약 41배, t= 4일 때 약 19배 빠른 결과를 보였고, 이진알파벳(ㅣ∑ㅣ=2 )의 경우 t= 2일 때 약 45배, t = 5일 때 약 15배 빠른 결과를 보였다.
Abstract
Approximate string matching problems have been studied extensively for a long time. Two of the most well-known approximate string matching problems are the edit distance problem and the k-difference problem. Given two strings P(ㅣPㅣ=m) and T(ㅣTㅣ=n) over an alphabet ∑, the edit distance problem is to compute the edit distance between P and T. The k-difference problem is to find all the occurrences of P in T with at most edit distances. The edit distance problem and the k-difference problem can be solved in O(mn) time using dynamic programming technique. If suffix trees are used, the k-difference problem can be solved in O(kn) time and space. The edit distance problem also can be solved using Four-Russians’ algorithm whose preprocessing step runs in O(((3ㅣ∑ㅣ)^2t)t²) time and sO(((3ㅣ∑ㅣ)^2t)t) pace and the computation step runs in O(mn/t) time and O(mn) space where t is the size of the block. In this paper, we propose a parallelized version of the computation step of the Four-Russians’ algorithm for the k-difference problem which runs in O(m+n) time using m/t threads. For DNA alphabet, experimental results show that our parallel algorithm is about 41 times and 19 times faster than the (sequential) Four-Russians’ algorithm when t=2 and t=4, respectively. For binary alphabet, our parallel algorithm is about 45 times and 15 times faster than the (sequential) Four-Russians’ algorithm when t=2 and t=5, respectively.
참고문헌 (18)
- S. B. Needleman, "A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins", J. Mol. Biol, 48(3), pp.443~453 (1970)
- T. F. Smith, "Identification of Common Molecular Subsequences", J. Mol. Biol, 147, pp.195~197 (1981)
- Approximate String Matching in DNA Sequences, "L. L. Cheng", IEEE, 303~310 (2003)
- 나중채, "샘플링 비율 조정을 통한 Clark의 Select 함수의 효율적 구현", 한국차세대컴퓨팅학회 논문지, 5(1), pp.24~29 (2009), 한국차세대컴퓨팅학회
- A. V. Aho, "Efficient String Matching: An Aid to Bibliographic Search", Communications of the ACM, 18(6) (1975)
- S. Forrest, "Self-nonself discrimination in a computer", Proc.IEEE Symp. Res. Security Privacy, 202(212), pp.202~212 (1994)
- 윤현철, "동적 최장공통비상위문자열 문제 해결 알고리즘", 한국차세대컴퓨팅학회 논문지, 6(6), pp.35~43 (2010), 한국차세대컴퓨팅학회
- D. Gusfield, "Algorithms on Strings, Trees, and Sequences" (1997), Cambridge university press
- V. I. Levenstein, "Binary codes capable of correcting deletions, insertions, and reversals", Sov. Phys. Dokl, 10, pp.707~710 (1966)
- Z. Galil, "An Improved Algorithm for Approximate String Matching", SIAM Journal on Computing, 19(6), pp.989~999 (1990)
- W. J. Masek, "A Faster Algorithm Computing String Edit Distance", Journal of computer and system science, 20(1), pp.18~31 (1980)
- V. Kundeti, "Extending the Four Russian Algorithm to Compute the Edit Script in Linear Space", ICCS 2008, Part I, LNCS, 5101, pp.893~902 (2008)
- 윤민, "GPU를 이용한 Salsa20 스트림 암호의 병렬화", 한국차세대컴퓨팅학회 논문지, 5(1), pp.53~62 (2009), 한국차세대컴퓨팅학회
- 정진홍, "GPU를 활용한 고성능 컴퓨팅 : 금융 파생 상품 모델링 케이스", 한국차세대컴퓨팅학회 논문지, 5(1), pp.30~40 (2009), 한국차세대컴퓨팅학회
- 윤현철, "CUDA를 이용한 최장공통비상위문자열 그래프 모델의 병렬생성", 정보과학회논문지 : 시스템 및 이론, 39(3), pp.202~208 (2012), 한국정보과학회
- L. Ligowski, "An efficient implementation of Smith Waterman algorithm on GPU using CUDA, for massively parallel scanning of sequence databases", Parallel & Distributed Processing (IPDPS). IEEE Int. Symp, 1(8), pp.1~8 (2009)
- 김영호, "4-러시안 알고리즘 기반의 편집거리 병렬계산", 정보처리학회논문지. 컴퓨터 및 통신시스템, 2(2), pp.67~74 (2013), 한국정보처리학회
- R. Li, "SOAP2: an improved ultrafast tool for short read alignment", Bioinformatics, 25(15), pp.1966~1967 (2009)
