DOI QR코드

DOI QR Code

A Parallel Implementation of the Order-Preserving Multiple Pattern Matching Algorithm using Fingerprints of Texts

텍스트의 핑거프린트를 이용한 순위다중패턴매칭 알고리즘 병렬 구현

  • Park, Somin (Department of Computer Engineering, Inha University) ;
  • Kim, Youngho (Department of Computer Engineering, Inha University) ;
  • Sim, Jeong Seop (Department of Computer Engineering, Inha University)
  • 박소민 (인하대학교 컴퓨터공학과) ;
  • 김영호 (인하대학교 컴퓨터공학과) ;
  • 심정섭 (인하대학교 컴퓨터공학과)
  • Published : 2020.11.05

Abstract

순위다중패턴매칭문제는 길이가 n인 텍스트 T와 패턴들의 집합 P' = {P1,P2…,Pk}가 주어졌을 때, P'에 속하는 패턴들과 상대적인 순위가 일치하는 T의 모든 부분문자열들의 위치를 찾는 문제이다. P'에서 가장 짧은 패턴의 길이가 m, 가장 긴 패턴의 길이를 $\bar{m}$, 모든 패턴들의 길이의 합을 M, q개의 연속된 문자들을 q-그램이라 할 때, 기존에 텍스트의 핑거프린트를 이용하여 순위다중패턴매칭문제를 $O(q!+nqlogq+Mlog\bar{m}+nM)$ 시간에 해결하는 알고리즘이 제시되었다. 본 논문에서는 텍스트의 핑거프린트를 활용하여 O(max(q!,M,n))개의 스레드를 이용하여 순위다중패턴매칭문제를 평균적으로 $O(\bar{m}+qlogq+n/q!)$ 시간에 해결하는 병렬 구현 방법을 제시한다. 실험 결과, n = 1,000,000, k = 1,000, m = 5, q = 3일 때, 본 논문에서 제시하는 병렬 구현 방법은 기존의 순차 알고리즘보다 약 19.8배 빠르게 수행되었다.

Keywords

Acknowledgement

이 논문은 2017년도 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(NRF-2017R1E1A1A03070867). 이 논문은 2020년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구임 (2020-0-01389, 인공지능융합연구센터지원(인하대학교)).