기관회원 [로그인]
소속기관에서 받은 아이디, 비밀번호를 입력해 주세요.
개인회원 [로그인]

비회원 구매시 입력하신 핸드폰번호를 입력해 주세요.
본인 인증 후 구매내역을 확인하실 수 있습니다.

회원가입
서지반출
다항식 곱셈을 이용한 근사패턴매칭의 CUDA 구현
[STEP1]서지반출 형식 선택
파일형식
@
서지도구
SNS
기타
[STEP2]서지반출 정보 선택
  • 제목
  • URL
돌아가기
확인
취소
  • 다항식 곱셈을 이용한 근사패턴매칭의 CUDA 구현
저자명
김동희,심정섭,Kim. Dong Hee,Sim. Jeong Seop
간행물명
정보과학회논문지. Journal of KIISE. 시스템 및 이론
권/호정보
2013년|40권 6호|pp.290-295 (6 pages)
발행정보
한국정보과학회
파일정보
정기간행물|
PDF텍스트
주제분야
기타
이 논문은 한국과학기술정보연구원과 논문 연계를 통해 무료로 제공되는 원문입니다.
서지반출

기타언어초록

근사패턴매칭은 패턴매칭을 불일치를 허용하도록 확장한 문제이며 데이터압축, 컴퓨터보안, 생물정보학 등 다양한 분야에서 연구되고 있다. 해밍거리는 길이가 n인 두 문자열 사이의 불일치 정도를 나타내기 위한 잘 알려진 거리함수로서 O(n)시간에 계산할 수 있다. 본 논문에서 다룰 (해밍거리 기반) 근사패턴매칭은 길이 m인 패턴 P와 길이 n인 텍스트 T가 주어졌을 때 길이 m인 T의 모든 부분문자열과 P사이의 해밍거리를 구하는 문제이다. 이 문제는 단순비교 기반의 알고리즘으로 O(mn) 시간에 간단히 해결할 수 있다. 알파벳의 크기를 ${mid}{sum}{mid}$라 할 때, Amir 등은 패턴매칭 문제를 다항식 곱셈 문제로 변환하여 O(${mid}{sum}{mid}$nlogm) 시간에 근사패턴매칭 문제를 해결하는 알고리즘(이하 PM 알고리즘)을 제시하였다. 본 논문에서는 PM 알고리즘을 CUDA를 이용하여 병렬 구현한 O(${mid}{sum}{mid}$logm) 시간 알고리즘(이하 PPM 알고리즘)을 제시한다. 수행시간을 측정한 결과, PPM 알고리즘은 PM 알고리즘에 비해 약 40~2,000 배 빨랐으며, 단순비교 기반 알고리즘에 비해서는 최대 7,000배 정도 빠른 성능을 보였다.

기타언어초록

Approximate pattern matching, a natural extension of exact pattern matching, is allowing errors. It has been studied in such diverse fields as data compression, computer security and bioinformatics. The Hamming distance is one of the well-known distance functions being used to measure the errors between two strings of length n, which can be computed in O(n) time. The (Hamming distance based) approximate pattern matching problem of pattern P(${mid}p{mid}$=m) and text T(${mid}T{mid}$=n) is finding Hamming distances between P and all substrings of T whose lengths are m. The approximate pattern matching problem can be easily solved in O(mn) time using a naive approach. By transforming the approximate pattern matching problem into the polynomial multiplication problem, Amir et al. proposed an O(${mid}{sum}{mid}$nlogm) time algorithm (PM algorithm for short) where ${mid}{sum}{mid}$ is the size of the alphabet. In this paper, we propose a CUDA implementation of a parallelized PM algorithm (PPM algorithm for short) running in O(${mid}{sum}{mid}$logm)time. The experimental results show that the PPM algorithm runs about 40~2,000 times faster than the PM algorithm and runs upto 7,000 times faster than the naive approach, respectively.