KR101105652B1 - 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법 - Google Patents

금지문자열 불포함 결정을 위한 방향 그래프 생성 방법 Download PDF

Info

Publication number
KR101105652B1
KR101105652B1 KR1020100017799A KR20100017799A KR101105652B1 KR 101105652 B1 KR101105652 B1 KR 101105652B1 KR 1020100017799 A KR1020100017799 A KR 1020100017799A KR 20100017799 A KR20100017799 A KR 20100017799A KR 101105652 B1 KR101105652 B1 KR 101105652B1
Authority
KR
South Korea
Prior art keywords
string
suffix
node
leaf
prefix
Prior art date
Application number
KR1020100017799A
Other languages
English (en)
Other versions
KR20110098265A (ko
Inventor
심정섭
이문규
나중채
최시원
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020100017799A priority Critical patent/KR101105652B1/ko
Publication of KR20110098265A publication Critical patent/KR20110098265A/ko
Application granted granted Critical
Publication of KR101105652B1 publication Critical patent/KR101105652B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에 관한 것으로서, 보다 구체적으로는 (1) 금지문자열 집합의 부분 문자열을 표시한 일반화접미사트리의 모든 노드들에 대해 조상들 중 접미사 노드를 만족하는 가장 가까운 노드인 최근접 접미사 조상 노드를 계산하는 단계; (2) 상기 일반화접미사트리의 모든 리프의 문자열에 각 문자를 접두사로 형성한 문자열인 접두사문자열의 최장 접두사를 만족하는 리프를 정의하는 링크함수를 계산하는 단계; 및 (3) 상기 링크함수를 이용하여, 문자열을 통과시키는 경우 금지문자열 불포함 여부를 판단하는 방향 그래프를 생성하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는, 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에 따르면, 최근접 접미사 노드를 계산하는 단계, 및 링크함수를 계산하는 단계를 포함하여 방향 그래프를 생성함으로써, 주어진 문자열을 포함하지 않는 문자열 불포함 문제를 선형시간에 방향 그래프를 구성하여 능률적으로 해결할 수 있다.

Description

금지문자열 불포함 결정을 위한 방향 그래프 생성 방법{METHOD OF CREATING DIRECTIVITY GRAPH FOR SEARCH NONSUPERSTRING NON-INCLUSION}
본 발명은 검색을 위한 방향 그래프 생성 방법에 관한 것으로서, 특히 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에 관한 것이다.
문자열 포함 문제는 주어진 문자열들의 공통 부분서열 중 가장 긴 서열(Longest Common Subsequence)을 찾는 문제와 공통 상위서열 중 가장 짧은 서열(Shortest Common Subsequence)을 찾는 문제 등이 연구되어 왔다. 한편, 주어진 문자열을 포함하지 않는 문자열 불포함 문제가 압축 알고리즘, 분자 생물학, 컴퓨터 보안 등 다양한 분야에서 필요성이 대두되어 진행되고 있다.
문자열 집합 F가 입력으로 주어졌을 때, 만약 문자열 x가 F 내의 모든 금지문자열 fi(1≤i≤m)를 포함하지 않으면, x를 F의 공통 비상위문자열(Common NonSuperString)이라 한다. 또한, 문자열 x가 유한길이이고, F의 공통 비상위문자열들 중 가장 긴 문자열이면, x를 F의 최장 공통 비상위문자열( Longest Common NonSuperString)이라 한다. 편의를 위하여, 상기 공통 비상위문자열과 최장 공통 비상위문자열을 각각 CNSS와 LCNSS라 나타낸다. 또한, F의 모든 문자열의 길이의 합을 ∥F∥로 표시하기로 한다.
최장 공통 비상위문자열 문제를 문자열들의 모든 적당한 접미사를 표시한 방향성 그래프를 구성하여 다항 시간에 풀 수 있는 것이 알려져 있으나, 시간이 오래 걸리는 등의 능률적이지 못한 문제점이 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 최근접 접미사 노드를 계산하는 단계, 및 링크함수를 계산하는 단계를 포함하여 방향 그래프를 생성함으로써, 주어진 문자열을 포함하지 않는 문자열 불포함 문제를 선형시간에 방향 그래프를 구성하여 능률적으로 해결하는 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법을 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른, 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법은,
금지문자열 집합의 부분 문자열을 표시한 일반화접미사트리의 모든 노드들에 대해 조상들 중 접미사 노드를 만족하는 가장 가까운 노드인 최근접 접미사 조상 노드를 계산하는 단계,
상기 일반화접미사트리의 모든 리프의 문자열에 각 문자를 접두사로 형성한 문자열인 접두사문자열의 최장 접두사를 만족하는 리프를 정의하는 링크함수를 계산하는 단계, 및
상기 링크함수를 이용하여, 문자열을 통과시키는 경우 금지문자열 불포함 여부를 판단하는 방향 그래프를 생성하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 최근접 접미사 조상 노드를 계산하는 상기 단계는,
노드가 상기 금지문자열 집합과 상기 금지문자열 집합의 진접미사 집합의 합집합에 속하는 접미사 노드인 경우에 자신이고, 노드가 접미사 노드가 아닌 경우에는 조상들 중 접미사 노드를 만족하는 가장 가까운 노드이므로 각 노드마다 상수 시간에 해결되어 선형시간에 계산할 수 있다.
바람직하게는, 링크함수를 계산하는 상기 단계는,
리프가 상기 최근접 접미사 조상 노드이면 상기 접두사문자열의 최장 접두사를 만족하는 리프가 상기 접두사문자열을 만족하는 리프일 수 있다.
바람직하게는, 링크함수를 계산하는 상기 단계는,
상기 접두사문자열이 접미사 노드이면 상기 접두사문자열의 최장 접두사를 만족하는 리프를 계산하고, 상기 접두사문자열이 접미사 노드가 아니면 부모 노드의 최근접 접미사 조상 노드를 계산하고 이의 최장 접두사를 만족하는 리프를 계산할 수 있다.
바람직하게는, 방향 그래프를 생성하는 상기 단계는,
상기 일반화접미사트리의 리프가 금지문자열 집합에 속하면 정점을 생성하지 않고, 리프가 진접미사 집합에 속하면 정점을 생성하는 단계; 및
상기 링크함수를 이용하여 최장 접두사가 금지문자열 집합에 속하면 간선을 생성하지 않고, 최장 접두사가 진접미사 집합에 속하면 상기 접두사문자열의 최장 접두사를 만족하는 리프로부터 기존 리프로 도달하는 간선을 생성하는 단계를 포함하여 방향 그래프를 선형 시간에 생성할 수 있다.
본 발명에서 제안하고 있는, 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에 따르면, 최근접 접미사 노드를 계산하는 단계, 및 링크함수를 계산하는 단계를 포함하여 방향 그래프를 생성함으로써, 주어진 문자열을 포함하지 않는 문자열 불포함 문제를 선형시간에 방향 그래프를 구성하여 능률적으로 해결할 수 있다.
도 1은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법의 구성을 나타내는 도면.
도 2는 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 최근접 접미사 조상 노드를 계산하는 단계의 세부 구성을 나타내는 도면.
도 3은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 일반화접미사트리를 나타내는 도면.
도 4는 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 링크함수를 계산하는 단계의 세부 구성을 나타내는 도면.
도 5는 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 링크함수를 나타내는 도면.
도 6은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 링크함수 계산 과정을 나타내는 도면.
도 7은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 방향 그래프를 생성하는 단계의 세부 구성을 나타내는 도면.
도 8은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 방향 그래프를 나타내는 도면.
이하에서는 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일 또는 유사한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법을 나타내는 도면이다. 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법은, 도 1에 도시된 바와 같이, 금지문자열 집합의 부분 문자열을 표시한 일반화접미사트리의 모든 노드들에 대해 조상들 중 접미사 노드를 만족하는 가장 가까운 노드인 최근접 접미사 조상 노드를 계산하는 단계(S100), 일반화접미사트리의 모든 리프의 문자열에 각 문자를 접두사로 형성한 문자열인 접두사문자열의 최장 접두사를 만족하는 리프를 정의하는 링크함수를 계산하는 단계(S200) 및 링크함수를 이용하여, 문자열을 통과시키는 경우 금지문자열 불포함 여부를 판단하는 방향 그래프를 생성하는 단계(S300)를 포함하여 구성될 수 있다. 방향 그래프에서 사이클의 여부를 검색해서 최장 공통 비상위문자열의 존재 여부를 판단하고, 방향 그래프가 사이클이 없는 유향 그래프(directed acyclic graph; DAG)이면, 방향 그래프의 최장 경로는 F의 최장 공통 비상위문자열과 대응된다. 방향 그래프의 최장 경로로부터 F의 최장 공통 비상위문자열은 최장 경로의 출발 정점으로부터 마지막 정점까지, 각 정점이 나타내는 문자열의 처음 문자를 순차적으로 연결시킴으로써 얻어진다. 만약 방향 그래프에 사이클이 존재한다면, 상기 방법에 따라 무한히 긴 공통 비상위문자열을 생성할 수 있으므로, 최장 공통 비상위문자열은 존재하지 않는다. 이와 같이, 본 발명에서는 최근접 접미사 노드를 계산하는 단계, 및 링크함수를 계산하는 단계를 포함하여 방향 그래프를 생성함으로써, 주어진 문자열을 포함하지 않는 문자열 불포함 문제를 선형시간에 방향 그래프를 구성하여 능률적으로 해결하고 있다.
도 2는 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 최근접 접미사 조상 노드를 계산하는 단계의 세부 구성을 나타내는 도면이고, 도 3은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 일반화접미사트리를 나타내는 도면이다. 최근접 접미사 조상 노드를 계산하는 단계(S100)는, 도 2 및 도 3에 도시된 바와 같이, 노드가 금지문자열 집합과 금지문자열 집합의 진접미사 집합의 합집합에 속하는 접미사 노드인 경우에는 자신이고(S210), 노드가 접미사 노드가 아닌 경우에는 조상들 중 접미사 노드를 만족하는 가장 가까운 노드이므로(S220), 각 노드마다 상수 시간에 해결되어 선형시간에 계산할 수 있다.
두 문자열 α, β의 연결(concatenations)을 αβ 라고 표기하고, 문자열 α의 길이를 |α|로 표기하며, α의 i번째 문자는 α[i]로 나타내기로 하는 경우, 공백 문자열의 길이는 |ε|=0이다. 문자열 β가 α[i]α[i+1]…α[j]의 연결이라고 할 때, β를 α[i…j]라 표기하고, β를 α의 부분문자열(substring)이라 한다. 반대로 α를 β의 상위문자열(superstring)이라 한다. 문자열 α에서 i≤|α|일 때 α[ij]를 α의 접두사(prefix)라 하고, i<|α|일 때 α[i…j]를 α의 진접두사(proper prefix)라 한다. 유사하게 i≥1일 때 α[i…|α|]를 α의 접미사(suffix)라 하고, i>1일 때 α[i…|α|]를 α의 진접미사(proper suffix)라 한다.
단말 정점에 있는 숫자는 접미사의 인덱스이고, 간선에 표시된 문자열은 각 간선이 나타내는 부분 문자열로서 접미사 트리의 단말 정점은 각 접미사와 일대일 대응을 이룬다. 따라서 단말 정점의 개수는 접미사 개수의 수와 같다. 그리고 모든 내부 정점은 두 개 이상의 자식을 가지므로 전체 정점의 수는 접미사 개수의 2배를 넘지 않는다. 그리고 각 정점은 문자열을 표시하기 위해 시작과 끝 위치를 저장하므로 접미사 트리를 유지하기 위한 저장 공간은 문자열의 길이에 비례한다. 그러므로 일반화접미사트리는 선형 시간에 생성될 수 있으므로, 일반화접미사트리는 O(∥F∥)에 완료할 수 있다.
금지문자열로 구성된 집합 F={f1, f2, …, fm} 내의 모든 금지문자열 fi(1≤i≤m)의 진접미사 집합을 S라 하자. S에 n개의 서로 다른 원소가 있다고 가정하면 S={s1, …, sn}이다. 일반화접미사트리를 전위(preorder) 탐색하여 모든 노드들에 대해 최근접 접미사 조상 노드를 계산한다. 일반화접미사트리의 정점들의 최근접 접미사 조상 노드를 계산하는 단계(S100)에서, 일반화접미사트리에서 노드가 금지문자열 집합과 금지문자열 집합의 진접미사 집합의 합집합(S∪F)에 속하는 노드를 접미사 정점(suffix-node)이라 한다. 따라서 x가 접미사 노드이면 x의 자식(leaf) 노드 y에 대해 label(x,y)=$를 만족한다. 이때 리프 y를 x의 접미사 노드(suffix-node)라 한다. 정점 x의 최근접 접미사 조상(nearest suffix-ancestor) z는, x의 조상들 중 접미사 정점을 만족하는 가장 가까운 정점을 의미한다. 만약 노드가 접미사 노드이면 자신이 최근접 접미사 조상 노드이고(S110), 그렇지 않으면 부모의 최근접 접미사 조상 노드가 최근접 접미사 조상 노드가 된다(S220). 이 연산은 각 노드마다 상수 시간에 해결되므로 최근접 접미사 조상 노드의 계산은 O(∥F∥)의 선형 시간에 완료될 수 있다.
도 4는 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 링크함수를 계산하는 단계의 세부 구성을 나타내는 도면이고, 도 5는 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 링크함수를 나타내는 도면이다. 링크함수를 계산하는 단계(S200)에서는, 도 4 및 도 5에 도시된 바와 같이, 리프가 최근접 접미사 조상 노드이면 접두사문자열의 최장 접두사를 만족하는 리프가 상기 접두사문자열을 만족하는 리프로 판단할 수 있다.
링크함수를 계산하는 단계(S200)에서, 일반화접미사트리의 각 리프 li와 각 문자 σ(∈Σ)의 쌍에 대해 link(li,σ)를 다음과 같이 정의한다. 문자열 σstr(li)의 접두사중 S∪F에 속하는 최장 접두사를 α라 할 때, str(lj)=α를 만족하는 리프 lj를 계산할 수 있다. 일반화접미사트리는 S∪F의 모든 문자열을 나타내므로 lj는 항상 존재한다. 이때, link(li,σ)=lj로 정의된다. 특히, 리프가 최근접 접미사 조상 노드이면 접두사문자열의 최장 접두사를 만족하는 리프가 상기 접두사문자열을 만족하는 리프로 판단할 수 있다.
도 6은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 링크함수를 계산하는 과정을 나타내는 도면이다. 링크함수를 계산하는 단계(S200)는, 도 6에 도시된 바와 같이, 접두사문자열이 접미사 노드이면 접두사문자열의 최장 접두사를 만족하는 리프를 계산하고(S210), 접두사문자열이 접미사 노드가 아니면 부모 노드의 최근접 접미사 조상 노드를 계산하고 이의 최장 접두사를 만족하는 리프를 계산함으로써(S220) 수행될 수 있다.
링크함수를 계산하는 단계(S200)에서는, 일반화접미사트리의 모든 리프의 문자열에 각 문자를 접두사로 형성한 문자열인 접두사문자열의 최장 접두사를 만족하는 리프를 정의한다. 접두사문자열이 S∪F에 속하는 경우에 대해서 link(li,σ)를 계산할 때, 접미사 리스트 sl(i)를 이용한다. sl(i)의 각 원소 중 q≠1인 <p,q>(∈sl(i))에 대해, str(li)=fp[q-1…|fp|]를 만족하는 리프 li를 계산한다. 접두사문자열이 S∪F에 속하지 않는 경우에 대해서 ink(li,σ)를 계산할 때, 다른 리프의 링크함수를 이용한다. 문자열 α를 str(li)의 진접두사 중 S∪F에 속하는 최장 문자열이라고 할 때, L(w)=α를 만족하는 접미사 노드 w를 구한다. w는 L(w)≠str(li)를 만족하는 li의 최근접 접미사 조상이다. 다음으로 li의 부모 노드 x를 계산한다. 만약 label(x,li)≠$이면, w가 최근접 접미사 조상 노드이고, 그렇지 않으면 부모 노드의 최근접 접미사 조상 노드로 계산된다. 이제 lk를 w의 접미사 리프라 하자. 최종적으로 link(li,σ)=link(lk,σ)를 통하여 계산된다.
도 7은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 방향 그래프를 생성하는 단계의 세부 구성을 나타내는 도면이고, 도 8은 본 발명의 일실시예에 따른 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법에서 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 방향 그래프를 나타내는 도면이다. 방향 그래프를 생성하는 단계(S300)는, 도 7 및 도 8에 도시된 바와 같이, 일반화접미사트리의 리프가 금지문자열 집합에 속하면 정점을 생성하지 않고, 리프가 진접미사 집합에 속하면 정점을 생성하는 단계(S310), 및 링크함수를 이용하여 최장 접두사가 금지문자열 집합에 속하면 간선을 생성하지 않고, 최장 접두사가 진접미사 집합에 속하면 접두사문자열의 최장 접두사를 만족하는 리프로부터 기존 리프로 도달하는 간선을 생성하는 단계(S320)를 포함하여 방향 그래프를 선형시간에 생성할 수 있다.
금지문자열 집합의 진접미사 집합으로 정점들을 표시하는 단계(S310)에서, F 내의 모든 금지문자열 fi(1≤i≤m)의 진접미사 집합을 S라 하고, S에 n개의 서로 다른 원소가 있다고 가정하면 즉, S={s1, …, sn}이면 정점 집합(set of vertices) V는 각 si∈S(1≤i≤n)에 대해, 새로운 정점 vi가 대응된다. 따라서 정점 집합 V와 진접미사 집합 S는 1:1 대응된다.
표시된 정점들 사이를 상기 접두사문자열의 최장 접두사를 만족하는 리프로부터 기존 리프로 도달하는 방향으로 간선을 생성하는 단계(S320)의 간선 집합(set of edges) E는 우선 각 si∈S(1≤i≤n)에 대해, Pi σ를 다음과 같이 정의한다. Pi σ={y|y∈S∪F이고 y는 σsi의 접두사이다} 또한, Pi σ의 원소 중 가장 긴 문자열이 sj(∈S)일 때, 대응되는 정점 vj에서 vi로 향하는 간선을 정의한다. 즉, 임의의 두 정점의 쌍 <vj,vi>에 대해서, vj에서 vi로 가는 간선이 존재한다 함은, Pi sj [1]의 원소 중 가장 긴 문자열이 sj임을 의미한다. 또한 Pi σ의 원소 중 가장 긴 문자열이 F에 속할 때, 어떠한 간선도 정의되지 않는다. 각 si∈S와 σ∈Σ에 대해, 하나의 간선만 정의되므로, 각 정점마다 기껏해야 |Σ|만큼의 들어오는 간선만 정의된다. 따라서 상수 크기 알파벳에서, 총 간선의 수는 O(∥F∥)에 바운드된다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
S100: 최근접 접미사 조상 노드를 계산하는 단계
S200: 링크함수를 계산하는 단계
S300: 방향 그래프를 생성하는 단계
S310: 리프가 진접미사 집합에 속하는 경우 정점을 생성하는 단계
S320: 최장 접두사가 진접미사 집합에 속하는 경우 간선을 생성하는 단계

Claims (5)

  1. 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법으로서, 컴퓨터 계산 알고리즘 엔진에 의해 실행되며,
    (1) 금지문자열 집합의 부분 문자열을 표시한 일반화접미사트리의 모든 노드들에 대해 조상들 중 접미사 노드를 만족하는 가장 가까운 노드인 최근접 접미사 조상 노드를 계산하는 단계;
    (2) 상기 일반화접미사트리의 모든 리프의 문자열에 각 문자를 접두사로 형성한 문자열인 접두사문자열의 최장 접두사를 만족하는 리프를 정의하는 링크함수를 계산하는 단계; 및
    (3) 상기 링크함수를 이용하여, 문자열을 통과시키는 경우 금지문자열 불포함 여부를 판단하는 방향 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는, 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법.
  2. 제1항에 있어서, 최근접 접미사 조상 노드를 계산하는 상기 단계는,
    노드가 상기 금지문자열 집합과 상기 금지문자열 집합의 진접미사 집합의 합집합에 속하는 접미사 노드인 경우에 자신이고, 노드가 접미사 노드가 아닌 경우에는 조상들 중 접미사 노드를 만족하는 가장 가까운 노드이므로 각 노드마다 수학적 연산시간이 주어진 입력 자료에 관계없이 일정한 연산 시간을 갖는 상수 시간에 해결되어 선형시간에 계산되는 것을 특징으로 하는, 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법.
  3. 제1항에 있어서, 링크함수를 계산하는 상기 단계는,
    리프가 상기 최근접 접미사 조상 노드이면 상기 접두사문자열의 최장 접두사를 만족하는 리프가 상기 접두사문자열을 만족하는 리프인 것을 특징으로 하는, 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법.
  4. 제1항에 있어서, 링크함수를 계산하는 상기 단계는,
    상기 접두사문자열이 접미사 노드이면 상기 접두사문자열의 최장 접두사를 만족하는 리프를 계산하고, 상기 접두사문자열이 접미사 노드가 아니면 부모 노드의 최근접 접미사 조상 노드를 계산하고 이의 최장 접두사를 만족하는 리프를 계산하는 것을 특징으로 하는, 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법.
  5. 제1항에 있어서, 방향 그래프를 생성하는 상기 단계는,
    상기 일반화접미사트리의 리프가 금지문자열 집합에 속하면 정점을 생성하지 않고, 리프가 진접미사 집합에 속하면 정점을 생성하는 단계; 및
    상기 링크함수를 이용하여 최장 접두사가 금지문자열 집합에 속하면 간선을 생성하지 않고, 최장 접두사가 진접미사 집합에 속하면 상기 접두사문자열의 최장 접두사를 만족하는 리프로부터 기존 리프로 도달하는 간선을 생성하는 단계를 포함하는 것을 특징으로 하는, 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법.
KR1020100017799A 2010-02-26 2010-02-26 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법 KR101105652B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100017799A KR101105652B1 (ko) 2010-02-26 2010-02-26 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100017799A KR101105652B1 (ko) 2010-02-26 2010-02-26 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법

Publications (2)

Publication Number Publication Date
KR20110098265A KR20110098265A (ko) 2011-09-01
KR101105652B1 true KR101105652B1 (ko) 2012-01-18

Family

ID=44951845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100017799A KR101105652B1 (ko) 2010-02-26 2010-02-26 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법

Country Status (1)

Country Link
KR (1) KR101105652B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990015114A (ko) * 1997-08-01 1999-03-05 구자홍 문자연결 정보를 이용한 문자인식기
JP2001034623A (ja) 1999-07-19 2001-02-09 Matsushita Electric Ind Co Ltd 情報検索方法と情報検索装置
KR20080082700A (ko) * 2007-03-09 2008-09-12 (주)넷피아닷컴 키워드의 처리 방법 및 이를 실행하기 위한 프로그램을기록한 기록매체
KR20090106937A (ko) * 2008-04-07 2009-10-12 삼성전자주식회사 철자 오류 보정 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990015114A (ko) * 1997-08-01 1999-03-05 구자홍 문자연결 정보를 이용한 문자인식기
JP2001034623A (ja) 1999-07-19 2001-02-09 Matsushita Electric Ind Co Ltd 情報検索方法と情報検索装置
KR20080082700A (ko) * 2007-03-09 2008-09-12 (주)넷피아닷컴 키워드의 처리 방법 및 이를 실행하기 위한 프로그램을기록한 기록매체
KR20090106937A (ko) * 2008-04-07 2009-10-12 삼성전자주식회사 철자 오류 보정 시스템 및 방법

Also Published As

Publication number Publication date
KR20110098265A (ko) 2011-09-01

Similar Documents

Publication Publication Date Title
Gagie et al. Wheeler graphs: A framework for BWT-based data structures
Bowe et al. Succinct de Bruijn graphs
JP2008299867A (ja) データ構造によるコンピュータ表現及びそれに関連する符号化/復号化方法
US9619585B2 (en) Fast, scalable dictionary construction and maintenance
Arnold et al. Linear time algorithms for generalizations of the longest common substring problem
US8775457B2 (en) Efficient string matching state machine
Belazzougui et al. Bidirectional variable-order de Bruijn graphs
Set Dynamic programming
Ann et al. Efficient algorithms for the block edit problems
Katsura et al. Position heaps for parameterized strings
CN106599280A (zh) 确定网页节点路径信息的方法及装置
Sawada et al. The lexicographically smallest universal cycle for binary strings with minimum specified weight
KR101105652B1 (ko) 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법
Allauzen et al. Simple optimal string matching algorithm
Schram et al. SAWdoubler: A program for counting self-avoiding walks
Lozano et al. On the maximum common embedded subtree problem for ordered trees
US9165020B2 (en) String substitution apparatus, string substitution method and storage medium
Caminiti et al. A unified approach to coding labeled trees
JP2011244447A (ja) ハフマン木の記憶方法及びアレイでデータデコーディングする方法
Landau et al. Two algorithms for LCS consecutive suffix alignment
Hendrian et al. Online algorithms for constructing linear-size suffix trie
Duval et al. Linear computation of unbordered conjugate on unordered alphabet
Landau et al. Two algorithms for LCS consecutive suffix alignment
Goto et al. Speeding up q-gram mining on grammar-based compressed texts
Köppl Computing lexicographic parsings

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee