메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

김영호 (인하대학교, 인하대학교 대학원)

지도교수
심정섭
발행연도
2019
저작권
인하대학교 논문은 저작권에 의해 보호받습니다.

이용수2

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (4)

초록· 키워드

오류제보하기
오차를 허용하는 근사문자열매칭문제는 정보검색, 컴퓨터보안, 분자생물학 등 다양한 분야에서 연구되고 있다. 근사문자열매칭 알고리즘은 두 문자열의 오차를 측정하기 위해 해밍거리, 편집거리, 가중편집거리 등의 거리함수를 이용한다. 알파벳 Σ의 문자들로 구성된 길이가 m, n인 두 문자열 X, Y가 주어졌을 때, 두 문자열 X와 Y의 편집거리는 한 문자열을 다른 문자열로 변환하는데 필요한 최소 편집연산의 수이다. 이때 편집연산은 삽입, 삭제, 교체 연산으로 구성된다. 두 문자열의 편집거리는 동적프로그래밍을 이용하여 O(mn) 시간에 계산할 수 있다. 또한 전처리되는 문자열의 길이가 t일 때, 4-러시안의 룩업테이블을 이용해서도 O(mn/t) 시간에 계산할 수 있다. 한편, 4-러시안의 룩업테이블은 O((3|Σ|)^{2t}t^2) 시간과 O((3|Σ|)^{2t}t) 공간에 생성할 수 있다.
본 학위 논문에서는 편집거리계산을 위해 사용공간을 개선한 4-러시안의 룩업테이블의 생성 방법을 제시한다. 즉, 전처리되는 문자열들을 인코딩하여 룩업테이블을 축소함으로써 O(3^{2t}(2t)!t^2) 시간과 O(3^{2t}(2t)!t) 공간에 룩업테이블을 생성한다. 실험 결과, |Σ| = 26, t = 4일 때 원래의 4-러시안의 룩업테이블보다 룩업테이블의 공간을 약 1/5,172,030로 줄인다. 또한 편집거리를 병렬적으로 계산하는 4-러시안 알고리즘을 제시한다. 이 병렬알고리즘은 O(3^{2t}(2t)!t)개의 스레드를 이용하여 O(t) 시간에 룩업테이블을 생성하고, 충분한 수의 스레드를 이용하여 O(m + n) 시간에 두 문자열의 편집거리를 계산한다.
근사적으로 반복되는 문자열에 대한 연구는 데이터압축, 분자생물학, 컴퓨터지원음악분석 등 다양한 분야와 관련이 있다. 근사적으로 반복되는 문자열로 근사주기, 근사커버, 근사시드, 근사종렬중복 등이 있다. 본 학위 논문에서는 정수로 구성된 문자열에서 근사적으로 반복되는 문자열을 찾기 위해 δ-근사주기와 γ-근사주기의 개념을 새롭게 제시한다. 정수 문자로 구성된 길이가 n인 문자열 T가 주어졌을 때, T의 최소 δ-근사주기와 최소 γ-근사주기를 찾는 문제를 각각 정의하고, 각 문제를 O(n^2) 시간에 해결하는 순차알고리즘과 O(n^2)개의 스레드를 이용하여 O(n) 시간에 해결하는 병렬알고리즘을 제시한다. 또한 무관문자(자기 자신뿐만 아니라 모든 문자와 일치하는 문자)를 포함한 T에 대해 최소 δ-근사주기와 최소 γ-근사주기를 찾는 문제를 정의하고, 각 문제를 해결하는 O(n^2)-시간 알고리즘을 제시한다.

목차

초록 i
Abstract iii
제 1 장 서론 1
1.1 문자열매칭 1
1.2 근사문자열매칭 3
1.3 반복적인 문자열 8
1.4 근사적으로 반복되는 문자열 12
1.5 논문의 구성 16
제 2 장 관련 연구 20
2.1 문자열 20
2.2 D 테이블 21
2.2.1 편집거리 21
2.2.2 k-오차문자열매칭 23
2.2.3 최장공통부분서열 25
2.3 편집거리계산을 위한 4-러시안 알고리즘 27
2.4 문자열의 근사주기 30
제 3 장 편집거리계산을 위한 공간효율적인 4-러시안의 룩업테이블 33
3.1 알고리즘 33
3.1.1 전처리단계: 공간효율적인 4-러시안의 룩업테이블 생성 33
3.1.2 계산단계: 편집거리계산 35
3.2 병렬알고리즘 38
3.2.1 전처리단계: 공간효율적인 4-러시안의 룩업테이블 병렬 생성 39
3.2.2 계산단계: 편집거리계산을 위한 병렬알고리즘 39
3.3 실험 결과 41
3.3.1 실험 1: 룩업테이블의 크기 비교 43
3.3.2 실험 2: 4-러시안 알고리즘의 수행시간 비교 43
3.3.3 실험 3: D 테이블을 이용한 알고리즘과 개선된 4-러시안 알고리즘의 수행시간 비교 45
3.4 공간효율적인 4-러시안의 룩업테이블의 응용 47
3.4.1 k-오차문자열매칭 알고리즘 47
3.4.2 최장공통부분서열 알고리즘 48
제 4 장 정수문자열의 δ-근사주기와 γ-근사주기 52
4.1 문제 정의 52
4.2 알고리즘 54
4.2.1 문제 1: 최소 δ-근사주기 찾기 54
4.2.2 문제 2: 최소 γ-근사주기 찾기 58
4.3 병렬알고리즘 62
4.3.1 문제 1을 위한 병렬알고리즘 62
4.3.2 문제 2를 위한 병렬알고리즘 63
4.4 실험 결과 64
4.4.1 실험 1: 순차알고리즘과 병렬알고리즘의 성능 비교 65
4.4.2 실험 2: 토너먼트 방법 활용 67
4.4.3 실험 3: 스레드의 수에 따른 병렬알고리즘의 성능 비교 67
4.5 무관문자를 포함한 정수문자열의 δ-근사주기와 γ-근사주기 69
4.5.1 문제 3: 무관문자를 고려한 최소 δ-근사주기 찾기 70
4.5.2 문제 4: 무관문자를 고려한 최소 γ-근사주기 찾기 70
제 5 장 결론 75
참고문헌 76

최근 본 자료

전체보기

댓글(0)

0